как диагностировать на том, была ли файловая система на самом деле размонтирована или нет.?

От Systemd.Unit Man:

СоединениеВиртуализация = может быть использована для проверки, является ли система выполняется в виртуализированной среде и, необязательно, проверять, будь то это конкретно выполнение. Принимает либо логическое значение для проверки, если выполняется в любой виртуализированной среде, или один из виртуальных машин и Контейнер для тестирования против общего Тип раствора виртуализации, или один из QEMU, KVM, VMware, Microsoft, Oracle, Xen, Bochs, Chroot, UML, OpenVZ, LXC, lxc-libvirt, systemd-nspawn для тестирования против конкретной реализации. Если множественные технологии виртуализации вложены, только самая внутренняя считается. Тест может быть отрицате Подготовка восклицательного знака.

СоединениеВиртюализация = НЕТ СКАЖДЕНИЯ SYSTOMD к не Запустите сервис, если OS работает в виртуализированной среде. Я предполагаю, что проверка там, потому что некоторые VMS предоставляют инструменты гостевой ОС, которые обеспечивают синхронизацию времени. Вы можете либо установить эти инструменты на arch или вы можете прокомментировать watchedvirtualization = no в /usr/lib/systemd/system/systemd-timeyncd.service, а затем запустить следующие команды:

systemctl daemon-reload
systemctl restart systemd-timesyncd

сейчас Systemctl Systemd Timesyncd должен показать активное:

[root@arch1 ~]# systemctl status systemd-timesyncd
* systemd-timesyncd.service - Network Time Synchronization
   Loaded: loaded (/usr/lib/systemd/system/systemd-timesyncd.service; enabled)
   Active: active (running) since Tue 2014-09-30 11:10:12 PDT; 56s ago
     Docs: man:systemd-timesyncd.service(8)
 Main PID: 17648 (systemd-timesyn)
   Status: "Using Time Server 216.239.32.15:123 (time1.google.com)."
   CGroup: /system.slice/systemd-timesyncd.service
           `-17648 /usr/lib/systemd/systemd-timesyncd

Примечание, если вы еще не сделали, вам также нужно настроить /etc/systemd/timeyncd.conf , чтобы указать на некоторых NTP-серверах. Например:

# See timesyncd.conf(5) for details

[Time]
Servers=time1.google.com time2.google.com time3.google.com time4.google.com
1
30.10.2014, 10:18
2 ответа

После этого, я не думаю, что есть какой-нибудь внутренний способ узнать о прошлых операциях по установке и снятию. Могут быть косвенные средства, например, если драйвер файловой системы выдает лог-сообщение.

Если вы хотите сказать, является ли конкретный каталог точкой монтирования в данный момент времени (я предполагаю, что ваша файловая система всегда монтируется в одном и том же месте), вы можете поискать его в /proc/mounts.

</proc/mounts awk '$2 == "/expected/mount/point" {print "mounted"; found=1; exit}
                   END {if (!found) print "not mounted"; exit !found}'

Вы можете поместить inotify watch на каталог для обнаружения точки монтирования.

inotifywait /expected/mount/point -e umount
0
28.01.2020, 01:51

Ну, вы можете сделать это в Bash, если хотите так.
Если (((Mount | Greep »/ Mount / Point")> / dev / null), затем эхо "установлен"; Fi;

0
28.01.2020, 01:51

Теги

Похожие вопросы