Команда для наблюдения за Ctrl+C (сигнал INT) trap
.
#!bin/bash
MSG="Hello, world!"
trap "clear; echo -e $MSG" SIGINT SIGTERM
while :
do
sleep 60
done
Обновление - Другие сигналы, которые могут быть пойманы с прерыванием
SIGINT
- Ctrl-c SIGQUIT
- Ctrl-\(это выйдет из программы, но команды в прерывании будут все еще выполняться),
SIGSTOP
(Ctrl-z), кажется, не пойман прерыванием.
trap
может также поймать сигналы, выпущенные kill
, но я не уверен, сколько из них может быть поймано.
trap
также поддержки некоторые другие специальные имена:-EXIT
, DEBUG
, RETURN
и ERR
.
Дальнейшая документация относительно них может быть найдена в справочнике удара.
Было бы превысило бы, чтобы файлы системы RPCBIND Systemd пропали отсутствуют:
$ find /usr/lib/systemd -name 'rpcbind*'
# no output
Устанавливая это решило проблему:
$ pacman -S rpcbind
# [...]
$ find /usr/lib/systemd -name 'rpcbind*
/usr/lib/systemd/system/rpcbind.service
/usr/lib/systemd/system/rpcbind.target
/usr/lib/systemd/system/rpcbind.socket
$ systemctl enable rpcbind
$ systemctl start rpcbind
$ systemctl restart nfs-server
Не уверены, как эти файлы отсутствовали; Возможно, проблема коррупции ФС?
Странная вещь заключается в том, что NFSD все еще бегал, но Статус не был. После перезагрузки NFSD также не работал (потому что это потребности RPCBind
). Это почти как эти файлы исчезли, пока система работает.
К сожалению Systemd
Systemd
не дает четкого сообщения об ошибке об ошибках (т. Е. Зависимость RPCBInd
не удалось загрузить), что сделало бы его Miuch легче отладить :-(
Та же проблема здесь, RPC-Stad
не удалось с момента последнего обновления (все мои компьютеры имели проблему после обновления).
Чтобы решить проблему, которую я просто включен и запустил RPCBind:
sudo systemctl enable rpcbind.service # for the next reboot
sudo systemctl start rpcbind.service
sudo systemctl restart rpcbind.service
Я сталкивался с некоторыми случаями, когда /var/lib/nfs или /var/lib/nfs/statd отсутствовали, что приводит к выходу некоторых демонов NFS с кодом ошибки, но без печати какого-либо сообщения. Исправление простое, просто это:
$ sudo mkdir -p /var/lib/nfs/statd
Но немного странно, что демоны и системные сервисные файлы не пытаются создать каталоги или распечатать какие-либо сообщения об ошибках.
Точно так же я видел эти ошибки:
Starting NFS status monitor for NFSv2/3 locking....
Version 1.3.3 starting
Flags: TI-RPC
Failed to access local netconfig database: Netconfig database not found
failed to create RPC listeners, exiting
rpc-statd.service: Control process exited, code=exited status=1
rpc-statd.service: Failed with result 'exit-code'.
Failed to start NFS status monitor for NFSv2/3 locking..
В моем случае я нарушил разрешения на /etc/netconfig
, которые должны быть доступны для чтения всем (, как и /etc/
)
Установка прав доступа к файлу на:
chmod 644 /etc/netconfig
исправил мою проблему.
Эта проблема, похоже, снова всплыла на поверхность, но она может зависеть от небольших различий между машинами. Я следовал всем подсказкам, как указано выше, но безуспешно. На HP Compaq 8510w (, также работающем с Tumbleweed, с тем же статусом обновления, машина работает с SSD ), проблем нет. Сервер представляет собой безупречно работающий Raspberry 3B+, Debian 10 Buster (uname -r 5.4.79 -v7+ ), имеет статический IP-адрес маршрутизатором -, зарезервированный IP-адрес на основе MAC-адреса -.
Маршрутизатор Skyworth GN542VF поставляется моим интернет-провайдером :TRUE Thailand. Все подключения осуществляются по WiFi.
Сервер НЕ ИСПОЛЬЗУЕТ встроенный WiFi, подключается через адаптер беспроводной сети Realtek Semiconductor Corp. RTL8188EUS 802.11n.
На HP Compaq 6510b с перекати-полем (uname -r 5.10.1 -1 -по умолчанию )мне не удалось смонтировать общие ресурсы nfs.
После нескольких дней проб и ошибок, просмотр результатов при изменении значений в /etc/nfs.conf.local и /etc/sysconfig/nfs теперь снова работает.
Я сделал:
затем -после получения сообщения "нет такого файла или каталога" -я использовал идею муладов:
Думаю, это решило проблему. После создания каталога 'sm' от имени пользователя root и предоставления доступа к нему '777' я смог запустить rpc -statd. Потом монтаж снова заработал.
fstab на СЕРВЕРЕ
proc /proc proc defaults 0 0
PARTUUID=a7ec58f8-01 /boot vfat defaults 0 2
PARTUUID=a7ec58f8-02 / ext4 defaults,noatime 0 1
UUID=0552e778-1ac5-4373-82b1-f2b146254bbf /pibu ext4 defaults 0 0
UUID=9933bfcb-cfa7-4d45-9e45-5317e5cb2e02 /DATA ext4 defaults 0 0
UUID=89186066-7f5f-4540-8fe2-85f25e9ac719 /FOTO ext4 defaults 0 0
UUID=D79A-B0D6 /EXCH vfat defaults 0 0
/pibu /export/pibu none bind 0 0
/FOTO /export/FOTO none bind 0 0
/DATA /export/DATA none bind 0 0
/EXCH /export/EXCH none bind 0 0
# a swapfile is not a swap partition, no line here
# use dphys-swapfile swap[on|off] for that
По какой причине showmount -e не дает никакого ответа на клиенте. Общие ресурсы — это разделы внешнего USB-накопителя -.Они экспортируются по стандартам nfs в директорию /export на сервере. ПК с Windows и другие Raspberry в сети монтируют /export/xyz, но когда я использую /export/ в fstab Compaq 6510b, монтирование завершается неудачно.
fstab на КЛИЕНТ
UUID=24688c34-9cb4-405f-83b9-e1a69df6963d / btrfs defaults 0 0
UUID=24688c34-9cb4-405f-83b9-e1a69df6963d /var btrfs subvol=/@/var 0 0
UUID=24688c34-9cb4-405f-83b9-e1a69df6963d /usr/local btrfs subvol=/@/usr/local 0 0
UUID=24688c34-9cb4-405f-83b9-e1a69df6963d /tmp btrfs subvol=/@/tmp 0 0
UUID=24688c34-9cb4-405f-83b9-e1a69df6963d /srv btrfs subvol=/@/srv 0 0
UUID=24688c34-9cb4-405f-83b9-e1a69df6963d /root btrfs subvol=/@/root 0 0
UUID=24688c34-9cb4-405f-83b9-e1a69df6963d /opt btrfs subvol=/@/opt 0 0
UUID=24688c34-9cb4-405f-83b9-e1a69df6963d /home btrfs subvol=/@/home 0 0
UUID=24688c34-9cb4-405f-83b9-e1a69df6963d /boot/grub2/x86_64-efi btrfs subvol=/@/boot/grub2/x86_64-efi 0 0
UUID=e4d91d8c-c768-4a25-8046-8a1a34fac7db swap swap defaults 0 0
raspi10:/FOTO /FOTO nfs defaults 0 0
raspi10:/DATA /DATA nfs defaults 0 0
raspi10:/EXCH /mnt/EXCH nfs defaults 0 0
raspi10:/pibu /mnt/pibu nfs defaults 0 0
[]:
Conky появляется до полной загрузки рабочего стола,
показывает успех во время загрузки
Я тоже столкнулся с этой проблемой.
Этот статус службы должен быть «включен -во время выполнения».
Команда для проверки статуса службы
systemctl list-unit-files | grep -E 'rpc-statd.service'
rpc-statd.service enabled-runtime
При проверке моего сервера этот статус службы был «статическим», а не «включена -среда выполнения».
Но мы не можем установить это вручную, пользователь демона rpc должен установить это при запуске.
Итак, мы проверили файл /etc/passwd
и заметили, что пользователь rpc
отсутствует.
После восстановления пользователя rpc
из резервной копии и перезагрузки при загрузке служба запускалась, и проблема была устранена.