Как топологически отсортировать установленные пакеты rpm?

Подтвердите право собственности на файл с помощью

ls -l 

Измените владельца файла с помощью

chown root motd
2
05.06.2019, 17:08
3 ответа

Немного поискав, мне кажется, что инструмент rpmdepиз пакета rpmorphanнаиболее близок к тому, что мне нужно. Чтобы просмотреть наиболее необходимые установленные пакеты, его можно запустить с опцией --depending:

.
rpmdep -all --depending | tac | less -S
2
27.01.2020, 21:53

Когда-то я сам написал для этого сценарий, но почти никогда им не пользовался.

Я бы отнесся к переезду с осторожностью. Однажды я попытался удалить пакет под названием «SimplyHTML», потому что он оказался «конечным узлом», и когда я пошел его удалять, обнаружил, что «свободный разум» (— это инструмент сопоставления разума -, которым я часто пользуюсь )нуждалась в этом и тоже была удалена. Очень странно!

В любом случае, FWIW вот скрипт (, который в моей системе называется "листовой -об/мин"):

#!/usr/bin/perl
use strict;
use warnings;
use 5.10.0;
use Data::Dumper;

# a leaf RPM is one that has no deps and you can safely delete

# run it as is, delete any that you think are useless

my @installed = `rpm -qa --queryformat="%{NAME}\n"`;
chomp(@installed);
my %count;

@ARGV = ("dnf repograph |");

while (<>) {
    chomp;
    next if /^digraph packages/;
    next unless m({).. m(});
    next if m({) or m(});

    s/"//g;
    $count{$_}++;
}
# print Dumper \@installed;
# print Dumper \@all;
# print Dumper \%count;
# print "----\n";

my %dup;
for my $k (sort @installed) {
    next if $dup{$k}++;
    print "$k\n" unless exists $count{$k};
}
1
27.01.2020, 21:53

man rpmgraph:

rpmgraph(8) - Linux man page
Name
rpmgraph - Display RPM Package Dependency Graph
Synopsis

rpmgraph PACKAGE_FILE...
Description

rpmgraph uses PACKAGE_FILE arguments to generate a package dependency graph. Each
PACKAGE_FILE argument is read and added to an rpm transaction set. The elements 
of the transaction set

are partially ordered using a topological sort.

The partially ordered elements are then printed to standard output.


Nodes in the dependency graph are package names, and edges in the directed graph 
point to the parent of each node. The parent node is defined as the last 
predecessor of a package when partially ordered using the package dependencies as
a relation. That means that the parent of a given package is the package's last
prerequisite.

The output is in dot(1) directed graph format, and can be displayed or printed
using the dotty graph editor from the graphviz package. There are no rpmgraph
specific options, only common rpm options. See the rpmgraph usage message for    
what is currently implemented. 

  [1]: https://linux.die.net/man/8/rpmgraph

Установка:

rpm -devel fedora 19 имеет этот пакет

Вот rpm -devel для Fedora 30

Используйте менеджер пакетов:

dnf install rpm-devel

Чтобы установить wgetв CentOS, введите следующее в окне терминала:

sudo yum install wget

Чтобы установить wgetв Fedora, введите следующее:

sudo dnf install wget

Теперь вы можете использовать команду wget для загрузки нужного файла.rpm. Введите следующее:

wget http://some_website/sample_file.rpm

Система должна обратиться к веб-сайту и загрузить файл в ваш текущий рабочий каталог.

Установить файл RPM с помощью команды RPM

Чтобы установить пакет.rpm в Fedoraили CentOSLinux, введите следующее:

sudo rpm –i sample_file.rpm

Переключатель –i сообщает менеджеру пакетов, что вы хотите установить файл.

Дополнительную информацию об установщике RPM можно найти в документации по RPM .

Установите RPM-файл с помощью Yum

Кроме того, вы можете использовать yumменеджер пакетов для установки файлов .rpm.

Введите следующее:

sudo yum localinstall sample_file.rpm

Параметр localinstallуказывает yum искать установочный файл в вашем текущем рабочем каталоге.


https://superuser.com/questions/483307/how-do-i-know-dependent-rpms-of-a-a-package

https://phoenixnap.com/kb/how-to-install-rpm-file-centos-linux

https://linux.die.net/man/8/rpm

РЕДАКТИРОВАТЬ:

Я не могу заставить rpmgraphработать, я пробовал три разных версии синтаксиса PACKAGE_FILEсписка пакетов, но это просто выдает ошибки. Если вы знаете, как использовать эту программу, пожалуйста, дайте ответ или отредактируй мой. Проверено на Fedora 28.Как составить список всех установленных пакетов с расширением.rpm. Fedora, Centos, RedHat

# rpmgraph INSTALLED_PACKAGES 
(null): read manifest failed:
3
27.01.2020, 21:53

Теги

Похожие вопросы