Я нашел ответ на этот вопрос. Используйте .bash_profile вместо .bashrc
Кроме того, вам может потребоваться ввести
source ~/.bash_profile
для перезагрузки.
Кроме того, я нашел две полезные ссылки:
https: //www.moncefbelyamani.com / create-aliases-in-bash-profile-to-assign-shortcuts-for-common-terminal-commands / и это - https://community.linuxmint.com/ tutorial / view / 891 - но не следуйте советам по .bashrc (я полагаю - поскольку это не сработало для меня) - используйте вместо этого .bash_profile.
Также посмотрите комментарии ко второй ссылке - требуются .bash_aliases
в .bash_profile
- более элегантный способ прокрутки ..
Возможно, самое простое решение - изначально сильно перераспределить пространство, скопировать все файлы, а затем использовать resize2fs -M
, чтобы уменьшить размер до минимума, с которым может справиться эта утилита. Вот пример:
dir=/home/meuh/some/dir
rm -f /tmp/image
size=$(du -sb $dir/ | awk '{print $1*2}')
truncate -s $size /tmp/image
mkfs.ext4 -m 0 -O ^64bit /tmp/image
sudo mount /tmp/image /mnt/loop
sudo chown $USER /mnt/loop
rsync -a $dir/ /mnt/loop
sync
df /mnt/loop
sudo umount /mnt/loop
e2fsck -f /tmp/image
resize2fs -M /tmp/image
newsize=$(e2fsck -n /tmp/image | awk -F/ '/blocks$/{print $NF*1024}')
truncate -s $newsize /tmp/image
sudo mount /tmp/image /mnt/loop
df /mnt/loop
diff -r $dir/ /mnt/loop
sudo umount /mnt/loop
Некоторые выдержки из вывода для примера каталога:
+ size=13354874
Creating filesystem with 13040 1k blocks and 3264 inodes
+ df /mnt/loop
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/loop1 11599 7124 4215 63% /mnt/loop
+ resize2fs -M /tmp/image
Resizing the filesystem on /tmp/image to 8832 (1k) blocks.
+ newsize=9043968
+ truncate -s 9043968 /tmp/image
+ df /mnt/loop
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/loop1 7391 7124 91 99% /mnt/loop
Для справки, я изменил свой исходный код, чтобы использовать du -sm
, который, похоже, решил мою проблему. Я думаю, что суть проблемы заключалась в том, что -sb
- это псевдоним для - очевидный размер
.
Кроме того, знание того, что ext4 требует, скажем, 5% накладных расходов, позволяет легко учесть фактор в расчетах, но я не думаю, что это была реальная проблема, поскольку он не работал при записи в качестве суперпользователя.