Arch Linux

от Уикипедия, свободната енциклопедия
Направо към: навигация, търсене
Arch Linux
Archlogo.png
Arch Linux 2014.png
Arch Linux с Gnome Desktop
Информация
Компания / Разработчик Аарон Грифин и други
Издадена на 11 март 2002 г.
Вид ОС Unix-базирана
Вид ядро Линукс (ядро), монолитно
Архитектури IA-32, x86-64 и ARM
Интерфейс Bash
Мениджър на пакети Pacman
Лиценз Свободен софтуер (GNU General Public License и други)
Уебсайт https://www.archlinux.org/
Arch Linux в Общомедия

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

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

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

Дизайн и принципи[редактиране | редактиране на кода]

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

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

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

Инсталация[редактиране | редактиране на кода]

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

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

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

Управление на пакетите[редактиране | редактиране на кода]

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

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

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

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

Хранилища (Repositories)[редактиране | редактиране на кода]

Към този момент съществуват следните официални базови двоични хранилища:[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 Build System (ABS)[редактиране | редактиране на кода]

Системата на Arch за комплектоване на пакети (Аrch 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)[редактиране | редактиране на кода]

В допълнение към съществуващите, хранилището 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, 2005-03-21. Посетен на 2011-09-30.
  6. Schmitz, Pierre. Switching to xz compression for new packages. // Archlinux.org, 2010-03-23. Архив на оригинала от 28 March 2010. Посетен на 2010-03-23.
  7. pacman - ArchWiki. // Wiki.archlinux.org. Посетен на 2014-03-25.
  8. Official Repositories. // wiki.archlinux.org. Посетен на 2012-11-23.
  9. Arch Linux Newsletter 08-04-2008. // Archlinux.org, 2008-08-04. Посетен на 2009-10-19.
  10. Pacman NEWS file as of 4.0.0. // Посетен на 2011-10-14.
  11. FS#5331 - Signed packages. // Посетен на 2011-08-07.
  12. Attacks on Package Managers. // cs.arizona.edu, 2008-07-10. Архив на оригинала от 2010-09-05. Посетен на 2010-09-14.
  13. McRae, Allan. Pacman Package Signing – 4: Arch Linux. // 2011-12-17. Посетен на 2012-02-29.
  14. Having pacman verify packages. // Gaetan Bisson, 2012-06-04. Посетен на 2012-06-04.
  15. Install media 2012.07.15 released. // archlinux.org, 2012-07-22. Посетен на 2012-08-13.
  16. Arch Build System. // wiki.archlinux.org. Посетен на 2009-10-19.
  17. Makepkg. // wiki.archlinux.org. Посетен на 2013-02-15.
  18. AUR (en) - Home. // Aur.archlinux.org. Посетен на 2014-02-05.
  19. Arch Linux: Popular KISS distro – Interview – Part II. // Hardware.no. Посетен на 2009-10-19.
  20. Using the Arch Build System. // library.linode.com, 2011-09-08. Посетен на 2011-09-30.

Външни препратки[редактиране | редактиране на кода]

Криейтив Комънс - Признание - Споделяне на споделеното Лиценз за свободна документация на ГНУ Тази страница частично или изцяло представлява превод на страницата „Arch_Linux“ в Уикипедия на английски. Оригиналният текст, както и този превод, са защитени от Лиценза „Криейтив Комънс - Признание - Споделяне на споделеното“, а за съдържание, създадено преди юни 2009 година — от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница. Вижте източниците на оригиналната статия, състоянието ѝ при превода, и списъка на съавторите.