chroot в sshfs папку

Главным образом семантика. В то время как объединение Ваших командных строк в переменные полезно для сценариев целей, это не хорошо для искажения. Одной видимой причиной является завершение - в то время как различные сценарии завершения, как bash_completion смогший для контакта с псевдонимами (который печально никогда, оказывалось, не был моим случаем) заставляя их предположить то, что переменные являются растяжимыми к командам, могло сделать его так или иначе грязным.

Вторая причина alias позволяет Вам делать быстрые клавиши, не используя волшебной команды, ни символа как $ выполнять их. Таким образом, замена прозрачна, и она позволяет переопределять настройки по умолчанию для некоторых программ. Один хороший пример ls, который часто искажается как ls --color=auto по умолчанию. Пользователи не должны знать что видеть цветной вывод. Некоторый псевдоним дистрибутивов rm и связанные команды как rm -i, таким образом, они работают в интерактивном режиме и могут предотвратить случайные удаления.

Переменные, с другой стороны, могут быть полезны для некоторого использования, которое не требует двоичных файлов имитации. Широкий и хороший пример EDITOR переменная окружения. Это позволяет не только выполнить Вашего любимого редактора, использующего $EDITOR, но также и делает другие программы (который не может иметь доступа к оболочке) способный выполнить его, беря это - значение от их среды выполнения.

Могли бы быть некоторые другие вещи, о которых я не знаю, но результатом является то же: те команды должны использоваться, поскольку они предназначаются.

6
08.09.2014, 00:32
1 ответ

Для поиска пакета g++ и способа его установки используется команда command-not-found . На моей машине Debian я получаю следующий результат:

$ command-not-found g++
The program 'g++' is currently not installed.  You can install it by typing:
apt-get install g++
tcsh: command not found
$

Итак, на моем компьютере g++ находится в пакете g++, а не в пакете gcc.

-121--205502-

Обнаружена моя собственная ошибка. Это должно было быть # !/bin/bash . Спасибо @ steeldriver за наконечник

-121--129033-

Я обнаружил, что проблема заключается в том, что sshfs пытаются запретить другим пользователям (даже корневым) доступ к моей удаленной файловой системе. Кроме того, доступ к символьным устройствам (таким как /dev/null ) является проблематичным, и, вероятно, не тем, что вы хотите, потому что я полагаю, что, например, piping to /dev/null будет эффективно отправлять байты по сети.

Это то, что я использую сейчас:

mkdir remoteroot
sshfs remote:/ remoteroot -o allow_other -o kernel_cache   #you need to enable user_allow_other in /etc/fuse.conf
sudo mount --bind /tmp/ remoteroot/tmp/
sudo mount --bind /dev remoteroot/dev
sudo mount --bind /sys remoteroot/sys
sudo mount --bind /run remoteroot/run
sudo mount --bind /var/tmp remoteroot/var/tmp
sudo chroot remoteroot

Учтите, что могут возникнуть проблемы с владением файлами, потому что если вы su к другому пользователю, удаленный конец не будет переключаться на нового пользователя.

2
27.01.2020, 20:30

Теги

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