Hasher: відмінності між версіями
Dobr (обговорення | внесок) Немає опису редагування |
Dobr (обговорення | внесок) |
||
(Не показано 10 проміжних версій цього користувача) | |||
Рядок 1: | Рядок 1: | ||
[[Sisyphus|<<]] | |||
'''hasher''' -- інструмент ''безпечного'' збирання пакунків з результатом, що ''не залежить'' від стану системи у якій виконано збирання. | '''hasher''' -- інструмент ''безпечного'' збирання пакунків з результатом, що ''не залежить'' від стану системи у якій виконано збирання. | ||
Рядок 8: | Рядок 10: | ||
Використання прав суперкористувача (root) зведено до мінімуму. Створення оточення та більшість дій виконується з правами звичайного користувача (з використанням <tt>fakeroot</tt>). У комплекті з [[ruwp:Gear|Gear]] використовується для збирання напряму з [[ruwp:Git|Git]]. | Використання прав суперкористувача (root) зведено до мінімуму. Створення оточення та більшість дій виконується з правами звичайного користувача (з використанням <tt>fakeroot</tt>). У комплекті з [[ruwp:Gear|Gear]] використовується для збирання напряму з [[ruwp:Git|Git]]. | ||
=Мінімум щоб розпочати= | |||
== Встановлення та налаштування <tt>hasher</tt> == | |||
Від суперкористувача зробіть: | |||
* Встановіть <tt>hasher</tt>: | |||
# apt-get install hasher | |||
* Додайте логін під яким ви працюєте в системі у <tt>hasher</tt>: | |||
# hasher-useradd <USER> | |||
Більше ніяких дій від root виконувати не треба. | |||
* Перезайдіть в систему звичайним користувачем якім ви збиреєтесь працювати з <tt>hasher</tt> (<tt>hasher-useradd</tt> змінює список груп до яких входить користувач). | |||
* Створіть робочий каталог для <tt>hasher</tt>: | |||
$ mkdir ~/hasher | |||
==Збирання== | |||
У найпростішому випадку коли вже існує <tt>src.rpm</tt> достатньо: | |||
$ hsh ~/hasher path/to/foobar-0.0-alt0.src.rpm | |||
* Результат збирання доступний у <tt>~/hasher/repo</tt>. | |||
* Для спостерігання за процесом використовуйте ключ <tt>-v</tt>. | |||
== Дальнейшая информация == | |||
* [[hasher FAQ]] | |||
* [[Посібник по hasher]] | |||
* [[Довідник з hasher]] | |||
=== Публікації === | |||
* [http://ftp.altlinux.org/pub/people/ldv/hasher/thesis-2004.html hasher: технологии безопасной сборки дистрибутива] (Протва 2004, Дмітрій Левін) | |||
* [http://ftp.altlinux.org/pub/people/ldv/hasher/thesis-2005.html hasher: технология виртуализации для безопасного выполнения приложений] (Протва 2005, Дмітрій Левін) | |||
=== Ліцензія === | |||
GPLv2 or later. | |||
=== Текст програми === | |||
* [http://git.altlinux.org/people/ldv/packages/hasher.git hasher.git] | |||
* [http://git.altlinux.org/people/ldv/packages/hasher-priv.git hasher-priv.git] | |||
---- | ---- | ||
Рядок 13: | Рядок 55: | ||
[[Category:Розробнику]] | [[Category:Розробнику]] | ||
[[Category:Адміністраторові]] | [[Category:Адміністраторові]] | ||
[[Sisyphus|<<]] |
Поточна версія на 14:41, 5 березня 2010
hasher -- інструмент безпечного збирання пакунків з результатом, що не залежить від стану системи у якій виконано збирання.
hasher схожий на більш ранні sandman з ApplianceWare/ALT Linux або sbuild/pbuilder з Debian та більш пізній mock з Fedora, і на відміну від них спроектований так, щоб виключити вплив пакунку, що збирається, на систему у якій іде збирання та взаємний вплив пакунків, що збираються.
Сам інструмент розроблено Дмітрієм Лєвіним з ALT Linux Team для створення src.rpm у "чистому" оточенні (базова система збирання + розгорнуті залежності потрібні для збирання поточного пакунку). Пакунки підвантажуються із заданого у налаштуваннях сховища ("з коробки" налаштовано використання джерел з /etc/apt/sources.list та /etc/apt/sources.list.d/* системи на якій виконується збирання). Це дозволяє отримати ідентичний результат при умові використання ідентичних джерел.
Корисним є також використання під час збирання мінімальної множини додаткових пакунків. У ізольоване оточення встановлюється лише те, що зазначене під тегом BuildRequires у спек файлі. Якщо щось було забуто -- це можна буде виявити по результатах спроби збирання.
Використання прав суперкористувача (root) зведено до мінімуму. Створення оточення та більшість дій виконується з правами звичайного користувача (з використанням fakeroot). У комплекті з Gear використовується для збирання напряму з Git.
Мінімум щоб розпочати
Встановлення та налаштування hasher
Від суперкористувача зробіть:
- Встановіть hasher:
# apt-get install hasher
- Додайте логін під яким ви працюєте в системі у hasher:
# hasher-useradd <USER>
Більше ніяких дій від root виконувати не треба.
- Перезайдіть в систему звичайним користувачем якім ви збиреєтесь працювати з hasher (hasher-useradd змінює список груп до яких входить користувач).
- Створіть робочий каталог для hasher:
$ mkdir ~/hasher
Збирання
У найпростішому випадку коли вже існує src.rpm достатньо:
$ hsh ~/hasher path/to/foobar-0.0-alt0.src.rpm
- Результат збирання доступний у ~/hasher/repo.
- Для спостерігання за процесом використовуйте ключ -v.
Дальнейшая информация
Публікації
- hasher: технологии безопасной сборки дистрибутива (Протва 2004, Дмітрій Левін)
- hasher: технология виртуализации для безопасного выполнения приложений (Протва 2005, Дмітрій Левін)
Ліцензія
GPLv2 or later.