Тема: [Ubuntu/Debian] Загрузка пакетів для off-line установки на інший ПК
ТЕМА БУДЕ ДОРОБЛЕНА І ДОПОВНЕНА ЧЕРЕЗ ТИЖДЕНЬ (можливо оформлю у вигляд скрипта)
В дані темі відбувається маніпуляція над пакетним менеджером! У випадку помилки можна завалити систему!
Ситуація:
Є ПК1 з нетом і ПК2 без нього. На обох стоїть Ubuntu (для Debian-подібних теж підходить).
Проблема:
Завантажити пакунки з репозиторій на ПК1 із подальшим встановленням на ПК2 (із врахуванням залежностей)
Моє рішення проблеми:
Підставити список встановлених пакетів і репозиторій із ПК2 на ПК1 і завантажити все через synaptic.
І так приступимо.
У моєму випадку ПК2 - це чиста Ubuntu Live CD тому так:
Монтуємо ISO
З нього монтуємо файл ISO/casper/filesystem.squashfs
Копіюємо куди не-будь вміст. Так як ReadOnly нам не підходить - про це дальше.
Для зручності примонтовуємо цю копію до /mnt
(sudo mount --bind 'наша копія' /mnt)
Для ти тих хто хоче завантажити пакунки на вже встановлену систему:
Копіюємо наступні теки:
/var/lib/dpkg/ - містить список встановлених пакунків
/etc/apt/ - містить список репозиторій
і (якщо частина пакунків вже завантажена і хочеться зберегти інет трафік):
/var/cache/apt
Зберігаючи ієрархію (тобто щоб було var/lib/...) папок копіюємо їх на ПК1 і монтуємо цю копію на /mnt
sudo mount --bind 'наша копія' /mnt
Підставляємо дані про пакети з ПК2 на ПК1:
sudo mount --bind 'куди ми качаємо пакунки. (напр до /mnt/var/cache/apt) ' /var/cache/apt
sudo mount --bind /mnt/var/lib/dpkg/ /var/lib/dpkg/
sudo mount --bind /mnt/etc/apt/ /etc/apt/
Запускаємо synaptic:
sudo synaptic
Включаємо репозиторії:
synaptic -> Настройки -> Сховища
Оновлюємо список пакетів, вибираємо потрібні пакунки і натискаємо "Прийняти зміни"
УВАГА! Не забудьте поставити галочку "Лише завантажити" інакше ризикуєте вбити систему
(сорі для JPG)
Можемо також зберегти позначки:
synaptic -> файл -> зберегти позначки як
Прибираємо за собою:
sudo umount /var/cache/apt/
sudo umount /var/lib/dpkg/
sudo umount /etc/apt/
sudo apt-get update #на всякий пожарний)
Встановлюємо пакунки на іншій машині:
Копіюємо вміст нашої теки із пакунками (раніше ви вказали куди відбудеться копіювання) у /var/cache/apt із заміною на другій машині.
Це можна зробити через:
sudo nautilus
Запускаємо synaptic, читаємо мітки (якщо ви їх зберегли) і приймаємо зміни.
Happy end.
ПС: Скажете якщо треба щось поправити)