Kirjoittaja Aihe: Miten tehdään listaus asennetuista ohjelmista? (Ratkaistu)  (Luettu 1836 kertaa)

Illu

  • Käyttäjä
  • Viestejä: 1089
    • Profiili
Tulossa on vaihteeksi Ubuntun puhdas asennus vanhojen päivitysten jälkeen. Ongelmana on juuri päivitysten aiheuttama tilanne, ettei ole tarvinnut muistella niiden jälkeen kaikkia erikseen perusasennuksen lisäksi asennettuja ohjelmia. Niitä on jonkin verran kertynyt Ubuntu 14.04:n puhtaan asennuksen jälkeen.

Mistä tiedosto(i)sta kaivelen esille ohjelmien nimiä? asennettuna on pieniä skriptejäkin, joiden tarve on ehkä kaksi kertaa vuodessa, mutta oman nimimuistin heiketessä olisi helpompaa ohjelma kaivaa listasta, kuin alkaa netin hakukoneilla sitä etsimään.

Nyt versiona on U18.04, eikä varsinaista toiminnallista tarvetta olisi siirtyä uuteen, ellei snap tukkisi juuriosiota. Onhan 18.04 jo ikääntynyt ja sen voisi vain päivittää, koska mulla se tapa on toiminut hyvin, mutta joskus pitää uusiutua.
« Viimeksi muokattu: 04.01.22 - klo:20.30 kirjoittanut Illu »

AimoE

  • Käyttäjä
  • Viestejä: 2782
    • Profiili
Vs: Miten tehdään listaus asennetuista ohjelmista?
« Vastaus #1 : 03.01.22 - klo:12.03 »
Tällä pääsee alkuun:
Koodia: [Valitse]
apt list  | grep '\[asennettu\]'
Lisäsin nuo hakasulkeet, jotta grep ohittaisi [asennettu,automaattinen] -tapaukset. Toinen tapa, ehkä varmempi jos hakasulkeissa voi olla jotain muutakin kamaa, olisi:
Koodia: [Valitse]
apt list  | grep asennettu | grep -v ',automaattinen'
Edit: Jup, tarkistin omalla koneella, että
Koodia: [Valitse]
apt list  | grep asennettu | grep -v ',automaattinen' | grep -v '\[asennettu\]' palauttaa tapauksia joissa on mukana avainsana 'paikallinen'.
« Viimeksi muokattu: 03.01.22 - klo:12.06 kirjoittanut AimoE »

AimoE

  • Käyttäjä
  • Viestejä: 2782
    • Profiili
Vs: Miten tehdään listaus asennetuista ohjelmista?
« Vastaus #2 : 03.01.22 - klo:12.09 »
Muutaman iteraation jälkeen suosittelen tätä:
Koodia: [Valitse]
apt list  | grep asennettu | grep -v automaattinen | cut -d/ -f1 | sort -uYllättäen tuohon listaukseen tulee mukaan grub ja linux-generic, headers, image, jne. En keksi syytä.
« Viimeksi muokattu: 03.01.22 - klo:12.13 kirjoittanut AimoE »

AimoE

  • Käyttäjä
  • Viestejä: 2782
    • Profiili
Vs: Miten tehdään listaus asennetuista ohjelmista?
« Vastaus #3 : 03.01.22 - klo:12.57 »
Halusin listauksne jossa näkyy myös se hakasulkeissa oleva osa:
Koodia: [Valitse]
apt list | perl -ne 'my ($n, $m) = ( $_ =~ m{(.*)/.* (\[.*\])} ); print "$n $m\n" if $m and not $m=~ /\Wautomaattinen\W/;' | sort -u
Testatessa löysin neljännen avainsanan: residual-config. Olen varmaankin taas unohtanut, että poistot kannattaa tehdä apt purge- eikä apt remove-komennolla.

AimoE

  • Käyttäjä
  • Viestejä: 2782
    • Profiili
Vs: Miten tehdään listaus asennetuista ohjelmista?
« Vastaus #4 : 03.01.22 - klo:13.42 »
Yritin vielä urkkia netistä parempaa keinoa, ja löysinkin sellaisen, joka ei ole apt ja apt-get -komentojen man-sivulla. Mistähän käyttäjän pitäisi osata löytää tuollainen piilo-optio?

Sen avulla komento sekä lyheni että nopeutui huomattavasti:
Koodia: [Valitse]
apt list --manual-installed=true
Jos ei halua nähdä versiotietoja:
Koodia: [Valitse]
apt list --manual-installed=true | sed 's/\/.* / /'
Tai vain pakettien nimet:
Koodia: [Valitse]
apt list --manual-installed=true | cut -d/ -f1
Jos ei tiedä minkä riippuvuuden mukana jokin luetelluista paketeista on tullut, sen voi tarkistaa esim. komennolla:
Koodia: [Valitse]
apt-cache rdepends --installed paketti(missä 'paketti' on oikean paketin nimi)
« Viimeksi muokattu: 03.01.22 - klo:14.08 kirjoittanut AimoE »

Illu

  • Käyttäjä
  • Viestejä: 1089
    • Profiili
Vs: Miten tehdään listaus asennetuista ohjelmista?
« Vastaus #5 : 04.01.22 - klo:20.30 »
Kiitos AimoE, noilla pääsee hyvin eteenpäin. Pitkää listaa tulee, mutta pian siitä poimii ne, jotka aikoo uuteenkin asennukseen lisätä.

Postimies

  • Käyttäjä
  • Viestejä: 2644
    • Profiili
apt list --manual-installed=true itselle uusi asia. Kannattaa muistaa, että joitain ohjelmia on voinut poistua paketihallinnasta tuen loppumisen takia kun päivität. tai eivät toimi enää kun python 2.7 puuttuu tai jotain muuta.

Gentoossa emerge ohjelma asentaa ohjelman niin riippuvuuksineen, että ohjelman nimi kirjoitetaan world-nimiseen tiedostoon, joka sisältää kaikki itse asennetut ohjelmat. Paketinhallinta ei koskaan poista niitä automaattisesti. emerge -1 ohjelma asentaa ohjelman/kirjaston niin, että sitä ei talleteta world-tiedostoon ja paketinhallinta voi poistaa ohjelman kun poistetaan turhia kirjastoja. Asennetut ohjelmat saa selville kun tulostaa world-tiedoston sisällön. Oliskohan ubuntun paketinhallinnassa vastaavaa tiedostoa? 

juyli

  • Käyttäjä / moderaattori
  • Viestejä: 1200
    • Profiili
Oliskohan ubuntun paketinhallinnassa vastaavaa tiedostoa?
Enpä usko, että muissa jakeluissa olisi samoja ominaisuuksia:
Gentoo on rakennettu sen ajatuksen pohjalta että asennusmedialta haetaan asennettavan paketin lähdekoodi. ...
Haettu lähdekoodi puretaan väliaikaiseen hakemistoon, jossa se käännetään konekieliseksi. Menetelmä avaa käyttäjälle lukuisia tapoja hallita kääntämisprosessia ja kääntämisen tuloksena syntyvän ohjelman ominaisuuksia.
Gentoon paketinhallinta on nimeltään portage.

https://www.linux.fi/wiki/Gentoo
Yleisemmin eivät nykypäivän jakelut vaadi ohjelmien kääntämistä, koska ne ovat jo valmiiksi käännetty ja paketoitu asentamista varten ko. jakeluun sopiviksi.

Kun jakelu päivitetään, ilmoittaa päivitysohjelma, mitä ohjelmia korvataan - ja mitä poistetaan päivityksessä.
Tuosta kukin päivittäjä voi vetää omat johtopäätelmänsä - pitääkö ohjelma/ajuri uudelleen asentaa - tai kääntää tms.

Illu

  • Käyttäjä
  • Viestejä: 1089
    • Profiili
Varmasti listaukseen päätyy sellaisia, joita ei enää ole tuoreimmissa jakeluissa. Lähinnä listaus on helpotuksena löytää joku ohjelma, jos se vielä on relevantti. Kun on johonkin tarkoitukseen tarvinnut jotain ohjelmaa ja muutamien vaihtoehtojen joukosta löytänyt sopivan, olisi helpointa taas aloittaa kokeilut sillä. Joku mp3-käsittely tai pdf-koosteen teko yms., satunnaista tarvetta.