ОБРАЗ

Создание локального репозиторя DEBIAN Linux на основе "образцовой" системы.

1. Первоначальная "образцовая" установка Debian Linux.

Установку Debian Linux я рекомендую производить со стандартного CD диска (CD-1).
Образ диска можно скачать с www.debian.org.

Данный образ диска содержит необходимый минимум пакетов.
Для полноценной установки необходимо подключение к сети.
(Желательно, чтобы "образцовая" система всегда была подключена к сети).

Для поноценной работы понадобятся два дополниленьных пакета:
mc - консольный файловый менеджер.
synaptic - GUI-шный удобный менеджер пакетов.

~ su

# apt-get install mc synaptic

2. Создание первого (дефолтового) локальго репозитория.

Для создания первого репозитория понадобится скрипт закачки, созданный с помощью synaptic:
1) Запустите synaptic.
2) Найдите фильтр "Установленные пакеты".
3) Выберите все установленные пакеты и выберите "Переустановить".
4) Без переустоновки сгенерируйте скрипт загрузки (Apt-download-defaults.sh, например) и выйдите из программы.

Данный скрипт содержит указания не только на сетевые репозитории, но и на пакеты с CD-диска.
Пакеты с CD-диска скачивать не надо (их просто скопируем в дальнейшем),
поэтому удалим эти строки из скрипта командой:

~ sed -i -e '/wget -c cdrom:/d' Apt-download-defaults.sh

Теперь скрипт содержит только ссылки на скачиваемые пакеты.
Скопируем его на внешний раздел, на котором собираемся фомировать локальные репозитории.
(желательно, чтобы раздел имел метку, тогда он примонтируется в /media/'DISK-LABEL').
В операции копирования поможет консольный менеджер mc, хотя можно и ручками.

Например, внешний раздел имеет метку "DATA" и уже примонтирован.

~ ls /media

~ ls /media/DATA

~ mkdir /media/DATA/debian-6.0.6-i386

~ mkdir /media/DATA/debian-6.0.6-i386/apt

~ mkdir /media/DATA/debian-6.0.6-i386/apt/defaults

~ cp ~/Apt-download-defaults.sh /media/DATA/debian-6.0.6-i386/apt/defaults

После этого запускаем скрипт скачки пакетов.

~ cd /media/DATA/debian-6.0.6-i386/apt/defaults

~ bash Apt-download-defaults.sh

По завершению скачки, копируем в эту же папку пакеты с диска.

~ cp /media/cdrom/pool ./

Репозиторий почти готов. Осталась небольшая доводка.

Распределение скачанных пакетов по секциям.
(для удобства хранения).
В этом поможет скрипт Apt-packages-section-1s.sh.
Скопируем данный скрипт в корень репозитория и запустим.

~ cd /media/DATA/debian-6.0.6-i386/apt/defaults

~ bash Apt-packages-section-1s.sh

PS: Apt-packages-section-1s.sh.gz.

Очистка репозитория от устаревших и неиспользуемых пакетов.
(а так же их индексирование).
В этом поможет скрипт Apt-packages-old-backup-1s.sh.
Скопируем данный скрипт в корень репозитория и запустим.

~ cd /media/DATA/debian-6.0.6-i386/apt/defaults

~ bash Apt-packages-old-backup-1s.sh

PS: Apt-packages-old-backup-1s.sh.gz.

В завешении работы скрипт проверит настройки репозиториев /etc/apt/sources.list
и укажет какую запись надо в него добавить.
Для текущего примера, это:
deb file:/media/DATA/debian-6.0.6-i386/apt/defaults ./
После этого CD-ром можно исключить из источников (закоменттровав):
#deb cdrom:///...

Для проверки наличия локального репозиторя в списке подключенных репозиториев имеется отдельный скрипт Apt-packages-test-1s.sh.

PS: Apt-packages-test-1s.sh.gz.

Для переиндексации репозитория без отсева пакетов также имеется отдельный скрипт Apt-packages-list-update-1s.sh.

PS: Apt-packages-list-update-1s.sh.gz.

3. Перенос созданного репозитория.

Перенос репозитория осуществляется в виде тулбаров с помощью флешек или через сеть:

~ cd /media/DATA/debian-6.0.6-i386/apt

~ tar -czvf apt-2012-12-17-defaults.tar.gz defaults

~ cp apt-2012-12-17-defaults.tar.gz /media/usb0

Флешка переносится на компьютер без сети:

~ mkdir -p /media/JOB/linux/debian-6.0.6-i386/apt

~ cd /media/JOB/linux/debian-6.0.6-i386/apt

~ cp /media/usb0/apt-2012-12-17-defaults.tar.gz ./

~ tar -xzvf apt-2012-12-17-defaults.tar.gz

~ cd defaults

~ bash Apt-packages-test-1s.sh

Включается локальный репозиторий в список репозиториев (согласно указаниям скрипта) и производится апгрейд и доустановка пакетов:

~ su

# mcedit /etc/apt/sources.list

Добавляется строка (для текущего примера):

deb file:/media/JOB/linux/debian-6.0.6-i386/apt/defaults ./

Апгрейд:

# apt-get update

# apt-get upgrade

# apt-get install synaptic

Доустановка с помощью synaptic (фильтр "Неустановленные"):

# synaptic

По завершению:

# exit

~

4. Создание "индивидуальных" репозиториев.

В предыдущих разделах объяснялся порядок формирования локального репозитория общего назначения, для установки полнофункциональной системы Debian Linux на машины без сети.

В этом разделе будет объясннено формирование локального репозитория "для себя" - коллекции пакетов с субективным уклоном.
(Например, я в повседневной работе использую xfce, conky и R-Studio[GUI для статистической системы R]. В стандартной установке этого нет, более того R-Studio нет и в стандартных репозиториях).

Устанавливаем необходимые программы в "образцовой" системе стандартными способами.

Из официальных репозиториев:

~ su

# apt-get install [через пробел список программ-пакетов]

или через synaptic:

~ su

# synaptic

по завершению:

# exit

~

Отдельные пакеты, отсутствующие в оффициальных репозиториях:

~ su

# dpkg -i [через пробел имена файлов скачанных пакетов]

# apt-get -f install

последняя команда необходима для удовлетворения зависимостей (и, соответственно, нормальной работы системы)

по завершению:

# exit

~

Создание локального репозитория производится почти также, как и во втором разделе, за исключением того, что все пакеты уже скачаны. Понадобятся следующие скрипты:


Apt-packages-list-update-1s.sh.gz - скрипт создания индекса пакетов
Apt-packages-old-backup-1s.sh.gz - скрипт отсева устаревших пакетов
Apt-packages-section-1s.sh.gz - скрипт распределения пакетов по секциям
Apt-packages-test-1s.sh.gz - скрипт проверки подключения локального репозитория

и еще один скрипт:


Apt-packages-get-cache-1s.sh.gz - скрипт копирования пакетов из кеша

Создайте папку для нового репозитория и скопируйте скриты в нее. Например:

~ cd /media/DATA/debian-6.0.6-i386/apt

~ mkdir updates

~ cd updates

~ cp ~/Apt-*.sh.gz ./

Все скрипты упакованы gzip-ом. Для распаковки используйте команду:

~ cd /media/DATA/debian-6.0.6-i386/apt/updates

~ gzip -d [имя скрипта].gz

Используйте скрипты в следующем порядке:

~ cd /media/DATA/debian-6.0.6-i386/apt/updates

~ bash Apt-packages-get-cache-1s.sh

~ bash Apt-packages-section-1s.sh

~ bash Apt-packages-list-update-1s.sh

Скрипт Apt-packages-old-backup-1s.sh понадобится в случае обновления системы новыми версиями пакетов:

~ cd /media/DATA/debian-6.0.6-i386/apt/updates

~ bash Apt-packages-get-cache-1s.sh

~ bash Apt-packages-section-1s.sh

~ bash Apt-packages-old-backup-1s.sh

Скрипт Apt-packages-test-1s.sh понадобится после переноса репозитория на машину без сети.

По завершению работы скриптов тулбарим репозиторий и переносим его, как в предыдущей главе.

~ cd /media/DATA/debian-6.0.6-i386/apt

~ tar -czvf apt-2012-12-18-updates.tar.gz updates

~ cp apt-2012-12-18-updates.tar.gz /media/usb0

После этого удаляем старые версии пакетов и зачищаем кеш.

~ cd /media/DATA/debian-6.0.6-i386/apt/apt-backup

~ rm *

~ su

# apt-get clean

# exit

~


17 декабря 2012г.

Made in Terra No Names.


Сайт управляется системой uCoz