Csomagkezelés Ubuntuban és Debianban Apt-Get és Apt-Cache segítségével. APT csomagkezelő Apt get y parancsérték

Az apt-get segédprogram egy hatékony ingyenes konzolprogram, amelyet az APT (Advanced Packaging Tool) könyvtárral együtt használnak új szoftvercsomagok telepítéséhez, meglévők eltávolításához, a telepítettek frissítéséhez és a teljes operációs rendszer frissítéséhez.

Az apt-cache konzol segédprogram az APT szoftvercsomagok gyorsítótárában való keresésére szolgál. beszél egyszerű szavakkal, ez az eszköz csomagok keresésére, a csomagokkal kapcsolatos információk gyűjtésére és a telepítésre rendelkezésre álló csomagok megkeresésére szolgál operációs rendszer Debian vagy Ubuntu alapú.

Hogyan kaphatok listát az összes elérhető csomagról?

Az összes elérhető csomag megtekintéséhez futtassa a következő parancsot:

apt-cache pkgnames

Hogyan találhatom meg a csomag nevét és leírását?

Ha a telepítés előtt meg szeretné találni a csomag nevét és leírását, használja a "keresés" jelzőt. A "search" és az apt-cache használata megjeleníti a megfelelő csomagok listáját rövid leírás. Például, ha meg szeretné találni a vsftpd csomag leírását: ehhez a parancs a következő:

apt-cache keresés vsftpd

Az összes olyan csomag megkereséséhez és listázásához, amelyek neve vsftpd -vel kezdődik, használja a következő parancsot:

apt-cache pkgnames vsftpd

Hogyan nézhetem meg a csomag adatait?

Például, ha információkat szeretne látni egy csomagról, egy rövid leírással, amely tartalmazza a verziószámot, az ellenőrző összegeket, a méretet, a telepítés utáni méretet, a kategóriákat stb., akkor használhatja a "show" alparancsot az alábbiak szerint:

apt-cache show netcat

Hogyan ellenőrizhetem egy csomag függőségét?

Egy adott csomag függőségének ellenőrzéséhez a showpkg alparancsot használhatja annak ellenőrzésére, hogy a függőségek telepítve vannak-e vagy sem. Például használja a showpkg parancsot a csomagnévvel együtt.

apt-cache showpkg vsftpd

Hogyan nézhetem meg a gyorsítótár statisztikáit?

A statisztika alparancs teljes statisztikát jelenít meg a gyorsítótárról, például a gyorsítótárban talált csomagok teljes számát. Használja ezt a parancsot:

apt-cache statisztika

Hogyan frissíthető a csomagok listája a rendszerben?

Az update parancs a csomagindexfájlok szinkronizálására és frissítésére szolgál. A szinkronizálás a fájlban megadott forrásokkal történik /etc/apt/sources.list. Ez a parancs használható például a fontos csomagfrissítések nyomon követésére.

Sudo apt-get frissítés

Hogyan lehet csomagokat frissíteni a rendszerben?

Az upgrade paranccsal frissíthető minden, amire telepítve van Ebben a pillanatban szoftvert a rendszeren. Néha előfordulhat, hogy egy frissítés nem telepíthető más, régebbi verziót igénylő csomag miatt.

sudo apt-get upgrade

Ha azonban a csomagkövetelményektől függetlenül szeretne frissíteni, használja a dist-upgrade alparancsot:

sudo apt-get dist-upgrade

Hogyan telepíthetek vagy frissíthetek egy adott csomagot?

A telepítési alparancs a csomagok telepítésére vagy frissítésére szolgál.

sudo apt-get install netcat

Hogyan telepíthetek több csomagot egyszerre?

Egyszerre több csomag nevének megadásával is telepítheti őket. Például a nethogs és goaccess csomagok telepítéséhez futtassa a következő parancsot:

sudo apt-get install nethogs goaccess

Több csomag telepítése „maszk” névvel

A reguláris kifejezésekkel több csomagot is hozzáadhat speciális karakterek használatával. Használhat például egy csillagot az összes olyan csomag telepítéséhez, amelyek nevében a "name" karakterlánc szerepel:

sudo apt-get install *name*

Hogyan telepítsünk csomagokat frissítés nélkül.

A --no-upgrade jelző használata már megakadályozza a frissítést telepített csomagok.

sudo apt-get install packageName --no-upgrade

Hogyan lehet csak bizonyos csomagokat frissíteni?

A --only-upgrade jelző nem telepít új csomagokat, csak a meglévőket frissíti.

sudo apt-get install csomagnév --only-upgrade

Hogyan telepíthetem egy csomag adott verzióját?

Képzeljük el, hogy telepítenie kell egy csomag egy adott verzióját, csak használjon egyenlőségjelet a csomag nevével együtt, és rendelje hozzá a kívánt verziót.

sudo apt-get install vsftpd=2.3.5-3ubuntu1

Hogyan lehet eltávolítani a csomagokat a beállítások törlése nélkül?

A szoftvercsomagok konfigurációs fájljaik eltávolítása nélkül történő eltávolításához (későbbi használatra) használja az eltávolítási parancsot az ábrán látható módon.

sudo apt-get Remove vsftpd

Hogyan lehet teljesen eltávolítani a csomagokat?

Egy csomag és konfigurációs fájljainak eltávolításához használja a purge alparancsot az alábbiak szerint.

sudo apt-get purge vsftpd

Vagy kombinálhatja a két parancsot, így:

sudo apt-get remove --purge vsftpd

Hogyan szabadíthatok fel lemezterületet?

A clean paranccsal lemezterület szabadítható fel azáltal, hogy eltávolítja a létrejövő .deb csomagfájlokat a helyi tárolóból.

sudo apt-get clean

Hogyan lehet letölteni a csomag forráskódját?

Ha csak egy csomag forráskódját szeretné letölteni, használja a --download-only source opciót a csomag nevével együtt, például:

sudo apt-get --csak letöltési forrás vsftpd

Hogyan tudok letölteni és kicsomagolni egy csomagot?

Egy csomag forráskódjának egy speciális könyvtárba való letöltéséhez és kicsomagolásához futtassa a következő parancsot:

sudo apt-get forrás vsftpd

Hogyan tudom letölteni, kicsomagolni és lefordítani egy csomag forráskódját?

Le is töltheti, kicsomagolhatja és lefordíthatja a csomagforrást a „--compile” opcióval, az alábbiak szerint:

sudo apt-get --fordítási forrás goaccess

Hogyan lehet letölteni egy csomagot telepítés nélkül

A "letöltés" opció használatával bármelyik csomagot letöltheti telepítés nélkül. Például a következő parancs csak a nethogs csomagot tölti le az aktuális munkakönyvtárba.

sudo apt-get letöltés nethogs

Hogyan nézhetem meg egy csomag változásnaplóját?

A változásnapló jelző letölti a csomag változásnaplóját, és megjeleníti a csomag verzióját, ha telepítve van.

sudo apt-get changelog vsftpd

Hogyan lehet helyrehozni a megszakadt függőségeket?

A "check" parancs egy diagnosztikai eszköz, amely a csomag-gyorsítótár frissítésére és a megszakadt függőségek ellenőrzésére szolgál.

Sudo apt-get check

Hogyan találhatok és építhetek függőséget?

A build-dep parancs megkeresi és telepíti a szükséges csomag beépített függőségeit. Ha a csomag nincs a helyi tárolóban, hibaüzenetet fog kapni.

sudo apt-get build-dep netcat

Hogyan törölhetem automatikusan az Apt-Get gyorsítótárat?

Az autoclean parancs eltávolítja az összes .deb fájlt a /var/cache/apt/archives könyvtárból, hogy ingyenes legyen. szabad hely a merevlemezen.

sudo apt-get autoclean

Hogyan tudom automatikusan eltávolítani a felesleges csomagokat?

Az autoremove alparancs a mások függőségeként telepített, de már nem szükséges csomagok automatikus eltávolítására szolgál. Például a következő parancs eltávolít egy telepített csomagot a függőségeivel együtt.

sudo apt-get autoremove vsftpd

Információ az oldal jóvoltából. Köszönöm.

| |

Mi történtapt-get?

apt - program felhasználói felület parancssor a dpkg csomagolási rendszerhez, amely a szoftverek parancssorból történő kezelésének előnyben részesített módja bármely disztribúció esetén. Ez a fő csomagkezelő rendszer a Debian és Debian-alapú Linux disztribúciókban, például az Ubuntuban.

Míg a "dpkg" eszköz létrehozza az alapcsomagoló réteget, az apt-get és az apt-cache kényelmes interfészt biztosít és kezeli a függőségek kezelését. Ez lehetővé teszi a felhasználók számára, hogy könnyen és racionálisan kezeljenek nagy számot szoftver.

Ez az útmutató az "apt-get" és az "apt-cache" alapvető használatáról és szoftverkezelési képességeiről szól. Minden példa az Ubuntu 12.04 felhőkiszolgálón alapul, de a leírt lépések és technikák bármely Debian-alapú disztribúción végrehajthatók.

A csomag adatbázis frissítése innenalkalmasKap

Az apt-get ismert és elérhető szoftverek adatbázisával működik. Ez a parancs végrehajtja a telepítést, a csomagkeresést és az adatbázishoz kapcsolódó egyéb műveleteket.

Ezért, mielőtt bármilyen csomagolási műveletet elkezdene az apt-get segítségével, meg kell győződnie arról, hogy rendelkezik az adatbázis legújabb helyi példányával.

Az adatbázist a következő paranccsal frissítheti. Az Apt-get rendszergazdai jogosultságokat igényel a legtöbb művelethez:

sudo apt-get frissítés

Megjelenik azoknak a szervereknek a listája, amelyekről az információkat lekéri. Ezt követően az adatbázis frissül.

Frissítse a telepített csomagokat aalkalmasKap

A rendszercsomagok a következő paranccsal frissíthetők:

sudo apt-get upgrade

Többért teljes felújítása használja a "dist-upgrade" argumentumot, amely feloldja az új csomagok és frissítések intelligens függőségét szükséges programokat a kevésbé fontosak rovására:

sudo apt-get dist-upgrade

Új csomagok telepítése innenalkalmasKap

Ha ismert a telepítendő csomag neve, akkor a következő szintaxissal telepíthető:

sudo apt-get install csomag1 csomag2 csomag3...

Egyszerre több csomagot is telepíthet, így egyetlen lépésben megkaphatja a projekthez szükséges összes szoftvert.

Fontos megérteni, hogy az apt-get nem csak a kért szoftvert telepíti, hanem a telepítéséhez vagy futtatásához szükséges programokat is.

Például a teljes "vim" szövegszerkesztő csomag a következő beírásával telepíthető:

sudo apt-get install vim

EltávolításcsomagVal velapt-get

Egy csomag eltávolításához a következő parancsot használhatja:

sudo apt-get Remove package_name

Ez a parancs eltávolítja a csomagokat, de megtartja a konfigurációs fájlt arra az esetre, ha a csomag újra telepítve lenne. Így a beállítások akkor is érintetlenek maradnak, ha a program nincs telepítve.

Ha a konfigurációs fájlt nem kell tárolni, a szintaxis segítségével a programmal együtt eltávolítható:

sudo apt-get purge csomagnév

Ez a művelet eltávolít minden, a csomaghoz társított konfigurációs fájlt.

Egy másik program támogatásához automatikusan telepített szükségtelen csomag eltávolításához írja be a következőket:

sudo apt-get autoremove

Az "autoremove" parancs után megadhatja a csomag nevét is a csomag és függőségei eltávolításához.

Közös zászlókalkalmasKap

Számos különböző opciót lehet megadni zászlókkal. Nézzünk meg néhányat közülük.

Egy eljárás „száraz futtatásához”, hogy megnézze, mit csinál, használhatja a „-s” („szimuláció”) jelzőt:

sudo apt-get install -s htop
Csomaglisták olvasása... Kész
épület függőségi fa
Állapotinformáció olvasása... Kész
Ajánlott csomagok:
strace ltrace
A következő ÚJ csomagok kerülnek telepítésre:
htop
0 frissítve, 1 újonnan telepített, 0 eltávolítandó és 118 nincs frissítve.
Inst htop (1.0.1-1 Ubuntu:12.04/precise)
Conf htop (1.0.1-1 Ubuntu:12.04/precise )

A tényleges műveletek helyett az "Inst" és "Conf" szakaszok láthatók, amelyek jelzik a csomag telepítésének és konfigurálásának helyét, ha eltávolítják a "-s" jelzőt.

Ha be szeretné állítani az automatikus kiválasztás megerősítését, használhatja a "-y" jelzőt, amely automatikusan "igen" választ ad minden kérdésre.

sudo apt-get remove -y htop

Ha szeretne letölteni egy csomagot, de nem telepíti, akkor futtassa a következő parancsot:

sudo apt-get install -d csomagnév

Ezek a fájlok a "/var/cache/apt/archives" mappában találhatók.

Ha el akarja nyomni az eredményeket, használja a "-qq" jelzőt:

sudo apt-get remove -qq csomagnév

Csomag keresésealkalmasGyorsítótár

Az „alkalmas” csomagolóeszköz valójában a kapcsolódó elemek gyűjteménye ingyenes eszközök, amelyek a rendszerszoftver vezérlésére szolgálnak.

Míg az "apt-get" a csomagok frissítésére, telepítésére és eltávolítására szolgál, az "apt-cache" a csomagadatbázis lekérdezésére szolgál.

A következő paranccsal keresheti meg a szükséges csomagokat. Vegye figyelembe, hogy az apt-cache általában nem igényel rendszergazdai jogosultságokat.

apt-cache keresés, amit_keresel

Például, ha meg szeretné találni a "htop" szót, a "top" továbbfejlesztett változatát, írja be a következőket:

apt-cache keresés htop
aha - ANSI színből HTML-be konvertáló
htop - interaktív folyamatnézegető

Általánosabb kifejezések is megtalálhatók. Ebben a példában meg kell találnia az mp3 konvertáló szoftvert:

apt-cache keresés mp3 konvertálása
abcde – Egy jobb CD-kódoló
cue2toc – a CUE fájlokat a cdrdao TOC formátumába konvertálja
dir2ogg - hangfájl konvertáló ogg-vorbis formátumba
easytag - ID3 címkék megtekintése, szerkesztése és írása
hpodder – Eszköz a podcastok beolvasására és letöltésére (podcatcher)
id3v2 – Parancssori id3v2 címkeszerkesztő
kid3 - KDE MP3 ID3 címkeszerkesztő
kid3-qt - Hangcímke-szerkesztő
. . .

Egy csomag információinak megtekintésealkalmasGyorsítótár

A csomaggal kapcsolatos információk megtekintéséhez, beleértve a kiterjesztett leírást, használja a következő szintaxist:

apt-cache mutatja a csomag_nevet

Ez információt nyújt a letöltési méretről és a csomag szükséges függőségeiről is.

Annak ellenőrzéséhez, hogy egy csomag telepítve van-e, és megtudhatja, melyik lerakathoz tartozik, írja be:

apt-cache házirend csomag_neve

Eredmények

Ez az útmutató elegendő információt tartalmaz a kiszolgálón található legtöbb szoftver kezeléséhez.

Bár néha túl kell lépni ezeken az eszközökön és a tárolókban elérhető szoftvereken, a legtöbb szoftverművelet vezérelhető ezekkel a parancsokkal.

Címkék: ,

Annak a ténynek köszönhetően, hogy néhány elvtárs nem érti, mi az apt és a dpkg. Úgy döntöttünk, hogy létrehozunk egy újabb bejegyzést ezekről a segédprogramokról.

APT és minden, minden, minden. Az APT csomagkezelő és a kapcsolódó programok lehetőségeinek feltárása

A Debian sok pozitív újítást hozott a Linux világába, amelyek közül sokat más disztribúciók is átvettek. A Debian legjelentősebb fejlesztése az APT csomagkezelő rendszer volt, megjelenése után az összes többi disztribúció elavult szemétté változott. Ma az APT összetett, intelligens, rugalmas, és sok titkot rejteget az avatatlan Linux-felhasználók elől.

Fejlett csomagkezelő rendszer

Az APT (Advanced Packaging Tool) maga nem egy csomagkezelő rendszer szó szerint ez a szó. A kicsomagoláshoz, a rendszerbe való regisztrációhoz és a csomagadatbázis megtekintéséhez minden műveletet a dpkg csomagsegédprogramok hajtanak végre, míg az APT segédprogramok egy olyan wrapper, amellyel csomagokat kereshet, ellenőrző összegeket ellenőrizhet, letölthet a tárolóból, feloldhatja a függőségeket és egyéb műveletek száma.

Az APT a következő segédprogramokat tartalmazza:

apt csomag segédprogramok

apt-cache – az elérhető csomagok gyorsítótárát kezeli, általában használt
csomagot keresni és/vagy információt szerezni róla

apt-cdrom - lehetővé teszi CD/DVD hozzáadását csomagforrásként (tárhelyként)

apt-config - beolvassa a konfigurációban megadott opciók értékeit
/etc/apt/apt.conf fájl, amelyet más APT segédprogramok használnak

apt-extracttemplates – kivonatok konfigurációs fájlok DebConf
csomagokból, amelyeket más APT segédprogramok használnak

apt-ftparchive - indexfájlokat hoz létre

apt-get - telepítés, eltávolítás, csomaglista frissítése
és maguk a csomagok, a központi APT segédprogram

apt-key – kezeli az ellenőrzéshez használt hitelesítési kulcsokat
a csomagforrások hitelessége

apt-secure – hitelesíti digitális aláírás megfelelő csomagokat tartalmaz
a terjesztésben és a tárolókban

apt-sortpkgs – rendezi az indexfájlokat

A segédprogramok a következő konfigurációs fájlokra támaszkodnak:

APT konfigurációs fájlok

/etc/apt/sources.list - a csomagforrások listája (tárolók)
/etc/apt/apt.conf – a fő APT konfigurációs fájl
/etc/apt/preferences - beállításfájl, amely szabályozza, hogy a csomag melyik verziója legyen
telepítve, ha egyszerre több verzió is található a tárolóban

Az APT használata egyszerű és egyértelmű, az átlagos felhasználónak általában csak hat alábbi parancsra van szüksége:

Alapvető APT parancsok

apt-cache keresési maszk - csomag keresése
apt-cache show package – egy csomag információinak megtekintése
apt-get install csomag – csomag telepítése
apt-get csomag eltávolítása – csomag eltávolítása
apt-get update – az elérhető csomagok gyorsítótárának frissítése
apt-get upgrade – az összes csomag frissítése

Az utolsó két parancs általában egymás után fut le, ami újratelepíti az összes olyan csomagot, amelyhez új verziók érhetők el a tárolóban. Ha csak a megadott csomagot kell frissítenie, akkor az "apt-get update" után futtassa az "apt-get install csomag" parancsot.

Az Ubuntu disztribúció még egyszerűbbé teszi az APT segédprogramokkal való „beszélgetést”, és lecsökkenti a grafikus felhasználói felület jelölőnégyzeteinek kattintását. Saját, rendkívül egyszerű csomagkezelővel rendelkezik (úgy hívják: "Csomagkezelő"), amelyet a cron indított el a menedzsertől Frissítés Manager, egy grafikus telepítő a kézzel letöltött GDebi deb csomagokhoz, és egy erősebb grafikus kiegészítő a Synaptic APT segédprogramjaihoz.

Eközben az APT sokkal összetettebb és rugalmasabb, mint amilyennek első pillantásra tűnhet. Ezért a következő szakaszokban számos, nem egészen tipikus felhasználási módot fogunk megvizsgálni.

Harmadik féltől származó csomagforrások

A disztribúciófejlesztők összes csomagját tartalmazó fejtáron kívül sok más csomagforrás is tartalmazhat olyan harmadik féltől származó szoftvereket, amelyek nem érhetők el a hivatalos tárhelyből, vagy annak újabb verzióit biztosítják, vagy egyszerűen csak egy gyorsabb tükör. A tároló lehet egy normál könyvtár a merevlemezen vagy egy CD.

Ahhoz, hogy megtanítsa az APT-t a harmadik féltől származó tárolókkal való együttműködésre, elegendő négy egyszerű lépést követni:

Az uri mező a repository címe, amely a legtöbb esetben egy HTTP-cím, de lehet hivatkozás egy helyi tárhelyre (file:/root/repository), egy FTP- vagy SSH-szerveren lévő tároló címe. A "disztribúció" mező megadja annak a disztribúciónak a nevét, amelyhez a csomagok készülnek. Debian esetében a név lehet stable, oldstable, unstable, testing, míg Ubuntu esetében csak a disztribúció konkrét neve (pl. jaunty), valamint az erre épülő különféle megnevezések (pl. jaunty-updates, jaunty- backports, jaunty-security). Azt kell mondanom, hogy az APT egyáltalán nem ellenzi a különböző disztribúciókból származó csomagok keverését ugyanazon a rendszeren, de ebben az esetben Ön felelős a következményekért. Az összetevő neve általában main, contrib vagy non-free Debian, és main, univerzum, multiverzum, partner, és korlátozott Ubuntu. Ezek mind a különböző csomagtárolók nevei, amelyek bizonyos kritériumok alapján csak külön csomagokra vannak szétválasztva. Például a fő csomagok az Ubuntu/Debian fejlesztőcsapat által összeállított csomagok, a bennük lévő szoftverek minőségére bizonyos garanciák vonatkoznak, pl. időszerű frissítésekés hibajavítások, míg a contrib és az universe harmadik féltől származó szoftverek, amelyeket saját felelősségére telepíthet.

2. Adja hozzá az apt kulcstartóhoz a lerakat nyilvános kulcsát, amely a hitelességének és megbízhatóságának ellenőrzésére szolgál. A kulcsot bármilyen módon megszerezhetjük és hozzáadhatjuk az "apt-key add key" parancs futtatásával, de ezt a módszert ritkán alkalmazzák a kényelmetlenség miatt. Az esetek túlnyomó többségében egy csapattal lesz dolgod

sudo apt-key adv --keyserver cert-server --recv-keys kulcsazonosító
amely közvetlenül a tanúsítványszervertől kéri le a kulcsot (Ubuntu esetében ez a keyserver.ubuntu.com). A legtöbb külső fejlesztő így terjeszti a szoftverét Debian/Ubuntu disztribúciókhoz (a többi csak csomagokat és azok ellenőrző összegeit teszi közzé). Például, ha felkeresi az Önt érdeklő projekt launchpad.net oldalát, és rákattint a „Technikai részletek erről a PPA-ról” hivatkozásra, látni fog egy sort, amelyet hozzá kell adni az /etc/apt/sources fájlhoz. .list, az "Aláíró kulcs:" kulcsazonosítót fog tartalmazni.

3. Frissítse az elérhető csomagok gyorsítótárát:

sudo apt-get frissítés
4. Telepítse a csomagot az "apt-get install package" paranccsal.

Sok fejlesztő közvetlenül a deb csomagban helyezi el a tárolóra mutató hivatkozást és annak kulcsazonosítóját, így a csomag letöltése, telepítése és az "apt-get update && apt-get upgrade" parancs futtatása után a csomagok a csomagokkal együtt frissülnek. a források.listában felsorolt ​​megfelelői. Különösen így oszlik meg az opera böngészők és a google chrome alfa kiadása.

Egy CD-alapú adattárat sokkal könnyebb hozzáadni a sources.list-hez. Erre van egy speciális apt-cdrom parancs. Egyszerűen helyezze be a CD-t a meghajtóba, és futtassa a parancsot:

sudo apt-cdrom add

Trükkök és szokatlan helyzetek

Az APT az APT, kényelmes és egyszerű, de néha nem nélkülözheti a trükköket, amelyek közül a leghasznosabbat tanulja meg ebből a részből.

1. Alapértelmezés szerint az "apt-get remove" parancs csak akkor távolítja el teljesen a csomagot, ha a telepítés óta egyik fájl sem módosult, ellenkező esetben a módosított fájlok érintetlenek maradnak. Természetesen a konfigurációs fájlok szinte mindig módosulnak, így az apt-get egy rakás szemetet hagy maga után, amelyet kézzel kell kitakarítani. Az „apt-get remove” helyett az „apt-get purge” parancs megoldja ezt a problémát.

2. A rendszer kiválasztásának rajongói, valamint azok a rendszergazdák, akiknek szervereit feltörték, nagy valószínűséggel vissza akarják állítani a csomagokat a kezdeti állapotba, amelyben a manipuláció előtt voltak. Ez a parancs segít:

sudo apt-get install --reinstall csomag
3. Továbbiak alacsony szintű közművek A deb csomagkezelők (például a dselect és a dpkg) egy speciális listát tartanak fenn a csomagállapotokról, amelyek segítségével szabályozható, hogy mely csomagokat kell telepíteni vagy eltávolítani. kötegelt mód(így működik a dselect + dpkg köteg). Számos más célra is használható, például rendszerkonfiguráció átvitelére egy másik gépre. Futtassa a következő parancsot:

dpkg --get-selections > fájl
Vigye át a fájlt egy másik gépre, és futtasson rajta két parancsot:

cat fájl > dpkg --set-selections
apt-get dselect-upgrade

A forrásrendszer összes csomagja hozzáadódik a rendszerhez. Ha azt szeretné, hogy a csomagállapotfájl információkat is tartalmazzon arról, hogy mely csomagokat kell eltávolítani a rendszerből, adjon hozzá egy "\*" karaktert a "--get-selections" argumentum után. Az állapotlista nem tartalmazza a csomagok verzióját, ezzel a disztribúció újabb verziójának telepítése után lehet a kívánt állapotba hozni.

4. Manuálisan javította az egyik rendszercsomag fájlját, és nem akarja, hogy a csomag frissítésre kerüljön (az összes módosítás törlése) az "apt-get upgrade" hívása után. Ebben az esetben az államok listája ismét a segítségedre lesz. Egy csomag „lefagyhat”, így az apt-get megtagadja a frissítést, és kihagyja:

echo -e "coreutils hold" | dpkg --set-selections
A csomagfrissítést az apt-get meghívásakor a "-u" jelző megadásával kényszerítheti ki.

5. Mint minden hálózati funkcióval rendelkező rendszer, az APT is lehetővé teszi proxy használatát a tárolók eléréséhez. A funkció engedélyezéséhez adja hozzá a következő sort az /etc/apt/apt.conf fájlhoz:

Beszerzés::http::Proxy "http://xxx.xxx.xx:yyyy"

Ahol xxx.xxx.xx a proxy neve, az yyyy a port.

6. Az APT segédprogramok általában a csomagok legújabb verzióját kérik a gyorsítótárában található összesből, így ha különféle kísérleti és instabil tárolókat adott hozzá a sources.list-hez, akkor a frissítés után egy kizárólag kísérleti vagy instabil csomagokból álló disztribúciós készletet kap. , és egy csomó probléma, amelyet ez az állapot okoz. A helyzet azonban könnyen megoldható, ha a következő sort helyezi az /etc/apt/apt.conf fájlba:

APT::Default-Release "release";

Ahol a kiadás régi stabil, stabil, instabil, tesztelési vagy kísérleti Debian esetében, vagy a kiadás neve Ubuntu esetében. Most, ha telepítenie kell egy csomagot a megadott disztribúcióból, írja be a nevét a "-t" argumentum után az apt-get meghívásakor:

sudo apt-get -t instabil telepítőcsomag
7. Az összes kapott apt-get deb csomag a /var/cache/apt/archives könyvtárban van tárolva, ami azt jelenti, hogy ha újratelepíti a rendszert, átmásolhatja a könyvtár tartalmát egy másik lemezre/partícióra, majd visszaállíthatja. és időt takaríthat meg/csomagtelepítési forgalmat. Ráadásul ez lényegében egy pillanatkép a telepített rendszeréről (az a része, amelyet maga telepített), amely egy barátjának tulajdonítható (a harmadik bekezdésben leírt állapotok listájával együtt), vagy ha szükségtelen, törölhető szabadítson fel helyet.

8. Az előző bekezdésben leírt távoli rendszer pillanatképe könnyen visszaállítható a következő konstrukció segítségével:

sudo dpkg --get-selections | grep -v "deinstall" | \
awk "(nyomtatás $1)" | xargs dpkg-repack

9. A bináris csomagokon kívül a Debian/Ubuntu tárolók olyan alkalmazásforrás-csomagokat is tartalmaznak, amelyek a következő paranccsal szerezhetők be és építhetők fel:

sudo apt-get -b forráscsomagnév

Harmadik fél segédprogramjai

Az APT rendszer hosszú utat tett meg a fejlesztésben, így az apt csomagban található hivatalos segédprogramok mellett a Debian és az Ubuntu adattárak tele vannak külső féltől származó segédprogrammal, amelyek segítségével néhány nem szabványos feladatot is végre lehet hajtani. .
Ezek közül a leghasznosabb az apt-file, és a névből sejthető, hogy szükséges annak meghatározásához, hogy egy adott fájl egy adott csomaghoz tartozik-e. Telepítés:

sudo apt-get install apt-file
Megkérjük az apt-file-t, hogy hozzon létre egy gyorsítótárat a csomagrendszerbe telepített összes fájlról (keresni fog):

apt-file keresés /usr/bin/apt-get
apt: /usr/bin/apt-get

Kérje az összes csomagfájl listáját:

apt-fájl lista apt

Egy egyszerű apt-show-versions segédprogram megmutatja, mely csomagok frissíthetők verziókkal és egyéb információkkal. Futtassa a "-u" kapcsolóval, hogy csak a frissítendő csomagok listáját kapja meg (az összes csomag listája helyett).

Ha sok különböző csomagot telepített, és most szeretne megszabadulni a felesleges szeméttől, akkor a deborphan segédprogram segít ebben, amely a nem használt csomagokat és az árva függőségeket keresi. Csak futtassa a deborphan-t argumentumok nélkül, és látni fogja a csomagok listáját, amelyet azonnal átadhat bemenetként az „apt-get remove” parancsnak, vagy egyszerűen futtassa ezt a parancsot:

sudo apt-get távolítsa el a `deborphan' parancsot

Alapértelmezés szerint a deborphan csak azokat a csomagokat dolgozza fel, amelyek könyvtárakat tartalmaznak, de ez a viselkedés megváltoztatható az "-a" jelző hozzáadásával a parancshíváshoz:

Nem szabad azonnal rohanni a segédprogram által megjelenített csomagok eltávolításával, mert még a legerősebb heurisztikus algoritmus sem képes meghatározni az Ön személyes igényeit. Tehát a program megmutatta a google-chrome, inkscape és még az xorg csomagokat is.

Az apt-move segédprogram lehetővé teszi egy helyi tároló létrehozását. Telepítse a programot, nyissa meg az /etc/apt-move.conf fájlt, adja meg annak a könyvtárnak az elérési útját, ahol a lerakatnak el kell helyezkednie a LOCALDIR opcióban, és futtassa a parancsot:

sudo apt-move frissítés

Ennek eredményeként az apt-get segítségével (/var/cache/apt/archives könyvtár) a webről letöltött összes csomag átkerül a konfigurációban megadott könyvtárba, amelyhez indexfájl készül. Ez egy kényelmes módja az intranetes tár létrehozásának azokra az esetekre, amikor sok ugyanazt a csomagot kell telepíteni több gépre.

Helyi tároló létrehozásához nagyon kényelmes az apt-proxy szerver használata is, amely lehetővé teszi a tárolóból letöltött deb csomagok gyorsítótárazását a szerver oldalon. Ehhez az apt-proxy telepítve van egy dedikált gépre (talán egy átjáróra), és a kliensek sources.listája úgy módosul, hogy ennek a gépnek a címe legyen megadva az összes tároló uri mezőjeként. Ennek eredményeként a deb csomagokra vonatkozó összes kérés az apt-proxy-ra kerül, amely lekéri a csomagot a head repository-ból és tárolja a gyorsítótárában, és a csomagra vonatkozó minden további kérés a gyorsítótárból érkezik.

Először telepítse az apt-proxyt egy dedikált gépre:

sudo apt-get install apt-proxy

Ezután nyissa meg az /etc/apt-proxy/apt-proxy-v2.conf fájlt, lépjen a szakaszba, és cserélje ki az address opció értékét a gép IP-címére, és írja le az apt- által használt csomagforrásokat is. proxy, például:

sudo vi /etc/apt-proxy/apt-proxy-v2.conf


backends = http://en.archive.ubuntu.com/ubuntu/
min_refresh_delay = 1d


backends=http://security.ubuntu.com/ubuntu/
min_refresh_delay = 1d

Általában ez a két cím elegendő az Ubuntu fejlesztők által biztosított csomagok teljes skálájának lefedésére. Indítsa újra az apt-proxyt:

sudo invoke-rc.d apt-proxy újraindítás

A kliensek apt-proxyra való átállításához használjuk a szabványos Ubuntu sources.list listát, lecseréljük az összes valódi uri mezőt a „http://ip-address-apt-proxy:9999/ubuntu/” mezőre, és átmásoljuk ezt a fájlt minden kliensre.

Sok más, kevésbé érdekes segédprogram működik az APT-vel együtt. Például az apt-dater lehetővé teszi a csomagok frissítését nagyszámú távoli csomóponton pszeudografikus interfész segítségével. Az aptsh program egy sh-szerű parancsfelületet valósít meg az apt csomag parancsai mellett, az aptfs az APT kezelésének virtuális fájlrendszere. A debdelta segédprogram, amely lehetővé teszi a csomagok frissítését úgy, hogy letölti a deltákat a webről, egy külön cikk témája lehetne, ha lenne legalább egy naprakész tárhely.

Alkalmasság

Az apt-get segédprogram és rokonai nem az egyetlen elérhető APT megvalósítás. Egy még hatékonyabb, kényelmesebb és sokoldalúbb alternatíva az aptitude, amely az apt-get, apt-cache és dselect koncentrált funkciója egy helyen.
Az Aptitude lehetővé teszi a csomagok telepítését/eltávolítását, keresését, frissítését és sok egyéb művelet elvégzését kétféle interfész használatával: az apt-get és apt-cache parancsmóddal, valamint egy pszeudografikus felülettel, amely úgy néz ki, mint a dselect. de sokkal kényelmesebb.és funkcionális.

Parancssori módban az aptitude a következőkre használható:

aptitude install – csomag telepítése

aptitude remove – Csomag és árva függőségek eltávolítása

aptitude purge – csomag eltávolítása, árva függőségek
és az utánuk fennmaradó konfigurációs fájlok

aptitude search – csomag keresése a gyorsítótárban (az elérhető csomagok listája)

aptitude update – gyorsítótár frissítése

aptitude safe-upgrade – frissítési csomagok

aptitude clean - távolítsa el a korábban letöltött csomagokat

aptitude teljes frissítés - frissítési csomagok,
még akkor is, ha ehhez a művelethez bármilyen csomag eltávolítása szükséges

alkalmassági bemutató – csomaginformáció

aptitude autoclean - távolítsa el az elavult csomagokat

aptitude hold – csomag frissítésének tilalma

Az interaktív mód, amely akkor érhető el, ha az aptitude-ot argumentumok nélkül futtatja, lehetővé teszi ugyanazon műveletek végrehajtását az ncurses könyvtár tetejére épített pszeudografikus interfész segítségével. Kötegelt módban működik (kiválasztott csomagok - elindította a telepítési folyamatot), így kényelmes lesz olyan esetekben, amikor nagy számú csomagot kell telepítenie.

húsvéti tojás

Az APT segédprogramok fejlesztőiről kiderült, hogy kissé torz humorú srácok. Mi az eredménye a következő parancsnak:

sudo apt-get moo
Ami még vadabbnak tűnik, az az, amit az alkalmasság megalkotói beépítettek programjukba. Próbáld ki:

sudo aptitude moo
Egyfajta húsvéti tojás húsvéti tojás nélkül. RENDBEN:

sudo aptitude -v moo
sudo aptitude -vv moo
sudo aptitude -vvv moo
sudo aptitude -vvvv moo
sudo aptitude -vvvvv moo

És az utolsó akkord:

sudo aptitude -vvvvvv moo

Hasznos apt-cache parancsok

apt-cache show csomag – részletes információ a csomagról
apt-cache showpkg csomag – általános információk a csomagról
apt-cache függ a csomagtól – a csomagfüggőségek listája
apt-cache rdepends csomag - a fordított függőségek listája (kinek van szüksége az említett csomagra)

APT szótár

Csomag - program, könyvtár, források vagy bármely más fájl, valamint ezek metaadatai, speciálisan kialakított archívumba csomagolva.

Repository - egy hely, ahol a deb csomagokat tárolják.

Az elérhető csomagok gyorsítótára (vagy egyszerűen a gyorsítótár) egy olyan fájl, amely az /etc/apt/sources.list fájlban felsorolt ​​forrásokból származó összes csomagra vonatkozó információkat tárolja. A gyorsítótár minden alkalommal frissül az "apt-get update" parancs meghívásakor.

Index fájl - a tároló fejfájlja, amely tartalmazza a nevet, verziót, méretet, rövid és Teljes leírásés az egyes csomagok függőségeit. Packages.gz néven bináris lerakat, Sources.gz pedig forrástárat. Létrehozva a pkg-scanpackages és a dpkg-scansources segédprogramokkal.

Az Apt keyring (szó szerint: apt keyring) egy kulcstároló, amely hitelesíti a csomagforrásokat (repository).

Mi van belül?

A Deb formátumú csomagok jellemzője az egyszerűségük. Bármely Deb csomag három fájlból áll: data.tar.gz, control.tar.gz és debian-binary, az archiválóval együtt. A data.tar.gz fájl a csomag tartalma (binárisok, man "s, dokumentáció stb.), a control.tar.gz metaadat, a legegyszerűbb változatban két fájl: a csomag leírását tartalmazó vezérlő, függőségek, méret stb. A .d. és az md5sums a csomagban lévő összes fájl ellenőrző összege. A debian-bináris fájl tartalmazza a Deb csomagformátum verzióját (pl. 2.0) A csomag kicsomagolásához a következő parancsot használhatja:

ar -xv package.deb && tar -xzf data.tar.gz

Az Advanced Packaging Tool egy magas szintű csomagolóeszköz.

dpkg csomagokkal való munka

A dpkg a rendszer fő programja a Debian csomagok kezelésére. Ha vannak .deb csomagok, akkor a dpkg teszi lehetővé azok telepítését vagy tartalmuk elemzését. Ez a program azonban csak részben ismeri a Debian világát: tudja, mi van telepítve a rendszerre, és mindent, amit parancssorban átadtak neki, de semmit sem tud a többi elérhető csomagról. Ezért megbukik, ha kielégítetlen függőséget talál. Az olyan eszközök viszont, mint az apt, automatikusan létrehozzák a függőségek listáját, hogy mindent a lehető legautomatikusabban telepítsenek.

dpkg vagy apt?

A dpkg-t alacsony szintű eszköznek (motornak) kell tekinteni, és alkalmasabb felhasználóbarát eszköznek, amely megkerüli az előbbi korlátait. Ezek az eszközök együtt működnek, mindegyiknek megvan a maga sajátossága, egy bizonyos feladatkörre kihegyezve.

Csomagok telepítése

A dpkg elsősorban a már elérhető Debian csomagok telepítésére szolgáló eszköz (mivel nem tölt le semmit). Csomag telepítéséhez használja az -i vagy a --install opciót.

dpkg csomag telepítése

dpkg -i man-db_2.7.0.2-5_amd64.deb




A man-db csomag (2.7.0.2-5) beállítása folyamatban van...

A dpkg minden lépését láthatjuk, így tudjuk, hol történhetett hiba. A telepítés is két lépésben történhet: először kicsomagolás, majd konfiguráció. Ezáltal az apt-get kevesebb dpkg-hívást kezdeményez (minden ilyen hívás költséges művelet, mivel be kell tölteni az adatbázist a memóriába, beleértve a már telepített fájlok teljes listáját).

Külön kicsomagolás és beállítás

dpkg -- unpack man-db_2.7.0.2-5_amd64.deb

(Adatbázis olvasása... 86425 fájl és könyvtár jelenleg telepítve.)
Felkészülés a man-db_2.7.0.2-5_amd64.deb kicsomagolására ...
Kicsomagolja a man-db-t (2.7.0.2-5) a cseréhez (2.7.0.2-5) ...
Mime-támogatás triggereinek feldolgozása (3.58) ...

dpkg --configure man-db

A man-db csomag (2.7.0.2-5) beállítása folyamatban van...
Kézikönyvi oldalak adatbázisának frissítése...

Előfordul, hogy a dpkg ilyen vagy olyan okból nem telepít egy csomagot, és hibát ad vissza; ha a felhasználó a hiba figyelmen kívül hagyására utasítja, csak figyelmeztetés jelenik meg; erre különféle --force-* opciók állnak rendelkezésre. A dpkg --force-help parancs vagy a parancs dokumentációja kiadja teljes lista ilyen lehetőségeket. A leggyakoribb hiba, amellyel előbb-utóbb szembe kell néznie, a fájlkonfliktus. Ha egy csomag olyan fájlt tartalmaz, amelyet egy másik csomag már telepített, a dpkg megtagadja a telepítést, és a következő üzenetet kapjuk:

A libgdm csomag ki van csomagolva (a.../libgdm_3.8.3-2_amd64.deb fájlból) ...
dpkg: hibafeldolgozás /var/cache/apt/archives/libgdm_3.8.3-2_amd64.deb (--unpack) opció:
megpróbálja felülírni a "/usr/bin/gdmflexiserver" fájlt, amely már benne van a gdm3 3.4.1-9 csomagban

Ebben az esetben, ha úgy gondolja, hogy ennek a fájlnak a cseréje nem jelent jelentős veszélyt a rendszer stabilitására (gyakran igen), használhatja a --force-overwrite opciót, amely arra utasítja a dpkg-t, hogy figyelmen kívül hagyja ezt a hibát és felülírja. a fájl.
Bár sok --force-* opció létezik, rendszeres használathoz csak a --force-overwrite ajánlott. A többi csak kivételes esetekre vonatkozik, és a legjobb, ha nem nyúl hozzájuk, ameddig csak lehetséges, hogy betartsa a csomag létrehozásakor megállapított szabályokat. Ne felejtse el, hogy ezek a szabályok a rendszer integritásának és stabilitásának garanciái.

FIGYELEM! A --force-* hatékony használata

Ha nem vagy óvatos, a --force-* kapcsoló használata az APT parancsok működésének leállását okozhatja. Ezen opciók némelyike ​​lehetővé teszi olyan csomagok telepítését, amelyeknek nem megfelelő függőségei vagy ütközései vannak. Ennek eredményeként a rendszer konzisztenciája a függőségek tekintetében megszakad, és az APT parancsok megtagadják a rendszert konzisztens állapotba visszaállító műveletek végrehajtását (ez általában egy hiányzó függőség telepítésével vagy egy problémás csomag). Íme egy példa egy ilyen hibát jelző üzenetre, amely az rdesktop új verziójának telepítése után érkezik, figyelmen kívül hagyva a libc6 újabb verziójától való függőséget:

alkalmas teljes frissítés

Használhatja az "apt-get -f install" parancsot a hibák kijavításához.
Ki nem elégített függőséggel rendelkező csomagok:
rdesktop: Attól függ: libc6 (>= 2.5), de a 2.3.6.ds1-13etch7 már telepítve van
E: Ki nem elégített függőségek.

Próbáld meg az -f parancsot.
Az Intrepid rendszergazdák, akik magabiztosak a helyzetelemzésben, figyelmen kívül hagyhatják a függőségi vagy ütközési figyelmeztetést a megfelelő --force-* opció használatával. Ebben az esetben, ha folytatni szeretné az apt vagy aptitude használatát, szerkesztenie kell a /var/lib/dpkg/status fájlt, és el kell távolítania/meg kell változtatnia a függőséget vagy ütközést.
Ennek a fájlnak a szerkesztése egy piszkos feltörés, és nem szabad használni, kivéve a legszélsőségesebb esetekben. Gyakran a legjobb megoldás a problémát okozó csomag újraépítése: „A csomag újraépítése a forráskód”), vagy egy újabb (esetleg javított) verziót használ egy adattárból, például a stable-backports portokból (lásd a 6.1.2.4. szakaszt, „Visszakompatibilis stabil szoftver”).

Csomag eltávolítása

A dpkg futtatása az -r vagy a --remove kapcsolóval, majd a csomagnévvel eltávolítja a csomagot. Ez az eltávolítás azonban nem teljes: minden konfigurációs fájl, karbantartói parancsfájl, naplófájl (rendszernapló) és egyéb, a csomag által használt felhasználói adat megmarad. Ily módon a program eltávolításával könnyen megszabadulhat, de ugyanakkor továbbra is lehetséges ugyanazzal a konfigurációval újratelepíteni. Mert teljes eltávolítása bármi, ami egy csomaggal kapcsolatos, használja a -P vagy --purge kapcsolót, majd írja be a csomag nevét.

A debian-cd csomag teljes eltávolítása

dpkg -r debian-cd

(Adatbázis olvasása... 97747 fájl és könyvtár jelenleg telepítve.)

dpkg -P debian-cd

(Adatbázis olvasása... 97401 fájl és könyvtár jelenleg telepítve.)
A debian-cd (3.1.17) csomag eltávolítva...
A debian-cd (3.1.17) csomag konfigurációs fájljainak tisztítása...

dpkg adatbázis-lekérdezések és .deb fájlok elemzése

A legtöbb beállításnál létezik „hosszú” (egy vagy több szó előtt kettős kötőjel) és „rövid” opciók (egy betű, gyakran a „hosszú” opció első betűje, egyetlen kötőjel után). Ez a konvenció annyira elterjedt, hogy már POSIX szabvány.
Mielőtt befejeznénk ezt a részt, nézzük meg a dpkg opciókat a belső adatbázis különböző információk lekérdezéséhez. Ez először a hosszú opciókat sorolja fel, majd a megfelelő rövid opciókat (amelyek természetesen ugyanazokat az argumentumokat veszik fel). Így a --listfiles csomag (vagy -L) felsorolja a csomag által telepített fájlokat; --search file (vagy -S) megkeresi azt a csomagot, amelyhez ez a fájl tartozik; A --status csomag (vagy -s) információkat jelenít meg egy adott telepített csomagról; --list (vagy -l) listázza a rendszer által ismert csomagokat és azok állapotát; A --contents file.deb (vagy -c) felsorolja a csomagban található fájlokat; Az --info file.deb (vagy -I) egy Debian csomagra vonatkozó információkat jelenít meg.

Információszerzés a dpkg segítségével

dpkg -L base-passwd

/.
/usr
/usr/sbin
/usr/sbin/update-passwd
/usr/share
/usr/share/man
/usr/share/man/ru
/usr/share/man/ru/man8
/usr/share/man/ru/man8/update-passwd.8.gz
/usr/share/man/pl
/usr/share/man/pl/man8
/usr/share/man/pl/man8/update-passwd.8.gz
/usr/share/man/man8
/usr/share/man/man8/update-passwd.8.gz
/usr/share/man/fr
/usr/share/man/fr/man8
/usr/share/man/fr/man8/update-passwd.8.gz
/usr/share/doc-base
/usr/share/doc-base/users-and-groups
/usr/share/base-passwd
/usr/share/base-passwd/passwd.master
/usr/share/base-passwd/group.master
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/base-passwd
/usr/share/doc
/usr/share/doc/base-passwd
/usr/share/doc/base-passwd/copyright
/usr/share/doc/base-passwd/users-and-groups.html
/usr/share/doc/base-passwd/changelog.gz
/usr/share/doc/base-passwd/users-and-groups.txt.gz
/usr/share/doc/base-passwd/README

dpkg -S /bin/dátum

coreutils: /bin/date

dpkg -s coreutils

Csomag: coreutils
Alapvető: igen
Állapot: telepítés rendben telepítve
Prioritás: kötelező
Szakasz: közművek
Telepített méret: 13822
Fenntartó: Michael Stone
Építészet: amd64
Többíves: külföldi
Verzió: 8.13-3.5
Csere: mktemp, timeout
Függ: dpkg (>= 1.15.4) | telepítési információ
Előre függ: libacl1 (>= 2.2.51-8), libattr1 (>= 1:2.4.46-8), libc6 (>= 2.7), libselinux1 (>= 1.32)
konfliktusok: időtúllépés
Leírás: GNU alapvető segédprogramok
Ez a csomag tartalmazza az alapvető fájl-, shell- és szövegkezelést
segédprogramok, amelyek várhatóan minden operációs rendszeren léteznek.
.
Ez a csomag konkrétan a következőket tartalmazza:
arch base64 alapnév cat chcon chgrp chmod chown chroot cksum comm cp
csplit vágás dátuma dd df dir dircolors dirname du echo env expand expr
faktor false flock fmt fold group head hostid id install join link ln
logname ls md5sum mkdir mkfifo mknod mktemp mv nice nl nohup nproc od
paste pathchk pinky pr printenv printf ptx pwd readlink rm rmdir runcon
sha*sum seq shred sleep sort split stat stty sum sync tac tail tee test
timeout touch tr true csonkol tsort tty uname unexpand uniq uniq uniq
felhasználók vdir wc, akik whoami igen
Honlap: http://gnu.org/software/coreutils

dpkg -l "b*"

Desired=unknown[u]/install[i]/remove[r]/clean[p]/fix[h]
| Állapot=nincs[n]/telepítve[i]/konfigurálva[c]/kicsomagolva[U]/részben konfigurálva[F]/
részlegesen beállítva[H]/trig-aWait/Trig-pend
|/ Hiba?=(nincs)/újratelepítés szükséges[R] (nagybetű
az állapot és a hiba mezőben rendellenes helyzetet jelez)
||/ Név Verzió Architektúra Leírás
+++-============-==============-==============-================================
un backupninja<нет>(leírás nem elérhető)
bázis<нет>(leírás nem elérhető)
un base-config<нет>(leírás nem elérhető)
ii base-files 7.1 amd64 Debian alaprendszer egyéb
ii base-passwd 3.5.26 amd64 Debian alaprendszer fő jelszó
[...]

Dpkg -c /var/cache/apt/archives/gnupg_1.4.12-7_amd64.deb

drwxr-xr-x root/root 0 2013-01-02 19:28 ./
drwxr-xr-x root/root 0 2013-01-02 19:28 ./usr/
drwxr-xr-x root/root 0 2013-01-02 19:28 ./usr/share/
drwxr-xr-x root/root 0 2013-01-02 19:28 ./usr/share/doc/
drwxr-xr-x root/root 0 2013-01-02 19:28 ./usr/share/doc/gnupg/
-rw-r--r-- root/root 3258 2012-01-20 10:51 ./usr/share/doc/gnupg/TODO
-rw-r--r-- root/root 308 2011-12-02 18:34 ./usr/share/doc/gnupg/FAQ
-rw-r--r-- root/root 3543 2012-02-20 18:41 ./usr/share/doc/gnupg/Upgrading_From_PGP.txt
-rw-r--r-- root/root 690 2012-02-20 18:41 ./usr/share/doc/gnupg/README.Debian
-rw-r--r-- root/root 1418 2012-02-20 18:41 ./usr/share/doc/gnupg/TODO.Debian
[...]

Dpkg -I /var/cache/apt/archives/gnupg_1.4.12-7_amd64.deb

új debian csomag, 2.0 verzió.
mérete 1952176 bájt: vezérlőarchívum 3312 bájt hosszú.
1449 bájt, 30 vezérlősor
4521 bájt, 65 sor md5sums
479 bájt, 13 sor * postinst #!/bin/sh
473 bájt, 13 sor * preinst #!/bin/sh
Csomag: gnupg
Verzió: 1.4.12-7
Építészet: amd64
Karbantartó: Debian GnuPG-karbantartók
Telepített méret: 4627
Függ: libbz2-1.0, libc6 (>= 2.4), libreadline6 (>= 6.0), libusb-0.1-4 (>= 2:0.1.12), zlib1g (>= 1:1.1.4), dpkg (>= 1.15.4) | install-info, gpgv
Ajánlott: libldap-2.4-2 (>= 2.4.7), gnupg-curl
Javaslatok: gnupg-doc, xloadimage | képmágia | eog, libpcsclite1
Szakasz: közművek
Prioritás: fontos
Többíves: külföldi
Honlap: http://www.gnupg.org
Leírás: GNU adatvédelmi őr – ingyenes PGP csere
A GnuPG a GNU biztonságos kommunikációs és adattárolási eszköze.
Használható adatok titkosítására és digitális aláírások létrehozására.
Tartalmaz egy fejlett kulcskezelési lehetőséget, és megfelel az előírásoknak
a javasolt OpenPGP internetes szabvánnyal, az RFC 4880-ban leírtak szerint.
[...]

TOVÁBB: Verzió-összehasonlítás

Mivel a dpkg egy Debian csomagoló, többek között tartalmazza a verziószám-összehasonlítási logika referencia megvalósítását. Ezért rendelkezik egy --compare-versions opcióval, amelyet a külső programok (főleg a dpkg által futtatott konfigurációs szkriptek) használnak. Ez a beállítás három paramétert igényel: egy verziószámot, egy összehasonlító operátort és egy második verziószámot. Az érvényes összehasonlító operátorok: lt (szigorúan kisebb, mint), le (kisebb vagy egyenlő), eq (egyenlő), ne (nem egyenlő), ge (nagyobb vagy egyenlő), és gt (szigorúan nagyobb). Ha az összehasonlítás igaz, a dpkg 0-t (siker) ad vissza, ha nem, akkor nullától eltérő értéket (hiba jelzése).

$ dpkg --hasonlítsa össze-verziók 1.2-3 gt 1.1-4
$ echo $?
0
$ dpkg --verziók összehasonlítása 1,2-3 lt 1,1-4
$ echo $?
1
$ dpkg --verziók összehasonlítása 2.6.0pre3-1lt 2.6.0-1
$ echo $?
1

Vegyük észre az utolsó összehasonlítás váratlan kudarcát: a dpkg esetében a pre betűknek, amelyek általában kiadás előttieket jelölnek, nincs különösebb jelentésük, és az ábécé karakterek összehasonlítása ugyanúgy történik, mint a számok (a< b < c ...), в алфавитном порядке. Именно поэтому dpkg считает, что «0pre3» больше, чем «0». При необходимости указать в номере версии, что она относится к предварительному выпуску, используется символ тильды «~»:

$ dpkg --verziók összehasonlítása 2.6.0~pre3-1lt 2.6.0-1
$ echo $?
0

dpkg naplófájlt

A dpkg minden tevékenységéről naplót vezet a /var/log/dpkg.log fájlban. Ez a napló rendkívül részletes, dokumentálva a dpkg-csomagok feldolgozásának minden lépését. Ez a napló nemcsak a dpkg viselkedésének nyomon követését segíti, hanem a rendszer változásainak történetét is megőrzi: pontosan megtalálhatja az egyes csomagok telepítésének vagy frissítésének időpontját, és ez az információ rendkívül hasznos lehet annak kiderítéséhez, hogy miért a rendszer egésze megváltozott. Ezenkívül az összes verzióra vonatkozó információ rögzítésre kerül, és könnyen ellenőrizhető a megfelelő csomag changelog.Debian.gz fájljával vagy online hibajelentésekkel.

Több architektúra támogatása

Minden Debian-csomag metaadatai között szerepel egy Architektúra mező. Ez a mező tartalmazhatja az "all" értéket (architektúrától független csomagok esetén), vagy annak a konkrét architektúrának a nevét, amelyre a csomagot szánják (pl. "amd64", "armhf", ...). Az utóbbi esetben a dpkg alapértelmezés szerint csak akkor engedélyezi a csomag telepítését, ha annak architektúrája megegyezik a dpkg --print-architecture által visszaadott rendszerarchitektúrával.
Ez a korlátozás biztosítja, hogy a rendszeren ne legyenek rossz architektúrára fordított binárisok. Ez nagyszerű lenne, de (egyes) számítógépeken lehetséges a különböző architektúrákhoz tartozó binárisok futtatása, akár natív módon (például az "amd64" rendszerek bináris fájlokat futtatnak az "i386"-hoz), vagy emulátorokon keresztül.

Több architektúra engedélyezése

A dpkg multiarch támogatása lehetővé teszi az adott rendszerre telepíthető "idegen architektúrák" meghatározását. Ez könnyen megtehető a dpkg --add-architecture paranccsal, amint az az alábbi példában látható. Létezik egy megfelelő dpkg --remove-architecture parancs is, amellyel letiltható az idegen architektúra támogatása, de ez csak akkor használható, ha ebből az architektúrából egyetlen csomag sem maradt a rendszeren.

dpkg --print-architecture
amd64

dpkg: hiba feldolgozási archívum gcc-4.9-base_4.9.1-19_armhf.deb (--install):
csomag architektúra (armhf) nem egyezik a rendszerrel (amd64)
A feldolgozás során hibákat észleltünk:
gcc-4.9-base_4.9.1-19_armhf.deb

dpkg --add-architecture armhf
dpkg --add-architecture armel
dpkg --print-külföldi-architektúrák
armhf
armel

dpkg -i gcc-4.9-base_4.9.1-19_armhf.deb

A korábban ki nem választott gcc-4.9-base:armhf csomag kiválasztása.
(Adatbázis olvasása... 86425 jelenleg telepített fájl és könyvtár.)
Felkészülés a gcc-4.9-base_4.9.1-19_armhf.deb kicsomagolására ...
Gcc-4.9-base:armhf (4.9.1-19) kicsomagolása ...
A gcc-4.9-base:armhf (4.9.1-19) beállítása ...

dpkg --remove-architecture armhf

dpkg: hiba: nem lehet eltávolítani az adatbázis által jelenleg használt "armhf" architektúrát

dpkg --remove-architecture armel
dpkg --print-külföldi-architektúrák
Multiarch támogatás az APT-ben

Az APT automatikusan észleli, hogy a dpkg konfigurálva van-e külföldi architektúrák támogatására, és a frissítési folyamat során megkezdi a megfelelő csomagfájlok letöltését.
A külföldi csomagok az apt install package:architecture paranccsal telepíthetők.

Szabadalmaztatott i386 binárisok használata amd64 rendszereken

Van néhány olyan eset, amikor jól jöhet a több architektúra, de a legáltalánosabb az, hogy lehetővé teszik a 32 bites fájlok (i386) futtatását 64 bites rendszereken (amd64), különösen azért, mert egyes népszerű szabadalmaztatott alkalmazások ( mint a Skype) csak 32 bites verzióban érhetők el.

Több architektúra változásai

Ahhoz, hogy a több íves támogatás valóban hasznos legyen, a könyvtárakat újra kellett csomagolni úgy, hogy egy architektúra-specifikus könyvtárba helyezték át őket, hogy egyszerre több másolatot (különböző architektúrákhoz) lehessen telepíteni. Az ilyen frissített csomagok egy "Multi-Arch: ugyanaz" fejlécet tartalmaznak, amely jelzi a csomagkezelő rendszernek, hogy különböző csomagarchitektúrák együtt telepíthetők (és ezek a csomagok csak az azonos architektúrájú csomagok függőségeit képesek kielégíteni). Mivel a multiarch támogatást csak a Debian Wheezyben adták hozzá, még nem konvertálták át az összes könyvtárat.

dpkg -s gcc-4.9-base

dpkg-query: hiba: --status érvényes csomagnév szükséges, de a 'gcc-4.9-base' nem: kétértelmű csomagnév: 'gcc-4.9-base' egynél több példány esetén

Használja a --help opciót a csomagkérések súgójának megjelenítéséhez.

Dpkg -s gcc-4.9-base:amd64 gcc-4.9-base:armhf | grep ^Multi

Többíves: ugyanaz
Többíves: ugyanaz

Dpkg -L libgcc1:amd64 |grep .so

/lib/x86_64-linux-gnu/libgcc_s.so.1

dpkg -S /usr/share/doc/gcc-4.9-base/copyright

gcc-4.9-base:amd64, gcc-4.9-base:armhf: /usr/share/doc/gcc-4.9-base/copyright

Érdemes megjegyezni, hogy a Multi-Arch: azonos mezőt tartalmazó csomagokat az architektúra nevével kell elnevezni, hogy egyedileg azonosíthatók legyenek. Nekik is lehet megosztott fájlokat ugyanazon csomag más példányaival; A dpkg ebben az esetben biztosítja, hogy minden csomag bitenként azonos közös fájlokkal rendelkezzen. A csomag minden példányának azonos verziójúnak kell lennie, ezért azokat együtt kell frissíteni.
A több architektúra támogatása néhány érdekes funkciót is hoz a függőségi kezelési mechanizmusba. Egy függőség kielégítéséhez vagy egy "Multi-Arch: Foreign" jelzésű csomagra, vagy egy ugyanolyan architektúrájú csomagra van szükség (a függőségi feloldáshoz az architektúrától független csomagokat a rendszer architektúrájával megegyezőnek tekintjük). A függőséget lazítani is lehet, hogy egy tetszőleges architektúra csomagja kielégítse a package:any szintaxis használatával, de az idegen csomagok csak akkor elégíthetnek ki ilyen függőséget, ha meg vannak jelölve "Multi-Arch: enabled".

Használt anyagok.

Néha vannak olyan helyzetek, amikor meg kell találnia, hogy mely csomagok vannak telepítve a rendszerre. Ez akkor lehet hasznos, ha biztonsági másolatot szeretne készíteni a telepített csomagokról, ellenőrizni kívánja azok integritását, átvinni az összes csomagot egy másik rendszerre, és sok más feladathoz. Debianon többféle módszer használható erre.

A mai cikkben megnézzük, hogyan lehet listázni a telepített Debian csomagokat a terminál, a curses felület és a GUI. Az ilyen listák nem csak a Tartalékmásolat, hanem azért is, hogy egyszerűen szétválogathassuk és eltávolítsuk a felesleges programokat, ezáltal megtisztítsuk a rendszert a szeméttől.

A telepített Debian csomagok legelső módja a dpkg segédprogram. Nem csak a Debianban, hanem az összes erre épülő disztribúcióban használható:

dpkg --get-selections | grep -v deinstall

dpkg --get-selections | grep -v deinstall > mylist.txt

Ezenkívül eltávolíthat minden felesleges információt, és csak a csomagneveket tarthatja meg:

dpkg -l | grep ^ii | awk "(2 dollár nyomtatása)" > mylist.txt

A feladat végrehajtásának következő módja a dpkg-query segédprogram használata. Hasonló az előző verzióhoz, de egy kicsit egyszerűbb. Ez a parancs felsorolja az összes telepített csomagot a róluk szóló információkkal együtt:

Itt is csak a -f kapcsolóval lehet csomagneveket kiválasztani:

dpkg-query -f "$(bináris:csomag)\n" -W

A harmadik módszer az apt segédprogram, amelyet alkalmazások telepítéséhez szoktunk használni, és van egy list parancsa:

apt list --telepítve

apt list --installed | grep python

Az apt-tal részletesebben foglalkoztunk a cikkben. Az apt másik érdekes tulajdonsága, hogy megnézheti, mely csomagok lettek manuálisan telepítve. Ehhez írja be:

apt-mark bemutató kézikönyv

És egy másik lehetőség az apt használatával:

apt-cache pkgnames

Az aptitude csomagkezelő eszköz lehetővé teszi a telepített csomagok listázását is:

alkalmassági keresés "~i!~M"

Az aptitude átok módban is futhat, ami nagyon kényelmes:

A telepített csomagok listáját legutoljára a /var/lib/apt/extended_states fájlban láthatja. Ez egy adatbázis, amely telepített debian programokat tartalmaz ebben a formátumban:

Csomag: csomag_neve
Építészet: építészet
Automatikusan telepítve: 0_vagy_1

cat /var/lib/apt/extended_states

A telepített csomagok listájának visszaállítása

Sok felhasználó létrehoz egy listát a csomagokról, nem csak nézegetésre, hanem a későbbi helyreállításra is. Ha a dpkg segítségével készített egy listát, akkor az nagyon könnyen visszaállítható a rendszerbe egy hasonló paranccsal:

sudo dpkg --clear-selections
$ sudo dpkg --set-selections< mylist.txt

Minden nagyon egyszerű. Csomagok telepítéséhez, miután hozzáadta őket a listához, használja a következő parancsot:

sudo apt dselect-upgrade

Ha csak a csomagnevek listája van, akkor egy kicsit másképp kell visszaállítania. Csak adja át ezeket a neveket az apt parancsnak a telepítéshez:

xargs< mylist.txt apt install -y

következtetéseket

Ebben a cikkben megvizsgáltuk, hogyan lehet listázni a telepített Debian csomagokat. Ez nagyon hasznos lehet, és nagyon könnyű megtenni. Remélem, hogy ez az információ hasznos volt az Ön számára.

Sokáig mardosott a tudatlanság, hogy hogyan kell elvégezni néhány alapvető dolgot a Debian csomagkezelőkben, de ahogy az lenni szokott, nem volt senki a közelben, akitől megkérdezhetnék, és a kezem sem ért valahova az íráshoz. És végül a kérdések érlelődnek, és felírtam a kérdésemet a Debian levelezőlistára. Természetesen kiderült, hogy valami nyilvánvalót kihagytam, de sok nem nyilvánvaló hasznot is tanultam, ezért úgy döntöttem, felvázolok egy csalólapot, hátha jól jön valaki.

Rövid Debian rendszergazdai súgó

Alapvető és jól ismert
Információszerzés az új/frissített csomagokról
sudo aptitude frissítés
Frissítés
sudo aptitude safe-upgrade
Csomag keresése csomagnevek alapján
alkalmassági keresési kulcsszó
Csomag keresése pontos név alapján
alkalmassági keresés "^név$"
Keresés leírás alapján
alkalmassági keresés "?description("key_word")"
Csomag információ
aptitude show csomag_neve
Telepítés
sudo aptitude install csomag_neve
Eltávolítás
sudo aptitude távolítsa el a csomag_neve
Teljes eltávolítás (a konfigurációkkal együtt)
sudo aptitude purge csomagnév
A letöltött csomagok gyorsítótárának törlése (tárhely felszabadítása)
Az aptitude autoclean # csak az elavult csomagokat távolítja el. Az aptitude clean # a teljes gyorsítótárat törli
Külön letöltött / létrehozott csomag telepítése (harmadik féltől származó csomag létrehozásához a checkinstall segédprogramot kell használnia a -D kapcsolóval)
sudo dpkg -i /path/to/package.deb
További információkért
man aptitude sudo aptitude install aptitude-doc-en
és nézze meg a dokumentációt (/usr/share/doc/aptitude/html/en/index.html), a keresési mintákkal kapcsolatos gyors segítségért látogasson el ide - /usr/share/doc/aptitude/html/en/ch02s04.html . Ha túl lusta a dokkoló elhelyezéséhez, akkor a hálózaton van.
Bevezető a Debian Wikin: wiki.debian.org/Aptitude
És most valami, ami nem nyilvánvaló, vagy megköveteli a dokumentáció teljes elolvasását
1. Hogyan tudom megnézni, hogy mely csomagok frissülnek a frissítés után?
alkalmassági kereső ?frissíthető
használhatod is (ha teszed)
sudo daptup
de a telepítés után a szokásos frissítés is ugyanúgy fog viselkedni

2. Honnan tudhatom meg, hogy mi változott a frissítendő csomagokban?
Megpróbálhatod
sudo aptitude changelog csomag_neve
minden egyes csomaghoz.
De jobb az apt-listchanges telepítése, akkor minden frissítés telepítése előtt megjelenik a módosítások listája, az alapértelmezett beállítások nem túl kényelmesek, ezért jobb, ha újra beállítod magad, például kiválasztod a kimeneti formátumot (miközben szöveget használok , nagy frissítéseknél valószínűleg jobb a lapozó), ne küldjön e-mailt, kérjen megerősítést, jelenítsen meg minden információt. Ehhez futni kell
sudo dpkg-reconfigure apt-listchanges
3. Mi a teendő, ha a frissítés elromol valamit, és vissza kell vonni?
Nincs visszaállítás, megpróbálhatja megkeresni a csomag korábbi verzióját
sudo aptitude verzió csomag_neve
és telepítse
sudo aptitude install package_name=version
4. Hogyan lehet megtalálni az összes manuálisan telepített csomagot?
parancsnak van egy változata (alkalmassági keresés "~i!~M"), de sajnos nem a kívánt eredményt adja, így a kérdés nyitott marad, a naplók elemzése alapján nagyon sok mód van
/var/log/aptitude (+ elforgatott darabok) /var/log/installer/initial-status.gz /var/log/dpkg.log (+ elforgatott darabok)
de nincs egyszerű és kész megoldás, igen, elvileg elveszhetnek információk a forgatás során, be kell állítani

5. Hogyan lehet megtekinteni a csomagban lévő fájlok listáját?
ha a csomag telepítve van
dpkg -L csomag_neve
minden csomaghoz tegye apt-file és
apt-file lista csomag_neve
6. Hogyan tudom megnézni, hogy egy fájl melyik csomaghoz tartozik?
dpkg -S fájlnév
7. Hogyan lehet eltávolítani az összes olyan csomagot, ahol kulcs szerepel a csomag nevében?
sudo aptitude purge ~ikey
8. Hogyan lehet eltávolítani a megmaradt konfigurációkat az eltávolított csomagokból?
sudo aptitude purge ~c
9. Hogyan találjuk meg a lib.so fájlt tartalmazó csomagcsomagot:
apt-file keresés lib.so
10. Hogyan konvertáljunk rpm csomag debben?
idegen --to-deb /útvonal/fájl.rpm
11. Hogyan lehet megtalálni a telepített kernelek listáját?
dpkg --list linux-* | grep ii
12. Hogyan telepítsünk tesztelési vagy kísérleti csomagot?
Erről a témáról külön kell írni (például így), de röviden erre vannak parancsok
sudo aptitude -t teszt csomag_neve
vagy
sudo aptitude csomagnév/tesztelés
13. Hogyan távolíthatok el egy metacsomagot, de megtarthatom az egyik függőséget?
el kell olvasnia az unmarkauto kulcs dokumentációját, vagy ide kell néznie.

14. Hogyan lehet megtudni, mi a szörnyű fájlrendszer túl van a csomagkezelő rendszeren?
Van egy cruft segédprogram, bár az eredmények értelmezésének kérdése (jelentésfájl) még nyitott
sudo cruft -d / -r jelentés --ignore /home --ignore /var --ignore /tmp
15. Melyek a további adattárak?
Debian – wiki.debian.org/UnofficialRepositories
Ubuntu – sok minden



Betöltés...
Top