Arch Linux

Arch Linux
Arch Linux с GNOME
РазработчикАарон Грифин и други
Издадена11 март 2002 г.
Вид ОСUnix-базирана
Вид ядроЛинукс (ядро), монолитно
АрхитектуриIA-32, x86-64 и ARM
ИнтерфейсBash
Мениджър на пакетиPacman
ЛицензСвободен софтуер (GNU General Public License и други)
Уебсайт[1]
Arch Linux в Общомедия

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

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

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

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

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

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

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

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

Управление на пакетите

[редактиране | редактиране на кода]

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

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

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

Към този момент съществуват следните официални базови двоични хранилища:[8]

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

В допълнение съществуват и тестови хранилища, съдържащи пакети в разработка за някои от основните хранилища. Към момента такива са:

  • testing – пакети за core и extra
  • community-testing – пакети за community
  • multilib-testing – пакети за multilib

Хранилищата staging и community-staging се използват при някои преизграждания, за да се избегнат повредени пакети.

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

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

Защита на хранилищата

[редактиране | редактиране на кода]

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

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

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

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

Потребителите могат да създават пакети съвместими с pacman чрез Arch Build System и персонализирани PKGBUILD скриптове.[20] Тази функционалност е помогнала за поддържането на 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.
  1. archlinux.org, Дискусия във форумът на Arch, език: Английски
  2. archlinux.org, Принципи, език: Английски
  3. polishlinux.org, Дистрибуция за напреднали[неработеща препратка], език: Английски
  4. archlinux.org, Инсталация през съществуваща дистрибуция, език: Английски
  5. Arch Linux: Why It Rocks // osnews.com, 21 март 2005. Посетен на 30 септември 2011.
  6. Schmitz, Pierre. Switching to xz compression for new packages // Archlinux.org, 23 март 2010. Архивиран от оригинала на 28 март 2010. Посетен на 23 март 2010.
  7. pacman – ArchWiki // Wiki.archlinux.org. Посетен на 25 март 2014.
  8. Official Repositories // wiki.archlinux.org. Посетен на 23 ноември 2012.
  9. Arch Linux Newsletter 08-04-2008 // Archlinux.org, 4 август 2008. Посетен на 19 октомври 2009.
  10. Pacman NEWS file as of 4.0.0 // Посетен на 14 октомври 2011.
  11. FS#5331 – Signed packages // Посетен на 7 август 2011.
  12. Attacks on Package Managers // cs.arizona.edu, 10 юли 2008. Архивиран от оригинала на 2010-09-05. Посетен на 14 септември 2010.
  13. McRae, Allan. Pacman Package Signing – 4: Arch Linux // 17 декември 2011. Посетен на 29 февруари 2012.
  14. Having pacman verify packages // Gaetan Bisson, 4 юни 2012. Посетен на 4 юни 2012.
  15. Install media 2012.07.15 released // archlinux.org, 22 юли 2012. Посетен на 13 август 2012.
  16. Arch Build System // wiki.archlinux.org. Посетен на 19 октомври 2009.
  17. Makepkg // wiki.archlinux.org. Посетен на 15 февруари 2013.
  18. ((en)) AUR – Home // Aur.archlinux.org. Посетен на 5 февруари 2014.
  19. Arch Linux: Popular KISS distro – Interview – Part II // Hardware.no. Посетен на 19 октомври 2009.
  20. Using the Arch Build System // library.linode.com, 8 септември 2011. Посетен на 30 септември 2011.
  Тази страница частично или изцяло представлява превод на страницата Arch_Linux в Уикипедия на английски. Оригиналният текст, както и този превод, са защитени от Лиценза „Криейтив Комънс – Признание – Споделяне на споделеното“, а за съдържание, създадено преди юни 2009 година – от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница, за да видите списъка на съавторите. ​

ВАЖНО: Този шаблон се отнася единствено до авторските права върху съдържанието на статията. Добавянето му не отменя изискването да се посочват конкретни източници на твърденията, които да бъдат благонадеждни.​