Комментарии 24
Может репозиториев?
+1
Интересно, что только в русском есть такая идиотская транскрипция латинского слова Repositōrium. Режет глаза невероятно, прямо как «раутер».
0
Скажите, почему надо изобретать велосипед, а не взять что-то вроде mini-dinstall или reprepro? Настраивается на порядок проще, работает надёжнее, поддерживается апстримом.
+3
Наяву столкнулся с ситуацией когда умение создать репозиторий подавалось знакомыми людьми как некое «эксклюзивное знание». Как Вам такое звучание: «Система Сборки Репозитария»? Поменять одну «систему» на другую не было бы эффективно. Потому что «чёрный ящик» остался.
Если выбросить из инструкций создание ключика, проверку репозиториев и прочую обёртку, то в остатке будет примитивный скрипт. Который в свою очередь сводится к командам createrepo для RHEL и dpkg-scanpackages для Debian. Достаточно показать это и становится понятно что здесь нет никаких «чёрных ящиков» и труд программистов не нужен. Задачу можно поручить любому специалисту, инструкции достаточно. Да и скриптики если разобраться не так уж нужны. Т.е. моей целью было понимание.
Если выбросить из инструкций создание ключика, проверку репозиториев и прочую обёртку, то в остатке будет примитивный скрипт. Который в свою очередь сводится к командам createrepo для RHEL и dpkg-scanpackages для Debian. Достаточно показать это и становится понятно что здесь нет никаких «чёрных ящиков» и труд программистов не нужен. Задачу можно поручить любому специалисту, инструкции достаточно. Да и скриптики если разобраться не так уж нужны. Т.е. моей целью было понимание.
-3
Так рассуждая, можно дойти до того, что и бэкап — простой скриптик, который scp гоняет туда-сюда, а браузер — всего лишь программа для передачи байтиков по http. И зачем тысячи программистов над ним трудятся? Можно же telnet'ом html странички смотреть!
0
НЛО прилетело и опубликовало эту надпись здесь
Можно. Ваш аватар даже намекает на правило «не изобретать велосипеды». Однако, есть велосипеды, а есть понимание. Думаю Вы не будете всерьёз предлагать прочитать исходники браузера для того чтобы выучить HTML? Вам приходилось слышать фразы «науке неизвестно что такое электричество»? Хотя все эти люди учились в школе. Здесь ровно то же самое. Есть люди которые считают недоступным среднему уму создание репозитария, сборку ядра, пакета и т.п. Хотя у всех есть пальцы чтобы набрать 1 (одну) команду. Пользовался утилитами подобными reprepro, но статья о них — другая статья, с другой целевой аудиторией.
0
Если главной целью является понимание, это прекрасно. Заодно можно было бы поподробнее рассказать об устройстве репозитория.
Однако же в статье это преподносится как боевой инструмент. Именно это и вызывает здесь такое недоумение.
Однако же в статье это преподносится как боевой инструмент. Именно это и вызывает здесь такое недоумение.
0
Боевой инструмент не очень коррелирует с «Иногда обновляться в ручном режиме — копированием по тому же адресу с перезаписью. Раз в полгода или год.» Мне важно понимание подхода и это понимание может быть стартовой точкой для специалиста. У меня есть конкретные примеры, просто не хочется описывать в комментариях разные заморочки на этот счёт. Боевые инструменты, устройство репозитория, свои заточенные системы «сборки репозитария», аналоги reprepro — остались за скобками.
0
Зачем? У меня репозиторий формируется одной командой без параметров при конфиге в 17 строк, из которых две — пустые. Хотите видеть? Пожалуйста:
[DEFAULT]
incoming_permissions = 0750
mail_to = me@somewhere.org
architectures = all, i386, amd64
archive_style = flat
dynamic_reindex = 1
archivedir = ~/public_html/debian/
generate_release = 1
release_origin = lalala
release_label = lalala
release_description = Unofficial Debian packages maintained by me
[experimental]
release_suite = experimental
[unstable]
release_suite = unstable
0
Не то чтобы «эксклюзивное», но если дистрибутивов штук пять и более, при этом есть и самосборные пакеты, есть approx в официальные репы, то нужно скриптовать очень аккуратно и не у всех получается.
0
Согласен. Типовое применение — спец не хочет таскать пакеты по клиентам на flash-носителе, но и разворачивать свой репозитарий — не знает как подступиться. Понимание которого мы достигаем здесь: спец видит что всех сложностей у него — затраты времени на подготовку иерархии директорий и одна команда в скрипте который и сам по себе — инструкция. Да, он может заняться автоматизацией. Позже. Но ему будет от чего отталкиваться сейчас. Просто сказать: смотри reprepro или createrepo и кури маны было бы ещё проще. Но этот совет ему уже давали и допустим с закачиванием файлов на хостинг и вводом команд по бумажке он справляется.
Об «эксклюзивности»: кто-то когда-то строил репозитарий и у кого-то есть телефон этого человека, но никто не знает как его заставить что-то выложить и сколько заплатить, поэтому пока anykey ходит с flash-носителями. Неважно как зовут этого человека или компанию. Это часто встречающаяся ситуация в малом бизнесе где пытаются использовать Linux в обиходе, когда спустя некоторое время после внедрения обслуживание дошло до anykey.
Об «эксклюзивности»: кто-то когда-то строил репозитарий и у кого-то есть телефон этого человека, но никто не знает как его заставить что-то выложить и сколько заплатить, поэтому пока anykey ходит с flash-носителями. Неважно как зовут этого человека или компанию. Это часто встречающаяся ситуация в малом бизнесе где пытаются использовать Linux в обиходе, когда спустя некоторое время после внедрения обслуживание дошло до anykey.
0
$ wget http://<IP-адрес>/repo/DEB-GPG-KEY
$ sudo apt-key add DEB-GPG-KEY
Это обычно объединяют в одну команду
wget http://<IP-адрес>/repo/DEB-GPG-KEY -O - | sudo apt-key add -
+2
Какие только велосипеды не городят, лишь бы маны к reprepro не читать.
0
Ошибка в листинге
вместо
gpg —export -a 'Name Surname (repo)' > DEB-GPG-KEY
нужно
gpg --export -a 'Name Surname (repo)' > DEB-GPG-KEY
походу парсер скушал двойной тире
вместо
gpg —export -a 'Name Surname (repo)' > DEB-GPG-KEY
нужно
gpg --export -a 'Name Surname (repo)' > DEB-GPG-KEY
походу парсер скушал двойной тире
0
При тестировании не получается завести. При apt-get update получаю
и так же ошибка:
W: Не удалось получить repo.loc/repo/dists/nobody/Release
E: Некоторые индексные файлы не скачались. Они были проигнорированы или вместо них были использованы старые версии.
и так же ошибка:
sky@dhcppc2:~/repo$ ./repo_debian.sh
dpkg-scanpackages: инфо: Записано 1 записей в выходной файл Packages.
dpkg-scanpackages: инфо: Записано 1 записей в выходной файл Packages.
md5sum: soft/binary-i386/Release: Нет такого файла или каталога
ls: невозможно получить доступ к soft/binary-i386/Release: Нет такого файла или каталога
md5sum: soft/binary-x86_64/Release: Нет такого файла или каталога
ls: невозможно получить доступ к soft/binary-x86_64/Release: Нет такого файла или каталога
* Singning Repositary *
Reading passphrase from file descriptor 0
Необходим пароль для доступа к секретному ключу пользователя: «User (My Repo) <gmail@gmail.com>»
2048-бит RSA ключ, ID E6A29EE1, создан 2013-02-10
* Singning i386 *
Reading passphrase from file descriptor 0
Необходим пароль для доступа к секретному ключу пользователя: «User (My Repo) <gmail@gmail.com>»
2048-бит RSA ключ, ID E6A29EE1, создан 2013-02-10
gpg: не могу открыть `Release': Нет такого файла или каталога
gpg: signing failed: ошибка открытия файла
* Singning x86_64 *
Reading passphrase from file descriptor 0
Необходим пароль для доступа к секретному ключу пользователя: «User (My Repo) <gmail@gmail.com>»
2048-бит RSA ключ, ID E6A29EE1, создан 2013-02-10
gpg: не могу открыть `Release': Нет такого файла или каталога
gpg: signing failed: ошибка открытия файла
0
Но по адресу repo.loc/repo/dists/nobody/Release
Release имеет вид
Release имеет вид
Origin: nobody
Label: nobody repo
Suite: nobody
Codename: nobody
Version: 1.0
Architectures: i386
Components: soft
Description: nobody 1.0 repo
MD5Sum:
9046a2f783922bf56734bc29087732aa 451 soft/binary-i386/Packages
14366b0a3388229c0267f192e3b3fc01 366 soft/binary-i386/Packages.bz2
9f64d264c2e1da0098f66378ca417f29 344 soft/binary-i386/Packages.gz
0 soft/binary-i386/Release
9046a2f783922bf56734bc29087732aa 451 soft/binary-x86_64/Packages
14366b0a3388229c0267f192e3b3fc01 366 soft/binary-x86_64/Packages.bz2
9f64d264c2e1da0098f66378ca417f29 344 soft/binary-x86_64/Packages.gz
0 soft/binary-x86_64/Release
0
откуда во всех скриптах и путях взялось «x86_64 », когда в дебиане используется «amd64»?
и что за «nobody», хотя бы «stable» что ли был бы
и что за «nobody», хотя бы «stable» что ли был бы
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Развёртывание репозиториев Linux