1 Востаннє редагувалося ADR (06.03.2013 13:46:09)

Тема: [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 -> Настройки -> Сховища
http://img12.imageshack.us/img12/3492/004wil.jpg
http://img199.imageshack.us/img199/9155/005lz.jpg


Оновлюємо список пакетів, вибираємо потрібні пакунки і натискаємо "Прийняти зміни"
УВАГА! Не забудьте поставити галочку "Лише завантажити" інакше ризикуєте вбити систему
http://img703.imageshack.us/img703/2786/006sz.jpg
(сорі для 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.



ПС: Скажете якщо треба щось поправити)

Подякували: funivan, Invader2