Creating OpenSolaris 2009.06 repository pkg

Square

Процедура настройки репозитория состоит из следующих этапов:
— Получение ISO-образа с репозиторием OpenSolaris
— Подготовка файловой системы
— Копирование содержимого репозитория из образа
— Настройка сервера через сервисы
— Настройка клиента и проверка работоспособности сервера
— Обновление пакетов и исправление контрольных сумм
— Окончательное тестирование
Далее рассмотрим, что нужно сделать на каждом этапе.
Получение ISO-образа с репозиторием OpenSolaris
Итак для настройки репозитория нам понадобится образ содержащий пакеты репозитория
его можно скачать, например на genunix.org или sun.com, а точнее так:
# wget ftp://osol.arhipkin.com/pub/osol-repo-0906-full.iso
Репозиторий можно скачать в виде 2-ух образов, которые помещаются на DVD-диск объемом
4,7 Гб, либо в виде одного образа размером около 7,2 Гб. Приведенные выше ссылки
указывают на репозиторий в единственном образе. Впрочем, версию в двух образах можно
найти рядом.
Подготовка файловой системы
Создадим отдельную файловую систему ZFS для того, что бы разместить на ней
репозиторий. Отдельная файловая систем а ZFS для репозитория дает нам следующие
преимущества:
l Достигается лучшая производительность
l Возможность установки индивидуальных параметров для файловой системы, таких
как сжатие и обновление времени доступа
l Создание снапшотов и бэкапов файловой системы с репозиторием
Для экономии дискового пространства применим сжатие(опция compression), а для
увеличения быстродействия отключим обновление времени доступа(опция atime).
Естественно, что все команды здесь и далее должны выполняться с правами
суперпользователя. Создаем:
# zfs create -o compression=on -o atime=off rpool/repo
Теперь когда у нас есть файловая система для репозитория и собственно сами данные в
образе, нужно скопировать данные из образа на жесткий диск.
Копирование содержимого репозитория из образа
Для копирования данных нужно смонтировать образ репозитория, и затем скопировать все
данные в, подготовленное нами на предыдущем шаге, место:
# mount -F hsfs $(lofiadm -a /downloads/osol-repo-0906-full.iso) /mnt
# rsync -aP /mnt/repo /rpool/repo
Обратите внимание: отсутствие слэшей в конце путей принципиально (для получения
подробностей обращайтесь к man rsync.). После того, как репозиторий скопирован образ
можно отмонтировать:
# umount /mnt
# lofiadm -d /dev/lofi/1
В последней строке возможна другая цифра в зависимости от подключенных на данный
момент устройств. Итак, репозиторий получен и скопирован переходим к настройке сервиса.
Настройка сервера через сервисы
Теперь нам необходимо настроить сервис обслуживающий репозиторий, его исполняемый
файл находиться в /usr/lib и называется pkg.depotd (подробнее смотрите man pkg.depotd).
Сначала необходимо указать корневой каталог нашего репозитория, который мы подготовили
ранее:
# svccfg -s pkg/server setprop pkg/inst_root=/rpool/repo/repo
Опционально можно указать порт (по умолчанию 80). Установим его значение равным 10000:
# svccfg -s pkg/server setprop pkg/port=10000
Копируем конфигурационный файл и указываем путь к нему для сервиса:
# cp -p /rpool/repo/repo/cfg_cache /rpool/repo/
# svccfg -s pkg/server setprop pkg/cfg_file=/rpool/repo/cfg_cache
Далее правим конфигурационный файл:
# vi /rpool/repo/cfg_cache
Нужно поменять значение параметра origins и указать адрес репозитория, на доступное по
сети имя, например http://sunadm.spb.su:10000. Необязательно, но можно поменять некоторые
другие параметры и добавить туда например название вашей организации.
Далее можно проверить правильно ли мы изменили настойки:
# svcadm refresh application/pkg/server
# svcprop pkg/server
И посмотреть в выводе последней команды внесены ли наши изменения. Если все в порядке
запускаем сервис:
# svcadm restart application/pkg/server
# svcadm enable application/pkg/server
На этом настройка репозитория закончена. Далее мы настроим клиента на использование
нашего репозитория и проверим его работоспособность, затем обновим репозиторий и
проведем окончательную проверку.
Настройка клиента и проверка работоспособности сервера
Клиент может использовать наш репозиторий либо как основной репозиторий, либо как
зеркало репозитория pkg.opensolaris.org. При использовании нашего репозитория, как зеркала
мы теряем автономность. В этом случае клиент производит поиск и другие операции с
метаданными используя основной сервер pkg.opensolaris.org, при установке пакета, если он
присутствует на нашем зеркале он скачивается с него. При недоступном основном сервере
наша система не будет работать. При использовании нашего репозитория как основного, все
взаимодействие производиться только с ним и наша система обретет автономность. Но в
таком случае, если наш репозиторий не обновлен нам не будут доступны последние версии
пакетов.

Comment

19 Replies to “Creating OpenSolaris 2009.06 repository pkg”

  1. I’m just commenting to let you be aware of of the exceptional discovery my cousin’s child enjoyed going through your blog. She discovered a wide variety of details, most notably how it is like to have a very effective coaching heart to get many more effortlessly fully understand certain extremely tough matters. You actually did more than my desires. I appreciate you for displaying such great, healthy, educational and also cool guidance on that topic to Evelyn.

  2. I needed to draft you that little bit of observation so as to say thanks once again for your magnificent pointers you’ve shared on this site. This has been simply tremendously open-handed with you to present unreservedly what most people would’ve sold for an electronic book to help with making some money on their own, precisely seeing that you might well have tried it in the event you wanted. Those techniques in addition worked to become a great way to realize that someone else have the same passion similar to my very own to see somewhat more with reference to this problem. I know there are some more pleasurable situations up front for people who scan through your website.

  3. Needed to send you this very small word to finally thank you so much yet again for the extraordinary ideas you’ve discussed at this time. It has been certainly incredibly generous of people like you to allow extensively all that a lot of folks could possibly have distributed as an e-book in order to make some cash for their own end, chiefly considering the fact that you could have done it if you considered necessary. The good ideas also acted as the easy way to be sure that most people have a similar dream just like mine to find out a lot more in respect of this condition. I’m certain there are lots of more enjoyable moments ahead for individuals that examine your blog.

  4. I am commenting to let you be aware of of the extraordinary discovery my cousin’s daughter enjoyed going through your blog. She discovered lots of issues, most notably how it is like to have a very effective giving heart to have many others effortlessly gain knowledge of certain extremely tough matters. You really did more than my desires. Many thanks for displaying the helpful, healthy, educational and also easy thoughts on the topic to Gloria.

  5. I am commenting to let you know of the fabulous encounter my cousin’s daughter experienced reading your site. She even learned many issues, not to mention what it’s like to have a wonderful giving mindset to have many people just grasp chosen grueling subject areas. You really exceeded our expectations. Many thanks for distributing the informative, healthy, educational and as well as easy thoughts on the topic to Jane.

  6. My wife and i were so relieved when Michael managed to finish up his studies via the precious recommendations he obtained using your web site. It is now and again perplexing to simply happen to be offering things which often some people might have been trying to sell. We remember we now have you to thank for this. The type of illustrations you made, the straightforward website navigation, the relationships your site make it easier to promote — it is mostly spectacular, and it is letting our son in addition to us recognize that this subject matter is pleasurable, which is certainly truly serious. Thanks for the whole thing!

  7. I enjoy you because of all your efforts on this site. Ellie enjoys doing internet research and it’s easy to see why. All of us hear all concerning the compelling means you deliver good information by means of the blog and as well cause contribution from other people about this concept plus my daughter is actually being taught a lot. Enjoy the remaining portion of the new year. You’re the one carrying out a first class job.

  8. I am just writing to make you understand what a outstanding experience my wife’s girl obtained using your web site. She noticed so many pieces, which included what it is like to possess an excellent helping nature to let other people with ease learn specific specialized things. You truly surpassed people’s expected results. Thank you for producing these precious, trusted, informative and in addition fun tips about this topic to Lizeth.

  9. My spouse and i have been really lucky that Jordan managed to finish off his research through your precious recommendations he had through the web pages. It is now and again perplexing to just find yourself handing out solutions which people today may have been selling. Therefore we know we need the writer to give thanks to for that. The most important illustrations you have made, the simple web site navigation, the relationships you will help to instill — it’s got most powerful, and it’s really leading our son in addition to the family reason why the situation is fun, which is really pressing. Thank you for the whole lot!

  10. Thanks for your whole work on this website. My mum takes pleasure in working on research and it is simple to grasp why. We notice all relating to the powerful ways you render very useful tips and tricks via your website and therefore strongly encourage response from website visitors on this theme while our own simple princess is without a doubt understanding so much. Take pleasure in the rest of the year. Your performing a very good job.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *