Jeg vet at både apt-get
og aptitude
er grensesnitt for kommandolinjepakkehåndtering på Debian-avledet Linux, med forskjellige alternativer, men jeg er fortsatt litt forvirret. Bruker de ikke det samme APT-systemet under panseret?
Hvorfor vedlikeholder Debian disse parallelle verktøyene? (Bonusspørsmål: hva i all verden er wajig ?)
Kommentarer
- Jeg vet at det ikke er riktig svar på spørsmålet ditt, men hvorfor kan du ikke prøve synaptisk? den er veldig vennlig og laster ned og installerer avhengigheter automatisk. Er gnome ikke tilstede på systemet ditt?
- Jeg ‘ er skjev, men jeg tror dette spørsmålet om Ubuntu SE-nettstedet kan være relevant.
- duplikat: unix.stackexchange.com/questions/244/apt-get-or-aptitude .
- @Wim på grunn av wajig-delen av dette spørsmålet, bestemte jeg meg for å slå sammen 244 i dette spørsmålet i stedet for omvendt
- Det er verdt å merke seg at evner er planlagt for fjerning fra standardinstallasjonen på neste versjon av Ubuntu (selv om du alltid kunne installere den ved hjelp av apt-get etterpå)
Svar
Den mest åpenbare forskjellen er at aptitude
gir et terminalmenygrensesnitt (omtrent som Synaptic i en terminal), mens apt-get
gjør ikke det.
Med tanke på bare kommandolinjegrensesnittene til hver, er de ganske like, og for det meste spiller det ingen rolle hvilken du bruker. Nyere versjoner av begge vil spore hvilke pakker som ble installert manuelt, og hvilke som ble installert som avhengigheter (og derfor kvalifisert for automatisk fjerning). Faktisk tror jeg at enda mer nylig ble de to verktøyene oppdatert for å faktisk dele den samme databasen med manuelt mot automatisk installerte pakker, så tilfeller der du installerer noe med apt-get og deretter aptitude ønsker å avinstallere det, er for det meste en ting av fortiden.
Det er noen få mindre forskjeller:
- aptitude vil automatisk fjerne kvalifiserte pakker, mens apt-get krever en egen kommando for å gjøre det
- kommandoer for oppgradering vs. dist-oppgradering har blitt omdøpt i egenskap til de sannsynligvis mer nøyaktige navnene sikker oppgradering og full oppgradering .
- aptitude utfører faktisk funksjonene til ikke bare apt-get, men også noen av dets ledsagerverktøy, som apt-cache og apt-mark.
- aptitude har en litt annen spørringssyntaks for søking (sammenlignet med apt-cache)
- aptitude har kommandoene hvorfor og hvorfor-ikke å fortelle deg hvilke manuelt installerte pakker som forhindrer en handling du kanskje vil utføre.
- Hvis handlingene (installering, fjerning, oppdatering av pakker) du vil utføre, forårsaker konflikter foreslå flere potensielle oppløsninger. apt-get vil bare si «jeg beklager Dave, jeg kan ikke tillate deg å gjøre det.»
Det er andre små forskjeller, men det er de viktigste jeg kan tenke på.
Kort fortalt hører aptitude riktigere til i kategorien med Synaptic og andre høyere nivå pakkebehandler frontender. Det har tilfeldigvis også kommet et kommandolinjegrensesnitt som ligner apt-get.
Bonusrunde: Hva er wajig?
Husk hvordan jeg nevnte disse «følgesvend» -verktøyene som apt- cache og apt-mark? Vel, det er en haug med dem, og hvis du bruker dem mye, husker du kanskje ikke hvilke som gir hvilke kommandoer. Wajig er en løsning på det problemet. Det er egentlig en utsender, en omslag rundt alle disse verktøyene. Det gjelder også sudo når det er nødvendig. Når du sier wajig install foo
, sier wajig «Ok, install
er levert av apt-get
og krever administratorrettigheter, «og den kjører sudo apt-get install foo
. Når du sier wajig search foo
, sier wajig» Ok, search
er levert av apt-cache
og krever ikke administratorrettigheter, «og den kjører apt-cache search foo
. bruk wajig i stedet for apt-get, apt-mark, apt-cache og andre, så vil du aldri ha dette problemet:
$ apt-get search foo E: Invalid operation search
Hvis du vil vet hva wajig gjør bak kulissene, hvilke verktøy den bruker for å implementere en bestemt kommando, den har --simulate
og --teaching
m odes.
To wajig-kommandoer som jeg ofte bruker er wajig listfiles foo
og wajig whichpkg /usr/bin/foo
.
Kommentarer
- Et stort problem jeg hadde med aptitude er at det tar lang tid å få fullført faner på pakkenavn (f.eks.
aptitude install linux-im
-fanen), mens det er veldig raskt for apt-get. Det ser ut til å være noe caching til stede i apt-get-familien som mangler evner. -
aptitude
har også den fantastiskeaptitude search
som du kan bruke med veldig kraftige søkemønstre . Du haraptitude reinstall
. Du kan også bruke grensesnittet ncurses (terminalmeny) til å forberede komplekse pakkeoperasjoner som delvis oppgradering, fjerne en pakke, fryse en til, oppgradere denne, som du deretter kan utføre i en enkelt drift … Åh, og den har en interaktiv konfliktløser . - @Totor hellig ku, ved hjelp av aptitude ‘ s ncurses interface for å forberede kommandoer solgte meg bare på aptitude en gang for alle! (etter mange år med å tenke egnethet er verdt å gjøre, men å skrive apt-get fra muskelhukommelsen)
- … og
aptitude
har ogsåaptitude download package-name
for å få pakken .deb-fil! - Den ‘ er bare en ting jeg har funnet at ikke ‘ t i
aptitude
men er iapt-get
, og det erapt-get --compile source package-name
.apt-get build-dep package-name
eksisterer, men jeg tror ataptitude build-dep package-name
gjør en bedre jobb.
Svar
Jeg har ofte lurt på meg selv. Wikipedia fremhever at det viktigste kjennetegnet er at egnethet har en grensesnitt i fullskjerms tekstmodus (forbannelser). Det faktum at du kan bruke de fleste apt-get
kommandoargumenter med aptitude
i seg selv er bare en design for å gjøre det enklere for apt-get
brukere å flytte til aptitude
og omvendt.
Jeg har aldri brukt wajig
, men dokumentasjonen antyder at det bare er et skript som vet om du sender det til en deb
-fil (når den kjører dpkg
) eller et apt
pakkenavn (når den kjører apt-get
i stedet). Kan du prøve det og se om det er det det gjør?
Selvfølgelig er ekte forskjellen:
gaurav@fern:~$ apt-get moo (__) (oo) /------\/ / | || * /\---/\ ~~ ~~ ...."Have you mooed today?"... gaurav@fern:~$ aptitude moo There are no Easter Eggs in this program.
Kommentarer
- Nei!
aptitude
har mer. Du glemte å sette de endeløse-v
flaggene tilmoo
. (Du kan gå opp til-vvvvvv
) - Ikke ‘ Ikke glem alle viktige Super Cow Powers, som
apt-get
har menaptitude
ikke. (Prøv--help
på begge) - lmao. det er et morsomt svar å lese, selv om @ryan ‘ s svar er langt mer forseggjort;)
Svar
aptitude er det foretrukne programmet for pakkehåndtering fra konsoll både for pakkeinstallasjoner og pakke- eller systemoppgraderinger i Debian.
Her er en oversikt over verktøyet og funksjonene den har over apt-get: http://www.debian.org/doc/FAQ/ch-pkgtools.en.html#s-aptitude
Så mitt råd er å bare apt-get install aptitude 🙂
Kommentarer
- utgivelsesnotater si apt-get anbefales nå over evner for oppgraderinger å klemme.
- Ja, men bare for det. Ellers betraktes de som like, men
aptitude
har mange mer avanserte funksjoner, som søk og fullskjermmodus, ennapt-get
. - Av en eller annen grunn brukte egenskapen til å installere emacs og uten å se fjernet det gdm! Så foreløpig vil jeg bruke apt-get, men er veldig nysgjerrig på dyktighet.
Svar
aptitude
husker hvilke pakker som ble eksplisitt forespurt og som bare ble installert på grunn av avhengigheter. Det vil automatisk avinstallere pakker som ikke eksplisitt ble forespurt når de ikke lenger er nødvendige.
apt-get
behandler pakker som er forespurt eksplisitt og deres avhengighet den samme.
Så bedre bruk aptitude
, dette bidrar til å holde systemet rent.
Kommentarer
- Dette pleide å være sant, men jeg vet at apt-get har en
apt-get autoremove
-kommando for å fjerne pakker som bare er installert som avhengigheter. Jeg vet ikke ‘ når denne funksjonen ble lagt til, men et nettsted antyder at det kan ha skjedd med Debian Lenny (juni 2010). -
apt-get autoremove
‘ for ikke å fjerne pakker som bare er installert som avhengigheter, det fjerner foreldreløse avhengigheter, noe som er en subtil forskjell ; den kan ‘ ikke fortelle om en ‘ blad ‘ pakke ble installert med hensikt eller som en avhengighet slik at den forlater den, der egnethet ville vite og fjerne den. - Jeg ‘ Jeg er solgt! Det er andre fine ting om
aptitude
, men dette er praktisk talt en morderfunksjon.
Svar
apt-get
, så vel som de forskjellige ledsagerverktøyene, bruker betydelig mindre minne enn respektive kommandolinjeanrop på aptitude
, og er litt raskere. Jeg var lykkelig uvitende om dette før jeg prøvde å oppgradere debian-installasjonen på en wizened gammel pentium-tankeflate med 32 MB ram. Det ville ta en time eller to med bytte-thrashing å kjøre apt-get
, som fullførte vellykket; aptitude
vil mislykkes etter at jeg tror en lengre periode.
Dette skillet er mer eller mindre irrelevant for noe som ligner et moderne skrivebordssystem.
Svar
På bakgrunn av @Gauravs svar er påskeeggene i de to pakkeforvalterne ganske morsomme !:
siddhartha@siddhartha-dev:~$ apt-get moo (__) (oo) /------\/ / | || * /\---/\ ~~ ~~ ..."Have you mooed today?"... siddhartha@siddhartha-dev:~$ aptitude moo There are no Easter Eggs in this program. siddhartha@siddhartha-dev:~$ aptitude -v moo There really are no Easter Eggs in this program. siddhartha@siddhartha-dev:~$ aptitude -vv moo Didn"t I already tell you that there are no Easter Eggs in this program? siddhartha@siddhartha-dev:~$ aptitude -vvv moo Stop it! siddhartha@siddhartha-dev:~$ aptitude -vvvv moo Okay, okay, if I give you an Easter Egg, will you go away? siddhartha@siddhartha-dev:~$ aptitude -vvvvv moo All right, you win. /----\ -------/ \ / \ / | -----------------/ --------\ ---------------------------------------------- siddhartha@siddhartha-dev:~$ aptitude -vvvvvv moo What is it? It"s an elephant being eaten by a snake, of course. siddhartha@siddhartha-dev:~$ aptitude -vvvvvvv moo What is it? It"s an elephant being eaten by a snake, of course. siddhartha@siddhartha-dev:~$ aptitude -vvvvvvvv moo What is it? It"s an elephant being eaten by a snake, of course.
og så videre.
Svar
De tilbyr samme grunnleggende funksjonalitet: installer og fjern pakker fra kommandolinjen.
Her er en mer detaljert sammenligning, lagt ut på Ubuntu Stack Exchange-nettsted : https://askubuntu.com/questions/1743/is-aptitude-really-better-than-apt-get/1749#1749
Kommentarer
- De er ganske like, jeg kan bytte mellom dem enkelt nok.
Svar
Som nevnt være http://pthree.org/2007/08/12/aptitude-vs-apt-get/ , aptitude
har slim h enklere å bruke kommandolinjegrensesnitt.
Bruker de ikke det samme APT-systemet under panseret? Ja.
Det underliggende systemet er ikke bare apt
, men dpkg
. Dette systemet er like dumt som RPM, det kan bare håndtere installasjon og administrasjon av enkeltpakker. Den sporer hvilke installerte filer som hører til hvilken pakke.
apt
håndterer nedlastinger av arkiver, sporing av avhengigheter og så videre for alle individuelle pakker – som den deretter installeres ved hjelp av dpkg
. aptitude
gjør det samme, med et annet grensesnitt.
Svar
Begge apt -hent og egnethet stole på APT-biblioteket, ja.
Se mitt svar på serverfault.com .
Debian er ikke en monolitisk enhet, det er mennesker med forskjellige meninger, og dyktighetsholderen bestemte at apt-get hadde noen mangler og ønsket å bygge noe bedre med dyktighet. Han forbedret logikken for å finne løsninger for komplekse oppgraderingsscenarier, la til en GUI for konsollen osv. Og det er mer enn bare apt-get og aptitude, se artikkelen min apt -get, aptitude, … velg den rette pakkebehandleren for deg .
Svar
Jeg er ikke sikker hvis dette fremdeles holder, men Debian-utvikleren Joey Hess pleide alltid å argumentere for evner fremfor apt-get. Selvfølgelig ting å endre når programvaren utvikler seg. Apt-get håndterer avhengigheter bedre enn før. Fra http://lists.debian.org/debian-user/2004/04/msg03138.html
Dato: Tirsdag 20. april 2004 22:27:12 -0400 Fra: Joey Hess
Ni grunner til at du skal bruke aptitude i stedet for apt-get eller dselect.
-
aptitude kan se ut som apt-get
Hvis du kjører «aptitude update» eller «aptitude upgrade» eller «aptitude install», ser det ut og fungerer akkurat som apt-get, med noen forbedringer. Så det er ingen læringskurve.
(Hvis du velger en bruker, er læringskurve åpenbart ikke et av problemene dine.)
-
egnethetsspor automatisk installerte pakker
Slutt å bekymre deg for å beskjære ubrukte biblioteker og støttepakker fra systemet ditt. Hvis du bruker aptitude til å installere alt, vil det holde rede på hvilke pakker som blir trukket inn av avhengigheter alene, og fjerne disse pakkene når de trengs ikke lenger.
-
aptitude sanely handles anbefaler
En langvarig feil i apt-get har vært mangelen på støtte for forholdet Anbefaler Hvilket er et problem fordi mange pakker i Debian stoler på Anbefaler å hente inn programvare som gjennomsnittlig bruker vanligvis bruker med pakken. Dette er en ikke uvanlig årsak til problemer, selv om apt-get nylig ble i stand til i det minste å nevne anbefalte pakker. , det er lett å savne advarslene.
Aptitude støtter anbefalinger som standard, og kan konfigureres til å støtte forslag også. Den støtter til og med å installere anbefalte pakker når de brukes i kommandolinjemodus.
-
bruk aptitude som en vanlig bruker og unngå å koble til systemet ditt
Kanskje du ikke gjorde det » ikke vet at du kan kjøre egnethet i gui-modus som en vanlig bruker. Gjør eventuelle endringer du vil prøve ut. Hvis du kommer i et virkelig rot, kan du trykke «q» og avslutte, endringene dine blir ikke lagret. (Aptitude lar deg også bruke ctrl-u for å angre endringene.) Siden det kjører som en vanlig bruker, kan du ikke slange systemet ditt før du ber deg om å gjøre noe, på hvilket tidspunkt det vil be deg om rotpassordet.
-
aptitude har en kraftig brukergrensesnitt og søkefunksjoner
Mellom aptitude «s kategoriske nettleser og dens store støtte for mutt-stil filtrering og søk av pakker etter navn, beskrivelse, vedlikeholder, avhengigheter osv., bør du kunne finne pakker raskere enn noensinne før du bruker aptitude.
-
aptitude gjør det enkelt å holde oversikt over foreldet programvare
Hvis Debian slutter å distribuere en pakke, vil apt legge den på systemet på ubestemt tid, uten advarsler og uten oppgraderinger. Aptitude lister opp slike pakker i delen «Foreldte og lokalt opprettet pakker», slik at du kan bli informert om problemet og gjøre noe med det.
-
aptitude har et grensesnitt til Debian oppgavesystem
Aptitude lar deg bruke Debians oppgavesystem slik det ble designet for å bli brukt. Du kan bla gjennom tilgjengelige oppgaver, velge en oppgave for installasjon, og deretter grave i det og fjerne markering av deler av oppgaven du ikke vil ha. apt-get har ingen støtte for oppgaver, og egnethet er bedre selv enn spesialverktøy som Tasksel.
-
aptitude støtter flere kilder
Hvis kildene dine. listen er konfigurert for å gjøre flere versjoner av en pakke tilgjengelig, med aptitude kan du gå ned for å se tilgjengelige versjoner og velge en ikke-standardversjon du vil installere. Hvis en pakke brytes ustabil, er det bare å rulle den tilbake til versjonen under testing.
-
aptitude logger handlingene
Aptitude logs-pakken den installerer, oppgraderer, og fjerner til / varlog / aptitude, som kan være nyttig for å finne ut hvorfor ting begynte å bryte etter gårsdagens oppgradering, eller når du fjernet en partiticlar-pakke.
– se sjenert jo
==================== det er også en nyere diskusjon fra 2010 her https://superuser.com/questions/93437/aptitude-vs-apt-get-which-is-the-recommended-aka-the-right-tool-to-use på StackExchange.