Это не RO FS, поэтому он не указан как ro
в /proc/mount
.
Input/output error
означает либо то, что написано, ошибку чтения или записи, либо это означает, что система пытается получить доступ к несуществующему сектору (из-за какой-то ошибки в информации о том, сколько блоков должно присутствовать на диске ).
Если это происходит достаточно часто, чтобы гарантировать мониторинг для обнаружения ошибки, это происходит достаточно часто, чтобы найти и устранить причину, по которой это происходит.
В качестве непривилегированного пользователя невозможно использовать systemd, но есть более простые решения. Одним из возможных решений было бы следующее:
Если вы используете bash, добавьте следующее в конец вашего ~/.profile:
if [ $(ps aux|grep "sshfs sshfs_user"|wc -l) -eq 1 ]; then
# Not mounted thus mount
sshfs sshfs_user@sshfs_server:/remote_path $HOME/mount_point
fi
logout()
{
if [ $(ps aux|grep your_user|grep bash|wc -l) -eq 1 ]; then
# Last shell thus umount
umount $HOME/mount_point
unset -f logout
logout
fi
}
Это проверит, запущен ли уже sshfs вашим пользователем, и смонтирует удаленную папку документов с помощью sshfs только один раз.
Замените sshfs_user@sshfs_server:/remote_path $HOME/mount_point
своими данными. Также в этой строке if [ $(ps aux|grep your_user|grep bash|wc -l) -eq 1 ]; then
измените вашего _пользователя на вашего пользователя bash.
При использовании другой оболочки измените.profile и bash на соответствующий. то есть для zsh измените bash на zsh и.profile на.bashrc.
Пояснение:
При первом входе в систему проверяется, смонтирован ли удаленный sshfs. Если нет, он установит его.
Мы создаем функцию для замены встроенной команды -в logout
. Эта функция проверит, запущен ли только один процесс оболочки, и размонтирует удаленный fs. Затем отключите замену logout
, чтобы избежать зацикливания.