Как вручную загрузить отдельные файлы с OpenIndiana (или Солярис) pkg repo?

Я согласился бы на то, что сказал Jeff. Для добавления записи DNS копируют между серверами DNS его просто база данных DHCP, которую можно скопировать и восстановить среди различных серверов DHCP. С просто manaing срок действия арендного договора можно делать это изменение гладким. Просто не связывайте все винты, пока Вы не уверены, что все установлено. Путем я сделал это, требуется 2-3 дня макс. для покрытия всех ролей (FSMO) и (DNS/DHCP) записи.

3
задан 9 January 2012 в 20:38
6 ответов

Манифест доступен напрямую http://pkg.openindiana.org/dev/manifest/0/developer%2Fbuild%2Fmake%400.5.11%2C5.11-0.151. 1% 3A20110912T022544Z .

Остается только выяснить, как получить эти отдельные файлы, перечисленные следующим образом

file b8dac4eaeabc7d41b4bff842a2f6b54cb36449d7 chash=f3998eb4b0aa99b3c54682f1a765e19215e15622 group=bin mode=0755 owner=root path=usr/bin/sccsdiff pkg.csize=1620 pkg.size=3798
file 9b1eb9d425c9de60eba5759368160e709fb51143 chash=0de4a47b23c1ac5121c9216ec854b197c18bfe24 group=bin mode=0644 owner=root path=usr/lib/help/locale/C/ad pkg.csize=2201 pkg.size=5762
file 0f594094532464eab978e00d4d3e18519538fe7b chash=e6685b5da6534ef06ad4aa51c4655fe72f98a2f1 group=bin mode=0644 owner=root path=usr/lib/help/locale/C/bd pkg.csize=1082 pkg.size=2089
file a0d207452b8fa6dd62661cd8349fe92ae415de10 chash=67fd628d7578b7fd907eb75b973c91aeb7b06fee group=bin mode=0644 owner=root path=usr/lib/help/locale/C/cb pkg.csize=805 pkg.size=1498
file 6267fe29483aaffdd5ca7dadab0866e3c23024f5 chash=d769eee8c86a2aefb0af1abb6d55dd559b26864e group=bin mode=0644 owner=root path=usr/lib/help/locale/C/cm pkg.csize=1581 pkg.size=3341
file 18691bfa26474c1133b6ac55897f15bba8cf669a chash=55a97bca8ce191bae3621ace062f3192bf0def18 group=bin mode=0644 owner=root path=usr/lib/help/locale/C/cmds pkg.csize=2279 pkg.size=6573
file 614eef6da7707fa4c77e5a0c958ec42eb1f7c68c chash=36df818d773e392d585fd58cf65d3dab93466528 group=bin mode=0644 owner=root path=usr/lib/help/locale/C/co pkg.csize=2284 pkg.size=5010
file 50e3e4dd1731dd07e7633afab6da1825527a312d chash=8e98dd2c2a45cc35993e3c373ecace197b65e900 group=bin mode=0644 owner=root path=usr/lib/help/locale/C/de pkg.csize=2108 pkg.size=4651

Изменить: Отдельные файлы могут быть загружены с URL-адресом, как в этом примере: http://pkg.openindiana.org/dev/file/0/b8dac4eaeabc7d41b4bff842a2f6b54cb36449d7

Осталось только одно. Как установить эти файлы.

2
ответ дан 3 December 2019 в 05:07

Самый простой способ - использовать pkgrecv для извлечения пакета из исходного репозитория в локальный репозиторий. IPS - это система сетевых пакетов, поэтому в настоящее время вы не можете устанавливать пакеты из одного файла, как в случае с потоками данных SVr4. Последнее, что я слышал (до поглощения Oracle), это то, что ребята из pkg5 работали над дисковым форматом, но я не думаю, что он был завершен. Я могу посоветоваться с одним из разработчиков, если хотите. В любом случае, кстати.

Что вам нужно сделать

  1. Создать локальный репозиторий пакетов:

     pkgrepo create / path / to / localrepo
    
  2. Получение пакетов из удаленного репо:

     pkgrecv -s http://pkg.openindiana.org/dev -d / path / to / localrepo 
    

Прошло много времени с тех пор, как я делал это (последний раз был, когда OpenSolaris был на грани завершения работы, и мы [команда OpenIndiana] брали пакеты из OpenSolaris / dev), но вам может потребоваться установить для издателя вашего локального репозитория быть издателем openindiana.org:

pkgrepo set -s publisher/prefix=openindiana.org /path/to/localrepo

Запустите экземпляр pkg.depotd , чтобы pkg мог его использовать:

pkg.depotd -d /path/to/localrepo -p 10000

(Вы, вероятно, захотите настроить это в SMF. Следуйте руководство на вики OpenIndiana.)

Затем добавьте свое локальное репо в качестве источника openindiana.org:

pkg set-publisher -g http://localhost:10000 openindiana.org

И наконец ...

Нет, действительно нет ничего проще способ сделать это. Это одна из причин, по которой мне не нравится переход на IPS.

1
ответ дан 3 December 2019 в 05:07

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

Один из вариантов - зеркальное копирование репозитория IPS в локальную систему или в другую доступную систему. Инструкции есть на старом сайте OpenSolaris и на вики OpenIndiana . Однако прошло некоторое время с тех пор, как я отразил репозиторий IPS, поэтому я не могу комментировать точность инструкций по этим ссылкам.

Вероятно, есть другие варианты, но я не

1
ответ дан 3 December 2019 в 05:07

Каждый отдельный файл в IPS сжимается с помощью gzip , поэтому вы можете вручную использовать curl и gzip -dc для извлечения вниз и распаковать файл.

Например: выборка sccsdiff (хеш sha1 файла b8dac4eaeabc7d41b4bff842a2f6b54cb36449d7 ), как указано Джорджем Бейли ...

curl http://pkg.openindiana.org/dev/file/0/b8dac4eaeabc7d41b4bff842a2f6b54cb36449d7 | gzip -dc > sccsdiff

Вы также можете проверить несжатого файла ...

$ sha1sum sccsdiff
b8dac4eaeabc7d41b4bff842a2f6b54cb36449d7  sccsdiff

Дополнительная информация доступна в вики OmniOS: Получение файлов пакета IPS без pkg (1)

1
ответ дан 3 December 2019 в 05:07

Я создал портативную утилиту для таких вещей:

http://www.bolthole.com/solaris/ipsutil/README

1
ответ дан 3 December 2019 в 05:07

IPS-клиенты могут устанавливать пакеты только из IPS-хранилищ. Таким образом, если вы не заинтересованы в добавлении удалённого репозитория в качестве издателя, к счастью, есть ещё один вариант, который заключается в создании IPS-архива (p5p).

Имейте в виду, что IPS-архив не похож на Linux RPM. Например, вы не можете установить программное обеспечение непосредственно из IPS-архива. Но вы можете скопировать файл в другие системы, например, в несетевые. Думайте о IPS архиве как о переносном репозитории, потому что именно так вы его и будете использовать. Только после того, как вы создадите локальное хранилище из файла IPS-архива, вы сможете использовать пакеты из него.

IPS-архивы позволяют:

  • Загрузить один или несколько пакетов (вместе со всеми необходимыми зависимостями) в файл архива p5p.
  • Создать локальное хранилище на основе содержимого файла архива p5p.
  • Установить пакеты из локально созданного репозитория.

Скажем, вы заинтересованы в тестировании последней версии пакета. Затем сделайте что-нибудь вроде этого:

pkgrecv -s http://example.com:10000 -d ~/firefox_test.p5p -a -r pkg://userland/web/browser/firefox@45.3.0-2016.0.0.0:20160817T064143Z

Проверьте содержимое пакета с помощью: pkgrepo -s ~/firefox_test.p5p list или вы можете использовать: pkg list -f -g ~/firefox_test.p5p

Добавить IPS архив в качестве локального репозитория с: pkgrepo -s ~/firefox_test.p5p

: pkg set-publisher -p ~/firefox_test.p5p

И наконец, чтобы установить конкретную версию firefox, используйте: pkg set-publisher -p ~/firefox_test.p5p

: pkg install firefox@45.3.0-2016.0.0.0:20160817T064143

2
ответ дан 3 December 2019 в 05:07

Теги

Похожие вопросы