Форум русскоязычного сообщества Ubuntu


Автор Тема: GPG Ключ для Локального Репозитария  (Прочитано 28406 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн lioncub

  • Автор темы
  • Участник
  • *
  • Сообщений: 172
    • Просмотр профиля
Сорбственно, система 6.06, есть локальное дерево /tmp/deb,  как этому источнику сделать ключ, чтобы синаптик не говорил, что мол из не надежного источника пакеты...?

Оффлайн victor53p

  • Заслуженный пользователь
  • Активист
  • *
  • Сообщений: 301
    • Просмотр профиля
    • Ubuntu в Воронежской области
Re: GPG Ключ для Локального Репозитария
« Ответ #1 : 03 Мая 2007, 12:48:27 »
Ты же знаешь, что твой источник надежный, и это главное!

Оффлайн Kwah

  • Старожил
  • *
  • Сообщений: 1442
  • Ubuntu 17.10
    • Просмотр профиля
Re: GPG Ключ для Локального Репозитария
« Ответ #2 : 03 Мая 2007, 13:02:03 »
Ты же знаешь, что твой источник надежный, и это главное!
Проблема, как я понимаю, в том, что надёжные, т.е. подписанные ключём, источники имеют приоритет.

Оффлайн lioncub

  • Автор темы
  • Участник
  • *
  • Сообщений: 172
    • Просмотр профиля
Re: GPG Ключ для Локального Репозитария
« Ответ #3 : 03 Мая 2007, 15:56:34 »
Kwah именно так!

Оффлайн victor53p

  • Заслуженный пользователь
  • Активист
  • *
  • Сообщений: 301
    • Просмотр профиля
    • Ubuntu в Воронежской области
Re: GPG Ключ для Локального Репозитария
« Ответ #4 : 03 Мая 2007, 16:29:01 »
Может попробовать Aptoncd и исошник примонтировать как том?

Оффлайн lioncub

  • Автор темы
  • Участник
  • *
  • Сообщений: 172
    • Просмотр профиля
Re: GPG Ключ для Локального Репозитария
« Ответ #5 : 03 Мая 2007, 17:29:35 »
victor53p тут локальное дерево и в локальной папке. /tmp/deb

Оффлайн victor53p

  • Заслуженный пользователь
  • Активист
  • *
  • Сообщений: 301
    • Просмотр профиля
    • Ubuntu в Воронежской области
Re: GPG Ключ для Локального Репозитария
« Ответ #6 : 06 Мая 2007, 22:12:37 »
Я спешил но GPG ключам нашел на русском здесь:
http://www.linux-ink.ru/static/SL.4.x_Docs/Russification/Docs/sbs-sl-ru/ch-gnupg.html

Оффлайн lioncub

  • Автор темы
  • Участник
  • *
  • Сообщений: 172
    • Просмотр профиля
Re: GPG Ключ для Локального Репозитария
« Ответ #7 : 07 Мая 2007, 08:59:01 »
Осталось только применить его к локальному дереву... Но как?
« Последнее редактирование: 07 Мая 2007, 09:25:41 от victor53p »

Оффлайн yaa13

  • Активист
  • *
  • Сообщений: 311
    • Просмотр профиля
Re: GPG Ключ для Локального Репозитария
« Ответ #8 : 08 Мая 2007, 23:04:53 »
В различных ФАКах и вики "для самых маленьких" на тематику создания локального репозитория пакетов Debian/Ubuntu всегда одни и те же типовые рекомендации. Как, скажем, вот эта. Такой способ годится, только если у Вас отключены онлайн-репозитории или вообще нет подключения к интернет, так как созданный таким образом репозиторий не является "доверенным" и apt-get/aptitude при установке будет тащить файл из интернета, несмотря на то что в локальном репозитории лежит точно такая же версия пакета. Чтобы избежать лишнего расхода трафика, локальный репозиторий должен быть подписан доверенным ключом.
За последнюю неделю в этом форуме 2 раза встретил вопрос "а как это сделать" и ответа не увидел. Первый же поисковый запрос на главном форуме Ubuntu выдал решение, которое можно было найти и в манах, только конкретно это решение мне понравилось тем, что автор поста не поленился написать простой скрипт для создания такого репозитория. Ниже следует простой пересказ на русском (для тех, кто языков не знает) его решения с маленьким добавлением отсебятины.
Предварительно необходимо создать пару своих gpg ключей - закрытого и открытого. Сделать это можно как в консоли, покурив man gpg или такую доку,ссылку на которую уже дал victor53p, так и с помощью гуйной оболочки к gpg, в Kubuntu это kgpg, а в Ubuntu, видимо, это gpgp. И, конечно, запомните пароль, которым Вы защитили свой ключ. Установите только что созданный ключ как "ключ по умолчанию".
Итак, имеем кучку пакетов и из них необходимо сделать доверенный репозиторий.
Чтобы не устраивать свалку пакетов и служебных файлов, кладём пакеты в подкаталог ~/MyCoolRepo/debs. В каталоге ~/MyCoolRepo любимым текстовым редактором создаём файл (bash-скрипт) такого содержания:
#!/bin/bash
# Создание файла Packages
dpkg-scanpackages . /dev/null > Packages
# Создание файла Release
cat > Release <
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
# Создание файла Release.gpg
gpg -bao Release.gpg Release
# Даём инструкции по добавлению репозитория в sources.list
echo
echo "Для использования этого репозитория Вы должны добавить в файл /etc/apt/sources.list"
echo "(желательно в начале) следующую строку:"
echo
repodir="file://"$(pwd)
echo "deb "$repodir" /"
echo
Можно/нужно изменить строки "Label: My local Ubuntu Dapper repository", "Archive: dapper" и "Architecture: i386" на то, что вам нужно, но не меняйте больше ничего, если не понимаете что означают изменяемые строки. Сохраняем под именем, скажем, makerepo. Делаем этот файл исполняемым:
chmod +x makerepoЗапустите этот скрипт в терминале:
sudo ./makerepoВ процессе своей работы скрипт спросит пароль к тому ключу по умолчанию, что Вы предварительно создали. Если будет много сообщений вида
! Package libexiv2-dev (filename ./libexiv2-dev_0.7-9.1ubuntu1_i386.deb) is repeat;
ignored that one and using data from ./libexiv2-dev_0.12-0ubuntu2~ach0dapper1_i386.deb !
не пугайтесь, это означает лишь то, что в репозитории несколько версий одного пакета, более старые игнорируются и используются данные из более свежего пакета, можете удалить уже ненужные пакеты если критично занимаемое место. Также можете благополучно игнорировать сообщение вида
** Packages in archive but missing from override file: **Следуйте инструкции, выданной скриптом касательно файла /etc/apt/sources.list.
Теперь необходимо экспортировать публичный ключ, для использования с apt-get/aptitude
gpg --export -a "ваше имя" > public.keyгде ваше имя - то имя, которое Вы указали при создании пары ключей. И, наконец, добавляем ключ в список доверенных ключей apt`а:
sudo apt-key add public.keyПосле обычного заклинания
sudo apt-get updateи если Вы поместили строку с локальным репозиторием в начало файла sources.list и всё сделали правильно, Ваш репозиторий будет приоритетным при установке пакетов.
Спасибо jamadagni с ubuntuforums.org, который в свою очередь благодарен многим источникам.
« Последнее редактирование: 08 Мая 2007, 23:07:39 от yaa13 »

Оффлайн doctor

  • Активист
  • *
  • Сообщений: 736
  • не навреди...
    • Просмотр профиля
Re: GPG Ключ для Локального Репозитария
« Ответ #9 : 09 Мая 2007, 03:40:53 »
Спасибо за How-To
Естественно перенесено в соответствующую ветку.

Оффлайн SCarter

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: GPG Ключ для Локального Репозитария
« Ответ #10 : 14 Июня 2007, 12:01:56 »
Огомное Спасибо! Теперь проблем будет меньше.

Оффлайн lioncub

  • Автор темы
  • Участник
  • *
  • Сообщений: 172
    • Просмотр профиля
Re: GPG Ключ для Локального Репозитария
« Ответ #11 : 15 Июля 2007, 18:10:54 »
У меня проблемы с ключем.
Делаю так:
gpg --gen-key           
# Генерирую новую пару ключей
gpg --export -a "ваше имя" > public.key
# Экспортирую ключ в папке где лежат пакеты
sudo apt-key add public.key
# Добовляю ключ в apt
При применении скрипта, вылетает вот это:
:line 5: ошибка синтаксиса около неожиданной лексемы `newline`
:line 5: cat > Release <

Подскажите как надо?

Оффлайн danilevsky

  • Новичок
  • *
  • Сообщений: 34
  • N/A
    • Просмотр профиля
Re: GPG Ключ для Локального Репозитария
« Ответ #12 : 16 Июля 2007, 15:36:15 »
Отличный хау ту!!
Спасибо!

Тем у кого не работает скрыпт выше, используйте этот:
Цитировать
#!/bin/bash

# Create the Packages file

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

Оффлайн amel

  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: GPG Ключ для Локального Репозитария
« Ответ #13 : 03 Января 2008, 13:03:06 »
спасибо всем за качественный мануал, респект
но у меня возник вопрос, в моем локальном репе уже под 5 гигов, соответственно есть и новые и более старые версии одного и того же пакета.
Интересует как зачистить от старых версий ????
как вариант мона загнать все в var/cache/apt/archives и apt-get update && apt-get upgrade && apt-get autoclean но хочется более нормальное решение, а ручками что-то не охото )))))

Оффлайн anthonio

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: GPG Ключ для Локального Репозитария
« Ответ #14 : 09 Января 2008, 11:43:06 »
спасибо всем за качественный мануал, респект
но у меня возник вопрос, в моем локальном репе уже под 5 гигов, соответственно есть и новые и более старые версии одного и того же пакета.
Интересует как зачистить от старых версий ????

Я вот так решил этот вопрос
« Последнее редактирование: 09 Января 2008, 11:46:36 от anthonio »

 

Страница сгенерирована за 0.031 секунд. Запросов: 25.