Что такое репозиторий, или как добавить репозиторий в debian

Как добавить дополнительные репозитории в Debian 8

Как правило, проект Debian одновременно имеет от трех до шести различных версий.

  • Experimental — экспериментальная
  • Unstable — нестабильная
  • Testing — тестовая
  • Stable — стабильная
  • Oldstable — старая стабильная
  • Oldoldstable — старая старая стабильная (дословный перевод)

Каждая версия соответствует различным этапам развития.

Для хорошего понимания рассмотрим путешествие программы от ее первоначальной упаковки до включения в стабильную версию Debian.

Итак, экспериментальнй дистрибутив Experimental — это группа пакетов Debian включающих программное обеспечение, находящееся в настоящее время в процессе развития и необязательно завершенное. Разработчики добавляют сюда пакеты, которые содержат важные изменения базовых пакетов для того, чтобы получить обратную связь от опытных пользователей.

Дистрибутив Experimental полностью изолированный, его пакеты никогда не переносятся в другие версии так как могут иметь критические последствия за исключением вмешательства разработчиков и мастеров.

Нестабильный дистрибутив Unstable. Разработчик создает первоначальный пакет, который он компилирует для Unstable и помещает на сервер ftp-master.debian.org, где происходит его инспекция.

Затем программное обеспечение становится доступным в дистрибутиве для пользователей, они тестируют программы. Если пользователи находят ошибки, то сообщают о них сопровождающему этот пакет. Сопровождающий регулярно готовит исправленные версии, которые он загружает на сервер.

Каждый обновлённый пакет в течение шести часов обновляется на всех зеркалах Debian по всему миру.

Иногда разработчик получает отчёт об ошибке с указанием проблемы, которую следует исправить в будущих версиях пакета. Также отчёт об ошибке может содержать в себе и готовую к использованию заплатку.

Тестовый дистрибутив Testing. Здесь пакет будет скомпилирован на всех архитекторах, и не будет изменён в течении некоторого времени. Каждый день программа автоматически выбирает пакеты для включения в тестируемый выпуск в соответствии с правилами, гарантирующими определенный уровень качества.

Эта система не является идеальной; критические ошибки регулярно встречаются в пакетах, включенных в Testing. Тем не менее это, как правило, эффективно, и Testing создает гораздо меньше проблем, чем Unstable, это является хорошим компромиссом между стабильностью и новизной.

После всего вышесказанного пакет переходит в стабильный дистрибутив Stable. До тех пор, пока пакет можно улучшать, разработчик продолжает работу над ним. Когда пакет достигает совершенства, сопровождающий завершает свою работу.

Следующим шагом является включение в стабильный выпуск, который фактически является обычной копией тестируемого выпуска на момент времени, которое определяет менеджер проекта. В идеале это решение принимается в тот момент, когда программа полностью готова.

Поскольку нет предела совершенству, этот момент никогда не настаёт, на практике Debian ищет компромисс: удаляет пакеты, в которых не исправлены ошибки вовремя. Менеджер выпуска заранее сообщает о периоде заморозки, в ходе которого каждое обновление тестируемого выпуска должно быть одобрено.

Цель заморозки заключается в предотвращении добавления новых версий пакета (и новых ошибок) и разрешении только тех обновлений, которые исправляют существующие ошибки. Вот так проходит путь каждый пакет, который входит в состав стабильного дистрибутива.

Каждый стабильный дистрибутив Stable имеет время жизни около 5 лет. При выходе нового стабильного релиза предыдущий дистрибутив становится Oldstable (старый стабильный дистрибутив), а прежняя Oldstable становится Oldoldstable (старый старый стабильный дистрибутив).

Взглянув на файл /etc/apt/sources.list мы сможем определить источник установленных пакетов Debian и при необходимости добавить новый. Это действие мы выполняем через терминал командой:

$ gedit /etc/apt/sources.list или mousepad /etc/apt/sources.list

Стандартный набор репозиториев для Debian 8

# deb cdrom:[Debian GNU/Linux 8.6.0 _Jessie_ — Official amd64 DVD Binary-1 20160917-14:25]/ jessie contrib main # deb cdrom:[Debian GNU/Linux 8.6.0 _Jessie_ — Official amd64 DVD Binary-1 20160917-14:25]/ jessie main contrib deb http://mirror.mephi.ru/debian/ jessie main deb-src http://mirror.mephi.ru/debian/ jessie main deb http://security.debian.

org/ jessie/updates contrib main deb-src http://security.debian.org/ jessie/updates main contrib # jessie-updates, previously known as 'volatile' deb http://mirror.mephi.ru/debian/ jessie-updates main contrib deb-src http://mirror.mephi.ru/debian/ jessie-updates main contrib

Итак, рассмотрим файл sources.list.

Знак # в начале строки означает комментарий, такие строки не обрабатываются.

deb deb-src

Первое слово в каждой строке, deb или deb-src указывает тип архива: либо это пакеты (.deb), которые являются предкомпилированными пакетами, они готовы к использованию, либо пакеты с исходными текстами (deb-src), которые являются первоначальными исходными текстами программ с управляющим файлом Debian.

На момент написания этих строк Debian Jessie — это последний стабильный (Stable) релиз Debian.

В качестве примера добавим (изменим) репозитории, чтобы можно было установить не только свободные приложения, например, шрифты Microsoft. Откроем файл sources.list для редактирования с правами root и вставим следующие строки:

# Multimedia deb http://www.deb-multimedia.org/ jessie main non-free

Добавляем ключ deb-multimedia.org в Debian 8:

$ apt-get install deb-multimedia-keyring $ apt-get update

Полезные списки репозиториев для Debian

https://debgen.simplylinux.ch/

http://linuxoid.in/%D0%9F%D0%BE%D0%BB%D0%B5%D0%B7%D0%BD%D1%8B%D0%B5_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%B8_%D0%B4%D0%BB%D1%8F_Debian

http://www.debian-multimedia.org/

Примечание

Файл sources.list часто служит хорошим индикатором: большинство администраторов держат полный список всех использованных ранее источников APT, хотя бы и в закомментированном виде.

Не стоит забывать, что использованные ранее источники могли быть удалены, а некоторые пакеты могли быть загружены из сети Интернет и установлены вручную (командой dpkg). В этом случае система может быть ошибочно принята за «стандартную» систему Debian.

Именно по этой причине вам следует обратить внимание на любые признаки, которые помогут вам определить присутствие внешних пакетов (наличие файлов .

deb в необычных для них каталогах; номера версий пакетов со специальными суффиксами, которые могут указывать на происхождения пакетов не из проекта Debian, а из таких проектов как ubuntu или lmde и т. д.).

Файл dpkg сохраняет в журнале все свои действия:

$ gedit /var/log/dpkg.log

Этот журнал чрезвычайно подробный: в нём задокументированы все этапы обработки пакетов dpkg. Он помогает не только отследить поведение dpkg, но и сохранить историю изменений в системе: можно найти точный момент, когда каждый пакет был установлен или обновлён, и эта информация может быть чрезвычайно полезной при выяснении причин изменения поведения системы в целом.

СВами

Источник: https://opencentr.ru/article/kak-dobavit-dopolnitelnye-repozitorii-v-debian-8/

Как создать свой репозиторий для Debian/Ubuntu

Заметка о том как я создавал собственный репозиторий для дистрибутива Debian.

Для дистрибутивов основанных на Debian алгоритм создания репозиториев очень похож или совершено такой же. Эта заметка не подойдет тем, кто хочет сделать зеркало репозитория Debian, для этого используются другие инструменты.

Необходимость создания репозитория может возникнуть у того, кто создал свое программное обеспечение и хочет его выложить в открытый доступ в удобно устанавливаемом и обновляемом виде.

Такой репозиторий также удобно использовать для локальных сетей, чтобы из большого Интернета не скачивать одни и те же пакеты много раз.

Для организации репозитория на своем сервере можно использовать программу reprepro, но способ, описанный ниже, мне показался более наглядным.

Итак, приступим. Для начала следует выбрать дирректорию, в которой мы хотим выкладывать наши deb пакеты. Пускай это будет /var/www/repositories/debian.

prefix=/var/www/repositories/debian
mkdir -p $prefix/main

Копируем все необходимые deb пакеты в /var/www/repositories/debian/main, там можно устроить любую структуру каталогов. Я сделал подкаталоги для каждого пакета и положил в них файлы .deb, .dsc, .changes и .tar.gz.

Далее переходим в корень нашего репозитория

Создаем индексные файлы. Для бинарных пакетов сделать это можно с помощью команды dpkg-scanpackages.

dir=$prefix/dists/unstable/main/binary-i386
mkdir -p $dir
dpkg-scanpackages —arch i386 main /dev/null > $dir/Packages
gzip -9c $dir/Packages.gz
bzip2 -9c $dir/Packages.bz2

Это следует проделать для каждой архитектуры, для которой есть пакеты в main. Затем необходимо создать индексные файлы для исходных текстов

dir=$prefix/dists/unstable/main/source
mkdir -p $dir
dpkg-scansources main /dev/null > $dir/Sources
gzip -9c $dir/Sources.gz
bzip2 -9c $dir/Sources.bz2

И наконец, необходимо создать файл $prefix/dists/unstable/main/Release, который имеет следующую структуру:

Archive: unstable
Suite: unstable
Component: main
Origin: название моей организации
Label: Debian репозиторий моей организации
Architecture: архитектуры

Создайте такой файл и заполните необходимые поля, затем дайте команды

dir=$prefix/dists/unstable/main
apt-ftparchive release $dir >>$dir/Release

Последняя команда вычислит MD5Sum, SHA1 и SHA256 для файлов Packages* и Sources*.

Осталось только подписать репозиторий. Если у Вас еще нет gpg ключа, то дайте команду gpg —gen-key и следуйте инструкциям. Если у Вас уже есть gpg ключ, то следующая команда подпишет ваш репозиторий:

gpg -abs -o $dir/Release.gpg $dir/Release

На этом можно остановиться и начать пользоваться только что организованным репозиторием. Для того, чтобы aptitude, apt и др. смогли найти новый репозиторий, надо добавить необходимые записи в /etc/apt/sources.list. Если у вас локальный репозиторий, для себя:

Если репозиторий доступен по http:

Казалось бы, все готово, но я на этом не успокоился. 🙂 Есть такой проект под названием DDTP (Debian Description Translation Project), участники которого занимаются переводом описаний к пакетам на разные языки. В дистрибутивах Debian lenny и sid менеджеры пакетов apt и aptitude уже умеют получать и обрабатывать переводы описаний.

Мне захотелось перевести описания созданных пакетов на русский язык. Если вы используете пакеты из репозитория Debian, то вам не обязательно переводить описания самому, можно воспользоваться описаниями, которые лежат на серверах Debian, и положить их в свой репозиторий. Я же имею в виду описания к тем пакетам, которые вы создали сами.

О том как создавать Translation файлы я смог узнать лишь из исходников пакета apt, прочитав содержимое файла README.ddtp. Файл Translation состоит из секций следующего вида:

Package: «имя пакета»
Description-md5: «Сумма md5 для английского описания»
Description-$lang.$encoding: «Перевод краткого описания» «Перевод остального описания»

При этом если английское описание такое

Description: XXX
 YYY
 .
 ZZZ

то сумма md5 вычисляется следующим образом: md5(«XXX
YYY
.
ZZZ
«)

Так как я не нашел готового решения для построения Translation файлов, я написал скрипт, который получает переводы пакетов и строит необходимые файлы для репозитория. Итак, выберем каталог куда будем сохранять переводы пакетов, например ~/work/Translations.

Будем в ней создавать подкаталоги для разных переводов, например ~/work/Translations/en и ~/work/Translations/ru. В подкаталогах en и ru будут лежать файлы, названия которых совпадают с названиями пакетов.

Например, файл ~/work/Translations/en/lsmbox имеет вид:

List number of total/unread messages for mailboxes
 This program lists the number of total and unread messages in one
 or several mailbox files.

А файл ~/work/Translations/ru/lsmbox имеет точно такую же структуру, но описание переведено на русский язык. Ну а дальше построить файл Translation-ru это дело техники. 🙂

Результатом моих трудов оказался небольшой скрипт, который, возможно, поможет вам легко организовать свой собственный репозиторий. 🙂

Ссылки:

Источник: http://liberatum.ru/blog/repozitorii-dlya-debianubuntu

Настройка Debian после установки

В прошлый раз я рассказал как установить дебиан на компьютер. Сегодня продолжим тему. Настройка дебиан после установки главная тема этой статьи. Рассмотрим такие вопросы: настройка репозиториев debian, добавление пользователя в группу debian sudo, обновление системы.

Добавить пользователя в группу sudo

Для того, что бы не авторизовываться каждый раз под суперпользователем когда это трубуестя. Например для обновления системы или установки программы. Добавим пользователя в группу «sudo» ((англ.

substitute user and do, дословно «подменить пользователя и выполнить», подробно читайте здесь). Нажмите кнопку «Обзор» и в окне поиска начинаем вводить слово «terminal».

Читайте также:  Создание мультизагрузочной флешки с несколькими ос linux (добавил видео)

Сразу добавьте его в избранное нажав правым кликом и выбрав команду — «Добавить в избранное». Затем кликните для запуска терминала.

Авторизуйтесь под пользователем root. Выполнив команду:
su (изменить пользователя — substitute user подробнее здесь), и пароль для root.

Учтите, что при вводе пароля на экране ничего не отображается и вы не видите, что именно указываете. Это нормальное поведение для всех операционных систем на linux

После этого задайте команду:

Вместо «vasiliy» укажите ваш логин. Завершите сеанс и войдите в систему снова.

Теперь для выполнения большинства команд требующих прав суперпользователя укажите — «sudo имя команды».

Настройка репозитория debian

Репозиторий это база данных с программным обеспечением, подробнее ознакомьтесь здесь. Продолжим. Для редактирования репозитория используйте текстовый редактор. Можно штатный консольный редактор «nano». Либо с графическим интерфейсом входящий в состав дистрибутива редактор «Gedit».

Запустите терминал, отредактируйте файл «sources.list».  Для этого дайте команду и укажите пароль пользователя:

sudo gedit /etc/apt/sources.list

Откроется файл со списком репозиториев.

Что бы обновления и программы устанавливались из интернета. Закоментируйте (поставьте знак «#» в начале строки) или удалите первые две строки относящиеся к «cdrom»:

# deb cdrom:[Debian GNU/Linux 8 _Jessie_ — Official Snapshot amd64 LIVE/INSTALL Binary 20170116-23:46]/ jessie main
deb cdrom:[Debian GNU/Linux 8 _Jessie_ — Official Snapshot amd64 LIVE/INSTALL Binary 20170116-23:46]/ jessie main

И сохраните файл, нажав кнопку «Сохранить». Теперь нужно получить обновления.

Рекомендую добавить следующие репозитории (удалите все которые есть и вставьте):

# — Основные репозитории, обновления, безопасность, свободные и несвободные пакетыdeb http://ftp.ru.debian.org/debian stable main contrib non-freedeb-src http://ftp.ru.debian.org/debian stable main contrib non-freedeb http://ftp.debian.org/debian/ jessie-updates main contrib non-freedeb-src http://ftp.debian.org/debian/ jessie-updates main contrib non-freedeb http://security.debian.org/ jessie/updates main contrib non-freedeb-src http://security.debian.org/ jessie/updates main contrib non-free# — Multimediadeb http://www.deb-multimedia.org/ jessie main non-free

После этого обновите список пакетов репозиториев командой

Что бы устранить ошибку:

W: Ошибка GPG: http://www.deb-multimedia.org jessie InRelease: Следующие подписи не могут быть проверены, так как недоступен открытый ключ: NO_PUBKEY 5C808C2B65558117

Дайте команду, что бы добавить ключ:

sudo apt-get install deb-multimedia-keyring

После этого снова обновите пакеты. Можно пользоваться.

Ещё немного о репозиториях. Есть официальные репозитории дебиан и неофициальные (UnofficialRepositories). Их тоже можно добавлять но будьте аккуратны без особой необходимости не делайте этого. Помните, что добавление ненадежных источников делает систему не стабильной.

Обновление системы

Что бы программное обеспечение и операционная система были в актуальном состоянии. Их нужно обновлять. Делается это с помощью команд: «update» и «upgrade».

Мы уже можем выполнять команды от имени суперпользователя с помощью sudo. Сделаем обновление всей системы. Команда «update» обновляет список пакетов. Команда «upgrade» устанавливает новые версии пакетов.

sudo apt-get updatesudo apt-get upgrade

В процессе обновления или установки программ обычно запрашиваются дополнительные вопросы. Отвечать на них можно либо нажав клавишу «Enter» но лучше поставив букву «Д» в Русской версии или букву «Y» в английской.

Как включить в автозагрузку NumLock

Для того, что бы NumLock включался автоматически при загрузке. Установите пакет «numlockx» командой:

$ sudo apt-get install numlockx

Затем добавьте вызов в автозагрузку. Откройте файл «Default»:

$ sudo gedit /etc/gdm3/Init/Default

Теперь в самый конец файла. Перед значением «exit 0». Вставьте запись:

if [ -x /usr/bin/numlockx ]; then/usr/bin/numlockx onfi

После авторизации в системе, дополнительная клавиатура NumPad будет включена.

На сегодня все. Посмотрите видеоролик о начальной настройке debian 8:

Я подготовил список самых востребованных команд терминала:

https://yadi.sk/d/5MX6QXFm3LkLHM

Источник: https://chuzhoy007.ru/nastrojka-debian-posle-ustanovki

Debian Jessie — добавляем возможность использования Launchpad PPA

В Debian (также это касается и LMDE2) довольно обширный список своих пакетов находящихся в его репозиториях но т.к. команда debiana довольно консервативна в подходе по размещению новых пакетов и их версий (за что в принципе им большое спасибо, т.к.

стабильность иногда гораздо важнее новизны), то у некоторых (как и у вашего покорного слуги) иногда руки чешутся опробовать что-то новенькое.

Сообщество Ubuntu довольно плодовито в плане сборки свежих пакетов, и написании новых, для меня есть пара таких примеров это YD-tools (GUI для yandex disk) и MATE Tweak (поставляется как утилита в дистрибутиве UbuntuMate), ну и всякие украшательства в виде тем и значков, тоже довольно в большом количестве распространяются через Launchpad.

Многие возразят — это мол очередной костыль, надо использовать только родные репы или ставить из deb пакетов.

Касательно первого я свое мнение уже высказал ранее, а касательно второго — всегда хочется иметь свежую версию у себя в использовании и не следить за ее выходом, а без подключенных репозиториев это сделать нереально.

Я думаю достаточно лирики и можно продолжить.

Для начала нам необходимо установить непосредственно сам инструментарий который позволит использовать add-apt-repository, для этого идем в терминал и командуем:

Существует 2 варианта добавления (оба кстати подразумевают немножко ручного труда)

1. Вариант

Сейчас народ очень часто дает вот такие короткие команды на подключение репозиториев — sudo add-apt-repository ppa:slytomcat/ppa

Она сработает и будут импортированы все ключи, а также в /etc/apt/sources.list.

d/ будет добавлен соответствующий файл с указанием репозитория, но там будет крыться одна закавыка, в конце строки везде будет фигурировать вот такое «

/ubuntu jessie main«, а как мы знаем релиза с именем Jessie у Ubuntu, нет. Здесь необходимо провести замену jessie на trusty, это можно сделать несколькими путями. 

Первый — зайти в каталог /etc/apt/sources.list.d/, открыть соответствующий файл и отредактировать его ручками. 

Второй — открыть Synaptic, в меню «Настройки» найти пункт «Репозитории», и после его открытия, в появившемся списке найти нужную строчку, и опять же ручками внести исправления. 

Третий — немножко автоматизировать эту работу, подсмотреть в /etc/apt/sources.list.d/ название файла list с подключенным репозиторием (в нашем случае slytomcat-ppa-jessie.list) и выполнить вот такую команду в терминале

Все заменится само.

после этого можно давать команду apt-get update и устанавливать необходимые вам пакеты.

2. Вариант

Найти требуемый репозиторий на Launchpad (в моем случае — https://launchpad.net/~slytomcat/+archive/ubuntu/ppa)

Открыть технические детали, 

выбрать в списке дистрибутив Trusty (14.04), скопировать строку с deb и вставить ее вот в такую команду

После ее выполнения ваш репозиторий добавится в основной файл sources.list в каталоге /etc/apt/, а не создаст дополнительный файл в /etc/apt/sources.list.d/ как было в предыдущем случае.

Еще господа с webupd8 рекомендуют добавить PPA GPG key, но в моем случае это не потребовалось, т.к. при установке репозитория ключи подтянулись автоматически, а для тех кому это может понадобится привожу строку с командой (ключ взят со скриншота, не забудьте заменить на свой).

после этого можно давать команду apt-get update и устанавливать необходимые вам пакеты.

Источник: http://ulyssesd.blogspot.com/2015/02/debian-jessie-launchpad-ppa.html

Как создать локальный репозиторий в Debian/Ubuntu

Для чего может потребоваться локальный репозиторий программ? Допустим у вас в офисе есть несколько рабочих станций без выхода в интернет. Но им нужно как-то устанавливать и обновлять ПО. В этом случае, на серевре (или другой машине, имеющей доступ в интернет), создаётся локальный репозиторий, который периодически обновляется. А остальные рабочие станции, берут оттуда программы.

Также это может быть полезно в случае ограниченного или не всегда доступного интернета. Выкачали репозиторий — и в любой момент можете поставить любую доступную программу. В создании локального репозитория нет ничего сложного, сейчас я всё подробно опишу.

Локальный репозиторий очень желательно размещать на отдельном жёстком диске (в крайнем случае, разделе), чтобы в случае аварии не потерять всё нажитое непосильным трудом скачанное. Репозиторий дистрибутива Debian 8 для архитектуры amd64 весит более 40 гигабайт. Соответственно, если вам нужны ещё и i386-пакеты (32 бит), то объём удвоится.

Итак, допустим в вашей системе есть отдельный жёсткий диск на 500 Гб, примонтированный в /media/repo . От этого и будем исходить. Начнём с Debian 8 Jessie.

Существует несколько способов создания локального репозитория в Debian/Ubuntu. Я воспользуюсь самым простым и проверенным временем — утилитой apt-mirror. Устанавливаем:

sudo apt install apt-mirror apache2

Создаём каталог для репозитория:

sudo mkdir /media/repo/debian

и служебные каталоги:

sudo mkdir -p /media/repo/debian/{mirror,var,skel}

Настраиваем. Открываем конфигурационный файл:

sudo nano /etc/apt/mirror.list

############# config ################### Базовый каталог, в нём будет создано локальное зеркало репозитория Debianset base_path    /media/repo/debian# Пути к файлам зеркала, временным файлам и журналy выполнения apt-mirror# set mirror_path  $base_path/mirror# set skel_path    $base_path/skel# set var_path     $base_path/var# set cleanscript $var_path/clean.sh# Архитектура, для которой создаётся зеркало. По умолчанию — это архитектура# системы, на которой работает apt-mirror (amd64,i386 или др.). Менять не ненужно,# т.к. ниже мы явно укажем и зеркало и архитектуру.# set defaultarch  # Путь к скрипту постобработки, по-умолчанию отсутствует, пока нам не нужен.# set postmirror_script $var_path/postmirror.sh# Не запускать скрипт постобработкиset run_postmirror 0# Служебные параметры, не set nthreads     20set _tilde 0############## end config ############### Зеркало с пакетами для amd64 jessie (stable)+ исходные текстыdeb-amd64 http://mirror.yandex.ru/debian jessie main contrib non-freedeb-src http://mirror.yandex.ru/debian jessie main contrib non-free# Зеркало с обновлениями безопасности amd64 jessie (stable)+ исходные текстыdeb-amd64 http://security.debian.org/ jessie/updates main contrib non-freedeb-src http://security.debian.org/ jessie/updates main contrib non-free# Зеркало необходимое для сетевой установки (udebs)deb-amd64 http://mirror.yandex.ru/debian jessie main/debian-installer# Удаляем файлы не индексированные в Releaseclean http://mirror.yandex.ru/debianclean http://security.debian.org# Запрещаем очистку выбранной папкиskip-clean http://mirror.yandex.ru/debian/dists/jessie/main/installer-amd64/# Зеркало с пакетами для i386 jessie (stable)+ исходные текстыdeb-i386 http://mirror.yandex.ru/debian jessie main contrib non-freedeb-src http://mirror.yandex.ru/debian jessie main contrib non-free# Зеркало с обновлениями безопасности i386 jessie (stable)+ исходные текстыdeb-i386 http://security.debian.org/ jessie/updates main contrib non-freedeb-src http://security.debian.org/ jessie/updates main contrib non-free# Зеркало необходимое для сетевой установки (udebs)deb-i386 http://mirror.yandex.ru/debian jessie main/debian-installer# Удаляем файлы не индексированные в Releaseclean http://mirror.yandex.ru/debianclean http://security.debian.org# Запрещаем очистку выбранной папки

skip-clean http://mirror.yandex.ru/debian/dists/jessie/main/installer-i386/

Сохраняем. Запускаем закачку репозитория:

sudo apt-mirror

После того как загрузятся индексные файлы, Apt-Mirror сообщит вам какой объём пакетов нужно скачать (объём будет весьма и весьма не маленький). Вам остаётся только ждать. Всё остальное система сделает сама.

Для автоматической синхронизации и очистки зеркал нужно добавить строку в настройки cron и выставить подходящее время. Обновление официальных зеркал происходит каждые 6 часов: 3:00,9:00,15:00,21:00.

Например так:

crontab -e

05 01 * * *     apt-mirror >> /var/log/apt-mirror.log
05 03 * * *     /media/repo/debian/var/clean.sh >> /var/log/apt-mirror.log

Для корректной работы обязательно необходимо добавить символические ссылки «stable»,«testing», «unstable» на jessie, stretch, sid соответственно (если они у вас есть). Пример для jessie:

ln -s /media/repo/debian/mirror/mirror.yandex.ru/debian/dists/jessie /media/repo/debian/mirror/mirror.yandex.ru/debian/dists/jessie/stable

Мы установили веб-сервер Apache неспроста. Он нам нужен чтобы раздавать пакеты из нашего локального репозитория по сети (локальной). Для начала, нужно настроить доступ к репозиторию. Для этого нужно создать одну символьную ссылку:

cd /media/repo/debian/

sudo ln -s /media/repo/debian/mirror/mirror.yandex.ru/debian debian

Теперь на клиентской машине (которой нужен доступ к локальному репозиторию), укажите адрес репозитория. Если у компьютера с репозиторием есть сетевое имя (к примеру server), то указывайте его. В противном случае, адресом указывайте его IP-адрес:

sudo nano /etc/apt/sources.list

deb http://server/debian jessie main contrib non-free

deb-src http://server/debian jessie main contrib non-free
deb http://server/debian jessie/updates main contrib non-free Если вы указывали в конфиге загрузку 32-х битных пакетов (i386), то не забудьте добавить эту архитектуру в систему:

sudo dpkg —add-architecture i386

и обновите список пакетов:

sudo apt-get update

Дальше уже всё как обычно. Для Ubuntu всё то же самое, за исключением названий репозиториев и добавления 32-х битной архитектуры в 64-х битную систему (не нужно). Конфиг mirror.list для Ubuntu 14.04:

############# config ################### Базовый каталог, в нём будет создано локальное зеркало репозитория Debianset base_path    /media/repo/ubuntu# Пути к файлам зеркала, временным файлам и журналy выполнения apt-mirror# set mirror_path  $base_path/mirror# set skel_path    $base_path/skel# set var_path     $base_path/var# set cleanscript $var_path/clean.sh# Архитектура, для которой создаётся зеркало. По умолчанию — это архитектура# системы, на которой работает apt-mirror (amd64,i386 или др.). Менять не ненужно,# т.к. ниже мы явно укажем и зеркало и архитектуру.# set defaultarch  # Путь к скрипту постобработки, по-умолчанию отсутствует, пока нам не нужен.# set postmirror_script $var_path/postmirror.sh# Не запускать скрипт постобработкиset run_postmirror 0# Служебные параметры, не set nthreads     20set _tilde 0############## end config ##############deb-amd64 http://archive.ubuntu.com/ubuntu trusty main restricteddeb-amd64 http://archive.ubuntu.com/ubuntu trusty-updates main restricteddeb-amd64 http://archive.ubuntu.com/ubuntu trusty universedeb-amd64 http://archive.ubuntu.com/ubuntu trusty-updates universedeb-amd64 http://archive.ubuntu.com/ubuntu trusty multiversedeb-amd64 http://archive.ubuntu.com/ubuntu trusty-updates multiversedeb-amd64 http://archive.ubuntu.com/ubuntu trusty-security main restricteddeb-amd64 http://archive.ubuntu.com/ubuntu trusty-security universe

deb-amd64 http://archive.ubuntu.com/ubuntu trusty-security multiverse

deb-i386 http://archive.ubuntu.com/ubuntu trusty main restricteddeb-i386 http://archive.ubuntu.com/ubuntu trusty-updates main restricteddeb-i386 http://archive.ubuntu.com/ubuntu trusty universedeb-i386 http://archive.ubuntu.com/ubuntu trusty-updates universedeb-i386 http://archive.ubuntu.com/ubuntu trusty multiversedeb-i386 http://archive.ubuntu.com/ubuntu trusty-updates multiversedeb-i386 http://archive.ubuntu.com/ubuntu trusty-security main restricteddeb-i386 http://archive.ubuntu.com/ubuntu trusty-security universe

deb-i386 http://archive.ubuntu.com/ubuntu trusty-security multiverse

Ну и соответственно, нужно изменить символьную ссылку:

ln -s /media/repo/ubuntu/mirror/archive.ubuntu.com/debian/dists/trusdy /media/repo/ubuntu/mirror/archive.ubuntu.com/ubuntu/dists/trusty/stable

Вот и всё. Это наиболее простой и, на мой взгляд, правильный способ создания локального репозитория в этих системах. Если у вас остались вопросы — пишите в комментариях. Ссылки:

Создание локального репозитория в Fedora

Создание локального репозитория Arch Linux
Создание локального репозитория ALT Linux 

Источник: http://linuxoidblog.blogspot.com/2016/01/debianubuntu_10.html

Создаём свой репозиторий с deb-пакетами. « Debian.pro

Мы научились собирать пакеты и подписывать их. Теперь самое время сделать свой репозиторий с пакетами.

По сути, есть 3 способа (более или менее «легальных») способа собрать свой репозиторий: dpkg-scanpackages, mini-dinstall и reprepo. dpkg-scanpackages — достаточно простая тулза, но требует много ручной работы.

Я хоть и напишу про неё, но использовать её в промышленных масштабах не стоит. С reprepo я особенно не разобрался — официальная документация старовата и далека от вменяемости.

Так что в основном здесь написано про mini-dinstall.

dpkg-scanpackages — утилита, которая индексирует каталог и создаёт для него файл Packages.

Эту тулзу можно использовать как временную локальную замену (чтобы, например, проверить, что пакеты будут ставиться через apt-get), но не нужно использовать её там, где важна проверка подписи пакетов — dpkg-scanpackages сам по себе этого просто не умеет (хотя и можно подписывать репозиторий лапками).

Сам dpkg-scanpackages живет в пакете dpkg-dev, так что:

root@server:~# apt-get install dpkg-dev

Представим, что наши пакеты в прошлых статьях мы собирали в /home/user/packages:

user@server:~$ ls /home/user/packagesexample-package_0.3_amd64.build example-package_0.3_amd64.changes example-package_0.3_amd64.deb

Тогда мы генерируем Packages.gz следующим образом:

user@server:~$ dpkg-scanpackages -t deb /home/user/packages/ | gzip | cat > /home/user/packages/Packages.gz

А в sources.list.d добавляем строчку «deb file:/home/user/ packages/»:

root@server:~# echo «deb file:/home/user/ packages/» > /etc/apt/sources.list.d/my-own-repo.list

Проверяем, что репозиторий работает:

root@server:~# apt-get update; apt-cache policy example-package…example-package:  Installed: (none)  Candidate: 0.3  Version table:    0.3 0      500 file:/home/ inkvizitor68sl/ Packages

Так в простейшем виде работает и mini-dinstall — генерирует Packages.gz. Но он умеет проверять подписи пакетов, работать по крону/демоном и прочие плюшки.

Повеселились, хватит. Давайте ставить mini-dinstall и другой софт, который пригодится:

root@server:~# apt-get install mini-dinstall debian-keyring gnupg acl

Дальше всё я буду расписывать исходя из того, что заливать пакеты в репозиторий будет несколько пользователей. Конечно, можно использовать dput и всё делать под одним пользователем, но если у вас полтора разработчика — то такой вариант вас уже не устроит и захочется предоставить возможность заливать пакеты с подписями разных разработчиков.

Поэтому мы создадим отдельного пользователя и отдельный gpg-ключ, которым будем подписывать репозиторий. А подписи пакетов будем проверять перед тем, как добавить их в репозиторий.
Mini-dinstall незачем работать под рутом (если запустить его под рутом — нам не придется вводить целую дополнительную команду по выставлению вменяемых прав на каталог incoming, гы).

Создадим отдельного пользователя:

root@server:~# adduser repokeeper

Пойдем под этого пользователя:

root@server:~# su repokeeper

Создадим папочку, куда будем складывать наш репозиторий:

repokeeper@server:~$ mkdir /home/repokeeper/repo/

Напишем конфиг /home/repokeeper/.mini-dinstall.conf для нашей собиралки репозиториев:

[DEFAULT]archivedir = /home/repokeeper/repo/mail_to = root@vlad.proverify_sigs = truearchitectures = all, amd64, i386archive_style = flatgenerate_release = truemail_on_success = truerelease_codename = SomeShitrelease_description = My Own Reporelease_label = someshitrelease_origin = someshitrelease_suite = Noneextra_keyrings = ~/.gnupg/pubring.gpgrelease_signscript = ~/sign-release.shincoming_permissions = 0chown_changes_files = false

Генерируем ключ уже знакомой нам командой:

repokeeper@server:~$ LANG=C gpg —gen-key

Что там отвечать уже написано, стоит только заметить, что нам нужен именно новый ключ, а не ключ с теми же ответами. Ну там ник и почту измените для приличия.

Создадим каталог keys, в который для начала положим публичный ключ нашего репозитория. Там же мы будем складировать публичные ключи наших разработчиков (себя для начала).

repokeeper@server:~$ mkdir /home/repokeeper/keys

Сначала экспортируем публичный ключ репозитория. Под пользователем repokeeper делаем такое:

repokeeper@server:~$ gpg —export —armor repo@vlad.pro > ~/keys/repo.key

Где repo@vlad.pro — почта, которую мы использовали при генерации ключа для пользователя repokeeper.

Так же экспортируем ключ, которым мы подписываем пакеты и «добавим его» в валидные ключи для repokeeper (разрешив тем самым заливать пакеты, подписанные тем ключом). Под пользователем, из-под которого мы собираем пакеты, выполняем команду:

user@server:~$ gpg —export —armor root@vlad.pro > ~/inkvizitor68sl.gpg

(напомню, что свою почту я использовал в прошлом примере)
Файл inkvizitor68sl.gpg нам нужно закинуть в каталог /home/repokeeper/keys на том сервере, где у вас будет работать mini-dinstall. О правах на файлы можно не сильно беспокоиться (в конце концов, это публичная подпись — обладая ей хуже вам не сделают).

Теперь под пользователем repokeeper импортируем ключ «разработчика»:

repokeeper@server:~$ gpg —no-default-keyring —ignore-time-conflict —keyring .gnupg/pubring.gpg —import ~/keys/inkvizitor68sl.gpg

Так же нам понадобится скрипт, который будет запускаться для подписывания собранного репозитория. Подходящий скрипт есть в документации к mini-dinstall, утащим его себе:

repokeeper@server:~$ cp /usr/share/doc/mini-dinstall/examples/sign-release.sh ~/sign-release.sh

Немного подправим для своих нужд:

repokeeper@server:~$ sed -i 's/export GNUPGHOME=.*/export GNUPGHOME=~/.gnupg/' sign-release.sh

В файл ~/.gnupg/passphrase нужно написать пароль от GPG ключа, который мы сгенерировали для репозитория.

Так как мы запускаем mini-dinstall не от рута, нам нужны корректные права на его incoming-каталог. При помощи chmod/chown надежно добиться у нас этого не получится (разработчики обязательно будут заливать с такими правами, что у mini-dinstall не будет хватать прав на удаление залитых файлов — и он будет падать с ошибкой), посему сделаем это через acl:

root@server:~# setfacl -R —modify user:repokeeper:rwx /home/repokeeper/repo/

root@server:~# setfacl -R —modify group:repokeeper:rwx /home/repokeeper/repo/

root@server:~# setfacl -R —modify default:user:repokeeper:rwx /home/repokeeper/

root@server:~# setfacl -R —modify default:group:repokeeper:rwx /home/repokeeper/

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

root@server:~# addgroup repouploaders

И выставим права этим пользователям на каталог incoming:

root@server:~# setfacl -R —modify group:repouploaders:rwx /home/repokeeper/repo/mini-dinstall/incoming/

root@server:~# setfacl -R —modify default:group:repouploaders:rwx /home/repokeeper/repo/mini-dinstall/incoming/

И добавим пользователя, от которого собираем пакеты в группу аплоадеров. Точнее, добавим пользователя, которому мы хотим дать права на заливание файлов в репозиторий. Это может быть и аккаунт разработчика, который будет заливать пакеты по sftp/scp через dupload.

root@server:~# usermod -a -G repouploaders user

Заодно по дороге запретим заливать файлы всем остальным:

root@server:~# chmod 0700 /home/repokeeper/repo/mini-dinstall/incoming/

«Зальём» наш собранный ранее пакетик в репозиторий. Сейчас мы это делаем при помощи простого cp, в будущем я напишу о том, как использовать dupload.

repokeeper@server:~$ cp /home/user/packages/example-package_0.3_amd64.deb /home/repokeeper/repo/mini-dinstall/incoming/

repokeeper@server:~$ cp /home/user/packages/example-package_0.3_amd64.changes /home/repokeeper/repo/mini-dinstall/incoming/

Наконец-то запускаем сборку нашего репозитория (обратите внимание, не от рута):

repokeeper@server:~$ mini-dinstall -b -v

Если ошибок не видно, то проверяем содержимое файла Packages:

repokeeper@server:~$ cat ~/repo/unstable/Packages | grep PackagePackage: example-package

Как видим, у нас в репозитории появился наш example-package. Попробуем поставить его.
Для начала подключим репозиторий локально:

root@server:~# echo «deb file:/home/repokeeper/repo/ unstable/» > /etc/apt/sources.list.d/my-own-repo.list; apt-get update

Проверяем, что пакет появился в индексе apt’a:

root@server:~# apt-cache policy example-packageexample-package:  Installed: (none)  Candidate: 0.3  Version table:    0.3 0      500 file:/home/repokeeper/repo/ unstable/ Packages

Пробуем его поставить:

root@server:~# apt-get install example-package…Install these packages without verification [y/N]?

Фиг нам, как говорится. apt считает пакеты недоверенным. Что ж мы, зря мучались с подписями) ? Скормим публичный ключ нашего репозитория нашему локальному apt-у:

root@server:~# cat /home/repokeeper/keys/repo.key | apt-key add —OK

Обновим индекс apt-а, как обычно:

root@server:~# apt-get update

Пробуем поставить пакет:

root@server:~# apt-get install example-package

Вуаля. Поставился молча и сделал нам пустой /root/.ssh/authorized_keys, ибо я ленивая жопа и собрал таки пакет с пустыми файлами)

Теперь мы можем закидывать файлы в repo/mini-dinstall/incoming когда нам нужно и перегенерировать репозиторий командой от рута

root@server:~# su -c «mini-dinstall -b -v» repokeeper

или просто от пользователя repokeeper

repokeeper@server:~$ mini-dinstall -b -v

Дальше нам предстоит научиться использовать upload, запускать mini-dinstall по крону и демоном. А ещё не забыть расшарить репозиторий по http и https. А потом уже перейдем ко всяким забавным полезностям в dpkg.

Источник: https://debian.pro/1432

Создание собственного репозитория для debian/ubuntu

Когда-то я писал о том как создать репозиторий для debian-based операционных систем. Немного отредактировав, перенесу эту заметку сюда, чтобы все было в одном месте. История о том как я создавал собственный репозиторий для дистрибутива Debian.

Для дистрибутивов основанных на Debian алгоритм создания репозиториев очень похож или совершено такой же. Эта заметка не подойдет тем, кто хочет сделать зеркало репозитория Debian, для этого используются другие инструменты.

Необходимость организовать свой репозитория может возникнуть у того, кто создал свое программное обеспечение и хочет его выложить в открытый доступ в удобном для установки и обновления виде.

Такой репозиторий также удобно использовать для локальных сетей, чтобы из большого Интернета не скачивать одни и те же пакеты много раз. Хотя для этого тоже есть какие-то инструменты.

Для организации репозитория на своем сервере можно использовать программу reprepro, но способ, описанный ниже, мне показался более наглядным. Итак, приступим. Для начала следует выбрать дирректорию, в которой мы хотим выкладывать наши deb пакеты. Пускай это будет /var/www/repositories/debian.

prefix=/var/www/repositories/debian

mkdir -p $prefix/main

Копируем все необходимые deb пакеты в /var/www/repositories/debian/main, там можно устроить любую структуру каталогов. Я сделал подкаталоги для каждого пакета и положил в них файлы .deb, .dsc, .changes и .tar.gz. Далее переходим в корень нашего репозитория

cd $prefix

Создаем индексные файлы. Для бинарных пакетов сделать это можно с помощью команды dpkg-scanpackages.

dir=$prefix/dists/unstable/main/binary-i386 mkdir -p $dir dpkg-scanpackages —arch i386 main /dev/null > $dir/Packages gzip -9c $dir/Packages.gz

bzip2 -9c $dir/Packages.bz2

Это следует проделать для каждой архитектуры, для которой есть пакеты в main. Затем необходимо создать индексные файлы для исходных текстов

dir=$prefix/dists/unstable/main/source mkdir -p $dir dpkg-scansources main /dev/null > $dir/Sources gzip -9c $dir/Sources.gz

bzip2 -9c $dir/Sources.bz2

И наконец, необходимо создать файл $prefix/dists/unstable/main/Release, который имеет следующую структуру:

Archive: unstable Suite: unstable Component: main Origin: название моей организации Label: Debian репозиторий моей организации

Architecture: архитектуры

Создайте такой файл и заполните необходимые поля, затем дайте команды

dir=$prefix/dists/unstable/main

apt-ftparchive release $dir >>$dir/Release

Последняя команда вычислит MD5Sum, SHA1 и SHA256 для файлов Packages* и Sources*. Теперь осталось только подписать репозиторий. Если у Вас еще нет gpg ключа, то дайте команду gpg —gen-key и следуйте инструкциям. Если у Вас уже есть gpg ключ, то следующая команда подпишет ваш репозиторий:

gpg -abs -o $dir/Release.gpg $dir/Release

На этом можно остановиться и начать пользоваться только что организованным репозиторием. Для того, чтобы aptitude, apt и др. смогли найти новый репозиторий, надо добавить необходимые записи в /etc/apt/sources.list. Если у вас локальный репозиторий, для себя:

deb file:///var/www/repository/debian unstablemain

deb-src file:///var/www/repository/debian unstablemain Если репозиторий доступен по http:

deb http://example.com/repository/debian unstablemain

deb-src http://example.com/repository/debian unstablemain Казалось бы, все готово, но я на этом не успокоился. 🙂 Есть такой проект под названием DDTP (Debian Description Translation Project), участники которого занимаются переводом описаний к пакетам на разные языки. В современных основанных на Debian дистрибутивах менеджеры пакетов apt и aptitude уже умеют получать и обрабатывать переводы описаний. Мне захотелось перевести описания созданных пакетов на русский язык. О том как создавать Translation файлы я смог узнать лишь из исходников пакета apt, прочитав содержимое файла README.ddtp. Файл Translation состоит из секций следующего вида:

Package: «имя пакета» Description-md5: «Сумма md5 для английского описания» Description-$lang.$encoding: «Перевод краткого описания»

«Перевод остального описания»

При этом если английское описание такое

Description: XXX  YYY  .

 ZZZ

то сумма md5 вычисляется следующим образом: md5(«XXX
YYY
.
ZZZ
«). Так как я не нашел готового решения для построения Translation файлов, я написал скрипт, который получает переводы пакетов и строит необходимые файлы для репозитория. Итак, выберем каталог куда будем сохранять переводы пакетов, например ~/work/Translations. Будем в ней создавать подкаталоги для разных переводов, например ~/work/Translations/en и ~/work/Translations/ru. В подкаталогах en и ru будут лежать файлы, названия которых совпадают с названиями пакетов. Например, файл ~/work/Translations/en/lsmbox имеет вид:

List number of total/unread messages for mailboxes  This program lists the number of total and unread messages in one

 or several mailbox files.

А файл ~/work/Translations/ru/lsmbox имеет точно такую же структуру, но описание переведено на русский язык. Ну а дальше построить файл Translation-ru это дело техники. 🙂 Результатом моих трудов оказался небольшой скрипт, который, возможно, поможет вам легко организовать свой собственный репозиторий. Ссылки:

http://l10n-russian.alioth.debian.org/repository-howto.ru.html

http://www.debian.org/doc/manuals/repository-howto/repository-howto.en.html
http://www.debian.org/doc/manuals/apt-howto/
http://mirrorer.alioth.debian.org/
http://www.sfr-fresh.com/linux/misc/apt_0.7.14.tar.gz:a/apt-0.7.14/READM…
http://ddtp.debian.net/
http://letras.ru/2008/06/gpg-crossplatform-encryption/

Код скрипта

Источник: http://pdoodad.blogspot.com/2011/03/debianubuntu.html

Настройка обновлений в Debian

После установки Debian Linux и настройки сети я рекомендую приступить к настройке обновлений. Для обновления и установки пакетов в Debian используются утилиты apt и aptitude.

Независимо от того, какой из этих утилит Вы будете пользоваться, следует настроить файл конфигурации /etc/apt/sources.list. В зависимости от того, какой ответ был выбран в процессе установки системы, в файле sources.

list уже присутствуют несколько записей: записи для обновлений безопасности и записи требующих частого обновления пакетов (squeeze-updates).

Эти записи и есть список репозиториев (источников) пакетов.

Репозиторий — это место, где хранятся и поддерживаются какие-либо данные.

Утилиты apt и aptitude поддерживают различные источники пакетов такие как: ftp — репозиторий, http — репозиторий, cd-rom, file. Названия говорят сами за себя.

Пакеты могут быть двух видов: бинарные и содержащие исходные тексты. Для каждого репозитория в файле sources.list делается запись следующего вида:

для бинарных пакетов

deb uri дистрибутив [компонент1] [компонент2] […]

для пакетов с исходными текстами

deb-src uri дистрибутив [компонент1] [компонент2] […]

Как видим строки отличаются первыми частями, которые и говорят какой вид пакетов нужно выкачивать.

Uri — это адрес источника пакетов, по которому утилиты обновления могут получить всю информацию. Их великое множество. Адреса официальных репозиториев можно посмотреть на http://www.debian.org/mirror/list.

Замечу что, Debian распространяется зеркалированием сотнями серверов в Интернет. Используя ближайший к вам сервер, вы ускорите скачивание, а также сократите нагрузку на центральные серверы Debian и Интернет в целом. Зеркала Debian бывают первичными и вторичными.

Сайты с первичным зеркалом имеют хорошее подключение к Интернет, доступны 24 час в сутки, их легко запомнить по имени ftp..debian.org. Они автоматически обновляются при изменениях в Debian архиве. Сайты с вторичным зеркалом могут содержать неполный архив (из-за нехватки места).

HTTP-зеркала обычно быстрее, чем FTP. Например нам подойдёт http://ftp.ru.debian.org/

В адресе так же может присутствовать переменная $(ARCH), которая автоматически будет заменяться на реальную архитектуру системы (i386, sparc, s390 и т.д.). Но в реальной жизни использование переменной $ARCH нам не пригодится, так как утилиты обновлений будут автоматически генерировать URI с текущей архитектурой.

Дистрибутив — это название релиза системы, пакеты которого мы хотим обновлять. Обычно пишется через пробел:

debian sqeeze

или так

debian stable

В первом случае после debian пишется кодовое имя, во втором — тип релиза (ветки) дистрибутива. На мой взгляд лучше использовать кодовое имя, чтобы не возникло неожиданностей в момент изменения релиза. Рассмотрим это подробнее.

Релизы Debian разделены на несколько веток: стабильную (stable), тестируемую (testing), нестабильную (unstable) и экспериментальную (experimental). Существует ещё понятие предыдущей стабильной ветки. У каждой ветки есть своё кодовое имя. В нашем случае имя стабильной ветки squeeze, имя тестируемой ветки — wheeze, имя предыдущей стабильной — lenny.

После того как тестируемая ветка будет доведена разработчиками «до ума» — она будет объявлена стабильной. Т. е. стабильной (stable) станет wheeze, а squeeze станет предыдущей стабильной веткой. Вот тут то могут и возникнуть неожиданности. По-моему лучше некоторое время поработать на предыдущей стабильной ветке, а потом уже обновить дистрибутив целиком.

Пример обновления дистрибутива есть в моей статье «Как обновить Debian 4 Etch до Debian 5 (Lenny)». Полные рекомендации по обновлению Debian смотрите на официальном сайте.

Компонент принимает одно из четырех значений: main, contrib, non-free или non-us. Различие их состоит в следующем:

main — эти пакеты подчиняются принципам свободного программного обеспечения. Они не зависят от других пакетов не входящих в «main» для компиляции или выполнения.

contrib — эти пакеты так же подчиняются принципам свободного программного обеспечения, но для удовлетворения их зависимостей нужны пакеты, не входящие в «main».

non-free — содержит пакеты, которые противоречат принципам свободного программного обеспечения или которые обременены патентами или другими юридическими тонкостями, что делает их распространение проблематичным

non-us — содержит программы с криптографическим программным кодом. Они должны содержаться на «не-us» сервере из-за экспортных ограничений США.

Теперь, когда разобрались со всеми составляющими пишем в начало файла /etc/apt/sources.list две следующие строки:

deb http://ftp.ru.debian.org/debian/ squeeze main contrib non-free

deb-src http://ftp.ru.debian.org/debian/ squeeze main contrib non-free

Ниже обязательно добавляем репозитории безопасности и squeeze-updates. Репозиторий squeeze-updates позволяет обновлять те пакеты из текущей стабильной версии, которые требуют регулярного обновления.

Нужен он для того, чтобы не вносить в стабильный репозиторий пакеты, не прошедшие стандартный путь через ветку testing.

К таким пакетам могут относится антивирусные программы, фильтры спама, например clam или spamassassin.

В результате получаем файл со следующим содержимым:

# binary and source packages

deb http://ftp.ru.debian.org/debian/ squeeze main contrib non-free

deb-src http://ftp.ru.debian.org/debian/ squeeze main contrib non-free

# squeeze-updates

deb http://ftp.ru.debian.org/debian/ squeeze-updates main contrib non-free

deb-src http://ftp.ru.debian.org/debian/ squeeze-updates main contrib non-free

# security updates

deb http://security.debian.org/ squeeze/updates main contrib non-free

deb-src http://security.debian.org/ squeeze/updates main contrib non-free

В большинстве случаев этого достаточно, хотя можно добавить репозиторий backports, но закомментировать и подключать по мере необходимости. Backports — это ветка перекомпилированных пакетов из тестовой (testing) или нестабильной (unstable) веток.

Собираются пакеты таким образом, чтобы они были работоспособными в стабильной (stable) ветке без наличия в системе каких-либо новых библиотек.

Рекомендуется устанавливать из бэкпортов только те пакеты, которые необходимы, а не всю ветку целиком

Добавим следующие строки в /etc/apt/sources.list:

# Backports

#deb http://www.backports.org/debian squeeze-backports main contrib non-free

#deb-src http://www.backports.org/debian squeeze-backports main contrib non-free

Теперь даём команду

aptitude update

а затем

aptitude upgrade

Приведу ещё несколько примеров репозиториев. Выше мы рассмотрели http — репозитории. Записи о ftp — репозитории выглядит так:

deb ftp://ftp.ru.debian.org/debian/ squeeze main contrib non-free

deb-src ftp://ftp.ru.debian.org/debian/ squeeze main contrib non-free

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

deb file:/home/zolkin/debian stable main contrib non-free

Репозиторий на компакт-диске или DVD добавляется командой

apt-cdrom add

Об авторе:

Меня зовут Андрей Золкин. Из более, чем пятнадцати лет работы в сфере информационных технологий, десять лет работаю с системами, базирующимися на открытом исходном коде. На страницах сайта Aitishnik.Ru веду блоги по CMC Joomla и Debian GNU/Linux.

    • Ниже я привожу список этих опций сгруппированных по типу — не так как в man — странице. Формат конфигурационного файла vsftpd.conf не сложный. Строки начинающиеся с символа # являются комментариями. Все остальные строки это директивы,…

    • Довольно часто, администрирование сервера на базе Linux происходит посредством удалённого доступа. А основным способом удалённого администрирования является администрирование с помощью SSH. Об этом и пойдёт речь в этой статье. Данная…

    • В этой статье я опишу настройку FTP сервера на базе Debian 5 (Lenny). Будем использовать vsftpd. VSFTPD (Very Secure FTP Daemon) — как следует из названия, очень защищённый демон FTP, с хорошей производительностью, поддерживаются: IPv6,…

    • Эта статья своим появлением обязана блогу о Joomla 3. В блоге о Joomla в числе прочего рассматривается возможность создания локального хостинга на домашнем компьютере под управлением операционной системы Windows. Организация домашнего хостинга производится с помощью пакета XAMPP. Этот пакет рекомендует команда…

    • Рассмотрим более сложную конфигурацию ftp сервера: анонимные пользователи всё так же имеют доступ только на чтение. Локальные пользователи не используются. Вместо них используются виртуальные пользователи, учётные записи которых хранятся…

    • Если задать подобный вопрос на каком-нибудь из форумов, то с высокой долей вероятности вы наткнётесь на две диаметрально противоположных рекомендации — «составлять» всё в чисто визуальном (то бишь WYSIWYG) редакторе типа DreamWeaver либо…

Источник: http://www.Aitishnik.ru/linux/configure-updates-debian.html

Ссылка на основную публикацию