У меня разбиение диска такое: корневой раздел
/ 10 гигабайт, на нём же /var/cache/. Обычно свободно около 1 гигабайта (поудаляв редко используемое, можно освободить 2 ГБ). Для обновления система затребовала больше 4,5 гигабайт — новые пакеты нужно куда-то скачать. Что делать, не переразбивать же диск только ради апгрейда? Тем более, что всё остальное время мне такого / вполне хватает.Есть выход. Дополнительное место нужно для временного размещения скачанных пакетов. Потом оно будет не нужно (обычные обновления системы не требуют многих гигабайт). В Debian/Ubuntu скачанные пакеты помещаются в
/var/cache/apt/archives/. И я просто временно разместил этот каталог на внешнем диске, где места достаточно.Дополнение: ниже описано, как поступил я. Как подсказывают в комментариях, можно было поступить гораздо проще:$ sudo mount --bind /каталог/в/разделе/где/много/места /var/cache/apt/archivesПризнаюсь, что можно сделать--bind, просто забыл. В следующий раз попробую.
Действовал же так:
1) Сделал резервную копию текущего состояния
archives/: $ sudo rsync -avz --delete /var/cache/apt/archives ~/backup/var-cache-apt-archives
2) На диске, где вдоволь свободного места создал файл, в котором собираюсь разместить временный раздел под архивы (6 ГБ):
$ dd if=/dev/zero of=aptcache.img bs=1k count=6291456
3) Отформатировал этот файл как обычный раздел:
$ mke2fs aptcache.img
4) Подключил этот этот файл на место
/var/cache/apt/archives/ (скрыв этим настоящий archives/): $ sudo mount -o loop aptcache.img /var/cache/apt/archives/
5) Скопировал в него всё из старых
archives/ (необязательно, там просто архив уже скачанных пакетов): $ sudo rsync -avz ~/backup/var-cache-apt-archives/archives/ /var/cache/apt/archives/
6) Проверяю сколько свободного места есть, вижу, что теперь достаточно:
$ df -h / /var/cache/apt/archives/
Filesystem Size Used Avail Use% Mounted on
/dev/sda6 9.5G 7.0G 2.1G 78% /
/dev/loop0 6.0G 12M 5.6G 1% /var/cache/apt/archives
Далее обновляю систему как обычно. После обновления системы можно сделать
apt-get clean (удалить скачанные пакеты) и отключить временный /var/cache/apt/archives/.



А банальной мягкой ссылки не хватило бы? Типа
ОтветитьУдалитьmv /var/cache/apt/archives /mnt/large_dist/
ln -s /mnt/large_disk/archives /var/cache/apt/archives
Может и хватило бы, надо пробовать. В следующий раз :)
ОтветитьУдалитьМне кажется, что мягкой ссылки не хватило бы, потому что, скорее всего, программа обновления просто смотрит свободное место на разделе с /var/cache/apt/archives и могла бы всё равно ругнуться. Хотя может она и достаточно умная, чтобы проверять раздел, куда ссылка указывает, и тогда хватило бы. Не знаю.
Преимущество описанного способа (с mount), что после перезагрузки всё будет как обычно, никаких дополнительных действий уже не нужно. Символическую ссылку же нужно перед перезагрузкой убрать и ручками вернуть всё как было.
Этот комментарий был удален автором.
ОтветитьУдалитьох, а почему не так:
ОтветитьУдалить"mount --bind /папка_на_свободном_диске /var/cache/apt/archives/"
? :)
2 DOMr:
ОтветитьУдалитьНу можно, наверное, и так, согласен. Тут ведь вопрос в том: программа установки поймёт, что места в /var/cache/apt/archives/ достаточно, или ругнётся? df вроде понимает.
+1 mount -o bind лучше всего, Не нужно заморачиваться, бэкап archives тоже делать не нужно, это просто пакеты ранее скачаные и обычно более вам не нужные, чтобы их удалить даже команда спец есть apt-get clean.
ОтветитьУдалитьсимлинк работать будет (по крайней мере если делать apt-get dist-upgrade или aptitude dist-upgrade)
вообще линукс не винда - обычно получается as expected а не случайный результат.
2 Morgoth, 2 DOMr:
ОтветитьУдалитьСогласен, --bind проще. Я о нём просто не подумал. Добавил в заметку. Спасибо!
Хотел обновиться, но меня предупредили, что "в 9.04 нет используемого драйвера FGLRX". Решил подождать. Есть кто с видеокарточками ATI - это правда?
ОтветитьУдалить2 legrus:
ОтветитьУдалитьВы это лучше на форуме убунту спросите. Там ваш вопрос скорее увидят. Например, на forum.ubuntu.ru.
Если почти всё на / то этого иногда может не хватить.
ОтветитьУдалитьНапример если часто будет софт собираться жирный или ядра.
Место сейчас не дорогое и хдд уже допрыгнули до 2Тб.
Так что не экономьте, делайте раздел побольше. :)
2 Raiden:
ОтветитьУдалитьЕсли выбирать между большим /home и большим /, я за большой /home. И 10 ГБ для системы в общем-то до сих пор хватает. Очень требовательные к месту работы делаю в отдельном разделе, но как раз ядра в нём собираются редко, у меня ж не генту :-)
Да, а 2,5" дисков больше 500 ГБ я пока не видел.
У меня /var/cache/apt/ ссылка на ~/apt и в source.list этот каталог прописан первым. Так повелось еще с Ubuntu 6.06 И все прекрасно работает.
ОтветитьУдалитьОбновилась таким способом (с bind) с 8.10 до 9.04, спасибо =) полгода уже собиралась это сделать +) Хотела еще обновиться дальше, до 9.10, но убунта требует все равно еще 500 метров на корневом разделе, хоть тресни =((
ОтветитьУдалитьХотя свободен почти гиг. Зачем ей столько места для обновления, не понимаю +))
ОтветитьУдалить