Перейти до основного вмісту

Власний репозириторій Ubuntu на сервері CentOS 5

Для организации собственного репозитория Ubuntu на сервере CentOS 5 можно использовать пакеты debmirror или rsync. Решил использовать debmirror, т.к. позволяет контролировать какие пакеты и какие дистрибутивы нужны, rsync потребует огромное количество места на диске.

Многие рекомендуют (http://sjoeboo.github.io/blog/2012/01/26/mirroring-ubuntu-on-centos/)
скачать debmirror_2.10ubuntu1.tar.gz с сайта Ubuntu, установить зависимые пакеты. Затем скомпилировать debmirror, скопировать его в /usr/local/bin, создать скрипт с параметрами и строкой запуска.
Но в результате такой скомпилированный модуль не хотел работать, требовал еще каких-то дополнительных параметров.

Можно скачать debmirror.rpm для своей версии CentOS c http://pkgs.org/download/debmirror.


Необходимо установить его, создать скрипт с параметрами и строкой запуска, например такой:

#!/bin/bash 
arch=amd64 
section=main,restricted,universe,multiverse 
release=lucid 
server=ua.archive.ubuntu.com 
inPath=/ubuntu 
proto=http 
proxy=http://proxy.local:8888 
outpath=/var/www/repos/ubuntu 
debmirror -a $arch \ 
--no-source \ 
-s $section \ 
-h $server \ 
-d $release \ 
-r $inPath \ 
--progress \ 
--ignore-release-gpg \ 
--no-check-gpg \ 
--proxy=$proxy \ 
-e $proto \ 
$outPath

Еще один вариант скрипта есть в 
http://lgallardo.com/en/2012/12/06/como-crear-un-mirror-de-debian-y-ubuntu-con-debmirror/.

Более сложный скрипт можно взять на 

http://www.gtkdb.de/index_33_1670.html.

Подробное описание опций debmirror есть в man или https://help.ubuntu.com/community/Debmirror.



Теперь нужно на сервере установить и настроить apache, чтобы он выдавал данные репозитория по адресу, который мы будем указывать у клиентов. В нашем скрипте сразу указали адрес /var/www/repos/ubuntu, который является директорией для apache по-умолчанию.

Но для Centos 5 пакет
debmirror-20090807-1.el5.noarch.rpm
не имеет опции -i18n и не скачивает директории с локализацией описаний /i18n.
Поэтому нашел более новый пакет, который уже имеет опцию -i18n, например
debmirror-2.8-1.fc16.noarch.rpm с
http://www.rpm-find.net/linux/RPM/archive.fedoraproject.org/fedora/linux/releases/16/Everything/i386/os/Packages/debmirror-2.8-1.fc16.noarch.html

Но он имеет несколько проблем, которые нужно после установки устранить.
Например, он пытается все время использовать rsync и выдает сообщение об ошибке
"Updating remote trace files (using rsync)". Для устранения нужно в файле /etc/debmirror.conf указать
--rsync-extra=none
Или после запуска выдает сообщение об ошибке "Duplicate dist". Это связано с тем, что дистрибутив указан в скрипте запуска в командной строке и в /etc/debmirror.conf. Нужно в одном месте убрать указание дистрибутива.
И в коде в определении переменной
my $dist_sdir= $1 // "";
используется оператор //, который надо заменить на строку вида
my $dist_sdir= defined($1) || "";

После этого необходимо также у клиентов в файле /etc/apt/sources.list

указать, что репозиторий находится в локальной сети, например
deb http://192.168.1.1/ubuntu/ precise main restricted universe multiverse 

deb http://192.168.1.1/ubuntu/ precise-updates main restricted universe multiverse 
deb http://192.168.1.1/ubuntu/ precise-backports main restricted universe multiverse 
deb http://192.168.1.1/ubuntu/ precise-security main restricted universe multiverse
Где 192.168.1.1 - адрес нашего сервера с репозиторием.

Для редактирования /etc/apt/sources.list можно использовать терминал, а можно через графическую оболочку вызвать диалог Run. 
Для этого нужно нажать Alt+F2, затем
gksu gedit.
А затем уже в редакторе открыть /etc/apt/sources.list.

Или можно вызвать редактор таким образом:
gksudo
А затем в диалоге указать
gedit

Можно через gksudo запустить браузер nautilus и с его помощью искать и редактировать файлы.

Если репозиторий находится в локальной сети, а доступ в Интернет осуществляется через прокси, то необходимо настроить исключения прокси для локальных серверов репозитория.
В Ubuntu 12.04 через графическую оболочку можно настроить прокси, а исключения указать негде, поэтому для apt нужно указать исключения вручную.
Для этого нужно в /etc/apt/apt.conf указать исключения в виде:
Acquire::http::proxy::192.168.1.1 "DIRECT";
Acquire::http::proxy::local.mirror.address "DIRECT";


(Совет нашел в http://askubuntu.com/questions/364635/acquirehttpproxy-for-only-specified-repositories)

И после перезагрузки компьютера, можно приступать к обновлению с собственного репозитория.

Коментарі

Популярні дописи з цього блогу

Подключение Cisco 7911/7912 по SIP к Asterisk

Аппарат Cisco IP Phone 7911 по-умолчанию настроен на использование протокола SCCP. Можно в Asterisk указать использование модулей SCCP, но для единообразия удобнее использовать SIP. Для использования протокола SIP в аппарате Cisco 7911 нужно обновить программное обеспечение.  Код обновления для загрузки в аппарат нужно скачать с сервера Cisco: http://tools.cisco.com/support/downloads/pub/Redirect.x?mdfid=278875240 Самое последнее обновление (на данный момент версия 9.3) может не работать c Asterisk, с  версии 9.X Cisco переходит на использование только TCP для SIP соединений. Поэтому для использования UDP удобнее скачать обновление версии 8.5.2 или 8.5.4. Может понадобится  вначале   установить обновление 8.5.2, а затем 8.5.4. Например, для обновления с SCCP11.8-2-2SR-4S надо вначале установить 8.5.2 Обновление будет производится с сервера  TFTP, поэтому д ля начала нужно настроить сервер DHCP, TFTP. Причем в DHCP нужно настроить опцию 150, которая используется для указания аппа

Панель инструментов Remmina в полноэкранном режиме Ubuntu 12.04

Пакет Remmina 0.9.99 (протокол RDP) в системе Ubuntu 12.04 используется как клиент для доступа к терминальному серверу. Обнаружено странное поведение панели инструментов в полноэкранном режиме на терминальном сервере- панель инструментов исчезает и невозможно перейти в другое окно или закрыть сеанс. Для сворачивания окна можно использовать комбинацию клавиш CTRL+F9. Комбинации клавиш задаются в настройках Remmina, а CTRL нужно, чтобы комбинацию не перехватил терминальный сервер. В настройках Remmina есть параметр "Спрятать панель инструментов в полноэкранном режиме". Но иногда, даже если не указан этот параметр, меню не отображается. Можно, не закрывая терминальную сессию, изменить этот параметр на противоположный и после возврата в сессию, меню начнет появляться. В следующий раз перед открытием новых сессий в Remmina нужно правильно указать значение этого параметра. Размер иконок в панели инструментов можно изменить через основное меню Remmina

Изменение размера бумаги LibreOffice(OpenOffice)

Если при установке Ubuntu указать локаль «USA», то размер бумаги по-умолчанию установится «Letter». Если потом через «Система- Администрирование- Локализации» изменить локаль на «Украинский» («Русский»), изменится язык системы, формат даты, но размер бумаги по-умолчанию и единица измерения останутся прежними.  Совет нашел в http://www.nixp.ru/recipes/%D0%9A%D0%B0%D0%BA-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C-%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80-%D0%B1%D1%83%D0%BC%D0%B0%D0%B3%D0%B8-%D0%B2-OpenOffice-org-%D0%BF%D0%BE-%D1%83%D0%BC%D0%BE%D0%BB%D1%87%D0%B0%D0%BD%D0%B8%D1%8E-%28libpaper%29.html Нужно в терминале запустить sudo dpkg-reconfigure libpaper1 В открывшемся списке выбрать формат А4. Можно напрямую в файле конфигурации (/etc/papersize) указать размер А4. Проверить можно в LibreOffice(OpenOffice) через меню «Формат-Страница». Еще в LibreOffice(OpenOffice) нужно изменить единицу измерения через «Сервис- Параметры- LibreOffice Writer- Общие»