102.5 Lekcija 1
Sertifikat: |
LPIC-1 |
---|---|
Verzija: |
5.0 |
Tema: |
102 Linux instalacija i upravljanje paketima |
Cilj: |
102.5 Korištenje RPM i YUM menadžera paketa |
Lekcija: |
1 od 1 |
Uvod
Davno, kada je Linux još bio u povojima, najčešći način distribucije softvera bio je komprimovani fajl (obično kao .tar.gz
arhiva) sa izvornim kodom, koji biste sami raspakovali i kompajlirali.
Međutim, kako su količina i složenost softvera rasli, postala je jasna potreba za načinom distribucije unaprijed kompajliranog softvera. Na kraju krajeva, nisu svi imali resurse, kako u vremenu tako iu računarskoj snazi, da kompajliraju velike projekte poput Linux kernela ili X servera.
Ubrzo su porasli napori da se standardizuje način distribucije ovih softverskih “paketa” i rođeni su prvi menadžeri paketa. Ovi alati su znatno olakšali instalaciju, konfiguraciju ili uklanjanje softvera iz sistema.
Jedan od njih je bio RPM Package Manager i njegov odgovarajući alat (rpm
), koji je razvio Red Hat. Danas se široko koriste ne samo na samom Red Hat Enterprise Linux-u (RHEL), već i na njegovim potomcima, kao što su Fedora, CentOS i Oracle Linux, drugim distribucijama poput openSUSE, pa čak i drugim operativnim sistemima, kao što je IBM-ov AIX.
Drugi alati za upravljanje paketima popularni u distribucijama kompatibilnim s Red Hat-om su yum
(YellowDog Updater Modified), dnf
(Dandified YUM) i zypper
, koji mogu pojednostaviti mnoge aspekte instalacije, održavanja i uklanjanja paketa, čineći upravljanje paketom mnogo lakše.
U ovoj lekciji naučit ćemo kako koristiti rpm
, yum
, dnf
i zypper
za nabavku, instaliranje, upravljanje i uklanjanje softvera na Linux sistemu.
Note
|
Uprkos korištenju istog formata paketa, postoje interne razlike između distribucija tako da paket napravljen posebno za openSUSE možda neće raditi na RHEL sistemu i obrnuto. Kada tražite pakete, uvijek provjerite kompatibilnost i pokušajte pronaći onaj koji je skrojen za vašu specifičnu distribuciju, ako je moguće. |
RPM menadžer paketa (rpm)
RPM menadžer paketa (rpm
) je osnovni alat za upravljanje softverskim paketima na Red Hat baziranim (ili izvedenim) sistemima.
Instalacija, nadogradnja i uklanjanje paketa
Najosnovnija operacija je instaliranje paketa, što se može uraditi sa:
# rpm -i PACKAGENAME
Gdje je PACKAGENAME`naziv `.rpm
paketa koji se želi instalirati.
Ako postoji prethodna verzija paketa na sistemu, možete nadograditi na noviju verziju koristeći parametar -U
:
# rpm -U PACKAGENAME
Ako nije instalirana prethodna verzija PACKAGENAME
, tada će se instalirati nova kopija. Da biste to izbjegli i samo nadogradite instalirani paket, koristite opciju -F
.
U obje operacije možete dodati parametar -v
da dobijete detaljan izlaz (više informacija je prikazano tokom instalacije) i -h
da dobijete hash znakove (#
) ispisane kao vizualnu pomoć za praćenje napretka instalacije. Više parametara se može kombinovati u jedan, tako da je rpm -i -v -h
isto što i rpm -ivh
.
Da biste uklonili instalirani paket, proslijedite parametar -e
(kao u “erase”) u rpm
, nakon čega slijedi naziv paketa koji želite ukloniti:
# rpm -e wget
Ako instalirani paket zavisi od paketa koji se uklanja, dobićete poruku o grešci:
# rpm -e unzip error: Failed dependencies: /usr/bin/unzip is needed by (installed) file-roller-3.28.1-2.el7.x86_64
Da biste dovršili operaciju, prvo ćete morati ukloniti pakete koji zavise od onog koji želite ukloniti (u primjeru iznad, file-roller
). Možete proslijediti višestruka imena paketa u rpm -e
da uklonite više paketa odjednom.
Rad sa ovisnostima
Češće nego ne, paket može zavisiti od drugih da li će raditi kako je predviđeno. Na primjer, uređivaču slika mogu biti potrebne biblioteke za otvaranje JPG datoteka, ili uslužnom programu može biti potreban komplet alata kao što su Qt ili GTK za svoj korisnički interfejs.
rpm
će provjeriti jesu li te ovisnosti instalirane na vašem sistemu i neće uspjeti instalirati paket ako nisu. U ovom slučaju, rpm
će navesti ono što nedostaje. Međutim, ne može sam riješiti ovisnosti.
U primjeru ispod, korisnik je pokušao instalirati paket za GIMP uređivač slika, ali su nedostajale neke ovisnosti:
# rpm -i gimp-2.8.22-1.el7.x86_64.rpm error: Failed dependencies: babl(x86-64) >= 0.1.10 is needed by gimp-2:2.8.22-1.el7.x86_64 gegl(x86-64) >= 0.2.0 is needed by gimp-2:2.8.22-1.el7.x86_64 gimp-libs(x86-64) = 2:2.8.22-1.el7 is needed by gimp-2:2.8.22-1.el7.x86_64 libbabl-0.1.so.0()(64bit) is needed by gimp-2:2.8.22-1.el7.x86_64 libgegl-0.2.so.0()(64bit) is needed by gimp-2:2.8.22-1.el7.x86_64 libgimp-2.0.so.0()(64bit) is needed by gimp-2:2.8.22-1.el7.x86_64 libgimpbase-2.0.so.0()(64bit) is needed by gimp-2:2.8.22-1.el7.x86_64 libgimpcolor-2.0.so.0()(64bit) is needed by gimp-2:2.8.22-1.el7.x86_64 libgimpconfig-2.0.so.0()(64bit) is needed by gimp-2:2.8.22-1.el7.x86_64 libgimpmath-2.0.so.0()(64bit) is needed by gimp-2:2.8.22-1.el7.x86_64 libgimpmodule-2.0.so.0()(64bit) is needed by gimp-2:2.8.22-1.el7.x86_64 libgimpthumb-2.0.so.0()(64bit) is needed by gimp-2:2.8.22-1.el7.x86_64 libgimpui-2.0.so.0()(64bit) is needed by gimp-2:2.8.22-1.el7.x86_64 libgimpwidgets-2.0.so.0()(64bit) is needed by gimp-2:2.8.22-1.el7.x86_64 libmng.so.1()(64bit) is needed by gimp-2:2.8.22-1.el7.x86_64 libwmf-0.2.so.7()(64bit) is needed by gimp-2:2.8.22-1.el7.x86_64 libwmflite-0.2.so.7()(64bit) is needed by gimp-2:2.8.22-1.el7.x86_64
Na korisniku je da pronađe .rpm
pakete sa odgovarajućim ovisnostima i da ih instalira. Menadžeri paketa kao što su yum
, zypper
i dnf
imaju alate koji mogu reći koji paket pruža određenu datoteku. Oni će biti raspravljani kasnije u ovoj lekciji.
Izlistavanje instaliranih paketa
Da biste dobili listu svih instaliranih paketa na vašem sistemu, koristite rpm -qa
(mislite na “upita sve”).
# rpm -qa selinux-policy-3.13.1-229.el7.noarch pciutils-libs-3.5.1-3.el7.x86_64 redhat-menus-12.0.2-8.el7.noarch grubby-8.28-25.el7.x86_64 hunspell-en-0.20121024-6.el7.noarch dejavu-fonts-common-2.33-6.el7.noarch xorg-x11-drv-dummy-0.3.7-1.el7.1.x86_64 libevdev-1.5.6-1.el7.x86_64 [...]
Dobivanje informacijao paketima
Da biste dobili informacije o instaliranom paketu, kao što su broj njegove verzije, arhitektura, datum instalacije, paketer, sažetak, itd., koristite rpm
sa parametrima -qi
(mislite na “informacije o upitu”), nakon čega slijedi naziv paketa. Na primjer:
# rpm -qi unzip Name : unzip Version : 6.0 Release : 19.el7 Architecture: x86_64 Install Date: Sun 25 Aug 2019 05:14:39 PM EDT Group : Applications/Archiving Size : 373986 License : BSD Signature : RSA/SHA256, Wed 25 Apr 2018 07:50:02 AM EDT, Key ID 24c6a8a7f4a80eb5 Source RPM : unzip-6.0-19.el7.src.rpm Build Date : Wed 11 Apr 2018 01:24:53 AM EDT Build Host : x86-01.bsys.centos.org Relocations : (not relocatable) Packager : CentOS BuildSystem <http://bugs.centos.org> Vendor : CentOS URL : http://www.info-zip.org/UnZip.html Summary : A utility for unpacking zip files Description : The unzip utility is used to list, test, or extract files from a zip archive. Zip archives are commonly found on MS-DOS systems. The zip utility, included in the zip package, creates zip archives. Zip and unzip are both compatible with archives created by PKWARE(R)'s PKZIP for MS-DOS, but the programs' options and default behaviors do differ in some respects. Instalirajte paket za raspakivanje ako trebate izlistati, testirati ili izdvojiti datoteke zip arhivu.
Da biste dobili listu datoteka unutar instaliranih paketa, koristite parametre -ql
(mislite na “listu upita”) nakon čega slijedi naziv paketa:
# rpm -ql unzip /usr/bin/funzip /usr/bin/unzip /usr/bin/unzipsfx /usr/bin/zipgrep /usr/bin/zipinfo /usr/share/doc/unzip-6.0 /usr/share/doc/unzip-6.0/BUGS /usr/share/doc/unzip-6.0/LICENSE /usr/share/doc/unzip-6.0/README /usr/share/man/man1/funzip.1.gz /usr/share/man/man1/unzip.1.gz /usr/share/man/man1/unzipsfx.1.gz /usr/share/man/man1/zipgrep.1.gz /usr/share/man/man1/zipinfo.1.gz
Ako želite da dobijete informacije ili spisak datoteka iz paketa koji još nije instaliran, samo dodajte parametar -p
gornjim komandama, nakon čega slijedi naziv RPM datoteke (FILENAME
). Dakle, rpm -qi PACKAGENAME
postaje rpm -qip FILENAME
, a rpm -ql PACKAGENAME
postaje rpm -qlp FILENAME
, kao što je prikazano ispod.
# rpm -qip atom.x86_64.rpm Name : atom Version : 1.40.0 Release : 0.1 Architecture: x86_64 Install Date: (not installed) Group : Unspecified Size : 570783704 License : MIT Signature : (none) Source RPM : atom-1.40.0-0.1.src.rpm Build Date : sex 09 ago 2019 12:36:31 -03 Build Host : b01bbeaf3a88 Relocations : /usr URL : https://atom.io/ Summary : A hackable text editor for the 21st Century. Description : A hackable text editor for the 21st Century.
# rpm -qlp atom.x86_64.rpm /usr/bin/apm /usr/bin/atom /usr/share/applications/atom.desktop /usr/share/atom /usr/share/atom/LICENSE /usr/share/atom/LICENSES.chromium.html /usr/share/atom/atom /usr/share/atom/atom.png /usr/share/atom/blink_image_resources_200_percent.pak /usr/share/atom/content_resources_200_percent.pak /usr/share/atom/content_shell.pak (listing goes on)
Saznavanje koji paket posjeduje specifičnu datoteku
Da saznate koji instalirani paket posjeduje datoteku, koristite -qf
(mislite “datoteka upita”) nakon čega slijedi puna putanja do datoteke:
# rpm -qf /usr/bin/unzip unzip-6.0-19.el7.x86_64
U gornjem primjeru, datoteka /usr/bin/unzip
pripada paketu unzip-6.0-19.el7.x86_64
.
YellowDog Updater Modified (YUM)
yum
je prvobitno razvijen kao Yellow Dog Updater (YUP), alat za upravljanje paketima na Yellow Dog Linux distribuciji. Vremenom je evoluirao da upravlja paketima na drugim RPM sistemima, kao što su Fedora, CentOS, Red Hat Enterprise Linux i Oracle Linux.
Funkcionalno je sličan uslužnom programu apt
na sistemima baziranim na Debianu, jer može tražiti, instalirati, ažurirati i ukloniti pakete i automatski upravljati ovisnostima. yum
se može koristiti za instaliranje jednog paketa ili za nadogradnju cijelog sistema odjednom.
Potraga za paketima
Da biste instalirali paket, morate znati njegovo ime. Za ovo možete izvršiti pretragu sa yum search PATTERN
, gdje je PATTERN
naziv paketa koji tražite. Rezultat je lista paketa čije ime ili sažetak sadrže specificirani obrazac pretraživanja. Na primjer, ako vam je potreban uslužni program za rukovanje 7Zip komprimiranim datotekama (sa ekstenzijom .7z
) možete koristiti:
# yum search 7zip Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirror.ufscar.br * epel: mirror.globo.com * extras: mirror.ufscar.br * updates: mirror.ufscar.br =========================== N/S matchyutr54ed: 7zip ============================ p7zip-plugins.x86_64 : Additional plugins for p7zip p7zip.x86_64 : Very high compression ratio file archiver p7zip-doc.noarch : Manual documentation and contrib directory p7zip-gui.x86_64 : 7zG - 7-Zip GUI version Ime i sažetak odgovaraju samo, koristite "pretraži sve" za sve.
Instalacija, nadogradnja i uklanjanje paketa
Da biste instalirali paket koristeći yum
, koristite komandu yum install PACKAGENAME
, gdje je PACKAGENAME
ime paketa. yum
će preuzeti paket i odgovarajuće ovisnosti iz online repozitorija i instalirati sve u vašem sistemu.
# yum install p7zip Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirror.ufscar.br * epel: mirror.globo.com * extras: mirror.ufscar.br * updates: mirror.ufscar.br Resolving Dependencies --> Running transaction check ---> Package p7zip.x86_64 0:16.02-10.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ========================================================================== Package Arch Version Repository Size ========================================================================== Installing: p7zip x86_64 16.02-10.el7 epel 604 k Transaction Summary ========================================================================== Install 1 Package Total download size: 604 k Installed size: 1.7 M Is this ok [y/d/N]:
Za nadogradnju instaliranog paketa koristite yum update PACKAGENAME
, gdje je PACKAGENAME
ime paketa koji želite nadograditi. Na primjer:
# yum update wget Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirror.ufscar.br * epel: mirror.globo.com * extras: mirror.ufscar.br * updates: mirror.ufscar.br Resolving Dependencies --> Running transaction check ---> Package wget.x86_64 0:1.14-18.el7 will be updated ---> Package wget.x86_64 0:1.14-18.el7_6.1 will be an update --> Finished Dependency Resolution Dependencies Resolved ========================================================================== Package Arch Version Repository Size ========================================================================== Updating: wget x86_64 1.14-18.el7_6.1 updates 547 k Transaction Summary ========================================================================== Upgrade 1 Package Total download size: 547 k Is this ok [y/d/N]:
Ako izostavite ime paketa, možete ažurirati svaki paket na sistemu za koji je ažuriranje dostupno.
Da provjerite da li je ažuriranje dostupno za određeni paket, koristite yum check-update PACKAGENAME
. Kao i ranije, ako izostavite ime paketa, yum
će provjeriti ažuriranja za svaki instalirani paket na sistemu.
Za uklanjanje instaliranog paketa koristite yum remove PACKAGENAME
, gdje je PACKAGENAME
ime paketa koji želite ukloniti.
Saznavanje koji paket pruža specifičnu datoteku
U prethodnom primjeru pokazali smo pokušaj instaliranja gimp
uređivača slika, koji nije uspio zbog neispunjenih ovisnosti. Međutim, rpm
pokazuje koje datoteke nedostaju, ali ne navodi nazive paketa koji ih pružaju.
Na primjer, jedna od zavisnosti koja je nedostajala je libgimpui-2.0.so.0
. Da vidite koji paket to pruža, možete koristiti yum whatprovides
, nakon čega slijedi naziv datoteke koju tražite:
# yum whatprovides libgimpui-2.0.so.0 Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirror.ufscar.br * epel: mirror.globo.com * extras: mirror.ufscar.br * updates: mirror.ufscar.br 2:gimp-libs-2.8.22-1.el7.i686 : GIMP libraries Repo : base Matched from: Provides : libgimpui-2.0.so.0
Odgovor je gimp-libs-2.8.22-1.el7.i686
. Zatim možete instalirati paket komandom yum install gimp-libs
.
Ovo također radi za datoteke koje su već u vašem sistemu. Na primjer, ako želite znati odakle dolazi datoteka /etc/hosts
, možete koristiti:
# yum whatprovides /etc/hosts Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirror.ufscar.br * epel: mirror.globo.com * extras: mirror.ufscar.br * updates: mirror.ufscar.br setup-2.8.71-10.el7.noarch : A set of system configuration and setup files Repo : base Matched from: Filename : /etc/hosts
Odgovor je setup-2.8.71-10.el7.noarch
.
Dobivanje informacija o paketima
Da biste dobili informacije o paketu, kao što su njegova verzija, arhitektura, opis, veličina i još mnogo toga, koristite yum info PACKAGENAME
gdje je PACKAGENAME
naziv paketa za koji želite informacije:
# yum info firefox Last metadata expiration check: 0:24:16 ago on Sat 21 Sep 2019 02:39:43 PM -03. Installed Packages Name : firefox Version : 69.0.1 Release : 3.fc30 Architecture : x86_64 Size : 268 M Source : firefox-69.0.1-3.fc30.src.rpm Repository : @System From repo : updates Summary : Mozilla Firefox Web browser URL : https://www.mozilla.org/firefox/ License : MPLv1.1 or GPLv2+ or LGPLv2+ Description : Mozilla Firefox is an open-source web browser, designed : for standards compliance, performance and portability.
Upravljanje softver repositorijima
Za yum
, “repos” ili repozitoriji su navedeni u direktoriju /etc/yum.repos.d/
. Svaki repozitorij je predstavljen .repo
datotekom, kao što je CentOS-Base.repo
.
Dodatno, dodatne repozitorije korisnik može dodati dodavanjem .repo
datoteke u gore spomenuti direktorij ili na kraju /etc/yum.conf
. Međutim, preporučeni način za dodavanje ili upravljanje repozitorijima je pomoću alata yum-config-manager
.
Da dodate repozitorij, koristite parametar --add-repo
, nakon čega slijedi URL do .repo
datoteke.
# yum-config-manager --add-repo https://rpms.remirepo.net/enterprise/remi.repo Loaded plugins: fastestmirror, langpacks adding repo from: https://rpms.remirepo.net/enterprise/remi.repo grabbing file https://rpms.remirepo.net/enterprise/remi.repo to /etc/yum.repos.d/remi.repo repo saved to /etc/yum.repos.d/remi.repo
Da dobijete listu svih dostupnih repozitorija koristite yum repolist all
. Dobićete izlaz sličan ovome:
# yum repolist all Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirror.ufscar.br * epel: mirror.globo.com * extras: mirror.ufscar.br * updates: mirror.ufscar.br repo id repo name status updates/7/x86_64 CentOS-7 - Updates enabled: 2,500 updates-source/7 CentOS-7 - Updates Sources disabled
Onemogućeni
repozitoriji će biti zanemareni prilikom instaliranja ili nadogradnje softvera. Da omogućite ili onemogućite repozitorij, koristite uslužni program yum-config-manager
, nakon čega slijedi id repozitorija.
U izlazu iznad, id repozitorija je prikazan u prvoj koloni (repo id
) svake linije. Koristite samo dio prije prvog /
, tako da je id za repo CentOS-7 - Updates
repo je updates
, a ne updates/7/x86_64
.
# yum-config-manager --disable updates
Gornja komanda će onemogućiti updates
repo. Da biste ju re-omogućili koristite:
# yum-config-manager --enable updates
Note
|
Yum pohranjuje preuzete pakete i povezane metapodatke u keš direktorij (obično |
DNF
dnf
je alat za upravljanje paketima koji se koristi na Fedori i predstavlja fork yum
. Kao takve, mnoge komande i parametri su slični. Ovaj odjeljak će vam dati samo kratak pregled dnf-a
.
- Pretraživanje paketa
-
dnf search PATTERN
, gdje jePATTERN
ono što tražite. Na primjer,dnf search unzip
će prikazati sve pakete koji sadrže riječunzip
u nazivu ili opisu. - Dobivanje informacija o paketu
-
dnf info PACKAGENAME
- Instalacija paketa
-
dnf install PACKAGENAME
, gdje jePACKAGENAME
ime paketa koji želite da instalirate. Naziv možete pronaći pretraživanjem. - Uklanjanje paketa
-
dnf remove PACKAGENAME
- Nadogradnja paketa
-
dnf upgrade PACKAGENAME
za ažuriranje samo jednog paketa. Izostavite naziv paketa da nadogradite sve pakete u sistemu. - Saznajte koji paket posjeduje specifičnu datoteku
-
dnf provides FILENAME
- Izlistajte listu svih paketa instaliranih na sistem
-
dnf list --installed
- Izlistajte sadržaj paketa
-
dnf repoquery -l PACKAGENAME
Note
|
|
Upravljanje softver repozitorijima
Baš kao i sa yum
i zypper
, dnf
radi sa softverskim repozitorijima (reposi). Svaka distribucija ima listu zadanih repozitorija, a administratori mogu dodavati ili uklanjati repo po potrebi.
Da biste dobili listu svih dostupnih repozitorija, koristite dnf repolist
. Da navedete samo omogućene repozitorije, dodajte opciju --enabled
, a za popis samo onemogućenih repozitorija dodajte opciju --disabled
.
# dnf repolist Last metadata expiration check: 0:20:09 ago on Sat 21 Sep 2019 02:39:43 PM -03. repo id repo name status *fedora Fedora 30 - x86_64 56,582 *fedora-modular Fedora Modular 30 - x86_64 135 *updates Fedora 30 - x86_64 - Updates 12,774 *updates-modular Fedora Modular 30 - x86_64 - Updates 145
Da dodate repozitorij, koristite dnf config-manager --add_repo URL
, gdje je URL
puni URL do repozitorija. Da omogućite repozitorij, koristite dnf config-manager --set-enabled REPO_ID
.
Isto tako, da onemogućite repozitorij koristite dnf config-manager --set-disabled REPO_ID
. U oba slučaja REPO_ID
je jedinstveni ID za repozitorij, koji možete dobiti koristeći dnf repolist
. Dodatni repozitoriji su podrazumjevano omogućeni.
Repozitoriji su pohranjeni u .repo
datotekama direktorija /etc/yum.repos.d/
, sa potpuno istom sintaksom koja se koristi za yum
.
Zypper
zypper
je alat za upravljanje paketima koji se koristi na SUSE Linux i OpenSUSE. Po karakteristikama je sličan apt
i yum
, jer je u mogućnosti instalirati, ažurirati i ukloniti pakete iz sistema, uz automatsko rješavanje ovisnosti.
Ažuriranje indeksa paketa
Kao i drugi alati za upravljanje paketima, zypper
radi sa repozitorijima koji sadrže pakete i metapodatke. Ove metapodatke je potrebno s vremena na vrijeme osvježiti, tako da uslužni program zna o najnovijim dostupnim paketima. Da izvršite osvježenje, jednostavno upišite:
# zypper refresh Repository 'Non-OSS Repository' is up to date. Repository 'Main Repository' is up to date. Repository 'Main Update Repository' is up to date. Repository 'Update Repository (Non-Oss)' is up to date. All repositories have been refreshed.
zypper
ima funkciju automatskog osvježavanja koja se može omogućiti na bazi po repozitoriju, što znači da se neki repozitoriji mogu automatski osvježiti prije postavljanja upita ili paketa, a drugi će možda morati biti osvježeni ručno. Uskoro ćete naučiti kako kontrolisati ovu funkciju.
Potraga za paketima
Za traženje paketa koristite operator search
(ili se
), nakon čega slijedi naziv paketa:
# zypper se gnumeric Loading repository data... Reading installed packages... S | Name | Summary | Type --+----------------+-----------------------------------+-------- | gnumeric | Spreadsheet Application | package | gnumeric-devel | Spreadsheet Application | package | gnumeric-doc | Documentation files for Gnumeric | package | gnumeric-lang | Translations for package gnumeric | package
Operator pretrage se takođe može koristiti za dobijanje liste svih instaliranih paketa u sistemu. Da biste to učinili, koristite parametar -i
bez naziva paketa, kao u zypper se -i
.Za traženje paketa koristite operator search
(ili se
), nakon čega slijedi naziv paketa:
Da vidite da li je određeni paket instaliran, dodajte naziv paketa gornjoj komandi. Na primjer, sljedeća komanda će tražiti među instaliranim paketima bilo koji koji sadrži “firefox” u imenu:
# zypper se -i firefox Loading repository data... Reading installed packages... S | Name | Summary | Type --+------------------------------------+-------------------------+-------- i | MozillaFirefox | Mozilla Firefox Web B-> | package i | MozillaFirefox-branding-openSUSE | openSUSE branding of -> | package i | MozillaFirefox-translations-common | Common translations f-> | package
Za pretraživanje samo među neinstaliranim paketima, dodajte parametar -u
operatoru se
.
Instalacija, nadogradnja i uklanjanje paketa
Da biste instalirali softverski paket, koristite operator install
(ili in
), nakon čega slijedi naziv paketa. ovako:
# zypper in unrar zypper in unrar Loading repository data... Reading installed packages... Resolving package dependencies... The following NEW package is going to be installed: unrar 1 new package to install. Overall download size: 141.2 KiB. Already cached: 0 B. After the operation, additional 301.6 KiB will be used. Continue? [y/n/v/...? shows all options] (y): y Retrieving package unrar-5.7.5-lp151.1.1.x86_64 (1/1), 141.2 KiB (301.6 KiB unpacked) Retrieving: unrar-5.7.5-lp151.1.1.x86_64.rpm .......................[done] Checking for file conflicts: .......................................[done] (1/1) Installing: unrar-5.7.5-lp151.1.1.x86_64 .....................[done]
zypper
se također može koristiti za instaliranje RPM paketa na disk, dok pokušavate zadovoljiti njegove ovisnosti koristeći pakete iz repozitorija. Da biste to učinili, samo navedite punu putanju do paketa umjesto naziva paketa, kao što je zypper u /home/john/newpackage.rpm
.
Za ažuriranje paketa instaliranih na sistemu koristite zypper update
. Kao i u procesu instalacije, ovo će pokazati listu paketa za instaliranje/nadogradnju prije nego što vas pita da li želite da nastavite.
Ako želite da navedete samo dostupna ažuriranja, a da ništa ne instalirate, možete koristiti zypper list-updates
.
Da biste uklonili paket, koristite operator remove
(ili rm
), nakon čega slijedi naziv paketa:
# zypper rm unrar Loading repository data... Reading installed packages... Resolving package dependencies... The following package is going to be REMOVED: unrar 1 package to remove. After the operation, 301.6 KiB will be freed. Continue? [y/n/v/...? shows all options] (y): y (1/1) Removing unrar-5.7.5-lp151.1.1.x86_64 ........................[done]
Imajte na umu da uklanjanje paketa također uklanja sve druge pakete koji zavise od njega. Na primjer:
# zypper rm libgimp-2_0-0 Loading repository data... Warning: No repositories defined. Operating only with the installed resolvables. Nothing can be installed. Reading installed packages... Resolving package dependencies... The following 6 packages are going to be REMOVED: gimp gimp-help gimp-lang gimp-plugins-python libgimp-2_0-0 libgimpui-2_0-0 6 packages to remove. After the operation, 98.0 MiB will be freed. Continue? [y/n/v/...? shows all options] (y):
Saznavanje koji paketi sadrže specifičnu datoteku
Da vidite koji paketi sadrže određenu datoteku, koristite operator pretraživanja iza kojeg slijedi parametar --provides
i naziv datoteke (ili puna putanja do nje). Na primjer, ako želite znati koji paketi sadrže datoteku libgimpmodule-2.0.so.0
u /usr/lib64/
, koristili biste:
# zypper se --provides /usr/lib64/libgimpmodule-2.0.so.0 Loading repository data... Reading installed packages... S | Name | Summary | Type --+---------------+----------------------------------------------+-------- i | libgimp-2_0-0 | The GNU Image Manipulation Program - Libra-> | package
Dobivanje informacija o paketu
Da vidite metapodatke povezane s paketom, koristite operator info
nakon kojeg slijedi naziv paketa. Ovo će vam pružiti izvorni repozitorij, naziv paketa, verziju, arhitekturu, dobavljača, instaliranu veličinu, da li je instaliran ili ne, status (ako je ažuriran), izvorni paket i opis.
# zypper info gimp Loading repository data... Reading installed packages... Information for package gimp: ----------------------------- Repository : Main Repository Name : gimp Version : 2.8.22-lp151.4.6 Arch : x86_64 Vendor : openSUSE Installed Size : 29.1 MiB Installed : Yes (automatically) Status : up-to-date Source package : gimp-2.8.22-lp151.4.6.src Summary : The GNU Image Manipulation Program Description : The GIMP is an image composition and editing program, which can be used for creating logos and other graphics for Web pages. The GIMP offers many tools and filters, and provides a large image manipulation toolbox, including channel operations and layers, effects, subpixel imaging and antialiasing, and conversions, together with multilevel undo. The GIMP offers a scripting facility, but many of the included scripts rely on fonts that we cannot distribute.
Upravljanje softver repozitorijima
zypper
se takođe može koristiti za upravljanje softverskim repozitorijima. Da vidite listu svih repozitoija trenutno registrovanih u vašem sistemu, koristite zypper repos
:
# zypper repos Repository priorities are without effect. All enabled repositories share the same priority. # | Alias | Name | Enabled | GPG Check | Refresh ---+---------------------------+------------------------------------+---------+-----------+-------- 1 | openSUSE-Leap-15.1-1 | openSUSE-Leap-15.1-1 | No | ---- | ---- 2 | repo-debug | Debug Repository | No | ---- | ---- 3 | repo-debug-non-oss | Debug Repository (Non-OSS) | No | ---- | ---- 4 | repo-debug-update | Update Repository (Debug) | No | ---- | ---- 5 | repo-debug-update-non-oss | Update Repository (Debug, Non-OSS) | No | ---- | ---- 6 | repo-non-oss | Non-OSS Repository | Yes | (r ) Yes | Yes 7 | repo-oss | Main Repository | Yes | (r ) Yes | Yes 8 | repo-source | Source Repository | No | ---- | ---- 9 | repo-source-non-oss | Source Repository (Non-OSS) | No | ---- | ---- 10 | repo-update | Main Update Repository | Yes | (r ) Yes | Yes 11 | repo-update-non-oss | Update Repository (Non-Oss) | Yes | (r ) Yes | Yes
Pogledajte u koloni Omogućeno
da su neki repozitoriji omogućeni, dok drugi nisu. Ovo možete promijeniti pomoću operatora modifyrepo
, nakon čega slijedi parametar -e
(omogući) ili -d
(onemogući) i alias repozitorija (druga kolona u izlazu iznad).
# zypper modifyrepo -d repo-non-oss Repository 'repo-non-oss' has been successfully disabled. # zypper modifyrepo -e repo-non-oss Repository 'repo-non-oss' has been successfully enabled.
Ranije smo spomenuli da zypper
ima mogućnost automatskog osvježavanja koja se može omogućiti na bazi po repozitoriju. Kada je omogućena, ova zastavica će učiniti da zypper
pokrene operaciju osvježavanja (isto kao i pokretanje zypper osvježavanja
) prije rada sa navedenim repoom. Ovo se može kontrolirati pomoću parametara -f
i -F
operatora modifyrepo
:
# zypper modifyrepo -F repo-non-oss Autorefresh has been disabled for repository 'repo-non-oss'. # zypper modifyrepo -f repo-non-oss Autorefresh has been enabled for repository 'repo-non-oss'.
Dodavanje i uklanjanje repozitorija
Da biste dodali novi softverski repozitorij za zypper
, koristite operator addrepo
praćen URL-om repozitorija i imenom repozitorija, kao u nastavku:
# zypper addrepo http://packman.inode.at/suse/openSUSE_Leap_15.1/ packman Adding repository 'packman' ........................................[done] Repository 'packman' successfully added URI : http://packman.inode.at/suse/openSUSE_Leap_15.1/ Enabled : Yes GPG Check : Yes Autorefresh : No Priority : 99 (default priority) Repository priorities are without effect. All enabled repositories share the same priority.
Dok dodajete repozitorije, možete omogućiti automatska ažuriranja sa -f
parametrom. Dodati repozitoriji su omogućeni po defaultu, ali možete dodati i onemogućiti repozitorije u isto vrijeme koristeći parametar -d
.
Da biste uklonili repozitorij, koristite operator removerepo
, nakon čega slijedi ime repozitorija (Alias). Da biste uklonili repozitorij dodan u gornjem primjeru, komanda bi bila:
# zypper removerepo packman Removing repository 'packman' ......................................[done] Repository 'packman' has been removed.
Vođene vježbe
-
Koristeći
rpm
na Red Hat Enterprise Linux sistemu, kako biste instalirali paketfile-roller-3.28.1-2.el7.x86_64.rpm
koji prikazuje traku napretka tokom instalacije? -
Koristeći
rpm
, saznajte koji paket sadrži datoteku/etc/redhat-release
. -
Kako biste koristili
yum
za provjeru ažuriranja za sve pakete u sistemu? -
Koristeći
zypper
, kako biste onemogućili repozitorij koji se zove repo-extras? -
Ako imate
.repo
datoteku koja opisuje novi repozitorij, gdje ovu datoteku treba staviti da bi je prepoznao DNF?
Istraživačke vježbe
-
Kako biste koristili
zypper
da saznate koji paket posjeduje datoteku/usr/sbin/swapon
? -
Kako možete dobiti listu svih instaliranih paketa u sistemu koristeći
dnf
? -
Koristeći
dnf
, koja je komanda za dodavanje repozitorija smještenog nahttps://www.example.url/home:reponame.repo
sistemu? -
Kako možete koristiti
zypper
da provjerite da li je paketunzip
instaliran? -
Koristeći
yum
, saznajte koji paket pruža datoteku/bin/wget
.
Sažetak
U ovoj lekciji ste naučili:
-
Kako koristiti
rpm
za instaliranje, nadogradnju i uklanjanje paketa. -
Kako koristiti
yum
,zypper
idnf
. -
Kako doći do informacija o paketu.
-
Kako doći do liste sadržaja paketa.
-
Kako saznati iz kojeg paketa dolazi datoteka.
-
Kako navesti, dodati, ukloniti, omogućiti ili onemogućiti softverske repozitorije.
Sljedeće komande su raspravljane:
-
rpm
-
yum
-
dnf
-
zypper
Odgovor na vođene vježbe
-
Koristeći
rpm
na Red Hat Enterprise Linux sistemu, kako biste instalirali paketfile-roller-3.28.1-2.el7.x86_64.rpm
koji prikazuje traku napretka tokom instalacije?Koristite parametar
-i
da instalirate paket, a opciju-h
da omogućite “hash oznake” koji pokazuju napredak instalacije. Dakle, odgovor je:rpm -ih file-roller-3.28.1-2.el7.x86_64.rpm
. -
Koristeći
rpm
, saznajte koji paket sadrži datoteku/etc/redhat-release
.Tražite informacije o datoteci, pa koristite parametar
-qf
:rpm -qf /etc/redhat-release
. -
Kako biste koristili
yum
za provjeru ažuriranja za sve pakete u sistemu?Koristite operaciju
check-update
bez naziva paketa:yum check-update
. -
Koristeći
zypper
, kako biste onemogućili repozitorij koji se zove repo-extras?Koristite operaciju
modifyrepo
da promijenite parametre repo-a i-d
parametar da ga onemogućite:zypper modifyrepo -d repo-extras
. -
Ako imate
.repo
datoteku koja opisuje novi repozitorij, gdje ovu datoteku treba staviti da bi je prepoznao DNF?Datoteke
.repo
za DNF treba staviti na isto mjesto koje koristi YUM, unutar/etc/yum.repos.d/
.
Odgovor na istraživačke vježbe
-
Kako biste koristili
zypper
da saznate koji paket posjeduje datoteku/usr/sbin/swapon
?Koristite operator
se
(pretraga) i parametar--provides
:zypper se --provides /usr/sbin/swapon
. -
Kako možete dobiti listu svih instaliranih paketa u sistemu koristeći
dnf
?Koristite operator
list
, nakon čega slijedi parametar--installed
:dnf list --installed
. -
Koristeći
dnf
, koja je komanda za dodavanje repozitorija smještenog nahttps://www.example.url/home:reponame.repo
sistemu?Rad sa repozitorijima je “promjena konfiguracije”, stoga koristite
config-manager
i parametar--add_repo
:dnf config-manager --add_repo https://www.example.url/home:reponame.repo
. -
Kako možete koristiti
zypper
da provjerite da li je paketunzip
instaliran?Morate izvršiti pretragu (
se
) na instaliranim (-i
) paketima:zypper se -i unzip
. -
Koristeći
yum
, saznajte koji paket pruža datoteku/bin/wget
.Da saznate šta pruža datoteku, koristite
whatprovides
i ime datoteke:yum whatprovides /bin/wget
.