Можно использовать ssh клиент для выполнения ssh на удаленной машине после входа в систему.
ssh -t unix.university.com \
ssh -t unix.department.univeristy.com \
ssh -t office-machine.department.university.com
(Причина я включаю -t
в вызовах то, потому что ssh давал мне ошибочное ре: stdin, не являющийся терминалом, когда я попробовал его на своей собственной машине; Ваша машина может отличаться.)
Когда Вы выйдете от последней оболочки, процесс будет цепочечный выход, сохраняя Вас вводящий Ctrl-D много раз.
Изображенный должен быть намного более легкий способ решить такую типичную проблему, и существует. Вот то, что я примерил свой wheezy/sid сервер:
sudo apt-get install usbmount
Включите палку usb, сделанную! Моя палка теперь доступна через /media/usb
.
Btw, usbmount не имеет страницы справочника, читают /usr/share/doc/usbmount/README.gz
вместо этого. Кажется, что usbmount монтирует Вашу палку с синхронизирующей опцией по умолчанию. Для Вашей палки могло бы быть намного лучше смонтировать его асинхронный и работать sync
или umount
прежде, чем отключить его. Это настраивается.
Заметьте, что у Вас не может только быть узла единого устройства для представления любого возможного присоединенного pendrive. Что, если Вы включаете двух из них? Или когда pendrive имеет больше чем один раздел?
Обычно то, что Вы используете для создания узла пользовательского именованного устройства, SYMLINK+=
. grep для него в правилах видеть, как это используется: grep SYMLINK /etc/udev/rules.d/*
. Как во всех udev-инициированных командах, можно использовать некоторые значимые переменные, которые описаны в man udev
. Вы могли бы понять, что не должны действительно давать пользовательское имя устройству, так как можно питаться, это - имя к сценарию (через %k
переменная).
Что касается решения автомонтирования, взгляните на UAM, который я описал немного в ответе на этот вопрос.
udev
правила с сопроводительными сценариями. Можно взглянуть на правила и легко адаптировать их к потребностям.
– rozcietrzewiacz
16.11.2011, 17:12
udevadm
и скажите мне, какое устройство является устройством, для которого я должен на самом деле быть нацелен со своим правилом? Различные примеры я видел онлайн, что все, кажутся, включить намного более короткие деревья и каждый пример, кажется, предназначаются для другого уровня устройства без объяснения, которого должен быть предназначен и почему.
– jon
16.11.2011, 17:49
Извините, что ответил на свой собственный вопрос, и большое спасибо происходит из-за rozcietrzewiacz для содействия, но мне в конечном счете удалось сделать некоторые главные успехи с помощью следующего правила после часов чтения онлайн:
SUBSYSTEMS=="scsi", KERNEL=="sd[a-h]1", SYMLINK+="removable", RUN+="/bin/mount /dev/removable /path/to/mount"
Это смонтирует первый раздел любого устройства SCSI. Я предполагаю, что следующий вопрос будет состоять в том, как смонтировать несколько разделов, но это - другая проблема в течение другого дня.
removable
атрибут необходимо протестировать на, и скорее block
вместо scsi
.
– rozcietrzewiacz
18.11.2011, 12:18
Вот как я недавно сделал это, и я сейчас вполне доволен этим подходом. Это для Ubuntu 12.04 + Gentoo, но я думаю, что любой дистрибутив, который позволяет работать UDEV и Autofs.
Предварительные условия: Вы должны установить UDEV + Autofs.
Шаг 1)
Создайте следующие файлы «/etc/udev/rules.d/90-usbd-auto.rules.d/90-usbd-auto.rules) (конечно, вы можете использовать любое имя, если он заканчивается с помощью« .Rules ») Отказ :
# Add symlink /dev/usbdisks/<label> to /dev/sd[a-z][1-9]
# for automounter support
ACTION=="add", KERNEL=="sd*", ENV{DEVTYPE}=="partition", \
ENV{ID_BUS}=="usb", \
SYMLINK+="usbdisks/%k", MODE:="0660", \
RUN+="/bin/rm /media/usb/%k", \
RUN+="/bin/ln -sf /media/autousb/%k /media/usb/%k"
# Some FileSystems emit a "change" event when they are unmounted.
# UDEV seems to delete the device symlink in this case :-(
# So we need to re-create it here
ACTION=="change", KERNEL=="sd*", ENV{DEVTYPE}=="partition", \
ENV{ID_BUS}=="usb", \
SYMLINK+="usbdisks/%k", MODE:="0660"
# When device is removed, also remove /media/usb/<...>
ACTION=="remove", KERNEL=="sd*", ENV{DEVTYPE}=="partition", \
ENV{ID_BUS}=="usb", \
RUN+="/bin/rm /media/usb/%k"
Что это делает: он создает две симлизы, один для раздела устройства хранения USB под «/ dev / usbdisks / <...>».
Вторая SymLink будет связывать из «/ Media / USB / <...» / Media / Autousb / <...> «Это сделано для поддержки Automounter (см. Шаг 2).
Чтобы убедиться, что UDEV читает эти правила Использование
sudo udevadm control --reload-rules
Примечание: одно имя для того же USB-накопителя: возможна, но может быть, опасно: вы можете использовать, например, «$ env {id_fs_label_enc}», а не "% k" в вышеупомянутом УДЕВ Правил. Это будет использовать метку тома для создания / носителя / USB / <...>, но что произойдет, если вы подключаете два USB-палочках, и оба используете один и тот же метку громкости ...
с помощью этого файла правил UDEV. Все установлено Автоматическое изменение раздела устройства хранения USB. Обратите внимание, что сейчас устройство не будет автоматически (намеренно). Он будет автоматически, как только вы используете его с
Шаг 2)
Установка Autofs для Automount / Media / AutousB / <...>: Я добавил следующую строку в мой файл «/etc/auto.master» (для Ubuntu 12.04):
/media/autousb /etc/auto.usb --timeout=60
Это означает, что autofs будет размонтировать устройство через 60 секунд бездействия. Возможно, вы захотите использовать меньше или больше, зависит от вашего вкуса.
Для Gentoo вы должны изменить «/etc/autofs/auto.master», поэтому имеет смысл использовать
/media/autousb /etc/autofs/auto.usb --timeout=60
теперь я создал «auto.usb» со следующим контентом:
#!/bin/bash
key=${1}
fstype=$(/sbin/blkid -o value -s TYPE /dev/usbdisks/${key})
if [ "${fstype}" = "vfat" ] ; then
echo "-fstype=vfat,sync,uid=0,gid=plugdev,umask=007 :/dev/usbdisks/${key}"
exit 0
fi
if [ "${fstype}" = "ntfs" ] ; then
echo "-fstype=fuse.ntfs-3g,sync,uid=0,gid=plugdev,umask=007 :/dev/usbdisks/${key}"
exit 0
fi
if [ "${fstype}" = "ext4" ] ; then
echo "-fstype=ext4,sync,nocheck :/dev/usbdisks/${key}"
exit 0
fi
exit 1
Это auto.usb необходимо Быть исполняемым, чтобы автозапись использует это как (Bash) сценарий. Таким образом, например
sudo chmod 0755 /etc/auto.usb
Что это делает: этот сценарий будет сообщить AutoFS (/ usr / sbin / automount), как установить раздел USB-накопителя.
Скрипт будет первым использовать «/ sbin / Blkid», чтобы узнать, какая файловая система находится на разделах.
Затем скрипт предоставит правильные варианты монтажа в зависимости от раздела устройства.
Примечание. Я включил пример код для «VFAT» (вероятно, наиболее распространенным для USB-палочек), файловых систем «NTFS» и «Ext4». Конечно, довольно легко расширить это, чтобы поддержать больше файловых систем.
Шаг 3)
Необязательно ... Чтобы «изгнать» == Размонтируйте вашу USB-накопитель (или разделы на вашу USB-накопитель), создайте скрипт / SBIN / USBEJECT:
#!/bin/bash
# make sure everything is written to USB disk(s)
sync
# sending SIUGSR1 to automount will unmount the media
killall -s SIGUSR1 /usr/sbin/automount
С помощью этого скрипта вы можете использовать «sudo Usbeject», чтобы размонтировать все установленное устройство USB. разделы (рассказывая автоусчет, чтобы размонтировать их).
Конечно, вы можете просто убедиться, что раздел не используется нигде не используется; Тогда Automounter будет размонтировать раздел после 60-секундной тайм-аута ...
Реальный хитрость здесь - использовать SymLinks от «/ Media / USB» на «/ Media / Autousb»:
Я обнаружил, что лучший ответ фактически устарел, поскольку он не поддерживается и не работает с / от Джесси (см. Комментарий Малата)
Для меня (о Джесси) решение в этот блог работал как шарм.
Благодарность "ddumont", но размещение обзора его блога / ответа здесь, чтобы справиться с возможной гнилью ссылок в будущем.
Добавьте следующую строку в / etc / fstab
/dev/sr0 /media/bluray auto defaults,nofail,x-systemd.automount 0 2
. Вы можете сделать это с помощью nano:
sudo nano /etc/fstab
Объяснение:
/ dev / sr0
- это файл устройства. Вы также можете использовать одну из символических ссылок, настроенных udev в / dev / disk / by-id. Вам нужно будет изменить это в соответствии с файлом вашего устройства ( sudo fdisk -l
для вывода списка устройств)
/ media / bluray
- это точка монтирования. Вы можете выбрать другую точку монтирования
nofail
требуется, чтобы избежать отчета о сбое при загрузке без диска в оптическом приводе
x-systemd.automount
- это параметр для настройки systemd для автоматического монтирования вставленного disc
Не указывайте noauto: это помешает systemd автоматически монтировать диск, что противоречит цели.
Тест
Запустите команду journalctl -x -f
в терминале, чтобы проверить, что происходит с systemd
Перезагрузите конфигурацию systemd с помощью sudo systemctl daemon-reload
.
загрузите диск в оптический привод
Затем journalctl должен показать что-то вроде:
Sept. 27 16:07:01 frodo systemd[1]: Mounted /media/bluray.
Далее
Чтобы успешно смонтировать приводы NTFS, мне пришлось установить ntfs-3g (старый ntfsprogs)
sudo apt-get install ntfs-3g
Я этого не делал. Чтобы заставить работать USB-накопитель в формате OSX, необходимо установить hfsprogs, но вы должны проверить это самостоятельно.
pumount
– Alex 18.08.2013, 21:59usbmount
больше не поддерживайте NTFS с тех пор debian jessie: bugs.debian.org/774149 – malat 19.05.2015, 18:32