Mikä on todellinen ero “ apt-get ” ja “ aptitude ”? (Entä “ wajig ”?)

Tiedän että sekä apt-get että aptitude ovat komentorivipakettien hallinta -rajapinnat Debianista johdetussa Linuxissa, eri vaihtoehdoilla, mutta olen edelleen hieman hämmentynyt. Eivätkö he käytä konepellin alla samaa APT-järjestelmää?

Miksi Debian ylläpitää näitä rinnakkaisia työkaluja? (Bonuskysymys: mikä ihmeessä on wajig ?)

Kommentit

  • Tiedän, että se ei ole oikea vastaaja kysymykseesi, mutta miksi et voi kokeilla synaptista? sen käyttäjä on frindly ja lataa ja asentaa riippuvuudet automaattisesti. Eikö gnome ole läsnä järjestelmässäsi?
  • Olen ’ m puolueellinen, mutta mielestäni tämä kysymys Ubuntu SE -sivusto saattaa olla osuva.
  • kaksoiskappale: unix.stackexchange.com/questions/244/apt-get-or-aptitude .
  • @Wim tämän kysymyksen wajig-osan takia päätin yhdistää 244 tähän kysymykseen päinvastoin
  • On syytä huomata, että soveltuvuus on ilmoitettu poistettavaksi oletusasennuksesta Ubuntun seuraavaan versioon (vaikka voit aina asentaa sen myöhemmin apt-get-toiminnolla)

Vastaa

Ilmeisin ero on, että aptitude tarjoaa päätelaitteen valikkoliittymän (aivan kuten päätelaitteen Synaptic), kun taas apt-get ei.

Ottaen huomioon vain kunkin komentoriviliitännät, ne ovat melko samanlaisia, ja suurimmaksi osaksi sillä ei ole väliä mitä käytät. Viimeaikaiset versiot molemmista seuraavat, mitkä paketit asennettiin manuaalisesti ja mitkä asennettiin riippuvuuksina (ja siksi ne voidaan poistaa automaattisesti). Itse asiassa uskon, että vielä äskettäin nämä kaksi työkalua päivitettiin jakamaan sama tietokanta manuaalisesti vs automaattisesti asennetuista paketeista, joten tapaukset, joissa asennat jotain apt-get: llä ja sitten aptitude haluaa poistaa sen, ovat enimmäkseen asia menneisyys.

On olemassa muutamia pieniä eroja:

  • aptitude poistaa automaattisesti kelvolliset paketit, kun taas apt-get vaatii erillisen komennon tekemään niin
  • päivitys vs. dist-päivitys -komennot on nimetty sopivasti todennäköisesti tarkemmiksi nimiksi turvallinen päivitys ja täysi päivitys vastaavasti.
  • aptitude suorittaa tosiasiallisesti paitsi apt-get, mutta myös joidenkin sen aputyökalujen, kuten apt-cache ja apt-mark, toiminnot.
  • aptitude: lla on hieman erilainen kyselyn syntaksin haku (verrattuna apt-välimuistiin).
  • aptitudella on miksi ja miksi-ei -komennot. mitkä manuaalisesti asennetut paketit estävät mahdollisesti tekemäsi toiminnon.
  • Jos haluamasi toiminnot (pakettien asentaminen, poistaminen, päivittäminen) aiheuttavat ristiriitoja, aptitude voi ehdottaa useita mahdollisia päätöslauselmia. apt-get sanoo vain ”Olen pahoillani Dave, en voi antaa sinun tehdä niin.”

On muitakin pieniä eroja, mutta ne ovat tärkeimpiä voi ajatella.

Lyhyesti sanottuna aptitude kuuluu paremmin luokkaan, jossa on Synaptic ja muut ylemmän tason pakettienhallinnan käyttöliittymät. Siinä vain sattuu olemaan myös komentoriviliittymä, joka muistuttaa apt-getia.

Bonus Round: Mikä on wajig?

Muista, kuinka mainitsin nuo ”kumppanityökalut”, kuten apt- välimuisti ja apt-mark? No, niitä on joukko, ja jos käytät niitä paljon, et ehkä muista, mitkä komennot antavat. Wajig on yksi ratkaisu ongelmaan. Se on lähinnä välittäjä, kääre kaikkien näiden työkalujen ympärille. Se soveltaa myös sudoa tarvittaessa. Kun sanot wajig install foo, wajig sanoo ”Ok, install tarjoaa apt-get ja vaatii järjestelmänvalvojan oikeudet ”, ja se toimii sudo apt-get install foo. Kun sanot wajig search foo, wajig sanoo” Ok, search tarjoaa apt-cache eikä vaadi järjestelmänvalvojan oikeuksia, ja se toimii apt-cache search foo. Jos käytä wajigia apt-get, apt-mark, apt-cache ja muiden sijasta, sinulla ei koskaan ole tätä ongelmaa:

$ apt-get search foo E: Invalid operation search 

Jos haluat tietää mitä wajig tekee kulissien takana, mitä työkaluja se käyttää tietyn komennon toteuttamiseen, sillä on --simulate ja --teaching m odes.

Kaksi usein käyttämääni wajig-komentoa ovat wajig listfiles foo ja wajig whichpkg /usr/bin/foo.

Kommentit

  • Yksi iso ongelma minulla oli aptitudessa, että pakettien nimien välilehtien täydennysten saaminen vie kauan (esim. aptitude install linux-im -välilehti), kun taas apt-get on erittäin nopea. Apt-get-perheessä näyttää olevan jonkin verran välimuistia, josta puuttuu kyky.
  • aptitude on myös mahtava aptitude search, jota voit käyttää erittäin tehokkaiden hakumallien kanssa. Sinulla on aptitude reinstall. Voit myös käyttää ncurses (päätelaite-valikko) -rajapintaa valmistella monimutkaisia pakettitoimintoja , kuten osittainen päivitys, poistaa yksi paketti, jäädyttää toinen, päivittää tämä, jonka voit sitten suorittaa yhdessä operation … Voi, ja sillä on interaktiivinen konfliktinratkaisija .
  • @Totor pyhä lehmä, käyttäen aptitude ’ s ncurses-käyttöliittymä komentojen valmistelemiseksi myi minulle lopullisesti aptitude! (Vuosien ajattelun jälkeen soveltuvuus on tekemisen arvoinen, mutta kirjoittamalla apt-get lihasmuistista)
  • … ja aptitude on myös aptitude download package-name saadaksesi paketin .deb-tiedoston!
  • Se ’ on vain yksi asia, jonka olen löytänyt ja joka ei ole ’ t ryhmässä aptitude, mutta ovat ryhmässä apt-get ja se on apt-get --compile source package-name . apt-get build-dep package-name on olemassa, mutta mielestäni aptitude build-dep package-name tekee parempaa työtä.

Vastaa

Olen usein miettinyt itseäni. Wikipedia korostaa , että tärkein erottava piirre on, että soveltuvuudella on koko näytön tekstitilan (kiroukset) käyttöliittymä. Se, että voit käyttää eniten apt-get -komentoargumentteja itse aptitude kanssa, on vain suunnittelupäätös jotta apt-get -käyttäjien olisi helpompi siirtyä aptitude -palveluun ja päinvastoin.

En ole koskaan käyttänyt wajig, mutta ohjeet viittaavat siihen, että se on vain komentosarja, joka tietää, välitätkö

-tiedoston (kun se suoritetaan)dpkg) taiapt-paketin nimi (kun se suorittaa sen sijaanapt-get). Voisitko kokeilla sitä ja nähdä, toimiiko se näin?

Tietenkin todellinen ero on:

gaurav@fern:~$ apt-get moo (__) (oo) /------\/ / | || * /\---/\ ~~ ~~ ...."Have you mooed today?"... gaurav@fern:~$ aptitude moo There are no Easter Eggs in this program. 

Kommentit

  • Ei! aptitude sisältää enemmän. Unohdit laittaa loputtomat -v -liput moo -kansioon. (Voit siirtyä jopa -vvvvvv)
  • Älä unohda kaikkia tärkeitä Super Cow Power -valtuuksia, jotka apt-get on, mutta aptitude ei. (Kokeile --help molemmissa)
  • lmao. tämä on hauska vastaus lukea, vaikka @ryan ’ vastaus on paljon monimutkaisempi;)

Vastaa

aptitude on ensisijainen ohjelma pakettien hallintaan konsolilta sekä pakettiasennuksissa että pakettien tai järjestelmien päivityksissä Debianissa.

Tässä on yleiskatsaus työkalusta ja ominaisuudet, jotka sillä on apt-get: http://www.debian.org/doc/FAQ/ch-pkgtools.en.html#s-aptitude

Joten, neuvoni on vain apt-get install aptitude 🙂

Kommentit

  • -julkaisutiedot sanotaan, että apt-get on nyt suositeltava päivitysten puristamista varten.
  • Kyllä, mutta vain sitä varten. Muuten heitä pidetään tasa-arvoisina, mutta aptitude -palvelussa on paljon kehittyneempiä ominaisuuksia, kuten haku ja koko näytön tila, kuin apt-get.
  • Jostain syystä käytti aptacsiä emacsin asentamiseen ja poisti gdm: n katsomatta sitä! Joten toistaiseksi tulee käyttää apt-get-tiedostoa, mutta olen erittäin utelias soveltuvuuteen.

Vastaa

aptitude muistaa, mitä paketteja nimenomaisesti pyydettiin ja mitkä asennettiin vain riippuvuuksien takia. Se poistaa automaattisesti paketit, joita ei nimenomaisesti pyydetty, kun niitä ei enää tarvita.

apt-get käsittelee erikseen pyydetyt paketit ja niiden riippuvuudet.

Joten käytä paremmin aptitude, tämä auttaa pitämään järjestelmän puhtaana.

Kommentit

  • Tämä oli totta, mutta tiedän, että apt-getillä on apt-get autoremove -komento poistamaan vain riippuvuuksina asennetut paketit. En tiedä ’, milloin tämä ominaisuus lisättiin, mutta erään verkkosivuston mukaan se on voinut tapahtua Debian Lennyn kanssa (kesäkuu 2010).
  • apt-get autoremove ei ’ älä poista vain riippuvuuksina asennettuja paketteja, se poistaa orpoja riippuvuuksia, mikä on hieno ero ; se ei voi ’ kertoa, onko ’ leaf ’ -paketti asennettu tarkoituksella vai nimellä riippuvuus, joten se jättää sen, missä soveltuvuus tietää sen ja poistaa sen.
  • Olen ’ m myyty! aptitude: ssä on muitakin hienoja asioita, mutta tämä on tappajaominaisuus.

Vastaa

apt-get, samoin kuin erilaiset aputyökalut, käyttävät huomattavasti vähemmän muistia kuin aptitude, ja ovat hieman nopeampi. En ollut onnellisesti tiennyt tästä, ennen kuin yritin päivittää debianin asennuksen vanhoille vanhalle Pentium-Thinkpadille, jossa on 32 Mt RAM-muistia. Se vie tunnin tai kaksi vaihtopyyhkäisyä suoritettavaksi apt-get, joka suoritettiin onnistuneesti. aptitude epäonnistuu, kun luulen pidemmän ajanjakson.

Tällä erotuksella on enemmän tai vähemmän merkitystä kaikessa, joka muistuttaa nykyaikaista työpöytäjärjestelmää.

vastaus

@Gauravin vastauksen pohjalta kahden paketinhallinnan pääsiäismunat ovat melko hauskoja !:

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. 

ja niin edelleen.

Vastaa

Ne tarjoavat samat perustoiminnot: asenna ja poista paketit komentoriviltä.

Tässä tarkempi vertailu, joka on lähetetty Ubuntu Stack Exchangen verkkosivusto : https://askubuntu.com/questions/1743/is-aptitude-really-better-than-apt-get/1749#1749

Kommentit

  • Ne ovat melko samanlaisia, voin vaihtaa niiden välillä tarpeeksi helposti.

Vastaa

Kuten mainittiin, ole http://pthree.org/2007/08/12/aptitude-vs-apt-get/ , aptitude on muk h helpompi käyttää komentoriviliitäntää.

Eivätkö he käytä konepellin alla samaa APT-järjestelmää? Kyllä.

Perusjärjestelmä ei ole vain apt, vaan dpkg. Tämä järjestelmä on yhtä mykkä kuin RPM, se pystyy käsittelemään vain yksittäisten pakettien asennusta ja hallintaa. Se seuraa, mitkä asennetut tiedostot kuuluvat mihinkään pakettiin.

apt hoitaa arkistojen lataukset, riippuvuuksien seurannan ja niin edelleen kaikille yksittäisille paketeille – minkä se sitten asentaa käyttämällä dpkg. aptitude tekee saman, eri käyttöliittymällä.

Vastaa

Molemmat apt -get ja aptitude luottavat APT-kirjastoon, kyllä.

Katso vastaukseni serverfault.com -sivustolla .

Debian ei ole monoliittinen kokonaisuus, on ihmisiä, joilla on erilaisia mielipiteitä, ja kelpoisuuden ylläpitäjä päätti, että apt-getillä oli joitain puutteita ja halusi rakentaa jotain parempaa soveltuvuudella. Hän paransi logiikkaa etsimään ratkaisuja monimutkaisiin päivityskenaarioihin, lisäsi graafisen käyttöliittymän konsolille jne. Ja siellä on enemmän kuin vain apt-get ja aptitude, katso artikkelini apt -get, aptitude,… valitse oikea paketinhallintaohjelma .

Vastaa

En ole varma jos tämä pitää paikkansa, mutta verenvuotoinen Debianin kehittäjä Joey Hess käytti aina puoltaakseen kykyjä apt-getin sijaan. Tietenkin asiat muuttuvat ohjelmiston kehittyessä. Apt-get hoitaa nyt riippuvuudet paremmin kuin ennen. Alkaen http://lists.debian.org/debian-user/2004/04/msg03138.html

Päivämäärä: ti, 20. huhtikuuta 2004 22:27:12 -0400 Lähettäjä: Joey Hess

Yhdeksän syytä, miksi sinun tulisi käyttää aptitudea apt-get tai dselect sijaan.

  1. aptitude voi näyttää aivan kuten apt-get

    Jos suoritat ”aptitude update”, ”aptitude upgrade” tai ”aptitude install”, se näyttää ja toimii samalla tavalla kuin apt-get, muutamalla parannuksella. Joten oppimiskäyrää ei ole.

    (Jos olet dselect-käyttäjä, oppimiskäyrä ei tietenkään kuulu ongelmasi.)

  2. kykyjäljet automaattisesti asennetut paketit

    Älä enää huoli käyttämättömien kirjastojen ja tukipakettien karsimisesta järjestelmästäsi. Jos asennat kaiken aptitude-ohjelmalla, se seuraa, mitä paketteja pelkästään riippuvuudet vievät, ja poistaa paketit, kun niitä ei enää tarvita.

  3. aptitude hoitaa suositeltavasti

    apt-getin pitkäaikainen epäonnistuminen on ollut sen puute suositusten suhteen suhteen Mikä on ongelma, koska monet Debianin paketit luottavat Suosittelee hankkimaan ohjelmiston, jota tavallinen käyttäjä yleensä käyttää paketin kanssa.Tämä ei ole harvinainen ongelmien syy, vaikka apt-get sai äskettäin ainakin mainita suositellut paketit , on helppo ohittaa sen varoitukset.

    Soveltuvuus tukee oletuksia oletusarvoisesti, ja se voidaan määrittää myös tukemaan ehdotuksia. Se tukee jopa suositeltujen pakettien asentamista, kun niitä käytetään komentorivitilassa.

  4. käytä aptitudea normaalina käyttäjänä ja vältä järjestelmääsi.

    Ehkä et ” En tiedä, että voit suorittaa aptitude: n gui-tilassa tavallisena käyttäjänä. Tee kaikki muutokset, joita haluat kokeilla. Jos pääset todelliseen sotkuun, voit lyödä ”q” ja poistua, tekemäsi muutokset eivät tallennu. (Sovelluksen avulla voit kumota muutokset myös näppäimillä ctrl-u.) Koska se toimii normaalina käyttäjänä, et voi letkeä järjestelmääsi, ennen kuin käsket aptitudea tekemään jotain, jolloin se pyytää sinua pääsalasanasi.

  5. aptitudella on tehokas käyttöliittymä ja hakutoiminnot.

    aptituden kategorisen selaimen ja sen suuren tuen välillä mut-tyylinen suodatus ja pakettien etsiminen nimen mukaan, kuvaus, ylläpitäjä, riippuvuudet jne., sinun pitäisi pystyä löytämään paketteja nopeammin kuin koskaan ennen aptituden avulla.

  6. aptitude helpottaa vanhentuneiden ohjelmistojen seuraamista

    Jos Debian lopettaa paketin jakamisen, apt jättää sen järjestelmääsi toistaiseksi ilman varoituksia ja päivityksiä. Aptitude luetteloi tällaiset paketit Vanhentuneet ja paikallisesti luotut paketit -osiossa, jotta sinulle voidaan kertoa ongelmasta ja tehdä jotain sen hyväksi.

  7. aptitude: lla on käyttöliittymä Debianiin tehtäväjärjestelmä

    Aptitude antaa sinun käyttää Debianin tehtäväjärjestelmää sellaisena kuin se on suunniteltu käytettäväksi. Voit selata käytettävissä olevia tehtäviä, valita asennettavan tehtävän ja sitten kaivaa siihen ja poistaa osan tehtävä, jota et halua. apt-get ei tue tehtäviä, ja aptitude on parempi kuin erikoiskäyttöiset työkalut, kuten taskel.

  8. aptitude tukee useita lähteitä

    Jos lähteesi. luettelo on määritetty niin, että paketista on saatavana useita versioita, aptituden avulla voit tarkastella käytettävissä olevia versioita ja valita asennettavaksi ei-oletetun version. Jos paketti hajoaa epävakaaksi, palauta se takaisin testattavaan versioon.

  9. aptitude kirjaa toimintansa

    Aptitude lokittaa sen asentaman paketin, päivittää, ja poistaa / varlog / aptitude, mikä voi olla hyödyllistä selvittääksesi miksi asiat alkoivat rikkoutua eilisen päivityksen jälkeen tai kun poistat partiticlar-paketin.

– katso ujo jo

=================== täällä on myös uudempi keskustelu vuodelta 2010 https://superuser.com/questions/93437/aptitude-vs-apt-get-which-is-the-recommended-aka-the-right-tool-to-use StackExchangessa.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *