Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ubuntu tietokoneissa => Aiheen aloitti: eskomorko - 06.01.08 - klo:21.54
-
On tullut asenneltua joitain ohjelmia .dep paketeista ja en nyt muista mitkä kaikki onkaan asennettu kyseisellä tavalla. Olisi kiva tarkistaa mitkä ohjelmat on asennettu tällä tavalla, jotta voisi tarkistaa löytyykö niihin jo uudempia versioita.
Eli onko komentoa tms. joka näyttää mitkä ohjelmat on asennettu jostain muualta kuin pakettivarastoista?
Kiitos.
-
En tiedä komennoista, mutta jos käytät Synapticia sisältää se suodattimen "Asennettu (paikallinen tai vanhentunut)" jolla nuo näkyy.
-
KDE ja Adept käytössä.. en löytänyt Adeptista vastaavaa suodatinta, onkohan siinä edes?
-
Hyvä havainto mylvarilta.
Sama toiminnallisuus löytyy aptitudesta. Paitsi, että ei ehkä löydykään. Sama valinta kylläkin löytyy (vanhentuneet ja paikalliset paketit), mutta sen alla ei sitten näykään esim.getdebistä dpkg:lla asentamaani pakettia. Vanhentuneet paketit ja chekckinstallilla asennetut näkyvät. Synaptic kuitenkin vastaavalla suodattimella näyttää myös getdebin paketin. Tietääkö joku mihin Synapticin suodatus voisi perustua. Itsellä ei tule mieleen kuinka selvittää asia komentoriviltä muulla tavalla, kuin skriptillä, joka käy kaikki asennetut paketit lävitse apt-cache policyllä ja tutkii onko paketeille määritetty pakettivarasto.
aptitude
-
Väsäsin sitten skriptin tekeleen, joka tulostaa sen hetkisen sources.listin ulkopuolelta olevat paketit ja kaikki vanhentuneet paketit versionumeroineen.
Kohta joku varmaan huomauttaa, että apt-cache jollain vivulla olisi hoitanut saman asian. :P
Alla on, jos kiinnostaa kokeilla:
#!/bin/bash
# DEBOMAT
# haetaan asennettujen pakettien nimet
PAKETTILISTA=`dpkg --get-selections | grep install | cut -f 1`
# Asennettujen pakettien lukumäärä
ASENNETUT_LKM=$(echo "$PAKETTILISTA" | wc -l)
echo Suositeltavaa on suorittaa ensin \"sudo apt-get update \&\& sudo apt-get upgrade\"
echo Käydään läpi $ASENNETUT_LKM pakettia. Odota hetki.
echo Paketit, joille ei ole merkitty pakettivarastoa sekä vanhentuneet paketit:
#Luetaan jokaisen paketin tiedot ja tulostetaan vain ne, joiden versiotaulukon asennetun version
#ensimmäisellä rivillä ei ole tietoa pakettivarastosta. Ensimmäisen rivin prioriteetti 100.
for PAKETIN_NIMI in $PAKETTILISTA; do
TIEDOT=$(apt-cache policy $PAKETIN_NIMI | grep -A 1 "*")
PRIO=$(echo "$TIEDOT" | sed '1d' | cut -f 9 -d \ )
if test $PRIO; then
if [ $PRIO = 100 ]; then
echo -e "$PAKETIN_NIMI" \\t "$TIEDOT" | grep "*" | tr -d "*"
fi
fi
done
-
Väsäsin sitten skriptin tekeleen, joka tulostaa sen hetkisen sources.listin ulkopuolelta olevat paketit ja kaikki vanhentuneet paketit versionumeroineen.
Kohta joku varmaan huomauttaa, että apt-cache jollain vivulla olisi hoitanut saman asian. :P
Alla on, jos kiinnostaa kokeilla:
#!/bin/bash
# DEBOMAT
# haetaan asennettujen pakettien nimet
PAKETTILISTA=`dpkg --get-selections | grep install | cut -f 1`
# Asennettujen pakettien lukumäärä
ASENNETUT_LKM=$(echo "$PAKETTILISTA" | wc -l)
echo Suositeltavaa on suorittaa ensin \"sudo apt-get update \&\& sudo apt-get upgrade\"
echo Käydään läpi $ASENNETUT_LKM pakettia. Odota hetki.
echo Paketit, joille ei ole merkitty pakettivarastoa sekä vanhentuneet paketit:
#Luetaan jokaisen paketin tiedot ja tulostetaan vain ne, joiden versiotaulukon asennetun version
#ensimmäisellä rivillä ei ole tietoa pakettivarastosta. Ensimmäisen rivin prioriteetti 100.
for PAKETIN_NIMI in $PAKETTILISTA; do
TIEDOT=$(apt-cache policy $PAKETIN_NIMI | grep -A 1 "*")
PRIO=$(echo "$TIEDOT" | sed '1d' | cut -f 9 -d \ )
if test $PRIO; then
if [ $PRIO = 100 ]; then
echo -e "$PAKETIN_NIMI" \\t "$TIEDOT" | grep "*" | tr -d "*"
fi
fi
done
Toimii mainiosti! Kiitoksia tästä.
-
On tullut asenneltua joitain ohjelmia .dep paketeista ja en nyt muista mitkä kaikki onkaan asennettu kyseisellä tavalla. Olisi kiva tarkistaa mitkä ohjelmat on asennettu tällä tavalla, jotta voisi tarkistaa löytyykö niihin jo uudempia versioita.
Eli onko komentoa tms. joka näyttää mitkä ohjelmat on asennettu jostain muualta kuin pakettivarastoista?
Kiitos.
dpkg -l
näyttää kaikki asennetetut dep:t, ovat ne sitten tulleet paketinhallinsta tahi sitten käsin laitettu dpkg -i
-
joo, mutta dpkg ei mitenkään erittele onko paketti asennettu paketinhallinnan kautta vai ohitse.