Работа с мениджъра на пакети YUM - 2 Част.
#1
YUM (Yellowdog Updater Modified) - е администратор на софтуер или (software package manager) от командният ред, написан на python, който служи за управление на пакети RPM (RedHat Package Manager), което ще рече, че позволява дa инсталирате, обновявате и поддържате пакети в системи, базирани на RedHat линукс.

[1] Показва само активираните хранилища.

Код:
[root@localhost ~]# yum repolist

[2] Показва всички хранилища.

Код:
[root@localhost ~]# yum repolist all

[3] Инсталиране на пакет от забранено хранили-ще.

Код:
[root@localhost ~]# yum --enablerepo=epel install nmap

[4] Стартирайте Yum команди с помощта на шел.

Код:
[root@localhost ~]# yum shell

След това въведете команда по избор, пример със получаване на информация относно пакета httpd.

Код:
> info httpd
Loading mirror speeds from cached hostfile
* base: centos.mirror.xtratelecom.es
* epel: mir01.syntis.net
* extras: centos.mirror.xtratelecom.es
* rpmfusion-free-updates: mir01.syntis.net
* rpmfusion-nonfree-updates: mir01.syntis.net
* updates: centos.mirror.xtratelecom.es
62 packages excluded due to repository priority protections
Available Packages
Name        : httpd
Arch        : i686
Version     : 2.2.15
Release     : 31.el6.centos
Size        : 828 k
Repo        : updates
Summary     : Apache HTTP Server
URL         : http://httpd.apache.org/
License     : ASL 2.0
Description : The Apache HTTP Server is a powerful, efficient, and extensible
           : web server.

>

[6] Инсталиране на локални пакети.

Да вземем за пример, че пакета който искаме да инсталира ме, се намира във директорията /home/user/nmap.rpm .

Код:
[root@localhost ~]# yum localinstall /home/user/nmap.rpm

[7] Актуализиране на локални пакети.

Код:
[root@localhost ~]# yum localupdate /home/user/nmap.rpm

[8] Разберете кой пакет предоставя определен файл или функция.

Код:
[root@localhost ~]# yum whatprovides /etc/yum.conf

[9] Почистване на всички кеширани пакети.

Код:
[root@localhost ~]# yum clean packages

[10] За почистване на метаданни в xml, от хранилището.

Код:
[root@localhost ~]# yum clean metadata

[11] За да изтриете всичкият кеш.

Код:
[root@localhost ~]# yum clean all

[12] За да създадете кеш метаданни.

Код:
[root@localhost ~]# yum makecache

Край на втора част.
* StotinkaOS SOS хранилища .
* (NEW) Fedora COPR хранилища .

Не отговарям на технически въпроси на ЛС.
Отговори
#2
Как да почистим системата от осиротели пакети
[Изображение: 2.gif]
Отговори
#3
Най сигурния начин да пазиш системата чиста е да конфигурираш yum да премахва с пакети и не нужните зависимости . Това по принцип е направено по подразбиране в StotinkOS но ще го обясня да стане ясно .

По една или друга причини в Rhel, CentOS , Fedora когато се инсталира пакет с yum се инсталират неговите зависимости, но ако речем да премахнем пакета след време , например с yum remove <пакет> премахваме само пакета без неговите зависимости . За Fedora мисля, че вече направиха dnf да премахва зависимости по подразбиране но в Rhel,CentOS  е все още така .

Ето един пример как е при RHEL, CentOS :

Код:
[ivo@sos ~]$ sudo yum install nmap
Заредени плъгини: fastestmirror, langpacks, priorities
Loading mirror speeds from cached hostfile
* StotinkaOS-Base: stotinkaos.net
* StotinkaOS-Plus: stotinkaos.net
* StotinkaOS-Wine: stotinkaos.net
* base: centos.mirror.xtratelecom.es
* elrepo: mirrors.evowise.com
* elrepo-kernel: mirrors.evowise.com
* epel: mir01.syntis.net
* extras: centos.mirror.xtratelecom.es
* updates: centos.mirror.xtratelecom.es
Определяне на зависимостите
--> Извършвам проверка на транзакцията
---> Пакет nmap.x86_64 2:6.40-7.el7 ще е инсталиран
--> Обработвам зависимости: nmap-ncat = 2:6.40-7.el7 за пакет: 2:nmap-6.40-7.el7.x86_64
--> Извършвам проверка на транзакцията
---> Пакет nmap-ncat.x86_64 2:6.40-7.el7 ще е инсталиран
--> Завърших определянето на зависимости

Зависимостите са удовлетворени

======================================================================================================================================================
Package                              Архитектура                       Версия                                  Хранилище                        Обем
======================================================================================================================================================
Инсталиране:
nmap                                 x86_64                            2:6.40-7.el7                            base                            4.0 M
Инсталиране на зависимости:
nmap-ncat                            x86_64                            2:6.40-7.el7                            base                            201 k

Обобщение на транзакцията
======================================================================================================================================================
Инсталирай  1 Пакет (+1 Зависим пакет)

Общ обем за сваляне: 4.2 M
Инсталиран обем: 17 M
Is this ok [y/d/N]:  y
Downloading packages:
(1/2): nmap-ncat-6.40-7.el7.x86_64.rpm                                                                                         | 201 kB  00:00:00    
(2/2): nmap-6.40-7.el7.x86_64.rpm                                                                                              | 4.0 MB  00:00:01    
------------------------------------------------------------------------------------------------------------------------------------------------------
Всичко                                                                                                                3.5 MB/s | 4.2 MB  00:00:01    
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
 Инсталиране        : 2:nmap-ncat-6.40-7.el7.x86_64                                                                                              1/2
 Инсталиране        : 2:nmap-6.40-7.el7.x86_64                                                                                                   2/2
 Проверка           : 2:nmap-ncat-6.40-7.el7.x86_64                                                                                              1/2
 Проверка           : 2:nmap-6.40-7.el7.x86_64                                                                                                   2/2

Инсталиран:
 nmap.x86_64 2:6.40-7.el7                                                                                                                            

Инсталирани зависимости:
 nmap-ncat.x86_64 2:6.40-7.el7                                                                                                                      

Завърших!

Както се вижда инсталирахме nmap , който има зависимост друг пакет, nmap-ncat  .

Сега нека се опитаме да премахнем пакета nmap .

Код:
[ivo@sos ~]$ sudo yum remove nmap
Заредени плъгини: fastestmirror, langpacks, priorities
Определяне на зависимостите
--> Извършвам проверка на транзакцията
---> Пакет nmap.x86_64 2:6.40-7.el7 ще е изтрит
--> Завърших определянето на зависимости

Зависимостите са удовлетворени

======================================================================================================================================================
Package                          Архитектура                        Версия                                   Хранилище                          Обем
======================================================================================================================================================
Премахване:
nmap                             x86_64                             2:6.40-7.el7                             @base                              16 M

Обобщение на транзакцията
======================================================================================================================================================
Премахни  1 Пакет

Инсталиран обем: 16 M
Така добре ли е [y/N]:

От примера се вижда, че ако дадем Y единствено ще се премахне nmap а другия пакет ще си остане в системата .

Ето , как да направим да се премахват и зависимостите .

Нужно е да редактираме файла /etc/yum.conf и да добавим следното clean_requirements_on_remove=1 и да запазим файла, промените влизат в сила веднага .

Нека пробваме сега да премахнем nmap .

Код:
[ivo@sos ~]$ sudo yum remove nmap
Заредени плъгини: fastestmirror, langpacks, priorities
Определяне на зависимостите
--> Извършвам проверка на транзакцията
---> Пакет nmap.x86_64 2:6.40-7.el7 ще е изтрит
--> Завърших определянето на зависимости
--> Търся ненужни останали зависимости
---> Marking nmap-ncat to be removed - no longer needed by nmap
Found and removing 1 unneeded dependencies
StotinkaOS-Base/x86_64                                                                                                         | 3.6 kB  00:00:00    
StotinkaOS-Plus/x86_64                                                                                                         | 2.9 kB  00:00:00    
StotinkaOS-Wine/x86_64                                                                                                         | 2.9 kB  00:00:00    
adobe-linux-x86_64                                                                                                             |  951 B  00:00:00    
base/7/x86_64                                                                                                                  | 3.6 kB  00:00:00    
elrepo                                                                                                                         | 2.9 kB  00:00:00    
elrepo-kernel                                                                                                                  | 2.9 kB  00:00:00    
epel/x86_64/metalink                                                                                                           |  20 kB  00:00:00    
epel-spotify                                                                                                                   | 2.9 kB  00:00:00    
extras/7/x86_64                                                                                                                | 3.4 kB  00:00:00    
google-chrome                                                                                                                  |  951 B  00:00:00    
playonlinux                                                                                                                    | 2.9 kB  00:00:00    
updates/7/x86_64                                                                                                               | 3.4 kB  00:00:00    
virtualbox                                                                                                                     |  951 B  00:00:00    
--> Извършвам проверка на транзакцията
---> Пакет nmap-ncat.x86_64 2:6.40-7.el7 ще е изтрит
--> Завърших определянето на зависимости

Зависимостите са удовлетворени

======================================================================================================================================================
Package                             Архитектура                      Версия                                    Хранилище                        Обем
======================================================================================================================================================
Премахване:
nmap                                x86_64                           2:6.40-7.el7                              @base                            16 M
Премахване на зависимости:
nmap-ncat                           x86_64                           2:6.40-7.el7                              @base                           414 k

Обобщение на транзакцията
======================================================================================================================================================
Премахни  1 Пакет (+1 Зависим пакет)

Инсталиран обем: 17 M
Така добре ли е [y/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
 Изтриване          : 2:nmap-6.40-7.el7.x86_64                                                                                                   1/2
 Изтриване          : 2:nmap-ncat-6.40-7.el7.x86_64                                                                                              2/2
 Проверка           : 2:nmap-ncat-6.40-7.el7.x86_64                                                                                              1/2
 Проверка           : 2:nmap-6.40-7.el7.x86_64                                                                                                   2/2

Премахнат:
 nmap.x86_64 2:6.40-7.el7                                                                                                                            

Премахнати зависимости:
 nmap-ncat.x86_64 2:6.40-7.el7                                                                                                                      

Завърших!

Сега вече премахне както пакета nmap така и пакета зависимост nmap-ncat .

Друг начин за премахване на нежелани пакети е да използвате инструмента package-cleanup от пакета yum-utils който идва инсталиран по подразбиране в StotinkaOS .

Няколко примера:

Например премахването на пакети които не са от никое RPM хранилище в системата,  става ето така:

Код:
sudo yum remove $(package-cleanup --quiet --orphans)

Премахването на повтарящи версии на пакети .

Код:
package-cleanup --cleandupes

Списък на ненужни пакети

Код:
package-cleanup --leaves

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

ВНИМАНИЕ!!
Код:
yum remove $(package-cleanup --quiet --leaves)

Повече:
Код:
man package-cleanup

Забележка:
Ако изтриете нещо и в последствие забележите ,че не е трябвало , може да ползвате yum history команда .

Например:

Изтрих ме nmap и неговите зависимости , обаче не е трябвало .

Код:
[ivo@sos ~]$ sudo yum history
[sudo] password for ivo:
Заредени плъгини: fastestmirror, langpacks, priorities
ID     | Команден ред             | Дата и час       | Действие(я)    | Промене
-------------------------------------------------------------------------------
   213 | remove nmap              | 2016-08-25 10:47 | Erase          |    2  
   212 | install nmap             | 2016-08-25 10:40 | Install        |    2  
   ......

За да върнем действието или транзакцията , е нужно да знаем ID който в случая е 213 , след което .

Код:
[ivo@sos ~]$ sudo yum history undo 213
Заредени плъгини: fastestmirror, langpacks, priorities
Undoing transaction 213, from Thu Aug 25 10:47:58 2016
    Изтрий nmap-2:6.40-7.el7.x86_64      @base
    Изтрий nmap-ncat-2:6.40-7.el7.x86_64 @base
Loading mirror speeds from cached hostfile
* StotinkaOS-Base: stotinkaos.net
* StotinkaOS-Plus: stotinkaos.net
* StotinkaOS-Wine: stotinkaos.net
* base: centos.mirror.xtratelecom.es
* elrepo: mirrors.evowise.com
* elrepo-kernel: mirrors.evowise.com
* epel: mir01.syntis.net
* extras: centos.mirror.xtratelecom.es
* updates: centos.mirror.xtratelecom.es
Определяне на зависимостите
--> Извършвам проверка на транзакцията
---> Пакет nmap.x86_64 2:6.40-7.el7 ще е инсталиран
---> Пакет nmap-ncat.x86_64 2:6.40-7.el7 ще е инсталиран
--> Завърших определянето на зависимости
--> Търся ненужни останали зависимости
Found and removing 0 unneeded dependencies

Зависимостите са удовлетворени

======================================================================================================================================================
Package                              Архитектура                       Версия                                  Хранилище                        Обем
======================================================================================================================================================
Инсталиране:
nmap                                 x86_64                            2:6.40-7.el7                            base                            4.0 M
nmap-ncat                            x86_64                            2:6.40-7.el7                            base                            201 k

Обобщение на транзакцията
======================================================================================================================================================
Инсталирай  2 Пакети

Общ обем за сваляне: 4.2 M
Инсталиран обем: 17 M
Is this ok [y/d/N]: y
Downloading packages:
(1/2): nmap-ncat-6.40-7.el7.x86_64.rpm                                                                                         | 201 kB  00:00:00    
(2/2): nmap-6.40-7.el7.x86_64.rpm                                                                                              | 4.0 MB  00:00:01    
------------------------------------------------------------------------------------------------------------------------------------------------------
Всичко                                                                                                                2.8 MB/s | 4.2 MB  00:00:01    
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Инсталиране        : 2:nmap-ncat-6.40-7.el7.x86_64                                                                                              1/2
  Инсталиране        : 2:nmap-6.40-7.el7.x86_64                                                                                                   2/2
  Проверка           : 2:nmap-ncat-6.40-7.el7.x86_64                                                                                              1/2
  Проверка           : 2:nmap-6.40-7.el7.x86_64                                                                                                   2/2

Инсталиран:
  nmap.x86_64 2:6.40-7.el7                                                nmap-ncat.x86_64 2:6.40-7.el7                                              

Завърших!
[ivo@sos ~]$

Върнахме nmap отново !
* StotinkaOS SOS хранилища .
* (NEW) Fedora COPR хранилища .

Не отговарям на технически въпроси на ЛС.
Отговори




Потребители разглеждащи темата: 1 гост(и)