Portal:Български/Управление на софтуерните пакети

Jump to: navigation, search
Всички Дистрибуции на Linux, включително и OpenSuse, се състоят от набор програми, представени в пакетен формат, и необходимите инструменти за управление на този комплекс.

Обзор

Packagemanagement.png

Системата за управление на пакети е колекция от инструменти, които предоставят последователен метод за инсталиране, обновяване и премахване на софтуер на вашата система.Линукс дистрибуцийте, включително и OpenSuse, обикновено се състоят от хиляди отделни софтуерни пакети.

Софтуерът се разпространява чрез пакети с приложени към тях метаданни, които осигуряват нужната допълнителна информация като: описание на пакета, списъкът с зависимости , необходим за нормалната работа на програмата и др..Пакетите се съхраняват в хранилища,например местни (CD, DVD или твърд диск) или мрежови. След като ги инсталирате метаданните се съхраняват в локална база данни и се използват за търсене на софтуерни пакети.

Libzypp - това е новата система за управление на пакети в openSUSE-посредством YaST Software Management работи с графичен потребителски интерфейс, а посредством Zypper от командния ред.


Пакети

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

Пакетът е интегриран правилно само в дистрибутивът, върху който е построен,тоест-въведени са инсталационните пътеки,решени са зависимостите от други програми, десктоп средата, скриптовете за сървъри и т.н.По тази причина, трябва винаги да инсталирате само пакети, които са настроени за дистрибуцията, която използвате, включително точната версия на дистрибуцията (например-11.1). Принципно,никога не инсталирайте пакети предназначени за Fedora или друго дистро на OpenSUSE,дори инсталацията на пакети за OpenSUSE 11.1 върху OpenSUSE 11.2 е непрепоръчителна (макар че понякога е възможна).

Метаданни

Пакетът съдържа и допълнителна информация, често посочвана като Метаданни, които съдържат:

  • анота̀ция,
  • описание,
  • списък с файловете съдържащи се в пакета,
  • версията на софтуера, както и на пакета,
  • кога, къде и от кого е изграден пакета,
  • за каква архитектура е предназначен той,
  • контролните суми в файловете на пакета,
  • под какъв лиценз е софтуера,
  • сведения за зависимости от други пакети,
  • и т.н.

Зависимости между пакетите

Важна функция на пакетите е взаимовръзката между приложенията. Приложенията изискват за своята нормална работа връзки към файлове от други пакети, както и среда за изпълнение (други инструменти, библиотеки и т.н.) необходими, да стартирате приложението.Управлението на зависимостите се използва за избягване на конфликтите и контрол на връзките между пакетите.

Например, пакетът А изисква да са инсталирани пакетите Б, В, Г за да работи коректно.

  • Пакетните зависимости са транзитивни, което означава, че когато пакетът A се нуждае от пакет Б, и пакетът Б се нуждае от пакет C,следователно и на пакет А също му трябва пакета C, заради това понякога може да се окажете с нужда от много пакети, за да се инсталира само едно приложение.
  • Почти всяко едно приложение зависи от набор от няколко библиотечни пакети (обикновено пакети с име, което започва с "lib").

Пакетите и техните зависимости са много важни аспекти на Линукс дистрибуцийте (както и на BSD и UNIX системите), тъй като те осигуряват модулен подход за да се създаде и управлява операционната система и нейните приложения.Това е характерно особено за библиотечни пакети.Например, пакета openssl съдържа криптографски библиотеки, които са използвани от много приложения и други библиотеки (например за SSL криптиране).Когато излезе нова, подобрена версия на openssl, всички приложения, които го използват, ще се възползват от новите възможности в него само чрез обновяването на един единствен пакет до по-нова версия.

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


Формат на пакетите

В света на Linux дистрибуцийте,софтуерът се разпространява най често в един от трите вида формати: .

  • tgz (tar gzip files) това са основно архиви с изходен код. Те може да съдържат всичко което разработчика на пакета счита за полезно. Освен формата на самия архив, необходим за да извлечете(разархивирате) файловете, няма нищо стандартизирано за съдържанието и структурата на един файл TGZ.Този тип файлове трябва предварително да се подготвят, за да стартирате софтуера.
  • rpm (RPM Package Manager) това са предварително компилирани архиви.Форматът е създаден от Red Hat Linux и стандартизиран от LSB ,и се използва от много Linux дистрибуции като система за пакетиране и до днешни дни, включително и в OpenSuse.
  • deb (Debian) това също са предварително компилирани архиви,които се използват в Debian и базираните на него системи.

Форматите на архивите нямат система за автоконтрол на необходимите зависимости, а просто ще съобщят всеки срещнат проблем на потребителя, като ще оставят на него да реши какво да прави.

"Например, ако искате да инсталирате RPM пакет A, който има зависимост от RPM пакет" "Б" ", RPM няма да инсталира автоматично пакет B, а само ще ви извести, че се нуждае от пакет B и ще спре процеса на инсталация. Потребителя ще трябва ръчно да инсталира пакета B и чак след това пакет A.Ако това ви се струва лесно- представете си че пакет B може да има зависимост от пакетите C и D а пакет "" D "" има зависимости към пакет E и така нататък и така нататък. В крайна сметка би се наложило ръчно да се издирват пакетни зависимости-като определяне на всички клонове на огромно дърво."

Програма за управление на пакетите (Package manager)

При съвременните дистрибуции като OpenSuse, инсталирането на софтуер се извършва посредством програма за управление на пакетите.Това е пакет мениджър, който работи на върха на RPM, получава софтуерни пакети от хранилищата на софтуер, решава автоматично зависимостите, и инсталира програмите на системата ви.Програмата за управление на пакетите отговаря също за премахването и обновяването на пакетите. (Броят на наличните пакети за инсталиране зависи и от броя хранилища, които сте добавили).

В OpenSUSE пакет-мениджъра е модул към YaST YaST Software Management,както и модул за командния ред Zypper , въпреки че в дистрибутива се съдържат и други инструменти за управление на пакети. Някои от тях работят само с RPM, други покриват по-широк спектър от възможности.

Хранилища на пакети

Преди пакетите да бъдат инсталирани, те трябва да бъдат на разположение в хранилищата на софтуерни пакети, на физически носители като CD, DVD или онлайн чрез интернет.

хранилищата на пакети за OpenSuse включват:

  • Официалните хранилища на софтуерни пакети включват добре тествани и проверени пакети.
  • Допълнителни хранилища,като Packman и Build Service. Те осигуряват различни допълнителни пакети, някои от които са по-нови версии, или не могат да бъдат включени в openSUSE поради лицензиони-правни причини,(това са безплатни но несвободни пакети).Тези пакети са по-ограничено тестване от официалните.

Вижте също


Външни препратки