Kommentit
Vastaa
Voit listata asennetun paketin käyttämällä apt
seuraavaa komentoa käyttämällä:
apt --installed list
Muokkaa
Käytä seuraavaa komentoa asennettujen pakettien luetteloon apt-get
:
zcat /var/log/apt/history.log.*.gz | cat - /var/log/apt/history.log | grep -Po "^Commandline: apt-get install (?!.*--reinstall)\K.*"
Kommentit
- Kuten olet sanonut, siinä luetellaan kaikki asennetut paketit. Haluan paketteja, jotka olen asentanut manuaalisesti
apt-get
-komennoilla. - @ user598200 – Harkitse tämän vastauksen hyväksymistä. 🙂
- tämän askubuntu-vastauksen perusteella pääsen kohtaan
(zcat $(ls -tr /var/log/apt/history.log*.gz); cat /var/log/apt/history.log) 2>/dev/null | egrep '^(Commandline: apt(-get)? install)' | grep -v aptdaemon | egrep '^Commandline:'
-
zgrep -hPo '^Commandline: apt-get install (?!.*--reinstall)\K.*' /var/log/apt/history.log{.*.gz,}
tuottaa saman ulostulon ilman tarpeettomiazcat
jacat
. jos et ' välitä paketin nimien tarkasta järjestyksestä lähdössä,/var/log/apt/history.log*
tekee tiedostonimi-argumentille.
Vastaa
zgrep -h " install " /var/log/dpkg.log* | sort | awk "{print $4}"
Tämä antaa sinulle luettelon paketeista on asennettu siinä järjestyksessä kuin ne on asennettu.
Kommenttini mukaan oletuksena säilytetään /var/log/dpkg.log*
-tiedostojen arvo vain viimeisten 12 kuukauden ajalta. Muuta tätä muokkaamalla /etc/logrotate.d/dpkg
. Vaihda esimerkiksi rotate 12
muotoon rotate 1200
, jotta viimeisten 1200 kuukauden (100 vuoden) arvo säilyy – käytännöllisesti katsoen ikuisesti.
BTW, jos haluat nähdä, milloin paketit päivitettiin, muuta install
muotoon upgrade
. esim.
zgrep -h " upgrade " /var/log/dpkg.log* | sort
sama remove
ja purge
.
Vastaa
Jos haluat näyttää vain luettelon paketeista, sinulla on manuaalisesti asennettu voit suorittaa:
apt --installed list | grep -v automatic
ei luetteloita automaattisesti asennetuiksi merkittyjä paketteja
-v, --invert-match Invert the sense of matching, to select non-matching lines.
Toinen vaihtoehto, joka ei ”poista virheellisesti valitettavaa pakettia " automaattisella " sen nimessä on:
apt-mark showmanual
kommentit
- Lyhyt ja suloinen ja aakkosjärjestyksessä.
- Jos paketin nimi vahingossa sisältää " automaattisen ", se suodatetaan grepin avulla.
vastaus
Tämä perustuu aptitude
-arvoon, mutta seuraava antaa sinulle luettelo pa ckage-tiedostot, jotka on asennettu manuaalisesti, ts. niitä ei asenneta vain riippuvuuden vuoksi:
aptitude search -F %p "~i!~M"
Sen mukaan, miten kuva on asetettu, se sisältää todennäköisesti myös joitain asennettuja perusjärjestelmän kautta. Voit päästä eroon melko vähän niistä vaihtamalla ne automaattisesti asennettaviksi, ja merkitse sitten vain käsikirjaksi muutama, jonka haluat pitää huolimatta siitä, että sinulla ei ole mitään riippuen heistä. Tämä on helppo tehdä M: n sisällä aptitude
paljaalla järjestelmällä.
Vastaa
Käytä dpkg
kaikkien järjestelmään asennettujen pakettien luetteloon: dpkg --get-selections
Kaikkien apt-get
katso /var/log/apt/history.log
. Tämä loki sisältää myös poistamasi paketit. Voit grep
riville, jotka alkavat Install:
.
Kommentit
- Kuten olet sanonut, siinä luetellaan kaikki asennetut paketit. Haluan paketteja, jotka olen asentanut manuaalisesti
apt-get
-komennoilla. - @ user598200 Ah. Kiitos selvennyksestäsi. Katso muokattu vastaukseni. En ole varma, onko
apt-get
siinä toiminnot. Mutta aina, kun asennat jotain, se liitetään vastauksessa mainitsemiini lokitiedostoihin. - Kiitos.Miten voin käydä läpi kaikki
/var/log/apt/history.log*
-tiedostot ja tulostaa pakettien nimet yhdellä osumalla? - @ user598200 Voit käyttää
grep
.grep "Install: package" /var/log/apt/history.log*
Vastaa
Ubuntu 14.04 tai uudempi käyttää apt list --installed
vanhemmissa versioissa käytä dpkg --get-selections | grep -v deinstall
vastausta
Hieman lyhyempi ja lajiteltu
gunzip -c /var/log/apt/history.log.*.gz | grep "apt-get install" | cut -f4- -d" " | tr " " $"\n" | sort -u
Kommentit
- Selitys miksi tämä on parempi kuin @ GAD3R: n antama vastaus olisi hyödyllinen.
- Ensinnäkin se ' on lyhyempi, toinen kaikista tuloksista on lajiteltu
- U & L: n idea on, että parannat vastaustasi (tai kysymystäsi, jos olet postittanut sellaisen) muokkaamalla viestiä sen sijaan, että piilottaisit arvokkaita tietoja kommentteihin. Kuten halusin leikata ja liittää komennon, 26 tavua vähemmän ei ole niin mielenkiintoista, mutta tosiasia, että lähtösi on lajiteltu, kuuluu itse asiassa vastaukseen. Jos tällainen parannus oli vastaus selvityspyyntöön, yksinkertainen " päivitti vastaukseni " kommentin tavoin, kommentoija ( tässä tapauksessa minulle) ilmoitetaan tästä kommentista. Luulen, että suppuus on myös syy siihen, että joku alensi vastaustasi.
- Jos haluat pelata golfia, kokeile
zgrep -Pho '(?<=apt-get install ).*' /var/log/apt/history.log.*.gz | tr ' ' $'\n' | sort -u
.
history.log
tiedostot/var/log/apt/
. ' on tärkeää huomata, että oletusarvoisesti logrotate on määritetty pitämään nämä tiedostot vain viimeisten 12 kuukauden arvoisina. Sama päteethe /dpkg.log
-tiedostoihin/var/log
(jotka tarjoavat samanlaista tietoa (IMO) helpommin jäsennetyssä muodossa). Muokkaa/etc/logrotate.d/{apt,dpkg}
muuttaaksesi järjestelmän säilytyskäytäntöä.