IPB

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

> Скрипт для подготовки системы к сборке дистрибутивов
Поделиться
ИВК
сообщение 23.10.2016, 16:23
Сообщение #1


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

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



Репутация: 30


Этот вопрос в последние дни всплывал в разных темах, но лучше отвести ему отдельный топик.
Итак, сборка дистрибутива (обычно - в ещё толком не настроенной для таких целей системе) нередко обваливается по одним и тем же причинам, устранение которых требует прав рута. Что наводит на мысль о запуске при старте системы скрипта, который будет выявлять и ликвидировать такие проблемы.
Конкретно речь вот о чём:
1. В файле /etc/hasher-priv/system могут отсутствовать необходимые (или требующиеся в некоторых случаях) строки, как то:
Код
allowed_mountpoints=/proc
wlimit_time_elapsed=6000

2. В системе на systemd необходимо при запуске выполнять команды
Код
echo 0 > /proc/sys/fs/protected_hardlinks
sysctl -w fs.protected_hardlinks=0
sysctl -w fs.protected_symlinks=0

И не исключено, что ещё какие-то странности возможны.

Евгений предлагает следующее:
Цитата(Koi.v2 @ 22.10.2016, 21:18) *
Код
#!/bin/bash
# Настройка сборки дистрибутива на systemd
echo 0 > /proc/sys/fs/protected_hardlinks
sysctl -w fs.protected_hardlinks=0
sysctl -w fs.protected_symlinks=0
if [ "$(grep "allowed_mountpoints=/proc" /etc/hasher-priv/system)" != "allowed_mountpoints=/proc" ]
  then
      echo allowed_mountpoints=/proc >> /etc/hasher-priv/system
      echo "Добавлено allowed_mountpoints=/proc в /etc/hasher-priv/system"
  elif [ "$(grep "wlimit_time_elapsed=6000" /etc/hasher-priv/system)" != "wlimit_time_elapsed=6000" ]
  then
      echo wlimit_time_elapsed=6000 >> /etc/hasher-priv/system
      echo "Добавлено wlimit_time_elapsed=6000 в /etc/hasher-priv/system"
fi

И из rc.local пускать, чтоб не париться.


У кого какие соображения?
По-моему, такой скрипт надо в отдельный пакет, так удобнее всего, и положить его в клубые репы. Не знаю, как насчёт других инструментов сборки, а в Навигаторе я просто впишу этот пакет в зависимости.


--------------------
Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Открыть новую тему
Ответов
Koi.v2
сообщение 22.12.2016, 20:38
Сообщение #2


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

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



Репутация: 4


Ошибка связанная с нехваткой памяти при сборке.
Код
rpmdb: Page 1: offpage item 171 has bad pgno 1777
rpmdb: Page 2: offpage item 169 has bad pgno 1774
rpmdb: /var/lib/rpm/Packages: DB_VERIFY_BAD: Database verification failed
error: db4 error(-30972) from db->verify: DB_VERIFY_BAD: Database verification failed
fakeroot daemon: /.fakedata: No space left on device
hsh-install: Packages installation failed.
make[3]: *** [build-image] Error 1
make[2]: *** [install2/] Error 2
Command exited with non-zero status 2
1:38.96 63%CPU 150552k

Решение:
В файл /etc/fstab нужно прописать размер раздела tmp.
Код
tmpfs        /tmp            tmpfs    nosuid,size=15G            0 0

size=15G соответственно "G" - гигабайты, "m" - мегабайты.

Сообщение отредактировал Koi.v2 - 22.12.2016, 20:39
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Сообщений в этой теме


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

 



RSS Текстовая версия Сейчас: 19.6.2025, 21:26