Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
Отключите пожалуйста ADblock, если включен...
  • Страница:
  • 1

ТЕМА: Динамическая загрузка пакетов

Динамическая загрузка пакетов 20.10.2016 15:27 #3839

  • admin
  • admin аватар
  • Вне сайта
  • Администратор
  • Сообщений: 1201
  • Спасибо получено: 188
  • Репутация: 117

Решил я облегчить загружаемый по сети образ до вменяемых размеров методом выноса из него пакетов и динамической их загрузки на клиентов по необходимости, но оказалось, что эта функция и не работает (во всяком случае у меня).Смотрю в лог и вижу - пакеты грузятся и не распаковываются, да к тому же подгружаются не того размера, пришлось поковыряться в конфигах и наладить всё это дело.

В итоге изменил скрипт ответственный за загрузку и распаковку динамических пакетов packages/base/bin/pkg.
Все изыскания описывать не буду, надо заменить в скрипте способ загрузки на wget и команду распаковки, т.е. меняем строки с 28 (или со строки `transport ${BASEPATH}/$4/$2.$3 /$2.$3$SERVER_IP`) по 44 (или по вторую строку rm /$2.$3 после) на:

( HTML ломает некоторые знаки. Для точного копирования команд справа от листинга есть кнопка <>)

#Грузим файл
wget $BASEURL/$4/$2.$3
#Меняем расширение
mv /$2.$3 /$2.tar
            fi
        fi
#Распаковываем и удаляем ненужный более архив
        if [ -s /$2.tar ] ; then
tar -C $PKGDIR -xf /$2.tar etc/rc$CURRENTRC.d 2> /dev/null
                if [ -e $PKGDIR/etc/rc$CURRENTRC.d ] ; then
                ls $PKGDIR/etc/rc$CURRENTRC.d >> $INITLIST
            fi
            rm -Rf $PKGDIR/* 2>/dev/null
tar -C / -xf /$2.tar
            rm /$2.tar
            echo_log "Ok" $debug
        else
            if [ -e /$2.tar ] ; then
                rm /$2.tar

Ну и рассмотрим на примере rdesktop как теперь грузить пакеты c вебсервера.

В build.conf вместо package rdesktop пишем pkg rdesktop и собираем образ. После сборки получим в папке boot-images/pkg-packages упакованный пакет rdesktop.pkg вместе с пакетами от которых он зависит.
Копируем все пакеты на вебсервер, в папку pgk (можно в любую другую, задаётся в сетевом конфиге параметром PKG_PREFIX) и задаём адрес сервера в build.conf параметром baseurl.

Далее в thinstation.conf-(hostname, ip или MAC) или thinstation.conf.group-*** пишем какие пакеты подгружаем, вместе с зависимостями:

PKG_PACKAGES="rdesktop alsa gtkdialog pango fontconfig messagebox"
PKG_PREFIX=pkg

Если пакет не сессионный, то можно его подгружать в фоновом режиме:

PKG_PACKAGES_BG="firefox"

Вот как бы и всё.
Ещё статья, для полного счастья.

Подробнее...
Если кому то сайт очень помог и руки чешутся отблагодарить автора или просто поддержать проект в денежном эквиваленте - welcomе:)
карта сбербанка 5469050011994439
WM R527245406653
Администратор запретил публиковать записи.
  • Страница:
  • 1