TWIMC локальный репозиторий OpenSolaris

From
Ilya Kulagin (2:5020/400)
To
All
Date
2010-02-02T10:19:50Z
Area
RU.UNIX.SOLARIS
From: "Ilya Kulagin" <kiv@kiv.pp.ru>

Кросспост. Оригинал - в ЖЖ ru_opensolaris

Лично у меня OpenSolaris установлен дома, а провайдер Сети - скайлинк. Т.е.
любая доустановка любого программного изделия по месту - медленно и дорого.
Опять же, докачки никакой. Обидно на 30-м мегабайте gcc начинать сызнова.
Поэтому сидел на sxce. У wget есть по крайней мере -c . В городе поручить
знакомому линуксоиду скачать несколько гигов - не проблема.

Теперь поневоле пришлось задуматься. Замечательный во многих смыслах ресурс
genunix.org летом публиковал полный репозиторий для OpenSolaris. Но он уже
существенно устарел. Вдобавок, иногда хочется свежатинки.

В блоге
http://aszeszo.blogspot.com/2009/07/ips-repository-mirror-script_27.html
откопал скрипт "зеркалирования репозитория". Сам скрипт приличный, но
совершенно не рассчитанный на наши реалии с падучими каналами связи. А именно
- по результатам скачивания, не сверяет хешсуммы с исходными. Как итог - после
успешного завершения имею порядка 200 файлов с неверными хешами.

Пришлось прикручивать проверку хешей. Получилось очень сыро, но уже работает.
Проверка вкручена при старте и добавлена в код, проверяющий наличие локальных
файлов. Поэтому второй (и последующие до пропадания диагностики "hash error")
запуски необходимы, но очень медлительны. Правильнее было бы прикручивать в
район tarfile.extract, но из меня программист на питоне никакой. Это был
первый питоний скрипт, который я видел в своей жизни. Во-вторых, мне было лень
разбираться - в каком случае используется hash, а в каком - chash, поэтому
проверяю просто оба. Если хоть один совпал - ура. И, наконец, мне было лень
переписывать вычисление хеша для случая питона без установленного
vendor-packages/pkg/misc.py . Что тоже надо бы сделать, по идее. Иначе не
вполне ясно, чем эта странная конструкция лучше штатного pkgrecv .

Если кто напишет "по материалам" правильный скрипт, буду признателен. И
надеюсь, это поможет как домашним пользователям, так и строителям
корпоративных сетей с OpenSolaris внутри.

Да, мой вариант http://autotravel.ru/misc/ips-mirror.new

/kiv

--- ifmail v.2.15dev5.4
 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/400)
SEEN-BY: 236/100 450/1024 461/640 469/999 4625/8 5000/5000 5006/1 5007/1
SEEN-BY: 5010/70 5011/13 5012/46 5015/28 5020/18 175 194 400 545 902 1042 2238
SEEN-BY: 5020/4441 5021/29 5025/3 5030/1080 1957 5035/38 5036/1 5045/7 5054/1
SEEN-BY: 5054/4 8 9 28 37 5060/88 5061/15 120 5062/10 5066/18 5075/35 5080/68
SEEN-BY: 5085/13 5095/20 5096/18 6037/7 6078/80
PATH: 5020/400 545 5054/1 37