Apt package tool

apt.md


titel: "apt"

beschrijving: "Advanced Package Tool." "Het installeren van deb-pakketten op een Debian, Ubuntu .... Linux systeem"

categoriën:

  • install
  • apt
  • upgrade
  • remove
  • purge

apt package tool

update apt database

        sudo apt update

upgrade pakketten

        sudo apt upgrade

installeer een pakket

installeer een pakket je-pakket-naam

        sudo apt install <je-pakket-naam>

pakket wegdoen

doe een pakket je-pakket-naam weg

        sudo apt remove <je-pakket-naam>

pakket volledig wegdoen

doe een pakket je-pakket-naam volledig weg (alsook configuratie bestanden)

       sudo apt purge <je-pakket-naam>

zoek een pakket

       # aptitude search <je-pakket-naam>        
       apt search <je-pakket-naam>

toon een pakket

       apt show <je-pakket-naam>
       # meer info met `apt-cache show`
       # apt-cache show <je-pakket-naam> 

opkuis

opkuis deb bestanden

apt-get clean doet al de deb bestanden weg uit de map /var/cache/apt/archives/

        sudo apt-get clean
        # of
        sudo apt clean

apt autoclean / apt autoremove kuist niet al de bestanden op uit je /var/cache/apt/archives !

residual config files

        # uitvoeren  
        dpkg -l | grep '^rc'
        # enkel de naam van de pakketten
        # dpkg -l | grep "^rc" | awk '{print $2}'

purge all residual config pakketten

    sudo apt purge $(dpkg -l | grep "^rc" | awk '{print $2}')

geinstalleerde pakketten

        # 
        dpkg -l | grep '^hi\|^ii\|^i'
        # enkel de naam van de pakketten
        # dpkg -l | grep '^hi\|^ii\|^i' | awk '{print $2}'

apt-cache policy $(dpkg -l | grep "^hi|^ii|^i" | awk '{print $2}')

apt-cache policy $(dpkg -l | grep "^hi|^ii|^i" | awk '{print $2}') >~/outputs/aptlog_pakketten_20220721.out

sources.list

        # sid = unstable is testing  debian 12  goto https://packages.debian.org/sid/amd64
        # trixie =           debian 13 in 2025
        # bookworm = testing debian 12 16/08/2021
        # bullseye = stable debian 11  03/2021
        # buster = oldstable debian 10
        # stretch = oldstable debian 9
        # jessie = oldstable debian 8
        # deb cdrom:[Official Debian GNU/Linux Live 11.0.0 gnome 2021-08-14T11:22]/ bullseye main
        # deb cdrom:[Official Debian GNU/Linux Live 11.0.0 gnome 2021-08-14T11:22]/ bullseye main
        deb http://ftp.be.debian.org/debian/ experimental main contrib non-free
        deb http://ftp.be.debian.org/debian/ testing main contrib non-free
        deb http://ftp.be.debian.org/debian/ bullseye main contrib non-free
        deb http://ftp.be.debian.org/debian/ buster main contrib non-free
        # deb-src http://ftp.be.debian.org/debian/ bullseye main
        deb http://security.debian.org/debian-security testing-security main contrib non-free
        deb http://security.debian.org/debian-security bullseye-security main contrib non-free
        # deb-src http://security.debian.org/debian-security bullseye-security main
        # bullseye-updates, to get updates before a point release is made;
        # see https://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_updates_and_backports
        deb http://ftp.be.debian.org/debian/ testing-updates main contrib non-free
        deb http://ftp.be.debian.org/debian/ bullseye-updates main contrib non-free
        # deb-src http://ftp.be.debian.org/debian/ bullseye-updates main
        deb http://ftp.be.debian.org/debian testing-backports main contrib non-free
        deb http://ftp.be.debian.org/debian bullseye-backports main contrib non-free

preferences

        # 
        Package: *
        Pin: release a=bullseye-backports
        Pin-Priority: 100
        Package: *
        Pin: release a=bullseye
        Pin-Priority: 500
        Package: *
        Pin: release a=testing
        Pin-Priority: -1

noot: je kunt wel nog pakketten type testing installeren met apt install -t testing je_pakket !

upgrade bullseye-backports

        sudo apt -t bullseye-backports upgrade

local/obsolete packages

        aptitude search '?obsolete'

output is

        i   boostnote.next                             - .                                                    
        i   element-desktop                            - A feature-rich client for Matrix.org                 
        i   gir1.2-appindicator3-0.1                   - Typelib files for libappindicator3-1                 
        i   hibernate                                  - smartly puts your computer to sleep (suspend to RAM o
        i A libappindicator3-1                         - allow applications to export a menu into the panel --
        i A libffi6                                    - Foreign Function Interface library runtime           
        i A libindicator3-7                            - panel indicator applet - shared library              
        i A libvala-0.52-0                             - C# like language for the GObject system - library    
        i A libvala-0.52-dev                           - C# like language for the GObject system - development
        i A python-cairo                               - Python bindings for the Cairo vector graphics library
        i A python-feedparser                          - Universal Feed Parser for Python                     
        i A python-gobject-2                           - deprecated static Python bindings for the GObject lib
        i   python-gtk2                                - Python bindings for the GTK+ widget set              
        i A python-libxml2                             - Python bindings for the GNOME XML library            
        i A python-numpy                               - Numerical Python adds a fast array facility to the Py
        i A python-tidylib                             - Python 2 wrapper for HTML Tidy (tidylib)             
        i A python-utidylib                            - Python wrapper for TidyLib                           
        i   rawdog                                     - RSS Aggregator Without Delusions Of Grandeur         
        i A uswsusp                                    - tools to use userspace software suspend provided by L

gnome software

       apt-cache policy 'gnome*' 

check for gnome test versions

        apt-cache policy $(dpkg -l | grep '^ii\^hi\^i' | awk '{print $2}'| grep 'gnome')

apt list | grep lokaal

dit al je geen buster hebt in je sources.list maar toch buster pakketten geinstalleerd zijn !!!

       apt list | grep lokaal

output

        gir1.2-appindicator3-0.1/now 0.4.92-7 amd64 [geïnstalleerd,lokaal]
        hibernate/now 2.0+15+g88d54a8-1 all [geïnstalleerd,lokaal]
        libappindicator3-1/now 0.4.92-7 amd64 [geïnstalleerd,lokaal]
        libffi6/now 3.2.1-9 amd64 [geïnstalleerd,lokaal]
        libindicator3-7/now 0.5.0-4 amd64 [geïnstalleerd,lokaal]
        libvala-0.52-0/now 0.52.5-1 amd64 [geïnstalleerd,lokaal]
        libvala-0.52-dev/now 0.52.5-1 amd64 [geïnstalleerd,lokaal]
        python-cairo/now 1.16.2-1+b1 amd64 [geïnstalleerd,lokaal]
        python-feedparser/now 5.2.1-1 all [geïnstalleerd,lokaal]
        python-gobject-2/now 2.28.6-13+b1 amd64 [geïnstalleerd,lokaal]
        python-gtk2/now 2.24.0-5.1+b1 amd64 [geïnstalleerd,lokaal]
        python-libxml2/now 2.9.4+dfsg1-7+deb10u2 amd64 [geïnstalleerd,lokaal]
        python-numpy/now 1:1.16.2-1 amd64 [geïnstalleerd,lokaal]
        python-tidylib/now 0.3.2~dfsg-4 all [geïnstalleerd,lokaal]
        python-utidylib/now 0.5-2 all [geïnstalleerd,lokaal]
        rawdog/now 2.23-2 all [geïnstalleerd,lokaal]
        uswsusp/now 1.0+20120915-6.2 amd64 [geïnstalleerd,lokaal]
    

unattended-upgrades

installeren

        sudo apt install unattended-upgrades apt-listchanges
        sudo apt install apt-config-auto-update
        sudo apt install powermgmt-base

welke settings automatisch laten upgrade

        sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
    zet in het bestand 50unattended-upgrades :
        "origin=Debian,codename=${distro_codename}-updates";
//      "origin=Debian,codename=${distro_codename}-proposed-updates";
        "origin=Debian,codename=${distro_codename},label=Debian";
        "origin=Debian,codename=${distro_codename},label=Debian-Security";
        "origin=Debian,codename=${distro_codename}-security,label=Debian-Security";

        Unattended-Upgrade::Mail "root";

        Unattended-Upgrade::Automatic-Reboot "true";

        Unattended-Upgrade::Automatic-Reboot-WithUsers "true";
        sudo nano /etc/apt/apt.conf.d/51unattended-upgrades-local
    zet in het bestand 51unattended-upgrades-local :
        Unattended-Upgrade::Origins-Pattern {
	"origin=*";	
        };

hoe test ik het , hoe werkt het ?

        # steek stekker in stopcontact zodat je niet op batterij werkt
        sudo unattended-upgrades        

Toegang krijgen tot logs met onbeheerde upgrades

        sudo -i
        cd /var/log/unattended-upgrades/
        ls 

hoe automatisch starten unattended-upgrades op een bepaald ogenblik ?

  • cronjob maken met crontab

      bijvoorbeeld elke dag om 22:00
    
        nano /etc/crontab
    voeg volgende lijn toe in bestand /etc/contab
        00 22 * * * /usr/bin/unattended-upgrade -v
  • check cronjob log
        nano /etc/rsyslog.d/50-default.conf
    voeg volgende lijn toe
        #
        cron.*          /var/log/cron.log
        #
    check cronjob log in /var/log/cron.log
  • bij problemen
        apt list --upgradable
        systemctl status cron
        cat /etc/crontab
        systemctl status rsyslog
        systemctl status unattended-upgrade
        cat /var/log/cron.log