====== Трюки в консоли: ФС ====== ==== OMV без swap ==== FIXME не совсем подходит к этому разделу. потом перенесу. Не прижился у меня OpenMediaVault. Жду 6 версию может будет поинтереснее. В этом чудном NAS-дистре [[https://github.com/openmediavault/openmediavault/issues/638|нельзя не использовать swap]]. Немчура разрабская говорит пшёлнафиг, не нравится ставь Debian и на него накатывай OMV. That's by design. If you want to have the freedom to do that, then you should use Debian netinst ISO and manually install OMV according the [[https://forum.openmediavault.org/index.php?thread/25062-install-omv5-on-debian-10-buster/|guideline]] in the forum. 1 cat <> /etc/apt/sources.list.d/openmediavault.list deb https://packages.openmediavault.org/public usul main # deb https://downloads.sourceforge.net/project/openmediavault/packages usul main ## Uncomment the following line to add software from the proposed repository. # deb https://packages.openmediavault.org/public usul-proposed main # deb https://downloads.sourceforge.net/project/openmediavault/packages usul-proposed main ## This software is not part of OpenMediaVault, but is offered by third-party ## developers as a service to OpenMediaVault users. # deb https://packages.openmediavault.org/public usul partner # deb https://downloads.sourceforge.net/project/openmediavault/packages usul partner EOF 2 export LANG=C.UTF-8 export DEBIAN_FRONTEND=noninteractive export APT_LISTCHANGES_FRONTEND=none wget -O "/etc/apt/trusted.gpg.d/openmediavault-archive-keyring.asc" https://packages.openmediavault.org/public/archive.key apt-key add "/etc/apt/trusted.gpg.d/openmediavault-archive-keyring.asc" apt-get update apt-get --yes --auto-remove --show-upgraded \ --allow-downgrades --allow-change-held-packages \ --no-install-recommends \ --option DPkg::Options::="--force-confdef" \ --option DPkg::Options::="--force-confold" \ install openmediavault-keyring openmediavault # Populate the database. omv-confdbadm populate # Display the login information. cat /etc/issue ==== Проблема 2038 года ==== xfs filesystem being mounted at /mnt/disk1337 supports timestamps until 2038 * wikipedia - [[https://ru.wikipedia.org/wiki/Проблема_2038_года|Проблема 2038 года]] * [[https://linuxreviews.org/XFS_Patches_For_Linux_5.10_Delays_The_Year_2038_Problem_To_2486|XFS Patches For Linux 5.10 Delays The Year 2038 Problem To 2486]] * [[https://www.phoronix.com/scan.php?page=news_item&px=XFS-Linux-5.10|XFS File-System With Linux 5.10 Punts Year 2038 Problem To The Year 2486]] Создание ФС mkfs.xfs -m bigtime=1 device Конвертирование ФС xfs_admin -O bigtime=1 device ==== Дефрагментация XFS ==== Для работы с XFS нужен пакет xfsprogs (опционально xfsdump) Для просмотра степени фрагментации используется утилита **xfs_db** xfs_db -r /dev/sdc1 xfs_db> frag actual 6246, ideal 4113, fragmentation factor 34.15% Note, this number is largely meaningless. Files on this filesystem average 1.52 extents per file Здесь флаг **-r** - **read-only**. Для дефрагментации используется утилита **xfs_fsr** Насколько я понял дефраментацию можно сделать для точки монтирования, а не раздела/устройства. # xfs_fsr -v /mnt/data1 /mnt/data1 start inode=0 ino=156 extents before:4 after:1 DONE ino=156 ino=135 extents before:3 after:1 DONE ino=135 ino=147 ==== Как посмотреть дату последней проверки файловой системы ==== # tune2fs -l /dev/sda1 | grep "Last checked" ==== Удобочитаемый вывод команды mount ==== # mount | column -t ==== Принудительно запустить fsck при следующей загрузке системы ==== {{:linux:fsck.jpg?nolink|fsck}} via http://www.ducea.com/2008/10/24/linux-tips-force-fsck-run-during-the-next-reboot/ touch /forcefsck ==== TRIM на SSD ==== Проверить, что TRIM доступен # hdparm -I /dev/sdf | grep "TRIM" * Data Set Management TRIM supported (limit 1 block) * Deterministic read data after TRIM Поначалу использовал пример sh+cron с первой страницы гугла (''/etc/cron.weekly/fstrim.cron'') Баш #!/bin/sh LOG=/var/log/trim.log echo "*** $(date -R) ***" >> $LOG fstrim -v / >> $LOG fstrim -v /home >> $LOG Крон chmod +x /etc/cron.weekly/fstrim.cron Но надо идти в ногу со временем и использовать systemd **fstrim.service** # cat /usr/lib/systemd/system/fstrim.service [Unit] Description=Discard unused blocks [Service] Type=oneshot ExecStart=/usr/sbin/fstrim -a # cat /usr/lib/systemd/system/fstrim.timer [Unit] Description=Discard unused blocks once a week Documentation=man:fstrim [Timer] OnCalendar=weekly AccuracySec=1h Persistent=true [Install] WantedBy=multi-user.target Достаточно сделать # systemctl enable fstrim.timer Проверим, что fstrim работает # systemctl status fstrim.timer ● fstrim.timer - Discard unused blocks once a week Loaded: loaded (/usr/lib/systemd/system/fstrim.timer; enabled; vendor preset: disabled) Active: active (waiting) since Sun 2020-04-12 04:58:42 MSK; 3 days ago Docs: man:fstrim Apr 12 04:58:42 n36l systemd[1]: Started Discard unused blocks once a week. Успешный запуск # journalctl -u fstrim.service --since "2 week ago" -- Logs begin at Mon 2020-03-02 10:18:50 MSK, end at Wed 2020-04-15 17:30:01 MSK. -- Apr 13 00:00:01 n36l systemd[1]: Starting Discard unused blocks... Apr 13 00:00:01 n36l systemd[1]: Started Discard unused blocks.