14 Март 2008

Локальный репозиторий пакетов. Часть 2.

Итак, продолжим...
Требования все те же - нужен локальный репозиторий, который бы можно было подключить на другом компьютере в систему (речь идет о Debian-based дистрибутивах), и произвести с него установку/обновление пакетов.

Что интересно, в Debian я прекрасно пользовался программой apt-move, однако переехав на Kubuntu я, почему-то "обломался" с репозиторием, созданным таким способом.
:(
И вот эта неудача заставила меня искать альтернативный способ решения проблемы.


AptOnCD.
Ранее рассмотренные варианты имеют сугубо консольную заточку. Так вот, теперь можно расслабиться и "просто тыкая" кнопками мыши (все-таки лучше не "просто тыкая", а "осмысленно тыкая"!) в графическом интерфейсе, можно в несколько кликов создать работоспособный репозиторий. Честно говоря, эту программу, я нашел раньше, чем закончил разборки с apt-move в Kubuntu, поэтому дальнейшие изыскания в этом направлении были завершены за ненадобностью. Я предпочитаю решать необходимые для меня задачи, т.к. на исследовательские времени уже нету.

Полезный смысл этой проги кроется в создании iso-образа репозитория для дальнейшего прожига дисков, ну или монтирования этого образа, если кому диски не нужны (благо в Linux-е это делается на "раз-два").

Шаг 0.
Устанавливая эту программу:

apt-get install aptoncd
имеем в виду, что она за собой прицепом установит следующие пакеты, если они не были установлены:
  • python2.5
  • python-central (>= 0.5.8)
  • python (>= 2.5), python (<<>
  • libgnomevfs2-0
  • genisoimage | mkisofs
  • apt-utils, synaptic (>= 0.57.7)
  • python-gnome2
  • python-apt
  • python-glade2
  • python-dbus
  • lsb-release
  • gksu
  • python-gtk2
  • gnome-icon-theme
Список приведен для информации.

Шаг 1.
Запускаем ее в Меню - Система - APTonCD-Package Backup Tool. Нас встречает приятный интерфейс:

который хочет от нас узнать - что мы хотим делать?

Шаг 2.
Ну создадим репозиторий, для начала. Кнопка Create выводит нам список доступных пакетов (те самые пакеты, которые у нас хранятся в каталоге /var/cache/apt/archives), которые будут включены в наш будущий репозиторий.


Но что еще интересно можно добавить в систему любые *.deb-пакеты, или сразу директорию, их содержащую. Очень полезная опция! Все это нам доступно кнопке Add.

Шаг 3.
После того как мы выбрали те пакеты, которые нам нужны в репозитории, запускаем процесс кнопкой Burn.


Здесь мы выбираем тип носителя CD или DVD. Предварительно нам никто не мешает измерить объем пакетов и определить куда они поместятся. Если пакеты не входят все на один CD, то будет созда следующий и так далее. Вообщем если нет DVD привода, а пакетом реально много, то никто не обламается. :)

Далее корректируем куда нам нужно будет деть *.iso-образ (по умолчанию - в домашнюю директорию).

Имя *.iso-файла он предлагает автоматом с "внедренной" в нее датой. Я считаю такое имя оптимальным и пользуюсь им.

Шаг 4.
В предыдущем скриншоте кнопка Apply запускает глобальный процесс создания образа нашего репозитория.


Мы просто зрители в этом процессе! Чертовски приятно... Помните, как при установке Windows`98 - "Теперь вы можете откинутся на спинку кресла..." :)


Шаг 5.
После того как программа закончит создание образа, она даже не поленится предложить запустить программу для прожига дисков (правда лично у меня K3b не запускался, но это только на одном компе...)

Ну полный сервис!

Шаг 6.
Теперь осталось только воспользоваться полученным результатом (имеется ввиду, что мы прожгли-таки диск с репозиторием, и вставили его в целевой компьютер, с которого щас и выполняем эти действия). Я для этого предпочитаю пару консольных команд для "свежепрожженого" CD...
Добавим содержимое диска себе в систему (от root-а):
sudo apt-cdrom add
Ну а далее, я "накатываю" апдейты для своих пакетов Kubuntu-ы
sudo apt-get update
Собственно, и все!
Здесь я показал пример только обновления системы, подразумевая что установить нужный пакет в Debian-based дистрибутиве ну очень просто.

Вывод.
Все эти способы достойны того, чтобы ими пользовались. И очень радует тот факт, что конечный юзер может выбрать наиболее оптимальное решение для своих нужд.
Как говорится, Линукс жжёт!
:-)

8 коммент.:

Анонимный комментирует...

тянет за собой гномовские либы... это конечно минус для _K_ubunut.

SIR комментирует...

Ну, я не совсем согласен на счет минуса.
В чем он?
Нарушена "классовая чистота" КДЕ?
...
ерунда это все (ИМХО). Ведь само КДЕ не самоцель в Kubunu-e. Важно то, чтобы были и работали программы под Линуксом, причем именно такие, какие необходимы пользователю. А какие он там используют библиотеки - неважно.

Ну не отказываться же теперь от Gimp, Avast, Inkscape, StarDict и прочих... Тот же OpenOffice со своими библиотеками, и чего?

Повторюсь, главное - чтобы приложение работало как надо!
:-)

Анонимный комментирует...

ну тогда проще ставить гнома и не париться) все ж работает!

SIR комментирует...

Спасибо за совет - у меня в KDE тоже все работает (че тут париться?..) !
:-)

К примеру, вот здесь указаны те программы, которыми я пользуюсь. Так вот, большинство из них написаны для KDE, ну и сами КеДы мне нравятся гораздо больше Гнома.

Наличие выбора, это действительно здорово!

Анонимный комментирует...

Статьи по обновлению действительно очень полезны.

По ходу дела у меня возник вопрос.
Копируются ли все пакеты из созданного CD в папку /var/cache/apt/archives? И не будут ли заново скачиваться пакеты с Интернета, которые уже содержаться на диске, если после обновления с CD я захочу дообновить систему?

SIR комментирует...

Если я не ошибаюсь, то при установке бинарников с CD, они в директорию /var/cache/apt/archives не копируются - только если скачивается с Интернета, тогда копируются туда сами бинарники.

Если устанавливаемый пакет есть и на CD и в Интернете, то система будет брать его именно с CD! Но нужно не забывать, что тут будет приоритет по версиям: если в Инете будет более свежая версия, то пакет должен браться именно с И-Нета.

Вроде так!

Raa комментирует...

А Вы не пробовали пробовать что-нибудь типа apt-proxy? Имхо, гораздо больше подходит, если компы соеденены в локальную сеть.

SIR комментирует...

На счет apt-proxy я не пробовал, т.к. репозиторий в локальной сети мне не актуален.
А так - да, для сети это будет гораздо интереснее.