IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Hasher
Поделиться
ИВК
сообщение 23.4.2011, 13:49
Сообщение #1


Профессионал
*******

Группа: Глоб. Модератор
Сообщений: 10027
Регистрация: 22.6.2009
Вставить ник
Цитата
Из: Онега
Пользователь №: 1352
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 30


Вопрос к более опытным пользователям хэшера : вы его рабочий каталог обычно создаёте в tmpfs или на винчестере? В каких условиях уместен какой-то из этих вариантов?


--------------------
Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Drool
сообщение 23.4.2011, 17:31
Сообщение #2


Профессионал
*******

Группа: Пользователь
Сообщений: 1764
Регистрация: 28.7.2010
Вставить ник
Цитата
Из: Берислав, Херсонщина
Пользователь №: 1879
Страна: Украина
Город: Не указан
Пол: Муж.



Репутация: 9


Цитата(IVK @ 23.4.2011, 12:49) *
Вопрос к более опытным пользователям хэшера : вы его рабочий каталог обычно создаёте в tmpfs или на винчестере? В каких условиях уместен какой-то из этих вариантов?

Код
# du -sh ./hasher-w
2.5G    ./hasher-w

При наличии достаточного объема ОЗУ, способного безболезненно вместить хашер и чтоб еще осталось для безпроблемной работы системы - имеет смысл разместить каталог хашера в ОЗУ, т.к. это весьма заметно ускоряет работу.


--------------------

Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ИВК
сообщение 29.5.2011, 10:51
Сообщение #3


Профессионал
*******

Группа: Глоб. Модератор
Сообщений: 10027
Регистрация: 22.6.2009
Вставить ник
Цитата
Из: Онега
Пользователь №: 1352
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 30


hsh --init с параметром -v болтает вроде бы обо всём, что делает.... но, оказывается, не совсем. Когда он останавливается на
Код
hsh-initroot: calculated package file list.
hsh-initroot: Generated initial package file list.

то начинающий, который ещё не знает, что к чему, должен лезть в хашерницу и глядеть, что куда там добавляется - лишь тогда становится ясно, что hsh в это время качает пакеты из инета в свой кэш. Он же не говорит : качаю, подождите wink.gif Ну да, я понимаю, что проблема проявляется лишь в нестандартной ситуации, когда на компе нет зеркала и инет медленный, и тем не менее заполнение кэша - достаточно важный этап, о нём в логе должно говориться как-то более вразумительно wink.gif


--------------------
Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Drool
сообщение 29.5.2011, 22:36
Сообщение #4


Профессионал
*******

Группа: Пользователь
Сообщений: 1764
Регистрация: 28.7.2010
Вставить ник
Цитата
Из: Берислав, Херсонщина
Пользователь №: 1879
Страна: Украина
Город: Не указан
Пол: Муж.



Репутация: 9


Цитата(IVK @ 29.5.2011, 9:51) *
hsh --init с параметром -v болтает вроде бы обо всём, что делает.... но, оказывается, не совсем. Когда он останавливается на
Код
hsh-initroot: calculated package file list.
hsh-initroot: Generated initial package file list.

то начинающий, который ещё не знает, что к чему, должен лезть в хашерницу и глядеть, что куда там добавляется - лишь тогда становится ясно, что hsh в это время качает пакеты из инета в свой кэш. Он же не говорит : качаю, подождите wink.gif Ну да, я понимаю, что проблема проявляется лишь в нестандартной ситуации, когда на компе нет зеркала и инет медленный, и тем не менее заполнение кэша - достаточно важный этап, о нём в логе должно говориться как-то более вразумительно wink.gif

Ну, можно и фичреквест на хашер повесить.


--------------------

Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ИВК
сообщение 29.5.2011, 22:46
Сообщение #5


Профессионал
*******

Группа: Глоб. Модератор
Сообщений: 10027
Регистрация: 22.6.2009
Вставить ник
Цитата
Из: Онега
Пользователь №: 1352
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 30


Цитата(Drool @ 29.5.2011, 22:36) *
Ну, можно и фичреквест на хашер повесить.

Скажут : пока нет на компе зеркала - нечего и хашерницами всякими заниматься biggrin.gif


--------------------
Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Drool
сообщение 30.5.2011, 9:13
Сообщение #6


Профессионал
*******

Группа: Пользователь
Сообщений: 1764
Регистрация: 28.7.2010
Вставить ник
Цитата
Из: Берислав, Херсонщина
Пользователь №: 1879
Страна: Украина
Город: Не указан
Пол: Муж.



Репутация: 9


Не факт.


--------------------

Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ИВК
сообщение 30.5.2011, 13:47
Сообщение #7


Профессионал
*******

Группа: Глоб. Модератор
Сообщений: 10027
Регистрация: 22.6.2009
Вставить ник
Цитата
Из: Онега
Пользователь №: 1352
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 30


Повесил smile.gif


--------------------
Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ИВК
сообщение 11.11.2013, 11:35
Сообщение #8


Профессионал
*******

Группа: Глоб. Модератор
Сообщений: 10027
Регистрация: 22.6.2009
Вставить ник
Цитата
Из: Онега
Пользователь №: 1352
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 30


Интересно, можно ли как-то без помощи рута (настоящего, имею в виду, не хешерного) прервать сборку в хешере (на любом этапе)?


--------------------
Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Drool
сообщение 11.11.2013, 12:21
Сообщение #9


Профессионал
*******

Группа: Пользователь
Сообщений: 1764
Регистрация: 28.7.2010
Вставить ник
Цитата
Из: Берислав, Херсонщина
Пользователь №: 1879
Страна: Украина
Город: Не указан
Пол: Муж.



Репутация: 9


Прибить процесс хашера? Что-то типа killall -9 hsh или как-то так, нужно посмотреть по процессам в этот момент.


--------------------

Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ИВК
сообщение 11.11.2013, 14:17
Сообщение #10


Профессионал
*******

Группа: Глоб. Модератор
Сообщений: 10027
Регистрация: 22.6.2009
Вставить ник
Цитата
Из: Онега
Пользователь №: 1352
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 30


Там примерно вот что получается. Пока создаётся сборочная среда, то прихлопнуть это дело с помощью
Код
killall -9 hsh-install

всё-таки можно. Но когда уже пошла сама сборка, то

Код
killall -9 hsh
killall -9 hsh-rebuild

ничего не дают.

Код
ps ax | grep hsh

уже ничего не показывает, а сборка всё равно идёт. То есть жители хашерницы, похоже, получили srpm и дальше им уже по барабану hsh. Пробую сам залезть в хашерницу в качестве тамошнего рута и там что-то сделать - не получается (команда зависает). Но, оказывается, если дать команды

Код
hsh-shell <каталог хашера> (хоть с --rooter хоть без)
killall -9 hsh

вместе (неважно, какую раньше), то сборка сразу прерывается с сообщением типа

Код
hsh-rebuild: rebuild of `branding-tester-linux-0.1-alt0.1.src.rpm' failed

Вход в чрут при этом успешно осуществляется, только это уже не нужно smile.gif
Короче, у меня получается прервать сборку лишь таким варварским образом. А как более правильно - информации не нашёл и сам придумать не могу wink.gif


--------------------
Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Drool
сообщение 11.11.2013, 18:12
Сообщение #11


Профессионал
*******

Группа: Пользователь
Сообщений: 1764
Регистрация: 28.7.2010
Вставить ник
Цитата
Из: Берислав, Херсонщина
Пользователь №: 1879
Страна: Украина
Город: Не указан
Пол: Муж.



Репутация: 9


Нужно смотреть, какие процессы крутятся при сборке.


--------------------

Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ИВК
сообщение 11.11.2013, 18:50
Сообщение #12


Профессионал
*******

Группа: Глоб. Модератор
Сообщений: 10027
Регистрация: 22.6.2009
Вставить ник
Цитата
Из: Онега
Пользователь №: 1352
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 30


Цитата(Drool @ 11.11.2013, 18:12) *
Нужно смотреть, какие процессы крутятся при сборке.

Точно.
Код
killall hsh hsh-install hasher-priv

убивает вроде с гарантией wink.gif
Хотя всё равно это варварство.



--------------------
Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
gostsdmitry
сообщение 22.9.2023, 16:58
Сообщение #13


Мастер
******

Группа: Активный Пользователь
Сообщений: 676
Регистрация: 21.7.2022
Вставить ник
Цитата
Пользователь №: 3150
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 3


Перемещено из темы "Возрождение клуба"

Ну и ещё один вопрос: Хэшер перед работой с Альтовыми репами очистить, или необязательно? А то у меня в нём куча собранных пакетов и исходников сейчас. unsure.gif


--------------------
Не тот велик, кто никогда не падал, а тот велик — кто падал и вставал. © Конфуций
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
dango_
сообщение 22.9.2023, 21:00
Сообщение #14


Профессионал
*******

Группа: Активный Пользователь
Сообщений: 1164
Регистрация: 10.4.2015
Вставить ник
Цитата
Пользователь №: 2798
Страна: Казахстан
Город: Уральск
Пол: Муж.



Репутация: 5


Цитата(gostsdmitry @ 22.9.2023, 17:58) *
Перемещено из темы "Возрождение клуба"

Ну и ещё один вопрос: Хэшер перед работой с Альтовыми репами очистить, или необязательно? А то у меня в нём куча собранных пакетов и исходников сейчас. unsure.gif

хэшеру можно параметрами сказать, что откуда брать, подо что собирать, где собирать и куда класть.
Один из моих скриптов:
Код
#!/bin/bash
#---------------------------------------------
# name: bp-cp10-64.sh
# desc: script for building packages in hasher
#---------------------------------------------
# input variable
tmppath="/tmp/.private/$USER/hasher"
targetpath="$HOME/works/hasher/club_p10_64"
aptconf="$targetpath/apt/apt.conf"
repopath="$targetpath/repo"
hashpath="$tmppath"
platf="x86_64"
echo "starting..."
echo $(date +"%m.%d.%Y %T")
# creating hasher catalog
if [ -d "$tmppath" ]
then
  rm -Rf "$tmppath" &>/dev/null
fi
mkdir "$tmppath"
# creating logs catalog
logpath="$targetpath/log/"
if ! [ -d "$logpath" ]
then
  mkdir "$logpath"
fi
echo "build preparing...ok"
# cycle for files
for file in $@
do
  logname="$(basename $file)"
  logfile="$logpath$logname.log"
  hsh --apt-conf="$aptconf" --no-sisyphus-check --target="$platf" --repo="$repopath" "$hashpath" $file &> $logfile
  echo "building $logname...ok"
  if grep "failed" "$logfile"
  then
    mv $logfile $logpath"1"_$logname.log
    echo "creating $logname.log...attention"
  else
    echo "creating $logname.log...ok"
  fi
done
rm -Rf "$repopath/$platf/RPMS.hasher/"*debuginfo* &>/dev/null
echo "ending..."
echo $(date +"%m.%d.%Y %T")

Скрипт запускать с параметром: /путь_к_каталогу_с_исходниками/*.src.rpm (список файлов)
В apt.conf можно указать как локальные репы, так и сетевые.

Сообщение отредактировал dango_ - 22.9.2023, 21:13
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
gostsdmitry
сообщение 22.9.2023, 21:14
Сообщение #15


Мастер
******

Группа: Активный Пользователь
Сообщений: 676
Регистрация: 21.7.2022
Вставить ник
Цитата
Пользователь №: 3150
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 3


Цитата(dango_ @ 23.9.2023, 0:00) *
хэшеру можно параметрами сказать, что откуда брать, подо что собирать, где собирать и куда класть.

Просто, не будет ли конфликтов при подключении и зеркалировании реп? Ведь в Хэшере у меня может быть одна пакетная база, а в репах и их зеркалах - совсем другая... Вот этот момент интересует.
За скрипт - благодарствую! smile.gif

Сообщение отредактировал gostsdmitry - 22.9.2023, 21:16


--------------------
Не тот велик, кто никогда не падал, а тот велик — кто падал и вставал. © Конфуций
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
dango_
сообщение 23.9.2023, 7:15
Сообщение #16


Профессионал
*******

Группа: Активный Пользователь
Сообщений: 1164
Регистрация: 10.4.2015
Вставить ник
Цитата
Пользователь №: 2798
Страна: Казахстан
Город: Уральск
Пол: Муж.



Репутация: 5


Цитата(gostsdmitry @ 22.9.2023, 22:14) *
Просто, не будет ли конфликтов при подключении и зеркалировании реп? Ведь в Хэшере у меня может быть одна пакетная база, а в репах и их зеркалах - совсем другая... Вот этот момент интересует.
За скрипт - благодарствую! smile.gif

tmppath="/tmp/.private/$USER/hasher" (где собираем, здесь: tmpfs)
hashpath="$tmppath" (дублер "где собираем" для самого хэшера)
targetpath="$HOME/works/hasher/club_p10_64" (куда класть, здесь нужный каталог для данной сборки)
repopath="$targetpath/repo" (а это уточнение "куда класть" для самой репы с пакетами)
aptconf="$targetpath/apt/apt.conf" (конфиг определения источников пакетов для создания сборочного окружения)
platf="x86_64" (собственно платформа сборки)

Это ~/works/hasher/club_p10_64//apt/apt.conf:
Код
Dir::Etc::main "/dev/null";
Dir::Etc::parts "/var/empty";
Dir::Etc::SourceParts "/var/empty";
Dir::Etc::SourceList "/home/user/works/hasher/club_p10_64/apt/sources.list";

Это ~/works/hasher/club_p10_64//apt/sources.list:
Код
rpm file:/mnt/data/ALTLinux p10/branch/x86_64 classic
rpm file:/mnt/data/ALTLinux p10/branch/noarch classic
rpm file:/mnt/data/club/Repo_P10 x86_64 hasher

В данном случае, для сборочного окружения используется локальные зеркало альтовского p10 x86_64 и клубной репы p10 x86_64.
Короче, можно сделать сборку так как ты хочешь, не смешивая результаты.
P.S. Скрипт не дописан. Руки никак не доходили. В планах была оптимизация, автозамена старых версий пакетов новыми собранными, индексация реп и заливка на сайт.

Сообщение отредактировал dango_ - 23.9.2023, 7:18
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
gostsdmitry
сообщение 10.12.2023, 19:06
Сообщение #17


Мастер
******

Группа: Активный Пользователь
Сообщений: 676
Регистрация: 21.7.2022
Вставить ник
Цитата
Пользователь №: 3150
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 3


Приветствую!
Вопрос к Дану: как настроить Хэшер так, чтобы на нём производилась сборка для отличной от системы архитектуры, т.е. у меня x86_64, а нужно собрать пакет(ы) для i686 (32 бита) или сразу для обеих архитектур?
Возможно, где-то это указано, но я не прочитал или не понял...
Спасибо!


--------------------
Не тот велик, кто никогда не падал, а тот велик — кто падал и вставал. © Конфуций
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
dango_
сообщение 11.12.2023, 20:05
Сообщение #18


Профессионал
*******

Группа: Активный Пользователь
Сообщений: 1164
Регистрация: 10.4.2015
Вставить ник
Цитата
Пользователь №: 2798
Страна: Казахстан
Город: Уральск
Пол: Муж.



Репутация: 5


Цитата(gostsdmitry @ 10.12.2023, 20:06) *
Приветствую!
Вопрос к Дану: как настроить Хэшер так, чтобы на нём производилась сборка для отличной от системы архитектуры, т.е. у меня x86_64, а нужно собрать пакет(ы) для i686 (32 бита) или сразу для обеих архитектур?
Возможно, где-то это указано, но я не прочитал или не понял...
Спасибо!

Привет!
Посмотри в моем скрипте:
Цитата(dango_ @ 23.9.2023, 8:15) *
platf="x86_64"

Для 32бита указать:
Код
platf="i686"

И не забыть про:
Цитата(dango_ @ 23.9.2023, 8:15) *
aptconf="$targetpath/apt/apt.conf"

Для сборки 64бит и 32бит я пускал связку соответствующих скриптов.
Ничто не мешает организовать в одном скрипте цикл по списку платформ с соответствующими параметрами.

Сообщение отредактировал dango_ - 11.12.2023, 20:16
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
gostsdmitry
сообщение 11.12.2023, 22:15
Сообщение #19


Мастер
******

Группа: Активный Пользователь
Сообщений: 676
Регистрация: 21.7.2022
Вставить ник
Цитата
Пользователь №: 3150
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 3


Ага! Вот он что! smile.gif
Спасибо! smile.gif
Просто я твой скрипт ещё ни разу не применял. Для 64-бит. хватает того, что Иван составил. smile.gif


--------------------
Не тот велик, кто никогда не падал, а тот велик — кто падал и вставал. © Конфуций
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
dango_
сообщение 12.12.2023, 10:40
Сообщение #20


Профессионал
*******

Группа: Активный Пользователь
Сообщений: 1164
Регистрация: 10.4.2015
Вставить ник
Цитата
Пользователь №: 2798
Страна: Казахстан
Город: Уральск
Пол: Муж.



Репутация: 5


Без проблем. Спрашивай, если что.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
( Гостей: 1 )
Пользователей: 0

 



RSS Текстовая версия Сейчас: 19.4.2024, 23:25