Arch Linux

Arch Linux (Арч Линукс) е дистрибуция на Linux, оптимизирана за процесори x86-64, която разчита основно на максималната опростеност. Неин създател е Джъд Вине (Judd Vinet), чиято основна цел е била да направи подобрена версия на Crux. Използващите тази дистрибуция са предимно напреднали потребители, които не се страхуват от работа в конзолен режим. Въпреки това има улеснени Arch-базирани дистрибуции, като Antergos и Manjaro.

История 
Създаването на дистрибуцията е вдъхновено от CRUX – дистрибуция на Linux предназначена за по-опитните потребители на платфорамата. Джъд Вине дава началото на Arch Linux през март 2002. Вине се занимава с разработването ѝ до 1 октомври 2007, когато се отказва поради недостиг на време и ръководството на проекта бива наследено от разработчик с псевдоним „Aaron Griffin“.

Дизайн и принципи 
Arch се основава главно на пакетна система от двоични пакети. Те са насочени към микропроцесори от типа x86-64, за да подпомогнат производителността на модерния хардуер.

Осигурена е система от типа ports/ebuild, която служи за автоматичното компилиране на сорс кода, позната като Arch Build System.

Основният фокус на дистрибуцията е изчистен и семпъл дизайн, състоящ се в това да се създаде среда сравнително лесна за разбиране и праволинейна за употреба, вместо добре познатите ни графични алтернативи – за сравнение мениджърът на пакетите в Arch Linux няма официален графичен интерфейс. До голяма степен това е постигнато чрез насърчаване правенето на компактно коментирани, изчистени конфигурационни файлове, които са аранжирани за бърз достъп и обработка. Това, от своя страна, дава репутация на дистрибуцията като „дистрибуция за добре запознати и напреднали Linux потребители, които не се страхуват от конзолния терминал“.

Инсталация 
Уебстраницата на Arch Linux предлага ISO изображения, които могат да се стартират от CD или USB. Базовата система се инсталира посредством обикновен command line скрипт (pascstrap). Инсталацията на допълнителни пакети се осъществява чрез pascstrap или pacman след инициализирането на системата.

Алтернатива на използването на CD или USB е използването на статична версия на пакетния мениджър pacman, от вече съществуваща Linux базирана операционна система. По този начин потребителят може да „закачи“ ново-форматираният дял и да инсталира основните и/или допълнителни пакети – корен за операциите става коренът на закачения дял. Този метод на инсталация е от полза когато инсталираме Arch Linux на USB диск, или на временно прикачено устройство, което принадлежи към друга система.

Без значение от подхода на инсталация, трябва да се предприемат допълнителни мерки преди системата да влезе в употреба, като от особена важност е създаването на bootloader – програма, която да зареди операционната система след стартирането на компютъра, initramfs – временна операционна система в РАМ паметта и конфигурирането на новата система.

Управление на пакетите 
Използват се бинарни пакети, като основен инструмент за манипулацията им (инсталиране, деинсталиране, обновяване) е pacman. Пакетите са изградени и оптимизирани за процесори x86-64, което прави Arch Linux бърз и ефективен при работа със съвременен хардуер. За изграждане на пакети от изходен код се използва портовата система ABS (Arch Build System), която прави интегрирането на външни пакети в системата много лесно и ефективно.

Pacman 
За улеснение на обичайните промени по използваните пакети, „pacman“ (съкратено от „package manager“) е разработен от Джъд Вине, за да даде на Arch собствена система, която да следи зависимостите между пакетите.

Всички пакети се управляват чрез pacman. Той отговаря за инсталирането, надграждането, премахването, връщането на по-стари версии на пакетите и разполага със система за автоматично разрешаване на зависимостите между тях. Пакетите за Arch Linux се набавят от пакетното дърво на системата и се компилират за x86-64 архитектура. Използват се двоични пакети в tar.xz формат, като преди това окончание се поставя .pkg, за да се означи, че това е pacman пакет (package-name.pkg.tar.xz).

Хранилища (Repositories) 
Към този момент съществуват следните официални базови двоични хранилища:
 core – съдържа всички необходими пакети, за да се създаде основната система
 extra – допълнителни пакети, които не са задължителни за базовата система, като графични среди и различни програми
 community – пакети направени и издигнати от вота на обществото, такива, за които са дадени достатъчно гласове и са били усвоени от „доверен потребител“.
 multilib – централизирано хранилище за потребителите на x86_64 за по-лесно поддържане на 32 битови приложения в 64 битова среда.

В допълнение съществуват и тестови хранилища, съдържащи пакети в разработка за някои от основните хранилища. Към момента такива са:
 testing – пакети за core и extra
 community-testing – пакети за community
 multilib-testing – пакети за multilib
Хранилищата staging и community-staging се използват при някои преизграждания, за да се избегнат повредени пакети.

unstable е хранилище преустановено през юли 2008, повече от пакетите, на което са били преместени в други хранилища.

Съществуват също и редица неофициални хранилища в допълнение на официалните. Най-добре познатото от тях е Arch User Repository или AUR, поддържано на уебсайтът на Arch Linux. Трябва да се отбележи, обаче, че AUR не се състои от двоични пакети, а вместо тях се използва колекция от изграждащи скриптове, известни като PKGBUILDs.

Защита на хранилищата 
Допреди версия 4.0.0 на pacman в пакетния мениджър на Arch Linux е липсвала поддръжката на подписани пакети. Пакетите и метадатата не са били проверявани за автентичност от pacman по време на изтеглянето и инсталирането им. Без автентикация на подправени или злонамерени mirrors на хранилище може да се изложи на риск целостта на една система Pacman 4 е давал възможност за потвърждение на източника на пакета и самите пакети, но тази опция е била изключена по подразбиране. През месец Ноемвреи 2011 подписването на пакетите е станало задължително за нови пакети, а от 21 март 2012 всеки официален пакет има подпис.

През юни 2012, подписването на пакетите и проверката стават официални и са активирани по подразбиране по време на инсталационния процес.

Arch Build System (ABS) 
Системата на Arch за комплектоване на пакети (Arch Build System – ABS) е портова система – такава, която използва makefiles – текстови файлове написани по определен предефиниран синтаксис, които съдържат информация относно организацията на кода и patches (patch – „кръпка“, текстов файл съдържащ списък от разлики между оригиналния и обновеният файл). Тя служи за компилирането на архиви от сорс код (tarballs) към двоични пакети, които се инсталират чрез pacman. Тази система осигурява справочник от скриптове, наречени PKGBUILDs, които дават възможност всички, или дадени, официални пакети за Arch да бъдат персонализирани и компилирани. Поддържа се също възстановяването на цялата система чрез използването на модифицирани обозначения за компилация – compiler flags. Arch Build System разполага с makepkg – средство, чрез което могат да се създават персонализирани pkg.tar.xz пакети от неофициални източници. Получените пакети също могат да се инсталират и следят от pacman.

Arch User Repository (AUR) 
В допълнение към съществуващите, хранилището Arch User Repository (AUR) осигурява PKGBUILD скриптове, изработени от потребители, които не се съдържат в останалите хранилища. Тези скриптове улесняват изграждането от базов код, като изрично: изготвят списъци и проверяват за зависимости, конфигурират съвпадането на инсталацията и архитектурата на Arch. Изтеглянето на PKGBUILD скриптове и свързаният с тях изготвящ процес може допълнително да се оптимизира чрез използването на помощни програми. Това обаче, идва с възможността да се изпълнят не валидирани скриптове. Като превантивна мярка програмистите разработващи Arch дават становище, че средства за автоматично откриване, изтегляне и изпълнение на PKGBUILD скриптове, никога няма да бъдат включвани в официалните хранилища.

Потребителите могат да създават пакети съвместими с pacman чрез Arch Build System и персонализирани PKGBUILD скриптове. Тази функционалност е помогнала за поддържането на Arch User Repository, което се състои от потребителски пакети, допълващи официалните хранилища.

Arch User Repository хранилището осигурява обществото с пакети, които не са включени в официалните хранилища. Причините за това включват:
 От гледна точка на лицензиране: софтуер, който не може да бъде преразпространяван, но е безплатен за употреба, може да бъде включен в хранилището, тъй като всичко, което се съхранява от уебсайта на Arch Linux е скрипт, който да изтегли действителния софтуер от друго място. Пример за такъв вид лиценз са Google Earth и RealPlayer
 Модифицирани официални пакети: Arch User Repository съдържа много вариации на официални пакети, а също така и бета версии на софтуер, имащ стаблна версия в официално хранилище
 Рядко използван софтуер: някои нови или рядко използвани програми, които не се съдържат в официалните хранилища.
PKGBUILDs скриптове могат да бъдат допринасяни от обикновените потребители и за всеки такъв скрипт, който не е затворен поради политиката за съображение на Arch User Repository, може да се гласува да бъде включен в обществените хранилища.

Версии 
Arch Linux е дистрибуция ползваща rolling release модел за обновяване на системата, който се реализира с помощта на малки и чести ъпдейти. По този начин не се налага преинсталиране на системата за ъпгрейд към най-новата версия. С помощта на мениджъра на пакети pacman потребителят може да поддържа системата в актуално състояние, като за това е нужно единствено изпълняване на командата pacman -Syu.

Основни характеристики 
 Arch Linux е лек, семпъл и много бърз, като е подходящ и за по-стари компютри.
 Предлага изчистена основа, която може да бъде настроена и разширена по желание на потребителя. Потребителят сам решава какъв ще е Arch Linux.
 Arch Linux се стреми да бъде много близък до UNIX и да е в съответствие с принципа KISS.
 Предлага минимална среда по време на инсталация (без ГПИ). За конфигурация на системата по време на инсталация се ползва интерфейс с команден ред.
 Arch е опростена от техническа гледна точка, а не от към ползваемост на потребителския интерфейс.
 Предназначена е за опитни потребители на GNU/Linux.
 BSD стил на init скриптовете, като се използва един основен конфигурационен файл.
 Опростена портова система (Arch Build System) за създаване на инсталиращи пакети от изходен код.
 Много ефективна система за обновяване на пакети pacman и освен това yaourt, който е third-party script и работи с несъвместими пакети.
 Възможност за по-дълбоко научаване на Linux.

Източници

Външни препратки 
 Официален сайт
 Официално ArchWiki на български език
 Ръководство за нови потребители
  Интервю с Джъд Вине
 Информация в „Линукс за българи“
 Официален сайт на Evo/Lution
 Официален сайт на Antergos 

GNU/Linux дистрибуции
Свободен софтуер от 2002 година