Jak wyodrębnić plik RPM?

32

Mam plik RPM, którego zawartość chcę sprawdzić. W przypadku .debpakietów mogę dpkg -x file.debgo wyodrębnić.

Jakie jest równoważne polecenie dla .rpmpliku? Szukam aplikacji wiersza polecenia.

Lekensteyn
źródło

Odpowiedzi:

45

file-rollerwydaje się otwierać pliki RPM . Alternatywnie możesz użyć polecenia:

$ sudo apt-get install rpm2cpio
$ rpm2cpio /path/to/file.rpm | cpio -i --make-directories

który wyodrębni zawartość rpm do bieżącego katalogu.

enzotib
źródło
Dzięki, właśnie natknąłem się na to:rpm2cpio file.rpm | cpio --extract --make-directories
Lekensteyn,
5

O ile pamiętam, musisz użyć aplikacji o nazwie alien, która przekształca .rpm w pliki deb. Użyj terminalu, aby:

sudo apt-get install alien

następnie

sudo alien -d nameofyourpackage.rpm (-d for Debian package)

Jeśli musisz to sprawdzić, możesz skorzystać z metody dpkg -x file.deb

andybleaden
źródło
rpm2cpiowydaje się działać dobrze, więc nie próbowałem tego.
Lekensteyn,
1
ma to tę wadę, że najpierw tworzy .deb.
enzotib
3

Zainstaluj 7z:

apt install p7zip-full

i wyodrębnij:

7z x /path/to/file.rpm 
7z x /path/to/file.cpio -o/path/to/extract/folder/
Pavel P.
źródło
Niestety 7z nie wie o uprawnieniach do plików, a dla pakietów rpm zawierających pliki wykonywalne (tj. Większość z nich) może to stanowić problem.
Wug
1

Możesz także użyć Cudzoziemca, aby wyodrębnić tylko pliki (które nazywa „wygeneruj drzewo kompilacji”)

alien --scripts --generate <package.rpm>

Dostaniesz 2 katalogi - <package>i <package>.orig, czyli surową ekstrakcję z rpm.

Randall
źródło