it-advisor.ru: Динамическая загрузка пакетов (1/1) | Thinstation по русски
Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
Отключите пожалуйста ADblock, если включен...

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

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

  • admin
  • admin аватар
  • Не в сети
  • Администратор
  • Сообщений: 1827
  • Спасибо получено: 275
  • Репутация: 154

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

В итоге изменил скрипт ответственный за загрузку и распаковку динамических пакетов 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"

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

Подробнее...
Нужна индивидуальная помощь - обращайтесь shweew[кобель]it-advisor.ru
Реквизиты для материальной поддержки проекта =>
Администратор запретил публиковать записи гостям.
Спасибо сказали: redangel666

Динамическая загрузка пакетов 22 Янв 2024 23:46 #6051

  • redangel666
  • redangel666 аватар
  • Не в сети
  • Захожу иногда
  • Сообщений: 61
  • Спасибо получено: 7
  • Репутация: 2
Начал изыскания почему на TS 6.2 не работает с дефолтным конфигом.
Вижу что автор перешел на systemd.
1. Пакет с зависимостями загружается.
thinstation.conf.network
#Динамическая загрузка пакетов
PKG_PACKAGES="bash ca-bundle jq nss chrome"
PKG_PREFIX=pkg
2. Сессию пытаюсь поднять:
thinstation.conf.network
SESSION_2_TYPE=chrome
SESSION_2_TITLE="Google Chrome"
SESSION_2_AUTOSTART=off
SESSION_2_ICON=On
3. Иконка на рабочем столе есть. Правда некрасивая.
В ярлыке команда pkg fullscreen chrome- не работает, ничего не происходит.
В папке etc/systemd/system/multi-user.target.wants нет ничего похожего.
Как побеждать? Спасибо заранее.
Администратор запретил публиковать записи гостям.

Динамическая загрузка пакетов 23 Янв 2024 02:13 #6052

  • admin
  • admin аватар
  • Не в сети
  • Администратор
  • Сообщений: 1827
  • Спасибо получено: 275
  • Репутация: 154
А если сразу пихать в образ то работает?
И возможно статью применять не нужно, может исправили разрабы уже, последняя правка скрилта 4 года назад, 8 лет с момента написания статьи.
Нужна индивидуальная помощь - обращайтесь shweew[кобель]it-advisor.ru
Реквизиты для материальной поддержки проекта =>
Последнее редактирование: 23 Янв 2024 02:56 от admin.
Администратор запретил публиковать записи гостям.

Динамическая загрузка пакетов 23 Янв 2024 09:39 #6053

  • redangel666
  • redangel666 аватар
  • Не в сети
  • Захожу иногда
  • Сообщений: 61
  • Спасибо получено: 7
  • Репутация: 2
admin пишет:
А если сразу пихать в образ то работает?
Дак вот блин работает. Попробую поднимать сессию в thinstation.conf.buildtime, а не в thinstation.conf.network, но не очень уверен что поможет. Причем такая ситуация и с хромом и с файерфоксом. Печаль включать в образ 80(FF) или 170мб(Chrome) соответственно.admin пишет:
И возможно статью применять не нужно, может исправили разрабы уже, последняя правка скрипта 4 года назад, 8 лет с момента написания статьи.
Да, 3 года назад изменения скрипта в гитхабе, и там переход на systemd
Администратор запретил публиковать записи гостям.

Динамическая загрузка пакетов 23 Янв 2024 11:22 #6054

  • admin
  • admin аватар
  • Не в сети
  • Администратор
  • Сообщений: 1827
  • Спасибо получено: 275
  • Репутация: 154
Разберитесь загружался ли сам ли сам пакет, потом конфиги мучайте.
Нужна индивидуальная помощь - обращайтесь shweew[кобель]it-advisor.ru
Реквизиты для материальной поддержки проекта =>
Администратор запретил публиковать записи гостям.
Спасибо сказали: redangel666

Динамическая загрузка пакетов 23 Янв 2024 14:39 #6055

  • redangel666
  • redangel666 аватар
  • Не в сети
  • Захожу иногда
  • Сообщений: 61
  • Спасибо получено: 7
  • Репутация: 2
admin пишет:
Разберитесь загружался ли сам ли сам пакет, потом конфиги мучайте.
Как я могу это поглядеть? Скрипт загрузки отрабатывает, в логе пишет ОК, http сервер возвращает 200 по пакетам.
Последнее редактирование: 23 Янв 2024 14:53 от redangel666. Причина: 1
Администратор запретил публиковать записи гостям.