Как сделать локальный репозитарий? (чтобы обновить систему без доступа к сети)

SLAX, Deep Style, ZenWalk

Модератор: Модераторы разделов

Ответить
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Как сделать локальный репозитарий?

Сообщение Hephaestus »

Есть слака, не имеющая доступа к сети и сеть там даже не поднималась.
Хочу туда накатить обновления.
Как? Первое, что приходит в голову - с локальных репов.

А вот как эту локальную репу посадить сделать - не совсем ясно.
Alien предлагает какой-то скрипт, но уж больно навороченный - RSS там с какого-то боку...
Хочу чего-нибудь попроще - тупо утянуть себе на локалхост wget'ом репу под свою архитектуру.
Вопрос - что именно тянуть (помимо самих пакетов).

В Deb под это дело был свой штатный инструмент. В слаке я такого не обнаружил.
И официальных инструкций, FAQ'ов, статей тоже не нашёл.
В слакбуке об этом ни слова.
Ежели всё-таки где-то есть - ткните носом.
Ну или поделитесь опытом.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
yars
Сообщения: 1144
Статус: Slacker!
ОС: Slackware64-current

Re: Как сделать локальный репозитарий?

Сообщение yars »

Да чего там тянуть? Одна команда: $ wget -nH --mirror --cut-dirs=2 ftp://slackware.osuosl.org/pub/slackware/slackware{,64}-{14.1,current}.
Slackware64-current/Xfce 4.12/Acer TravelMate 5760
-------------
Registered Linux User #557010
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Как сделать локальный репозитарий?

Сообщение bormant »

Hephaestus
обновления безопасности или обновить версию?

Обновления безопасности на зеркалах в каталоге версии, например, slackware-14.1/patches/packages/, забираете содержимое, переходите в каталог с загруженными пакетами, выполняете

Код: Выделить всё

# upgradepkg *.t?z

Обрабатываете файлы .new, руками или при помощи

Код: Выделить всё

# slackpkg new-config


Если на новую версию, то забираете дерево /slackware*, читаете UPGRADE.TXT, выполняете описанное там.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Как сделать локальный репозитарий?

Сообщение Hephaestus »

bormant писал(а):
22.04.2015 09:13
обновления безопасности или обновить версию?
Хороший вопрос.
Вот когда я делаю slackpkg update; slackpkg upgrade-all это что происходит? Обновления безопасности? Или туда ещё что-то попадает?
Насколько я видел, ставятся новые версии пакетов.
Или вот, например, с момента установки слаки поменялась схема перевода часов. Это к какой категории относится?
На десктопе это обновилось, на ноуте, естественно, нет.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
yars
Сообщения: 1144
Статус: Slacker!
ОС: Slackware64-current

Re: Как сделать локальный репозитарий?

Сообщение yars »

Так обновляются все установленные пакеты. Это и обновление, и обновление безопасности:
+--------------------------+
Wed Jan 28 19:23:00 UTC 2015
patches/packages/glibc-2.17-x86_64-10_slack14.1.txz: Rebuilt.
This update patches a security issue __nss_hostname_digits_dots() function
of glibc which may be triggered through the gethostbyname*() set of
functions. This flaw could allow local or remote attackers to take control
of a machine running a vulnerable version of glibc. Thanks to Qualys for
discovering this issue (also known as the GHOST vulnerability.)
For more information, see:
https://www.qualys.com/research/security-ad...E-2015-0235.txt
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0235
(* Security fix *)
patches/packages/glibc-i18n-2.17-x86_64-10_slack14.1.txz: Rebuilt.
patches/packages/glibc-profile-2.17-x86_64-10_slack14.1.txz: Rebuilt.
patches/packages/glibc-solibs-2.17-x86_64-10_slack14.1.txz: Rebuilt.
patches/packages/glibc-zoneinfo-2014j-noarch-1.txz: Upgraded.
Upgraded to tzcode2014j and tzdata2014j.

Slackware64-current/Xfce 4.12/Acer TravelMate 5760
-------------
Registered Linux User #557010
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Как сделать локальный репозитарий?

Сообщение bormant »

yars писал(а):
22.04.2015 14:22
обновляются все установленные пакеты

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

По upgrade-all строится список имеющихся в системе пакетов, сравнивается со списком пакетов в основном дереве (полученном при последнем update); для пакетов с отличающимися версиями загружаются с зеркала и устанавливаются пакеты-обновления.

1. После "номерного" выпуска версии, любые изменения в уже однажды выпущенном дереве дистрибутива приходят только в /patches/{packages,source}.
slackpkg update; slackpkg upgrade-all
проверяет все дерево, но для номерного выпуска по указанной выше причине будет забирать только обновления из /patches, ибо других не выпускают. В свою очередь, в /patches попадают только обновления безопасности и исправление наиболее "доставучих" ошибок.

2. В -current публикация пакетов ведется в основном дереве, /patches перманентно пуст (будет наполняться только в следующем номерном выпуске). Для обновления -current необходимо использовать
slackpkg update; slackpkg install-new; slackpkg upgrade-all; slackpkg clean-system
поскольку, как уже было сказано выше, upgrade-all обновит только уже установленные пакеты, а вот новые для будущего выпуска не поставит. А в них могут быть необходимые библиотеки и т.п. upgrade-all также не удалит убранные из -current пакеты (признанные ненужными, разделенные на другие и т.п.)
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Как сделать локальный репозитарий?

Сообщение bormant »

Hephaestus писал(а):
22.04.2015 13:24
Насколько я видел, ставятся новые версии пакетов.

Если быть точным, ставится другая версия пакета (по man -- the most recent official version of the specified package(s)). То есть,
1) если для установленного пакета есть другая версия в /patches, ставим ее,
иначе 2) если для установленного пакета есть другая версия в /slackware*/*/, ставим ее,
иначе 3) обновлений для пакета нет.

Hephaestus писал(а):
22.04.2015 13:24
с момента установки слаки поменялась схема перевода часов. Это к какой категории относится?
Это относится к информации о временнЫх зонах, которая ставится из пакета glibc-zoneinfo. А пакет собирают из информации, публикуемой на http://www.iana.org/time-zones, ftp://ftp.iana.org/tz/, rsync://rsync.iana.org/tz/. Поэтому никто не запрещает:
1) обновить информацию руками, см. http://www.slackware.ru/wiki/Обновление_часовых_поясов
2) забрать слакбилд glibc-zoneinfo, файлы зон с IANA, пересобрать и поставить пакет (его послеустановочный сценарий выполнит работу по обновлению текущей зоны)
3) ждать у моря погоды :-)
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Как сделать локальный репозитарий?

Сообщение Hephaestus »

bormant писал(а):
22.04.2015 16:41
Если быть точным, ставится другая версия пакета (по man -- the most recent official version of the specified package(s)). То есть,
1) если для установленного пакета есть другая версия в /patches, ставим ее,
иначе 2) если для установленного пакета есть другая версия в /slackware*/*/, ставим ее,
иначе 3) обновлений для пакета нет.
Как я понимаю, slackware<arch>-<version> целиком можно не забирать, а забрать только slackware и patches, так?

bormant писал(а):
22.04.2015 16:41
Это относится к информации о временнЫх зонах, которая ставится из пакета glibc-zoneinfo. А пакет собирают из информации, публикуемой на http://www.iana.org/time-zones, ftp://ftp.iana.org/tz/, rsync://rsync.iana.org/tz/. Поэтому никто не запрещает:
1) обновить информацию руками, см. http://www.slackware.ru/wiki/Обновление_часовых_поясов
2) забрать слакбилд glibc-zoneinfo, файлы зон с IANA, пересобрать и поставить пакет (его послеустановочный сценарий выполнит работу по обновлению текущей зоны)
3) ждать у моря погоды :-)
Зачем разруливать это руками, брать слакбилды, а тем более ждать у моря погоды, если glibc-zoneinfo вполне себе присутствует в patches?
У меня на десктопе это обновилось в результате slackpkg update; slackpkg upgrade-all вместе с кучей всякой всячины. И я хочу то же самое проделать на ноутбуке. Почему бы нет?
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Как сделать локальный репозитарий?

Сообщение bormant »

Hephaestus писал(а):
22.04.2015 22:20
Зачем разруливать это руками, брать слакбилды, а тем более ждать у моря погоды, если glibc-zoneinfo вполне себе присутствует в patches?
Во-первых, часто между нормативным изменением времени (и обновлением tzdata на серверах IANA) и обновлением пакета может пройти какое-то, иногда существенное, время. Прикажете жить с кривым часовым поясом?

Во-вторых, некоторые вещи нужно знать и уметь применять самостоятельно, управление временем из их числа.

Hephaestus писал(а):
22.04.2015 22:20
И я хочу то же самое проделать на ноутбуке. Почему бы нет?
Сказанное выше -- это про другую ситуацию... Когда уж полночь близится, а Германа все нет... (q)

Hephaestus писал(а):
22.04.2015 22:20
Как я понимаю, slackware<arch>-<version> целиком можно не забирать, а забрать только slackware и patches, так?
Для номерной версии достаточно /patches/packages/.
Спасибо сказали:
Ответить