Бывает, что одинаковый софт (например, обновления системы) нужно поставить на несколько машин. Естественно, скачивать несколько раз одно и то же не хочется. Ещё бывает, что интернет есть не на всех компьютерах, скачанное на одном нужно поставить на другом. Есть несколько вариантов решения этой задачи.
Apt-proxy
Оптимальное решение для компьютеров, объединённых в сеть. Один из компьютеров становится сервером, он должен иметь доступ в интернет. Естественно, он должен быть доступен по локальной сети клиентам (компьютерам, которые хотят получить с него софт).
Apt-proxy - это программа, которая кэширует скачанные пакеты на жёстком диске. Apt-proxy работает как http-сервер, предоставляющий другим компьютерам в сети доступ к репозиторию программ. Если клиентский компьютер пытается получить пакет, которого нет в кэше, то apt-proxy автоматически скачивает его и кэширует. Это существенно снижает объём трафика и время установки программ.
Настраиваем сервер. Сначала устанавливаем программу apt-proxy из universe репозитория.
sudo apt-get install apt-proxy
Правим файл её конфигурации:
sudo nano /etc/apt-proxy/apt-proxy-v2.conf
(вместо nano можно использовать любимый редактор, например, vi, gedit или kate)
Большую часть настроек можно оставить по умолчанию. Если интернет идёт через прокси - вписываем его адрес и порт в строку http_proxy. Имеет смысл поправить секцию [ubuntu], в которой указываются репозитории. Рекомендуется указать географически ближайший сервер. Например, это может выглядеть так:
[ubuntu] ;; Ubuntu archive backends = http://ru.archive.ubuntu.com/ubuntu http://archive.ubuntu.com/ubuntu http://archive.ubuntu.org.cn/ubuntu min_refresh_delay = 15m [ubuntu-security] ;; Ubuntu security updates backends = http://security.ubuntu.com/ubuntu min_refresh_delay = 1m
Секции, касающиеся debian, можно не трогать. После правки файла конфигурации перезапустите apt-proxy
sudo /etc/init.d/apt-proxy restart
На клиентских компьютерах необходимо изменить содержимое файла sources.list с приблизительно такого
deb http://archive.ubuntu.com/ubuntu dapper main restricted deb http://security.ubuntu.com/ubuntu dapper-security main restricted universe
на примерно такое
deb http://server:9999/ubuntu dapper main restricted deb http://server:9999/ubuntu-security dapper-security main restricted universe
не забыв после этого сделать
sudo apt-get update
Для проверки можно зайти в Synaptic и убедиться, что в нём есть не установленные, но доступные для установки пакеты. Ну или просто попробовать что-нибудь установить.
APTonCD
Данная программа позволяет вам собирать, хранить и переносить пакеты, для этого APTonCD, создает ISO образ из всех файлов хранящихся в директории /var/cache/apt/archives. Из полученного образа можно легко восстанавливать пакеты на другой системе.
Для установки APTonCD откройте терминал и наберите:
sudo apt-get install aptoncd
Находим установленную программу Система→Администрирование→APTonCD и запускаем. Вот так выглядит главное окно APTonCD:
Для создания образа с нашими пакетами жмем кнопку «Создать», программа просканирует кэш и выведет список пакетов. Изменяем список: снимаем галочки с ненужных нам пакетов или наоборот добавляем свои пакеты при помощи клавиши «Добавить». После того, как вы составили список пакетов можно приступить к созданию образа, для этого мы нажимаем на кнопку «Записать…». Перед вами появиться окно, в котором вы можете выбрать:
- Тип носителя: CD или DVD
- Путь для сохранения образа (по умолчанию - домашняя папка пользователя)
- Имя образа
- Создать метапакет (под метапакетом понимался просто список пакетов, вместе составляющих единый пакетный комплекс, и установка которого влекла за собой инсталляцию всех его компонентов).
Если вы согласны с свойствами установочного диска, то можно продолжить нажав кнопку «Применить», после нажатия на кнопку все пакеты будут автоматический добавлены в ISO образ. По завершению, вам будет предложено записать новый ISO образ на диск, если вы согласны то вставьте чистый диск в привод и нажмите «Да». Вот и вся работа по созданию диска с дополнительными пакетами.
Для переноса пакетов в свежеустановленную систему, нужно первым делом установить APTonCD и в главном окне нажать кнопку «Восстановить», а затем нажав кнопку «Загрузка..» выбрать откуда мы будет брать пакеты из ISO образа или с диска. После выбора нажимаем кнопку «Восстановить».
sudo apt-get install hal
Если вы переносите пакеты на другой компьютер(на котором нет привода, или не хочется носить диск ) в виде файла образа aptoncd-xxxxxxxx-CD1.iso (например на флешке) смонтируйте iso командой : sudo mount -o loop /путь_к_файлу/aptoncd-xxxxxxxx-CD1.iso /media/cdrom0 и добавьте источник программ в список репозиториев: sudo synaptic –add-cdrom /media/cdrom0
В синаптике входим Settings→Repositories в закладке Ubuntu Software снимаем все галочки(ведь у нас же здесь нет интернета )на второй закладке Other Software проверяем наличие галочки на cdrom:[APTonCD for Ubuntu … жмем Close и жмем кнопку Reload - загрузится список наших пакетов. После этого выбираем в синаптике секцию Status→Not installed - и видим наши еще неустановленные пакеты - выбираем нужные.