dpkg

Frågor om LiveCDn samt installation och uppgradering av Ubuntu och dess varianter
Användarvisningsbild
anth
Inlägg: 512
Blev medlem: 22 aug 2019, 15:35
OS: Ubuntu
Utgåva: 23.04 Lunar Lobster

dpkg

Inlägg av anth »

Det finns två sätt att installera saker i Ubuntu: apt och dpkg.
OK, det finns massor med andra sätt att installera, men låt oss fokusera på dessa två.

Vad är skillnaden mellan apt och dpkg?
Apt installerar paket via Ubuntus repositories, medan dpkg installerar lokala .deb-filer som man själv tankat ner från nätet.
Jag har använt dpkg ett par gånger när jag tankat ner saker från github och liknande.
Men vänta lite nu - apt kan också installera lokala paket!

Då blir min fråga: när ska man egentligen använda dpkg?
Finns det någonting som dpkg kan göra som apt inte kan?

Ja, jag är medveten om att när jag använder apt, så använder apt i sin tur dpkg.
Men finns det någon anledning för mig att någonsin använda dpkg direkt istället för apt?
Användarvisningsbild
Gunnar Hjalmarsson
Inlägg: 3030
Blev medlem: 08 aug 2010, 13:49
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Göteborg

Re: dpkg

Inlägg av Gunnar Hjalmarsson »

Själv använder jag dpkg ofta för att söka efter installerade paket. Exempel:

dpkg -l | grep 1:3.38.5-1ubuntu1
Användarvisningsbild
anth
Inlägg: 512
Blev medlem: 22 aug 2019, 15:35
OS: Ubuntu
Utgåva: 23.04 Lunar Lobster

Re: dpkg

Inlägg av anth »

OK, jag håller med om att

Kod: Markera allt

dpkg --list | less
är lite mer informativt än

Kod: Markera allt

apt list --installed | less
Men är det det enda som dpkg är bättre på?
Användarvisningsbild
Osprey
Inlägg: 6310
Blev medlem: 06 apr 2008, 00:09
OS: Ubuntu
Ort: Göteborg/Mölndal/Falkenberg
Kontakt:

Re: dpkg

Inlägg av Osprey »

dpkg har många fler switchar som ger mycket bättre möjligheter att rätta till det när något går fel. Sedan finns det rätt många andra kommandon som ingår i dpkg-familjen, där det kanske är "dpkg-query" och "dpkg-reconfigure" som jag oftast använder...

Vilka andra kommandon som finns kan du se med:

Kod: Markera allt

dpkg<tab><tab>
...eller typ...

Kod: Markera allt

man -k dpkg | grep ^dpkg | sort
Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...
Användarvisningsbild
anth
Inlägg: 512
Blev medlem: 22 aug 2019, 15:35
OS: Ubuntu
Utgåva: 23.04 Lunar Lobster

Re: dpkg

Inlägg av anth »

Osprey skrev:dpkg har många fler switchar som ger mycket bättre möjligheter att rätta till det när något går fel. Sedan finns det rätt många andra kommandon som ingår i dpkg-familjen, där det kanske är "dpkg-query" och "dpkg-reconfigure" som jag oftast använder...

Vilka andra kommandon som finns kan du se med:

Kod: Markera allt

dpkg<tab><tab>
...eller typ...

Kod: Markera allt

man -k dpkg | grep ^dpkg | sort
Whoa!
Jag hade fullständigt missat att det fanns flera dpkg-kommandon.

Men det är fortfarande så att dpkg bara arbetar lokalt och inte med Ubuntus* repositories?
(*eller vilken distro man nu använder)

D.v.s. om jag använder dpkg-query kan jag bara få information om installerade paket, inte om oinstallerade saker?
Användarvisningsbild
Osprey
Inlägg: 6310
Blev medlem: 06 apr 2008, 00:09
OS: Ubuntu
Ort: Göteborg/Mölndal/Falkenberg
Kontakt:

Re: dpkg

Inlägg av Osprey »

anth skrev:Men det är fortfarande så att dpkg bara arbetar lokalt och inte med Ubuntus* repositories?
(*eller vilken distro man nu använder)

D.v.s. om jag använder dpkg-query kan jag bara få information om installerade paket, inte om oinstallerade saker?
Du kan alltid köra:

Kod: Markera allt

dpkg -l '*' 
...för att se allting och de första två bokstäverna på varje rad visar då i vilken status paketet är. Är det installerat så är det normalt "ii".

Vill du istället se vad som inte är installerat, så kan du t.ex istället köra:

Kod: Markera allt

dpkg -l '*' | egrep --invert-match '^i'
...och sedan kan du ju "grepa" efter det du vill veta mer om. Vill du inte se lika detaljerad information, så kan du köra:

Kod: Markera allt

apt-cache search det-du-söker efter
...men då får du inte lika mycket information som om du gör sökningen med dpkg...

Nu är för den delen "dpkg" och "apt-cache" inte helt synkroniserade av någon märklig anledning, förmodligen på grund av att "/etc/dpkg" och "/etc/apt" inte alltid (alltså sällan) innehåller samma info....
Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...
Skriv svar

Återgå till "Installation och uppgradering"