Локальный репозитарий deb пакетов

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

Идея была в следующем, в /etc/apt/source.list прописываешь строчку apt репозитария, чем выше располагается строка к началу документа, то тогда менеджер пакетов сначала начинает искать в этих репазитариях пакеты, если не находит, идет дальше по списку. Но если данный репозитарий не подписан ключом, то он имеет меньший приоритет, чем те репозитарии, у которых есть ключ но находятся дальше по списку в /etc/apt/source.list

Вывод был следующим, мой локальный репозитарий имеет низкий приоритет, поэтому как не пародоксально звучит, у тебя есть пакеты под рукой, а они качаются с инета. Но выход есть всегда. Идем в инет и гуглим на тему "репозитарий ubuntu приоритет" получил 2 ссылки, которые я выбрал как подходящие.

Ссылка 1 Ссылка 2

Суть значит в следующем:

  1. Сделать ключь для подписи пакетов
  2. Создать локальный репозитарий
  3. Добавить ключ в apt на клиентской машине

sudo apt-get install gpg

Проходим процедуру регистрации ключа

gpg --gen-key

Отвечаем на вопросы скрипта. Вводим e-mail, имя, пароль, комментарий

gpg --export -a "ваше имя" > public.key # Экспортирую ключ в папке где лежат пакеты

sudo apt-key add public.key #добавляем ключ в apt

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

не забываем дать ему права на запуск chmod a+x "имя скрипта"

#!/bin/bash

# Create the Packages file
cd /var/cache/apt/archives/ &&
dpkg-scanpackages . /dev/null > Packages

# Create the Release file

cat > Release <<END
Archive: dapper
Origin: Ubuntu
Label: My local Ubuntu Dapper repository
Architecture: i386
MD5Sum:
 d41d8cd98f00b204e9800998ecf8427e                0 Release
END

md5sum=$(md5sum Packages | cut -d ' ' -f1)
sizeinbytes=$(ls -l Packages | cut -d ' ' -f5)

printf " "$md5sum" %16d Packages" $sizeinbytes >> Release

# Create the Release.gpg file

gpg -bao Release.gpg Release

# Give instructions for adding the repository information to the sources.list file

echo
echo "To use this repository, you should have in your /etc/apt/sources.list file"
echo "(preferably at the top) the following line:"
echo
repodir="file://"$(pwd)
echo "deb "$repodir" /"
echo

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

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

 

 

 

 

 

похожие страницы

  1. Как правильно Репозиторий или Репозитарий
  2. Gimp 2.6 в Debian 5.0 Lenny
  3. Настройка nfs сервера и nfs клиента ubuntu 8.04
  4. Занятный iptables
  5. cvs: добавление проекта

#1:

многабукаф, а ведь можно все решить одной строкой -

apt-get install apt-cacher

ответить  2010-03-24 00:00:50 

#2:

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

ответить  2010-08-06 17:50:55