facebook LinkedIn
Google Book Search
Прегледи

Разпространение на софтуер в Линукс. Дистрибуции. Инсталиране и обновяване

от Курс за ССОК

Лекцията запознава читателя с начините за разпространяване на софтуер в Линукс и разликите между отделните дистрибуции.

Съдържание

Как се разпространява софтуер в Линукс

Всички програми в една Линукс дистрибуция са достъпни във вид на файлове, които могат да се инсталират, т.нар. пакети. Пакетите представляват архиви съдържащи софтуер, документация или други файлове, които ще бъдат инсталирани и служебна информация, която се използва от програмите за инсталация/премахване на пакетите. За разлика от други ОС пакетите представляват файл с данни, а не изпълним файл. Операциите по инсталиране, премахване, обновяване и др. се изпълняват от системни програми по един и същ начин за всички пакети.

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

Процесът на създаване, разпространение и инсталиране на софтуер протича в следните стъпки:

  • Задачи за програмиста на приложението
    • Писане на кода на програмата
    • Компилиране на кода и създаване на изпълнима програма
    • Определяне на файловете, които са нужни за правилна работа на програмата - изпълним файл, конфигурационен файл, файлове с данни
    • Пакетиране на горните файлове в пакет за инсталация
    • Публикуване на пакета в Интернет - на сайта на проекта, в хранилищата на дистрибуциите и т.н.
  • Задачи за администратора на системата
    • Определяне на приложението, което ни е необходимо - име, име на пакета, хранилище и т.н.
    • Стартиране на програма за инсталация на пакета. Трябва да свалим пакета от Интернет, ако програмата неможе да го направи автоматично (или пакета не се намира в хранилището).

Разлики между дистрибуциите

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

Най-големи са разликите в идеологията зад дистрибуцията. Дали ще разпространява само софтуер с отворен код или всякакъв софтуер за Линукс. Големите дистрибуции използват само софтуер с отворен код, но поддържат и допълнителни хранилища с комерсиален софтуер за Линукс. Използването им обаче трябва да се конфигурира ръчно.

Според формата на пакетите дистрибуциите се делят на два основни вида. Използващи rpm или .deb пакети. По-долу ще разгледаме само rpm формата, т.к. той се използва в дистрибуцията Федора.

Инсталиране, премахване и обновяване на програми

За да инсталирате програма е необходимо да знаете името на пакета и. В повечето случаи това име съвпада с името на програмата. Пр. openoffice.org-impress е името на пакета на програмата за презентации Impress от офис пакета OpenOffice.org. Можете да извършвате търсене по име/ключови думи чрез програмата за управление на пекети или от уеб сайта на вашата дистрибуция. За Федора това е https://admin.fedoraproject.org/pkgdb

Инсталиране чрез графична програма

В съвременните дистрибуции е налична графичната програма за управление на пакети PackageKit. gnome-packagekit е името на пакета, който предоставя интеграция на тази програма с работната среда GNOME.

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

Използването на PackageKit в графичен режим е интуитивно. Можете да разгледате страницата с прихванати екрани за повече информация: http://www.packagekit.org/pk-screenshots.html

Инсталиране в текстов режим

PackageKit е наличен и в текстов режим, но няма да се спираме на него. Ако работите на Линукс дистрибуции използващи различни формати за пакети е полезно да изучите командите на PackageKit в текстов режим - това ще ви помогне по-лесно да администрирате няколко различни системи.

Федора и много други популярни дистрибуции използват пакетния формат rpm. Yum е помощна програма, работеща съвместо с rpm. Т.к. много от програмите зависят (имат нужда) от други програми или програмни библиотеки те трябва да бъдат инсталирани заедно, за да функционират. rpm неможе да се справи с този проблем и затова на помощ идва yum. Ще разгледаме някои от основните команди за работа в текстов режим.

За инсталиране използваме командата yum install <име_на_пакет>. Тя ще се свърже с хранилището, ще провери дали има пакет с даденото име, ще определи дали е необходимо да се инсталират допълнителни пакети, за да функционира програмата правилно и ще изкара списък с имената на тези пакети на екрана. След натискането на "y" (yes), yum ще свали от Интернет пакетите и ще ги инсталира един по един.

Ако желаем да инсталираме програма, която не е налична в хранилището трябва да свалим rpm файла от Интернет и след това: yum localinstall <име_на_файл>.rpm. Тази команда инструктира yum да инсталира сваления файл като провери зависимостите и потърси в хранилищата всички необходими допълнителни пакети. Процеса протича по същия начин както при инсталиране на пакети директно от хранилището.

Премахването на вече ненужна програма става по подобен начин: yum remove <име_на_пакет>. Ако имате достатъчно място на диска на компютъра и инсталираните програми не са в конфликт с програми, които искате да инсталирате (обикновено не са), то тогава не премахвайте ненужните програми, а просто не ги използвайте.

Обновяването става с yum update <име_на_пакет>. Ако пропуснете името на пакета yum ще обнови всички инсталирани пакети, за които е налична по-нова версия.

Важно
Инсталиране, обновяване и премахване на пакети (т.е. операции които ще променят компютърната конфигурация) се извършва винаги като root. Търсене, информация за пакет, листинг на файловете и др. операции, които нямат ефект върху компютърната конфигурация обикновено могат да се извършват като обикновен потребител.

Повече за yum може да намерите на: http://fedoraproject.org/wiki/Docs/Drafts/SoftwareManagementGuide

Информация за rpm и полезни команди можете да намерите на: http://docs.fedoraproject.org/drafts/rpm-guide-en/index.html

Упражнения

Задача : Да се определи кои файлове влизат в състава на даден пакет, който е инсталиран.

Решение: Използваме командата rpm -ql <име-на-пакет>, за да изведем списък с файловете на пакета.

$ rpm -ql firefox
/usr/bin/firefox
/usr/lib/firefox-3.0.5
/usr/lib/firefox-3.0.5/.autoreg
/usr/lib/firefox-3.0.5/LICENSE
/usr/lib/firefox-3.0.5/README.txt
/usr/lib/firefox-3.0.5/application.ini
/usr/lib/firefox-3.0.5/blocklist.xml
.....

Задача: Да се определи даден файл от кой пакет е.

Решение: Използваме rpm -qf <път-до-файл>

$ rpm -qf /usr/bin/firefox 
firefox-3.0.5-1.el5_2

Задача: Извеждане на информация за даден пакет

Решение: Използваме rpm -qi <име-на-пакет> или yum info <име-на-пакет>

$ rpm -qi firefox
Name        : firefox                      Relocations: (not relocatable)
Version     : 3.0.5                             Vendor: Red Hat, Inc.
Release     : 1.el5_2                       Build Date: Tue 09 Dec 2008 05:14:27 PM EET
Install Date: Tue 30 Dec 2008 03:00:05 PM EET      Build Host: hs20-bc1-7.build.redhat.com
Group       : Applications/Internet         Source RPM: firefox- 3.0.5-1.el5_2.src.rpm
Size        : 15046479                         License: MPLv1.1 or GPLv2+ or  LGPLv2+
Signature   : (none)
Packager    : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
URL         : http://www.mozilla.org/projects/firefox/
Summary     : Mozilla Firefox Web browser.
Description :
Mozilla Firefox is an open-source web browser, designed for standards
compliance, performance and portability.

Задача: Търсене на пакет

Решение: Използваме yum search <ключова-дума>. Пр. за да потърсим програма уеб браузър може да пробваме: yum search browser

Локални линукс групи RSS
Дискусии