Hogyan telepíthetem a biztonsági frissítéseket a parancssorból?

288

sudo apt-get upgrade telepíti az összes frissítést, nem csak a biztonsági frissítéseket. Tudom, hogy a Frissítéskezelővel csak fontos biztonsági frissítéseket lehet kiválasztani, de van-e módja ennek a parancssorból történő elvégzéséhez?

    
készlet mac9416 29.07.2010 00:50
forrás

7 válasz

269

A csomag felügyelet nélküli frissítések biztosítja a biztonsági frissítések automatikus telepítését.

Ezt használhatja, de az automatikus rész konfigurálása helyett manuálisan hívhatja. Ebben az esetben az alábbiakat csendesen kell végrehajtani:

sudo unattended-upgrade

vagy több verbose verzió, annak szabályozása érdekében

sudo unattended-upgrade -d

MEGJEGYZÉS: Ha felügyelet nélküli-frissítésre hívja, az "s" -et ki kell hagynia a végéről.

Ez azt feltételezi, hogy a csomag alapértelmezés szerint telepítve van, ami valószínűleg az. Ha nem, csak csináld:

sudo apt-get install unattended-upgrades

Lásd még:/usr/share/doc/unattended-upgrades/README.md.

    
válasz adott blueyed 29.07.2010 19:28
forrás
104

Néhány tipp a frissítések kezelése érdekében

Ez mind a Debianra, mind az Ubuntu-ra vonatkozik, de az Ubuntu követése részletesebb.

  • Csak a biztonsági frissítések megjelenítése:

    apt-get -s dist-upgrade |grep "^Inst" |grep -i securi 
    

    vagy

    sudo unattended-upgrade --dry-run -d
    

    vagy

    /usr/lib/update-notifier/apt-check -p
    
  • Minden frissíthető csomag megjelenítése

    apt-get -s dist-upgrade | grep "^Inst"
    
  • A biztonsági frissítések telepítése csak

    apt-get -s dist-upgrade | grep "^Inst" | 
        grep -i securi | awk -F " " {'print '} | 
        xargs apt-get install
    

Megjegyzések:

  • Néha az Ubuntu biztonsági frissítéseket jelenít meg, mintha $ release-updates repository-ból származna. Ez így van, azt mondják, mert az Ubuntu fejlesztői a biztonsági frissítéseket a $ release-updates repositoryra is kiterjesztik, hogy felgyorsítsák elérhetőségüket.

    Ha ez a helyzet, akkor csak a biztonsági frissítések megjelenítéséhez teheti meg a következőket:

    sudo sh -c 'grep ^deb /etc/apt/sources.list | 
        grep security > /etc/apt/sources.security.only.list'
    

    és

    apt-get -s dist-upgrade -o Dir::Etc::SourceList=/etc/apt/sources.security.only.list -o Dir::Etc::SourceParts=/dev/null  | 
        grep "^Inst" | awk -F " " {'print '}
    
  • Ellenőrizze, milyen szolgáltatásokat kell újraindítani a csomagfrissítések után. Megtudhatja, milyen csomagokat kíván frissíteni előre, és ütemezi az újraindításokat / újraindításokat. A probléma itt az, hogy ha nem indítja újra a szolgáltatást, akkor még mindig egy olyan könyvtár régebbi verzióját használhatja (a leggyakoribb ok), amelyet a memóriába töltöttek, mielőtt új csomagot telepített volna, amely biztonsági rést vagy bármi másat tartalmaz.

    checkrestart -v
    

    Mindazonáltal ne feledje, hogy acheckrestart felsorolhatja azokat a folyamatokat, amelyek nem feltétlenül újraindulnak. Például a PostgreSQL szolgáltatás memóriájába tarthat egy már törölt xlog fájlt, amely nem indokolja a szolgáltatás újraindítását.

    Ezért egy másik, megbízhatóbb módja annak, hogy ezt ellenőrizzük a standard utils használatával a következő kis bash parancsfájl, amelyet szégyentelenül elloptam a linkről

    a>

    Ellenőrzi, hogy a rendszeren futó folyamatok még mindig a törölt könyvtárakat használják-e az aktív memóriában lévő másolatok megőrzése miatt.

    ps xh -o pid |
    while read PROCID; do
           grep 'so.* (deleted)$' /proc/$PROCID/maps 2> /dev/null
           if [ $? -eq 0 ]; then
                   CMDLINE=$(sed -e 's/\x00/ /g' < /proc/$PROCID/cmdline)
                   echo -e "\tPID $PROCID $CMDLINE\n"
           fi
    done
    
válasz adott ILIV 16.11.2012 12:35
forrás
46

helyezze a/etc/apt/preferences -ot a következőre:

Package: *
Pin: release a=lucid-security
Pin-Priority: 500

Package: *
Pin: release o=Ubuntu
Pin-Priority: 50

most egy egyszerűapt-get upgrade frissíti az összes biztonsági frissítést.

Miért (és hogyan) működik: A preferencia fájl az Ubuntu disztribúció minden csomagját az 50-es prioritásig fogja meg, ami kevésbé kívánatos, mint a már telepített csomagok. A biztonsági tárolóból származó fájlok az alapértelmezett (500) prioritást kapják, így telepítésre kerülnek. Ez azt jelenti, hogy csak azok a csomagok, amelyek a jelenleg telepítetteknél kívánatosabbnak tekinthetők, a biztonsági frissítések. További információ a apt_preferences manpage összeillesztéséről.

A--target-release opcióval rendelkezőapt-get ésaptitude -kal (legalább) együtt működtethet bizonyos frissítéseket, amelyek lehetővé teszik bizonyos kiadások beillesztését, hogy azok frissíthetők legyenek.

Ha csak szkriptekre kívánja használni, és nem teszi alapértelmezésként a rendszert, akkor helyezze el a szabályokat egy másik helyre, és használja ezt helyett:

apt-get -o Dir::Etc::Preferences=/path/to/preferences_file upgrade

Ezzel megpróbálhatja megkeresni a preferenciafájlt nem alapértelmezett helyről.

A példabeli beállítási fájl nem vonatkozik a harmadik fél tárolóira, ha be akarja pinelni azokat is, akkor aapt-cache policy -ot használhatja, hogy könnyen meghatározhassa a pinning szükséges gombjait.

    
válasz adott Ressu 29.07.2010 06:12
forrás
9

A következőket az Ubuntu 14.04 LTS támogatja.

Használja aunattended-upgrade csomagot.

Nézd meg a/etc/apt/apt.conf.d/50unattended-upgrades fájlt. A tetején egy szakasznak kell lennie:

// Automatically upgrade packages from these (origin:archive) pairs
Unattended-Upgrade::Allowed-Origins {
    "${distro_id}:${distro_codename}-security";
//  "${distro_id}:${distro_codename}-updates";
//  "${distro_id}:${distro_codename}-proposed";
//  "${distro_id}:${distro_codename}-backports";
};

Vegye figyelembe, hogy a konfigurációs csomag alapértelmezés szerint csak a biztonsági csomagok felügyelet nélküli frissítését engedélyezi.

Módosítsa a/etc/apt/apt.conf.d/10periodic fájlt:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
APT::Periodic::Unattended-Upgrade "1";

Ez automatikusan felügyelet nélküli biztonsági frissítéseket fog végrehajtani, naponta egyszer.

Most kézi futtatás:sudo unattended-upgrade.

A száraz futás teszteléséhez, anélkül, hogy bármit is tenne:sudo unattended-upgrade --dry-run.

Forrás: link

    
válasz adott vcardillo 03.10.2016 19:18
forrás
5

Bár elég csúnya, letilthatja az összes tárolót a biztonsági tárolóktól eltekintve, majd elvégezheti:

sudo apt-get update && sudo apt-get upgrade

Nem teszteltem, de elméletben csak a biztonsági repó frissítéseit találja meg és alkalmazza őket ...

    
válasz adott Stephen RC 29.07.2010 02:00
forrás
3
  • apt-get update: csak olvassa el a repository bejegyzéseit - a meglévő listának megfelelően. Szükséges ellenőrizni, mi új.
  • apt-get upgrade: a telepített csomagok összes frissítése a kernel modulok nélkül. Nincs kiadás frissítés.
  • apt-get dist-upgrade: a telepített csomagok összes frissítése szintén kernel modulokkal. Nincs kiadás frissítés.
  • apt-get a-s paraméterrel: csak tesztelés, nem történt változás.
válasz adott fuser 02.08.2013 11:49
forrás
0

Nem találok opciót sem apt-getben, sem aptitude-ban, bár valaki ugyanaz a kérdés a SuperUser-en. Az egyetlen válasz:

  

Ellenőrizze és állítsa be /etc/apt/apt.conf.d/50unattended-upgrade. Módosította "karmikus" az Ubuntu kódnevét?

Nincs válasz arról, hogy ez működött-e.

    
válasz adott Ross 29.07.2010 01:04
forrás