Как работят инсталационните програми и мениджърите на пакети в Linux
Инсталирането на софтуер в Linux включва мениджъри на пакети и софтуерни хранилища, а не изтегляне и стартиране на .exe файлове от сайтове като в Windows. Ако сте нов в Linux, това може да изглежда като драматична смяна на културата.
Въпреки че можете сами да компилирате и инсталирате всичко на Linux, пакетните мениджъри са проектирани да извършват цялата работа за вас. Използването на пакетни мениджъри прави инсталирането и актуализирането на софтуера по-лесно, отколкото при Windows.
Linux срещу Windows
Има голямо разнообразие от дистрибуции на 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, отворете мениджъра на пакети, потърсете софтуера и кажете на мениджъра на пакети да го инсталира. Вашият мениджър на пакети ще направи останалото. Линукс дистрибуциите често предлагат различни фронтеди на мениджъра на пакети. Например в Ubuntu, Софтуерния център на Ubuntu, Update Manager, 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), които съдържат софтуер, съставен от отделни лица и екипи. Ubuntu не гарантира за стабилността или сигурността на пакетите в тези хранилища, но можете да добавите PPA от доверени лица, за да изтеглите пакети, които все още не са в хранилището на Ubuntu - или да изтеглите по-нови версии на съществуващи пакети..
Някои приложения на трети страни използват и собствени софтуерни хранилища. Например, когато инсталирате Google Chrome в Ubuntu, той добавя собствено хранилище в ап. Това гарантира получаването на актуализации за Google Chrome чрез Ubuntu Update Manager и стандартни инструменти за инсталиране на софтуер.