Инсталиране на програми в Linux

Тук е обяснено как се инсталират и настройват програми под Linux.

Модератори: Freya, Kulu Ngile

Инсталиране на програми в Linux

Мнениеот phantomlord » Нед 11, Юни, 2006 17:27

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

I.Инсталиране на софтуер от изходен код (source code). Този метод е еднакъв за всички дистрибуции, но не го препоръчвам, защото при него е необходимо ръчно разрешаване на зависимостите. Това означава, че е много вероятно преди да инсталирате желаното приложение, да ви се наложи да инсталирате още няколко преди това. Инсталирането (компилиране) на програми от изходен код се състои в следното:

1.Сваля се архив, в който е компресиран изходният код. Трябва да се разархивира. Това става чрез наличният графичен инструмент в дистрибуцията или през конзола, като се въведат слените команди:
Код за потвърждение: Избери целия код
tar -zxvf imeto_na_arhiva.tar.gz

за архиви *.tar.gz

или:

Код за потвърждение: Избери целия код
tar jxvf imeto_na_arhiva.tar.bz2

за архиви *.tar.bz2

2.След това ще се създаде нова директория, където е разархивиран кода, в която трябва да влезете. Там трябва да намерите и прочетете текстовите файлове README и INSTALL, защото в тях е налична полезна информация какво ви е необходимо да имате за да извършите инсталацията и как точно да я направите. Най-често се изпълняват следните стъпки:

Код за потвърждение: Избери целия код
cd /път_до/папката_където_е_разархивиран_кода
./configure
make
su
паролата на root
make install


След ./configure понякога е необходимо изписването на опции, които да се изпълнят при компилирането, като например:

Код за потвърждение: Избери целия код
./configure --with-kde

Код за потвърждение: Избери целия код
./configure --enable-gui


Дали и какви опции трябва да се посочат пише именно във файловете README и INSTALL.

За осъществяване на компилирането първо са ви необходими компилатори: gcc, g++, както и пакета make.
Ако нещо ви липсва, компилирането няма да се извърши, но ще се изпише какво пречи за това.
Друг недостатък на компилирането от изходен код, освен ръчното разрешаване на зависимости е и дългото време на процеса.

II.Инсталиране на програми от прекомпилирани пакети.
Разпространени са предимно два вида пакетни системи: RPM и DPKG.

1.RPM - RPM Package Manager, първоначално се е наричала Red Hat Package Manager, защото е създадена от Red Hat, но сега се използва от много други дистрибуции – Red Hat, Fedora, SuSE, Mandriva... Пакетите са с разширение *.rpm и се инсталират по следните начини:
Код за потвърждение: Избери целия код
rpm -i име_на_пакета.rpm


или:

Код за потвърждение: Избери целия код
rpm -Uhv име_на_пакета.rpm


И двата начина ще доведат до инсталиране на пакета. Разликата е, че втория начин включва и опциите:

-U (--upgrade) – подновяване.
-h (--hash) – да се показва процеса на инсталиране.
-v (--verbose) – да се изведе текстово описание по време на инсталирането.

За повече информация:
Код за потвърждение: Избери целия код
man rpm


Де-инсталирането на пакети се извършва чрез:
Код за потвърждение: Избери целия код
rpm -e име_на_приложението


Пакети могат да се инсталират и директно от интернет, през ftp.

Пример:
Код за потвърждение: Избери целия код
rpm -i ftp://ftp.redhat.com/pub/redhat/rh-2.0-beta/RPMS/foobar-1.0-1.i386.rpm


2.DPKG е пакетна система използвана от Debian и базираните на нея дистрибуции: (K)Ubuntu, Mepis, Tilix, Damn Small, Knoppix... Използват се пакети с разширение *.deb и се инсталират така:

Код за потвърждение: Избери целия код
dpkg -i името_на_пакета.deb


Де-инсталирането се извършва така:

Код за потвърждение: Избери целия код
dpkg -r името_на_пакета.deb


или:

Код за потвърждение: Избери целия код
dpkg -P името_на_пакета.deb


Разликата между двете е, че при първия вариант (--remove), приложението се де-инсталира, но се запазват конфигурационните му файлове, докато при втория вариант (--purge) се трият и те.

Допълнителна информация:

Код за потвърждение: Избери целия код
man dpkg


При посочените по-горе начини не се разрешават автоматично зависимостите и това остава ваша задача.

III.Инсталиране на програми чрез автоматично разрешаване на зависимостите.

1.При Debian базираните системи. Използва се инструмента apt-get. Чрез него се изтеглят желаните пакети от интернет, заедно с техните зависимости и се инсталират.
Пример:

Код за потвърждение: Избери целия код
apt-get install име_на_пакета


За да видите дали желаното приложение е налично в хранилищата на Debian и какво е точното му име, напишете:

Код за потвърждение: Избери целия код
apt-cache search име_на_приложението


Преди да използвате apt-get, трябва да имате файл с налични в него хранилища /etc/apt/sources.list
Според мен следните хранилища трябва задължително да ги имате:

deb ftp://ftp.bg.debian.org/debian/ stable main contrib non-free
deb ftp://ftp.bg.debian.org/debian/ testing main contrib non-free
#deb ftp://ftp.bg.debian.org/debian/ unstable main contrib non-free

deb-src ftp://ftp.bg.debian.org/debian/ stable main contrib non-free
deb-src ftp://ftp.bg.debian.org/debian/ testing main contrib non-free
#deb-src ftp://ftp.bg.debian.org/debian/ unstable main contrib non-free

deb http://security.debian.org/ stable/updates main contrib non-free
deb http://security.debian.org/ testing/updates main contrib non-free

deb ftp://ftp.uni-sofia.bg/debian-addons-bg/ ./

deb ftp://debian.ludost.net/debian-non-US/ stable/non-US main contrib non-free
deb ftp://debian.ludost.net/debian-non-US/ testing/non-US main contrib non-free
#deb ftp://debian.ludost.net/debian-non-US/ unstable/non-US main contrib non-free

deb ftp://debian.ludost.net/debian/ proposed-updates main contrib non-free
deb ftp://debian.ludost.net/debian/ testing-proposed-updates main contrib non-free

deb ftp://ftp.logos-bg.net/debian-addons-bg/ ./
deb-src ftp://ftp.logos-bg.net/debian-addons-bg/ ./


Нарочно съм коментирал (когато се постави # пред даден ред, той се коментира и се пропуска) unstable хранилищата, защото ако сте начинаещ може да си имате проблеми с тях. Използвайте ги на свой риск.

Редактирането на /etc/apt/sources.list се извършва чрез текстови редактор. Аз съм свикнал да използвам gedit така:
Код за потвърждение: Избери целия код
gedit /etc/apt/sources.list


Вместо gedit можете да използвате каквото имате и с каквото сте свикнали: kwrite, kate, kedit, nano, vim...

След промяна на /etc/apt/sources.list е необходимо да запишете промените и да изпълните:
Код за потвърждение: Избери целия код
apt-get update


Пакетите за Debian не са съвместими с Ubuntu и там има различни хранилища. След инсталацията е необходимо да редактирате /etc/apt/sources.list, като махнете # пред всеки ред започващ с deb.
Хубаво е да замените и наличните там по подразбиране хранилища с българското: http://ubuntu.ipacct.com/

Още информация за apt-get.
Synaptic е графична обвивка на apt-get и ще ви бъде много полезен инструмент.

2.При SuSE, когато искате да инсталирате даден rpm пакет чрез YaST, ако зависимостите са налични на някой от дисковете, ще бъдат инсталирани от там. В SuSE също могат да се добавят apt-get и Synaptic. Тук пише как. Тук има списък с актуални хранилища. Вижте секцията: „The Advanced Package Tool Configuration“.

3.Инструмента в Mandriva за сваляне и инсталиране на програми от интернет и автоматично разрешаване на зависимостите се нарича urpmi. Подробна информация: тук и тук.

4.Във Fedora се използва yum. Информация тук, тук и тук. Още инфо за Fedora.

5. В Gentoo се използва системата Portage най-често чрез инструмента emerge. Допълнителна информация за тях можете да намерите тук.

6.Slackware based OS*
За работа (инсталиране, деинсталиране, обновяване) с пакети при Slackware базирани дистрибуции може да се използва:

1). Pkgtool - е инструмент за инсталиране и деинсталиране на пакети*. Освен това с него могат да се видят текущите инсталирани пакети на системата, да се избере път откъдето могат да бъдат инсталирани пакети ( текуща директория, друга директория,дискета ) и да се инсталира даден пакет повторно ( използва се в случаи, когато инсталацията на даден пакет е "пропаднала" поради някакви причини ... )
2). Installpkg/Removepkg/Upgradepkg - вградени инструменти за инсталиране, деинсталиране и съответно актуализиране на дадено приложение
За извършване на дадена процедура с пакет с права на супер потребител се стартира съответния инструмент:
Код за потвърждение: Избери целия код
 installpkg пакет.tgz
зададено в директорията където се намира пакета или
Код за потвърждение: Избери целия код
 installpkg път_до_пакета/пакет.tgz
указва се точното местоположение на пакета
- Makepkg, Explodepkg. С makepkg се създават Slackware съвместими пакети. Инструментът използва файловете, намиращи се в текущата директория. С explodepkg се извлича съдържанието на даден Slackware съвместим пакет в текущата директория
- Rpm2targz,Rpm2tgz - са инструменти за преработване на rpm пакети съответно в пакети с разширение .tar.gz и .tgz , като последният след това лесно може да бъде инсталиран с помощта на някой вграден инструмент в Slackware базираните дистрибуции или с помощта на отделно приложение за тази цел **
3). ** Допълнителни приложения за работа с пакети - тъй като са прекалено много може условно да ги разделим на 2 категории: GUI tools - такива, които работят в графична среда и Console tools - такива,които работят в текстова среда
- GUI tools : kpackage ( вграденият в KDE мениджър за работа с пакети,предлага възможност и за управление на .rpm пакети ); xpkgtool (графична алтернатива на pkgtool ); slapt-gui; slackgrade и др.
- Console tools: swaret; slackpkg; slapt-get и др.

~~~
* Както знаем в наименованието на даден пакет се крие име_на_пакета-версия-архитектура-ревизия.разширение
Пример: slapt-get-0.9.11d-i386-1.tgz - това е готов пакет за Slackware базирани дистрибуции ; име на пакета:slapt-get , версия:0.9.11d , предназначен за i386 архитектура,издание:1 , файлово разширение: .tgz

За потребителите ползващи sudo и забранили root login-а на системата при стартиране на някое приложение за работа с пакети (и по принцип за приложения, изискващи правата на супер потребителя) се указва пътя до съответното приложение
Пример:
Код за потвърждение: Избери целия код
 sudo /sbin/installpkg пакет.tgz


------

Засега това е всичко. Ще има още. Само имайте в предвид, че при инсталиране на програми и редактиране на конфигурационни файлове трябва да имате правата на root. За да ги получите, напишете в конзолата:
Код за потвърждение: Избери целия код
su
паролата на root

Не се стряскайте, ако докато пишете паролата, нищо не ви се показва. Това не означава, че нищо не пишете.

--------------
*Автор - quintessence
Последна промяна phantomlord на Съб 17, Юни, 2006 20:32, променена общо 2 пъти
Hear the cry of War
Louder than before
With his sword in hand
to control the land
Crushing metal strikes
on this frightening night
Fall onto your knees
For the Phantom Lord
Аватар
phantomlord
Шеф
 
Мнения: 1517
Регистриран на: Пет 03, Мар, 2006 1:16
Местоположение: София

ацтуални хранилища за убунту (ubuntu)

Мнениеот miroa » Пет 12, Дек, 2008 18:33

Много хубава статия. Много ми хареса. Само бих искал ако някой има актуални хранилища за убунту да ги постни тука. Слагах няколко които намирах в нета, но ми дават много грешки, не се ъпдейтват, явно са стари.
Аватар
miroa
Участник
 
Мнения: 163
Регистриран на: Пон 08, Дек, 2008 20:36

Мнениеот phantomlord » Пет 12, Дек, 2008 20:47

Можеш да вземеш някое от тук: http://www.linux-bg.org/forum/index.php?topic=15721.15
Обаче трябва да го редактираш. Примерно гледай адреса на сървъра да е:
http://ubuntu.linux-bg.org/ubuntu
А където пише версията на Ubuntu-то я промени на твоята, ако е необходимо.

В случая променяш feisty с твоята версия.
Hear the cry of War
Louder than before
With his sword in hand
to control the land
Crushing metal strikes
on this frightening night
Fall onto your knees
For the Phantom Lord
Аватар
phantomlord
Шеф
 
Мнения: 1517
Регистриран на: Пет 03, Мар, 2006 1:16
Местоположение: София

Мнениеот Karlito77 » Пет 27, Ное, 2009 15:58

Izvinetekade da napish tozi kod
Karlito77
Участник
 
Мнения: 5
Регистриран на: Пет 27, Ное, 2009 13:37

Мнениеот phantomlord » Пет 27, Ное, 2009 17:23

Кой код? С кое дистро си?
Пиши на кирилица!
Hear the cry of War
Louder than before
With his sword in hand
to control the land
Crushing metal strikes
on this frightening night
Fall onto your knees
For the Phantom Lord
Аватар
phantomlord
Шеф
 
Мнения: 1517
Регистриран на: Пет 03, Мар, 2006 1:16
Местоположение: София

Мнениеот Joro82 » Чет 27, Окт, 2011 22:32

Zdraveite, izvinqvam se 4e pi6a na 6liokavica no imam edin problem sas Slackware 13.37. Opitvam se da instaliram edin Skype , no uvi ne6to ne uviram
Razarhiviram arhiva koito e .bz2, i posle kato iskam da stigna do neq za da posledva ./configure izpisva tova :slackware@slackware:~$ cd /home/skype
sh: cd: /home/skype: No such file or directory.Papkata e v home direktoriqta no komandata tova pokazva. Kak da sitgna do papkata kadeto e skype? Papkata e preimenuvana samo na skype za da nqma gre6ki, no uvi ne q otkrivam s komandata. *help*
Колкото повече преоткривам Linux, толкова повече осъзнавам колко малко знам....
Joro82
Участник
 
Мнения: 43
Регистриран на: Съб 10, Юни, 2006 3:23

Мнениеот aleximilian » Чет 27, Окт, 2011 23:33

Joro82 написа:slackware@slackware:~$ cd /home/skype

Да не би да си изпускаш username? Пример:
Код за потвърждение: Избери целия код
cd /home/Joro82/skype

Ако не е това дай изхода от
Код за потвърждение: Избери целия код
find / -name sky*


И между другото защо трябва да го инсталираш този скайп, след като има статична версия, която не е нужно да я инсталираш? Като допълнение решил ли си зависимостите за да го инсталираш скайпа, защото в противен случаи ще влезнеш в нещо като латиноамерикански сериал. :)
[center]БЪЛГАРИЯ[/center]

Малко филмче

Неволи

# apt-get remove --purge windows
Аватар
aleximilian
Участник
 
Мнения: 112
Регистриран на: Сря 11, Фев, 2009 3:07


Назад към Инсталиране и работа с приложения

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 госта

cron