If-Koubou

Как софтуерната инсталация и пакетните мениджъри работят върху Linux

Как софтуерната инсталация и пакетните мениджъри работят върху Linux (Как да)

Инсталирането на софтуер за Linux включва мениджъри на пакети и хранилища на софтуер, като не изтегляте и пускате .exe файлове от уеб сайтове като Windows. Ако сте нов в Linux, това може да изглежда като драматична промяна в културата.

Докато можете да компилирате и инсталирате всичко сами на Linux, мениджърите на пакети са предназначени да вършат цялата работа за вас. Използването на мениджър на пакети прави инсталирането и актуализирането на софтуера по-лесни, отколкото в Windows.

Linux срещу Windows

Има голямо разнообразие от Linux дистрибуции и голямо разнообразие от мениджъри на пакети. Linux е изграден от софтуер с отворен код, което означава, че всяка Linux дистрибуция съставя свой собствен софтуер с желаните библиотечни версии и опции за компилация. Компилацията на Linux приложения обикновено не се изпълнява на всяка дистрибуция - дори и да е възможно, инсталирането ще бъде възпрепятствано от конкуриращи се пакетни формати. Ако откриете уебсайт на Linux приложение, най-вероятно ще видите различни линкове за изтегляне за различни пакетни формати и Linux разпределения - при условие, че уебсайтът на приложението предоставя предварително компилирани версии. Приложението може да ви каже да изтеглите изходния код и да го компилирате сами.

Софтуерни хранилища

Потребителите на Linux обикновено не изтеглят и инсталират приложения от уебсайтовете на приложенията, както правят потребителите на Windows. Вместо това, всяка Linux дистрибуция е домакин на собствени софтуерни хранилища. Тези хранилища съдържат специално разработени софтуерни пакети за всяка дистрибуция и версия на Linux. Например, ако използвате Ubuntu 12.04, хранилищата, които използвате, съдържат пакети, специално компилирани за Ubuntu 12.04. Потребител на Fedora използва хранилище, пълна с пакети, специално компилирани за версията си на Fedora.

Пакетни мениджъри

Помислете за пакетен мениджър като магазин за мобилни приложения - освен че са били наблизо преди магазините за приложения. Кажете на мениджъра на пакети да инсталира софтуер и автоматично ще изтегли съответния пакет от конфигурираните софтуерни хранилища, ще го инсталира и ще го настрои - всичко това, без да се налага да кликвате през магьосници или да преследвате файлове .exe в уеб сайтове. Когато се пусне актуализация, вашият мениджър на пакети забелязва и изтегли съответната актуализация. За разлика от Windows, където всяко приложение трябва да има свой собствен актуализатор, за да получава автоматични актуализации, мениджърът на пакетите обработва актуализации за всички инсталирани софтуерни продукти, при условие че са инсталирани от софтуерните хранилища.

Какво представлява пакетът?

За разлика от Windows, където приложенията идват в .exe инсталационните файлове, които могат да правят каквото им харесва системата, Linux използва специални пакети. Има различни типове пакети - най-вече DEB на Debian и Ubuntu и RPM на Fedora, Red Hat и други. Тези пакети са по същество архиви, съдържащи списък с файлове. Мениджърът на пакети отваря архива и инсталира файловете на мястото, което пакетът определя. Мениджърът на пакети остава наясно кои файлове принадлежат на кои пакети - когато деинсталирате пакет, мениджърът на пакети знае точно кои файлове в системата принадлежат на него. Windows няма представа кои файлове принадлежат на инсталирано приложение - позволява на инсталаторите на приложения да управляват сами инсталирането и деинсталирането.

Пакетите могат да съдържат и скриптове, които се изпълняват, когато пакетът е инсталиран и премахнат, въпреки че те обикновено се използват за настройка на системата и не се преместват в произволни местоположения.

Инсталиране на софтуер на Linux

За да инсталирате софтуер на Linux, отворете мениджъра на пакетите, потърсете софтуера и кажете на мениджъра на пакетите да го инсталира. Вашият мениджър на пакети ще направи останалото. Linux дистрибуциите често предлагат различни интерфейси на мениджъра на пакети. Например в Ubuntu, софтуерен център Ubuntu, мениджър за актуализации, приложение Synaptic и команда apt-get всички използват apt-get и dpkg за изтегляне и инсталиране на DEB пакети. Можете да използвате всяка програма, която харесвате - те просто предоставят различни интерфейси. Обикновено ще намерите обикновен графичен мениджър на пакети в менютата на вашата Linux дистрибуция.

Актуализиране на закъсненията

Едно нещо, което новите потребители на Linux често забелязват с мениджърите и хранилищата на пакети, е забавяне, преди новите версии на софтуера да достигнат до своите системи. Например, когато бъде пусната нова версия на Mozilla Firefox, потребителите на Windows и Mac ще я придобият от Mozilla. На Linux, вашата Linux дистрибуция трябва да опакова новата версия и да я изтласка като актуализация. Ако отворите прозореца на предпочитанията на Firefox в Linux, ще забележите, че Firefox няма възможност автоматично да се актуализира (ако приемем, че използвате версията на Firefox от хранилищата на вашата Linux дистрибуция).

Можете също така да изтеглите и инсталирате приложението сами - например изтеглянето на Firefox директно от Mozilla - но това може да изисква компилиране и инсталиране на софтуера от източника и премахва предимствата на мениджърите на пакети като автоматични централизирани актуализации на защитата.

Въпреки че новите версии на Firefox са приоритет, защото съдържат актуализации за сигурност, други приложения може и да не се доставят толкова бързо. Например една голяма нова версия на офис пакета LibreOffice може да не бъде пусната като актуализация за текущата версия на вашата Linux дистрибуция. За да избегнете потенциална нестабилност и да дадете време за тестване, тази версия може да не е налична до следващото голямо издаване на вашата Linux дистрибуция - например Ubuntu 12.10 - когато стане основната версия в софтуерните хранилища на дистрибуцията.

За да разрешат този проблем, някои Linux дистрибуции, като Arch Linux, предлагат "подвижни цикли на освобождаване", където новите версии на софтуера се преместват в главните софтуерни хранилища. Това може да причини проблеми - макар че може да искате нови версии на настолни приложения, вероятно не ви е грижа за новите версии на системните комутатори на ниско ниво, които потенциално биха могли да доведат до нестабилност.

Ubuntu предлага хранилището на backports, за да донесе по-нови версии на значими пакети на по-стари дистрибуции, въпреки че не всички нови версии се превръщат в хранилището на backports.

Други хранилища

Докато Linux дистрибуциите се доставят със собствени хранилища предварително конфигурирани, можете да добавите и други хранилища към вашата система. Щом разполагате, можете да инсталирате хранилища на софтуер от това хранилище и да получавате актуализации от него, като използвате мениджъра на пакети. Редакторът, който добавите, трябва да бъде създаден за вашата Linux дистрибуция и мениджър на пакети.

Например, Ubuntu предлага голямо разнообразие от лични архиви на пакети (PPA), които съдържат софтуер, съставен от хора и отбори. Убунту не гарантира гаранция за стабилността или сигурността на пакетите в тези хранилища, но можете да добавите PPA от доверени лица, за да изтеглите пакети, които все още не са в хранилището на Ubuntu или да изтеглите по-нови версии на съществуващи пакети.

Някои приложения на трети страни използват и свои собствени хранилища за софтуер. Например, когато инсталирате Google Chrome в Ubuntu, той добавя свое собствено резервно хранилище към вашата система. Това гарантира, че получавате актуализации в Google Chrome чрез инструментите за актуализиране на Ubuntu и стандартните инструменти за инсталиране на софтуера.