Вы можете использовать truncate
для расширения файла изображения.
напр.
truncate -c -s 4G image.img
или
truncate -c -s +1700M image.img
подробнее см. man truncate
. Ключевая деталь на справочной странице:
If a FILE is larger than the specified size, the extra data is lost. If a FILE is shorter, it is extended and the extended part (hole) reads as zero bytes.
После этого вы сможете отредактировать таблицу разделов, чтобы расширить раздел и включить новое пространство -вы можете использовать parted
, fdisk
, gdisk
, sfdisk
, sgdisk
или другие подобные инструменты для этого.
Как только вы это сделаете, вам нужно увеличить файловую систему, чтобы она могла использовать новое доступное пространство. Согласно изображению.png, на которое вы ссылаетесь, вы используете ext4 для файловой системы, поэтому вам нужно использоватьresize2fs
после редактирования таблицы разделов.
Вы можете использовать графический интерфейс gparted
как для расширения раздела, так и для расширения файловой системы.
ПРИМЕЧАНИЕ:вы должны всегда делать резервную копию вашего файла image.img, прежде чем делать с ним что-либо подобное. Если что-то пойдет не так, вы всегда можете вернуться к последнему -рабочему файлу изображения.
Ничего подобного не существует, и я не думаю, что это возможно. Подумайте об этом вопросе :Как оболочка или ядро или что-то еще узнают, что вы действительно хотели запустить эту команду с помощью sudo? Например, если файл был настроен на чтение/запись корневым пользователем и чтением -только всеми остальными, и вы открыли файл, как он мог узнать, что вы хотите отредактировать файл, а не просто просмотреть его? Или, скажем, вы делаете «cp $HOME/myfile $HOME/myfile.bak». Может ли оболочка знать, что вы действительно хотели переместить файл, находящийся в /root, и поэтому вам следовало использовать sudo?
В тех случаях, когда вы точно знаете, что вам нужно быть пользователем root ('nano /etc/resolv.conf', например ), вам нужно либо повторно -написать nano, чтобы это заранее --, заменив его функцией, псевдонимом или сценарием --, или заставить оболочку каким-то образом прочитать вывод команды, выяснить, получили ли вы ошибку, и если это произошло из-за того, что вы не являетесь пользователем root, и затем попробуйте повторно -запустить команду с помощью sudo. Это было бы действительно большое заявление «если, то» для учета всех различных команд со всеми их различными выводами и способами работы и так далее.
Если бы вам удалось написать это действительно большое выражение «если тогда», возникла бы пара потенциальных проблем:
Поэтому я не думаю, что целесообразно встраивать что-то подобное. Но будьте уверены, вы не единственный, кто хотел бы, чтобы это было так! Я работаю с Linux уже 20 лет и до сих пор этого хочу.
Есть несколько вещей, которые могут помочь:
systemctl restart cups
, и он автоматически запросит ваш пароль sudo, если вы еще не запустили его с помощью sudo. sudo !!
, чтобы снова запустить ее с помощью sudo. "!!" заменяется любой вашей последней командой в этой оболочке. В моей системе я могу запустить "man bash | grep -A75 -P '^HISTORY EXPANSION'", чтобы посмотреть, как это работает. Вы также можете просто открыть «man bash» и найти его. alias yum='sudo yum '
. Мне не нужно помнить об использовании sudo для yum. Я просто запускаю «yum», и он добавляет sudo для меня. Надеюсь, вам что-то там поможет.