Сценарий оболочки наследовал переменные среды программы вызова и такой, но он не наследовал вещи как псевдонимы и история команд.
Если все Ваши псевдонимы находятся в общем месте, как ~/.bashrc
, Вы могли получить тот файл в свой сценарий сначала:
. $HOME/.bashrc
Затем Вы имели бы, в контексте выполнения того сценария оболочки, всех псевдонимах определенный в .bashrc
файл.
Если Ваши псевдонимы определяются повсеместно, нет никакого простого способа консолидировать их. Необходимо было бы записать этот, "сохраняют все мои псевдонимы" как функцию вместо этого. Вы могли вставить что-то вроде этого Ваш ~/.bash_profile
, например:
function dumpalias {
alias -p | sed 's/alias -=/alias -- -=/' > ~/.bash_aliases
}
Затем после того, чтобы выходить из системы и въезжают задним ходом, можно сказать dumpalias
для получения поведения, Вы хотите.
На самом деле, изменение mount
возможно, как я узнал из существования mount.ntfs-3g
. Я делаю только догадки, но я подозреваю mount -t sometype
результаты в вызове к mount.sometype $DEV $MOUNTPOINT $OPTIONS
, не стесняйтесь исправлять меня здесь или заключать некоторую фактическую документацию в кавычки. Особенно опция -o loop
уже рассматривается, таким образом, нет никакой потребности в lopsetup
больше...
Символьная ссылка/создавать сценарий монтирования как /sbin/mount.crypto_LUKS
. Удалите loopdevice часть и вместо этого просто используйте -o loop
переключатель. Вот мой /sbin/mount.crypto_LUKS
:
#!/bin/bash
set -e
if [[ $(mount | grep ${2%%/} | wc -l) -gt 0 ]]; then
echo "Path $2 is already mounted!" >&2
exit 9
else
MAPPER=$(mktemp -up /dev/mapper)
cryptsetup luksOpen $1 $(basename $MAPPER)
shift
mount $MAPPER $* || cryptsetup luksClose $(basename $MAPPER)
fi
Теперь я просто должен работать mount -o loop ~/container /mnt/decrypted
, и mount
предложит мне пароль и затем смонтирует контейнер, автоматически выпуская loopdevice, после того как контейнер закрывается. Если дешифрованная файловая система не смонтируется, то контейнер будет закрыт снова, но можно изменить это, конечно. Или реализуйте некоторый парсинг опции вместо того, чтобы передать все на mount
.
Я надеялся, что то же могло быть достигнуто через /sbin/umount.luks
, но umount /mnt/decrypted
(даже с -t crypto_LUKS
) все еще только делает обычное размонтирование, оставляя контейнер открытым. Если Вы находите способ иметь umount
назовите мой dm.umount
сценарий вместо этого, сообщите мне... В данный момент, непосредственно вызов umount
препятствуется, так как необходимо будет выяснить /dev/mapper
назовите к вручную cryptsetup luksClose $MAPPER
. По крайней мере, циклическое устройство будет выпуском автоматически если mount -o loop
использовался прежде...
pam_mount, доступный из SourceForge, поставлется с полезным монтированием crypto_LUKS и umount.crypto_LUKS, которые преодолевают некоторые недостатки сценария, предоставленного другим плакатом.
umount
, Я предполагаю, что должен буду изменить/etc/mtab
запись моегоmount.luks
таким образом, что тип файловой системы, например.luks.ext3
вместоext3
. – Tobias Kienzler 19.10.2012, 16:35