home       inleiding       sysadmin       services       links       bash       werk       nothing      

debian based software beheer

Op deze webpagina geven we een kort overzicht van software beheer onder debian-like distributies (debian, ubuntu, linuxmint e.a.). We houden de voorbeelden kort en ter zake en gaan er niet heel diep op in.

  • Software Beheer gebeurt in debian-like distro's meestal met de utility apt-get.
  • Er bestaat ook een interactieve versie van apt die aptitude heet.
  • Sedert ubuntu16.04 kan je ook gebruik maken van apt een python script dat apt-get, apt-cache, aptitude en nog enkele andere utilities bij mekaar verenigt in één tool.
  • Zowel apt-get als apt als aptitude gebruik je in je terminal.
  • apt-get maakt onderliggend gebruik van een andere utility , dpkg, die soms snel zeer interessante informatie oplevert. Daar gaan we ook enkele voorbeelden van bekijken.
     
  1. software beheer overzicht

    • repositories updaten
      apt-get update
       
    • software installeren
      apt-get install
       
    • software verwijderen
      apt-get remove
       
    • software dependencies verwijderen
      apt-get autoremove
       
    • alles inclusief config files verwijderen
      apt-get purge
       
    • software opnieuw configureren
      dpkg-reconfigure
       
    • grote problemen oplossen
      apt-get -f install
       
    • software zoeken
      aptitude search <zoekstring>
       
    • geinstalleerde software op scherm brengen
      dpkg -l | less
       
    • geinstalleerde software filteren met grep
      dpkg -l | grep <zoekstring>
       
    • van een pakket de geinstalleerde files op scherm brengen
      dpkg -L
       
    • één pakket updaten
      apt-get install
       
    • alle pakketten op je machine updaten
      apt-get upgrade (first do apt-get update to sync your repo's)
       
    • je pakketten en je kernel updaten
      apt-get dist-upgrade (first do apt-get update to sync your repo's)
       
       
  2. repositories

    Linux wordt geïnstalleerd en geupdate vanaf het netwerk. De software wordt verdeeld vanaf verschillende sites. Op zo'n site staan er dan verschillende repositories per versie van bvb ubuntu14.04.
     
    De software is er verdeeld over verschillende directories in main, universe, restricted en multiverse. (main - Canonical-supported free and open-source software, universe - Community-maintained free and open-source software, restricted - Proprietary drivers for devices, multiverse - Software restricted by copyright or legal issues)
     
    Op een debian-like systeem worden de repositories bijgehouden in het bestand
    /etc/apt/sources.list (of in een subdirectory sources.list.d)
    Die ziet er op en ubuntu server 14.04 misschien als volgt uit:

    $ grep -v "^#" /etc/apt/sources.list
     
    deb http://be.archive.ubuntu.com/ubuntu/ trusty main restricted
    deb-src http://be.archive.ubuntu.com/ubuntu/ trusty main restricted
    deb http://be.archive.ubuntu.com/ubuntu/ trusty-updates main restricted
    deb-src http://be.archive.ubuntu.com/ubuntu/ trusty-updates main restricted
    deb http://be.archive.ubuntu.com/ubuntu/ trusty universe
    deb-src http://be.archive.ubuntu.com/ubuntu/ trusty universe
    deb http://be.archive.ubuntu.com/ubuntu/ trusty-updates universe
    deb-src http://be.archive.ubuntu.com/ubuntu/ trusty-updates universe
    deb http://be.archive.ubuntu.com/ubuntu/ trusty multiverse
    deb-src http://be.archive.ubuntu.com/ubuntu/ trusty multiverse
    deb http://be.archive.ubuntu.com/ubuntu/ trusty-updates multiverse
    deb-src http://be.archive.ubuntu.com/ubuntu/ trusty-updates multiverse
    deb http://be.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
    deb-src http://be.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
    deb http://security.ubuntu.com/ubuntu trusty-security main restricted
    deb-src http://security.ubuntu.com/ubuntu trusty-security main restricted
    deb http://security.ubuntu.com/ubuntu trusty-security universe
    deb-src http://security.ubuntu.com/ubuntu trusty-security universe
    deb http://security.ubuntu.com/ubuntu trusty-security multiverse
    deb-src http://security.ubuntu.com/ubuntu trusty-security multiverse

    Omdat hier regelmatig wijzigingen worden doorgevoerd, is het noodzakelijk om regelmatig je lokale sources.list te updaten. Daat doe je met het commando:
    $ sudo apt-get update
     

  3. dependencies

    dependencies zijn programma-pakketten die door een ander pakket (dikwijls meerdere andere pakketten) worden gebruikt. Vaak gaat het om libraries of utilities.
    Bij de installaite van de apache web-server merken we op deze ubuntu server 7 dependencies:
     
    $ sudo apt-get install apache2
     
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
     
    The following extra packages will be installed:
    apache2-bin apache2-data libapr1 libaprutil1 libaprutil1-dbd-sqlite3
    libaprutil1-ldap ssl-cert
     
    Suggested packages:
    apache2-doc apache2-suexec-pristine apache2-suexec-custom apache2-utils openssl-blacklist
    The following NEW packages will be installed:
    apache2 apache2-bin apache2-data libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap ssl-cert
     

  4. software beheer voorbeelden

     

    • repositories updaten: apt-get update
      $ sudo apt-get update
       
      [sudo] password for sigurd: 
      Get:1 http://archive.canonical.com/ubuntu xenial InRelease [11,5 kB]
      Hit:2 http://archive.ubuntu.com/ubuntu xenial InRelease                        
      Get:3 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB]     
      Get:4 http://archive.ubuntu.com/ubuntu xenial-updates InRelease [102 kB]       
      Get:5 http://archive.ubuntu.com/ubuntu xenial-backports InRelease [102 kB]     
      Get:6 http://archive.canonical.com/ubuntu xenial/partner amd64 Packages [3.344 B]
      Get:7 http://archive.canonical.com/ubuntu xenial/partner i386 Packages [3.620 B]
      Get:8 http://archive.canonical.com/ubuntu xenial/partner Translation-en [1.964 B]
      Ign:9 http://packages.linuxmint.com serena InRelease                    
      Get:10 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages [257 kB]
      Get:11 http://packages.linuxmint.com serena Release [24,2 kB]                  
      Get:12 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages [527 kB]
      Get:13 http://archive.ubuntu.com/ubuntu xenial-updates/main i386 Packages [513 kB]
      Get:14 http://archive.ubuntu.com/ubuntu xenial-updates/main Translation-en [214 kB]
      Get:15 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages [460 kB]
      Get:16 http://security.ubuntu.com/ubuntu xenial-security/main i386 Packages [245 kB]
      Get:17 http://archive.ubuntu.com/ubuntu xenial-updates/universe i386 Packages [446 kB]
      Get:18 http://archive.ubuntu.com/ubuntu xenial-updates/universe Translation-en [180 kB]
      Get:19 http://security.ubuntu.com/ubuntu xenial-security/main Translation-en [109 kB]
      Get:20 http://security.ubuntu.com/ubuntu xenial-security/universe amd64 Packages [110 kB]
      Get:21 http://packages.linuxmint.com serena Release.gpg [819 B]                
      Get:22 http://security.ubuntu.com/ubuntu xenial-security/universe i386 Packages [97,4 kB]
      Get:23 http://security.ubuntu.com/ubuntu xenial-security/universe Translation-en [56,5 kB]
      Get:24 http://packages.linuxmint.com serena/upstream amd64 Packages [36,2 kB]  
      Get:25 http://packages.linuxmint.com serena/upstream i386 Packages [36,2 kB]
      Get:26 http://packages.linuxmint.com serena/import amd64 Packages [7.331 B]
      Get:27 http://packages.linuxmint.com serena/import i386 Packages [7.346 B]     
      Fetched 3.654 kB in 1s (2.405 kB/s)                       
      Reading package lists... Done

       

    • software installeren: apt-get install
      $ sudo apt-get install mc
       
      Reading package lists... Done
      Building dependency tree       
      Reading state information... Done
      The following additional packages will be installed:
      mc-data
      Suggested packages:
      arj catdvi | texlive-binaries dbview djvulibre-bin gv links | w3m | lynx
      odt2txt python-boto python-tz
      The following NEW packages will be installed:
      mc mc-data
      0 upgraded, 2 newly installed, 0 to remove and 307 not upgraded.
      Need to get 1.664 kB of archives.
      After this operation, 7.009 kB of additional disk space will be used.
      Do you want to continue? [Y/n] y
      Get:1 http://archive.ubuntu.com/ubuntu xenial/universe amd64 mc-data all 3:4.8.15-2 [1.202 kB]
      Get:2 http://archive.ubuntu.com/ubuntu xenial/universe amd64 mc amd64 3:4.8.15-2 [462 kB]
      Fetched 1.664 kB in 0s (5.832 kB/s)
      Selecting previously unselected package mc-data.
      (Reading database ... 223895 files and directories currently installed.)
      Preparing to unpack .../mc-data_3%3a4.8.15-2_all.deb ...
      Unpacking mc-data (3:4.8.15-2) ...
      Selecting previously unselected package mc.
      Preparing to unpack .../mc_3%3a4.8.15-2_amd64.deb ...
      Unpacking mc (3:4.8.15-2) ...
      Processing triggers for doc-base (0.10.7) ...
      Processing 1 added doc-base file...
      Registering documents with scrollkeeper...
      Processing triggers for hicolor-icon-theme (0.15-0ubuntu1) ...
      Processing triggers for man-db (2.7.5-1) ...
      Processing triggers for desktop-file-utils (0.22-1ubuntu5) ...
      Processing triggers for mime-support (3.59ubuntu1) ...
      Setting up mc-data (3:4.8.15-2) ...
      Setting up mc (3:4.8.15-2) ...
      update-alternatives: using /usr/bin/mcview to provide /usr/bin/view (view) in auto mode

       

    • software verwijderen: apt-get remove
      $ sudo apt-get remove mc
       
      Reading package lists... Done
      Building dependency tree       
      Reading state information... Done
      The following package was automatically installed and is no longer required:
      mc-data
      Use 'sudo apt autoremove' to remove it.
      The following packages will be REMOVED:
      mc
      0 upgraded, 0 newly installed, 1 to remove and 307 not upgraded.
      After this operation, 1.464 kB disk space will be freed.
      Do you want to continue? [Y/n] y
      (Reading database ... 224254 files and directories currently installed.)
      Removing mc (3:4.8.15-2) ...
      update-alternatives: using /usr/bin/vim.tiny to provide /usr/bin/view (view) in auto mode
      Processing triggers for desktop-file-utils (0.22-1ubuntu5) ...
      Processing triggers for mime-support (3.59ubuntu1) ...

       

    • nutteloze software dependencies verwijderen: apt-get autoremove
      $ sudo apt-get auto-remove
       
      Reading package lists... Done
      Building dependency tree       
      Reading state information... Done
      The following packages will be REMOVED:
      mc-data
      0 upgraded, 0 newly installed, 1 to remove and 307 not upgraded.
      After this operation, 5.545 kB disk space will be freed.
      Do you want to continue? [Y/n] y
      (Reading database ... 224166 files and directories currently installed.)
      Removing mc-data (3:4.8.15-2) ...
      Processing triggers for man-db (2.7.5-1) ...
      Processing triggers for hicolor-icon-theme (0.15-0ubuntu1) ...
      Processing triggers for doc-base (0.10.7) ...
      Processing 1 removed doc-base file...
      Registering documents with scrollkeeper...

       

    • alles inclusief config files verwijderen: apt-get purge
      $ sudo apt-get purge mc
       
      Reading package lists... Done
      Building dependency tree       
      Reading state information... Done
      The following packages will be REMOVED:
      mc*
      0 upgraded, 0 newly installed, 1 to remove and 307 not upgraded.
      After this operation, 0 B of additional disk space will be used.
      Do you want to continue? [Y/n] y
      (Reading database ... 223905 files and directories currently installed.)
      Removing mc (3:4.8.15-2) ...
      Purging configuration files for mc (3:4.8.15-2) ...

       

    • software opnieuw configureren: dpkg-reconfigure
      $ sudo dpkg-reconfigure mysql-server-5.7
       
      Checking if update is needed.
      Checking server version.
      Running queries to upgrade MySQL server.
      Checking system database.
      mysql.columns_priv                                 OK
      mysql.db                                           OK
      mysql.engine_cost                                  OK
      mysql.event                                        OK
      mysql.func                                         OK
      mysql.general_log                                  OK
      mysql.gtid_executed                                OK
      mysql.help_category                                OK
      mysql.help_keyword                                 OK
      mysql.help_relation                                OK
      mysql.help_topic                                   OK
      mysql.innodb_index_stats                           OK
      mysql.innodb_table_stats                           OK
      mysql.ndb_binlog_index                             OK
      mysql.plugin                                       OK
      mysql.proc                                         OK
      mysql.procs_priv                                   OK
      mysql.proxies_priv                                 OK
      mysql.server_cost                                  OK
      mysql.servers                                      OK
      mysql.slave_master_info                            OK
      mysql.slave_relay_log_info                         OK
      mysql.slave_worker_info                            OK
      mysql.slow_log                                     OK
      mysql.tables_priv                                  OK
      mysql.time_zone                                    OK
      mysql.time_zone_leap_second                        OK
      mysql.time_zone_name                               OK
      mysql.time_zone_transition                         OK
      mysql.time_zone_transition_type                    OK
      mysql.user                                         OK
      The sys schema is already up to date (version 1.5.1).
      Checking databases.
      sys.sys_config                                     OK
      Upgrade process completed successfully.
      Checking if update is needed.

       

    • grote problemen oplossen: apt-get -f install
      zie punt 5 case: googleearth, hieronder, laatste actie ...
       
    • software zoeken: aptitude search
      $ aptitude search googleearth
       
      p   googleearth-package             - utility to automatically build a Debian pa
      p   libgeo-googleearth-pluggable-pe - module to generate GoogleEarth Documents 

       

    • geinstalleerde software op scherm brengen met less: dpkg -l | less
      Desired=Unknown/Install/Remove/Purge/Hold
      | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
      |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
      ||/ Name                                        Version                                    Architecture Description
      +++-=======================================================================
      ii  accountsservice                             0.6.40-2ubuntu11.3                         amd64        query and manipulate user account information
      ii  acl                                         2.2.52-3                                   amd64        Access control list utilities
      ii  acpi-support                                0.142                                      amd64        scripts for handling many ACPI events
      ...
      :

       

    • geinstalleerde software filteren met grep: dpkg -l | grep <zoekstring>
      $ dpkg -l | grep firefox
       
      ii  firefox                                     50.0.2+linuxmint1+serena                   amd64        Safe and easy web browser from Mozilla
      ii  firefox-locale-en                           50.0.2+linuxmint1+serena                   amd64        English language pack for Firefox

       

    • van een pakket de geinstalleerde files op scherm brengen: dpkg -L
      $ dpkg -L ddate
       
      /.
      /usr
      /usr/bin
      /usr/bin/ddate
      /usr/share
      /usr/share/man
      /usr/share/man/man1
      /usr/share/man/man1/ddate.1.gz
      /usr/share/lintian
      /usr/share/lintian/overrides
      /usr/share/lintian/overrides/ddate
      /usr/share/doc
      /usr/share/doc/ddate
      /usr/share/doc/ddate/copyright
      /usr/share/doc/ddate/changelog.Debian.gz
      /usr/share/doc/ddate/README.org.gz

       

    • één pakket updaten: apt-get install
      $ sudo apt-get install firefox
       
      Reading package lists... Done
      Building dependency tree       
      Reading state information... Done
      Suggested packages:
      fonts-lyx
      Recommended packages:
      xul-ext-ubufox
      The following packages will be upgraded:
      firefox
      1 upgraded, 0 newly installed, 0 to remove and 306 not upgraded.
      Need to get 46,5 MB of archives.
      After this operation, 1.525 kB disk space will be freed.
      Get:1 http://packages.linuxmint.com serena/upstream amd64 firefox amd64 53.0+linuxmint1+serena [46,5 MB]
      Fetched 46,5 MB in 4s (10,2 MB/s)   
      (Reading database ... 224660 files and directories currently installed.)
      Preparing to unpack .../firefox_53.0+linuxmint1+serena_amd64.deb ...
      Unpacking firefox (53.0+linuxmint1+serena) over (50.0.2+linuxmint1+serena) ...
      Processing triggers for desktop-file-utils (0.22-1ubuntu5) ...
      Processing triggers for mime-support (3.59ubuntu1) ...
      Processing triggers for man-db (2.7.5-1) ...
      Processing triggers for mintsystem (8.3.0) ...
      Setting up firefox (53.0+linuxmint1+serena) ...
      Installing new version of config file /etc/apparmor.d/usr.bin.firefox ...
      Please restart all running instances of firefox, or you will experience problems.

       

    • alle pakketten op je machine updaten: apt-get upgrade
      (first do apt-get update to sync your repo's)
      $ sudo apt-get upgrade
       
      Reading package lists... Done
      Building dependency tree       
      Reading state information... Done
      Calculating upgrade... Done
      The following packages will be upgraded:
      apt apt-transport-https apt-utils bind9-host bsdutils chromium-codecs-ffmpeg-extra cifs-utils console-setup
      console-setup-linux dbus dbus-x11 desktop-file-utils distro-info-data dnsmasq-base dnsutils dpkg dpkg-dev
      eject firefox-locale-en fonts-opensymbol gdebi gdebi-core ghostscript ghostscript-x
      gir1.2-appindicator3-0.1 gir1.2-gst-plugins-base-0.10 gir1.2-gst-plugins-base-1.0 gir1.2-gstreamer-1.0
      gir1.2-gtk-3.0 gir1.2-networkmanager-1.0 grub-common grub-pc grub-pc-bin grub2-common gstreamer0.10-alsa
      gstreamer0.10-gconf gstreamer0.10-gnomevfs gstreamer0.10-plugins-base:i386 gstreamer0.10-plugins-base
      gstreamer0.10-plugins-base-apps gstreamer0.10-plugins-good:i386 gstreamer0.10-plugins-good
      gstreamer0.10-pulseaudio gstreamer0.10-x gstreamer0.10-x:i386 gstreamer1.0-alsa gstreamer1.0-plugins-base
      gstreamer1.0-plugins-base-apps gstreamer1.0-plugins-good gstreamer1.0-pulseaudio gstreamer1.0-tools
      gstreamer1.0-x ifupdown iio-sensor-proxy im-config imagemagick imagemagick-6.q16 imagemagick-common
      indicator-application init init-system-helpers initramfs-tools initramfs-tools-bin initramfs-tools-core
      isc-dhcp-client isc-dhcp-common keyboard-configuration klibc-utils kpartx kpartx-boot krb5-locales
      libapparmor1 libappindicator0.1-cil libappindicator1 libappindicator3-1 libapt-inst2.0 libapt-pkg5.0
      libarchive13 libaudiofile1:i386 libbind9-140 libblkid1 libc-bin libc-dev-bin libc6 libc6:i386 libc6-dbg
      libc6-dev libdbus-1-3 libdbus-1-3:i386 libdns-export162 libdns162 libdpkg-perl libdrm-amdgpu1
      libdrm-amdgpu1:i386 libdrm-intel1 libdrm-intel1:i386 libdrm-nouveau2 libdrm-nouveau2:i386 libdrm-radeon1
      libdrm-radeon1:i386 libdrm2 libdrm2:i386 libegl1-mesa libegl1-mesa-drivers libevent-2.0-5 libexiv2-14
      libfdisk1 libfreetype6:i386 libfreetype6 libgail-3-0 libgbm1 libgc1c2 libgd3 libgd3:i386
      libgl1-mesa-dri:i386 libgl1-mesa-dri libgl1-mesa-glx:i386 libgl1-mesa-glx libglapi-mesa:i386 libglapi-mesa
      libgles1-mesa libgles2-mesa libglib2.0-0 libglib2.0-0:i386 libglib2.0-bin libglib2.0-data
      libgnutls-openssl27 libgnutls30 libgnutls30:i386 libgs9 libgs9-common libgssapi-krb5-2
      libgssapi-krb5-2:i386 libgstreamer-plugins-base0.10-0 libgstreamer-plugins-base0.10-0:i386
      libgstreamer-plugins-base1.0-0 libgstreamer-plugins-base1.0-0:i386 libgstreamer-plugins-good1.0-0
      libgstreamer1.0-0 libgstreamer1.0-0:i386 libgtk-3-0 libgtk-3-bin libgtk-3-common libhogweed4
      libhogweed4:i386 libicu55 libicu55:i386 libisc-export160 libisc160 libisccc140 libisccfg140
      libjavascriptcoregtk-4.0-18 libk5crypto3 libk5crypto3:i386 libklibc libkrb5-3 libkrb5-3:i386
      libkrb5support0 libkrb5support0:i386 liblwres141 libmagickcore-6.q16-2 libmagickwand-6.q16-2
      libmetacity-private3a libmount1 libnettle6 libnettle6:i386 libnm-glib-vpn1 libnm-glib4 libnm-gtk-common
      libnm-gtk0 libnm-util2 libnm0 libnma-common libnma0 libnspr4:i386 libnspr4 libnss3:i386 libnss3 libnss3-1d
      libnss3-nssdb libpam-systemd libpci3 libpcsclite1 libpulse-mainloop-glib0:i386 libpulse-mainloop-glib0
      libpulse0 libpulse0:i386 libpulsedsp:i386 libpulsedsp libpurple-bin libpurple0
      libreoffice-avmedia-backend-gstreamer libreoffice-base libreoffice-base-core libreoffice-base-drivers
      libreoffice-calc libreoffice-common libreoffice-core libreoffice-draw libreoffice-gnome libreoffice-gtk
      libreoffice-impress libreoffice-java-common libreoffice-math libreoffice-ogltrans libreoffice-pdfimport
      libreoffice-sdbc-firebird libreoffice-sdbc-hsqldb libreoffice-writer libsane:i386 libsane libsane-common
      libservlet3.1-java libsmartcols1 libsmbclient libssl1.0.0:i386 libssl1.0.0 libsystemd0 libsystemd0:i386
      libtiff5 libtiff5:i386 libudev1 libudev1:i386 libuuid1 libuuid1:i386 libwayland-egl1-mesa libwbclient0
      libwebkit2gtk-4.0-37 libxatracker2 libxml2:i386 libxml2 libxpm4 libxpm4:i386 libxslt1.1:i386 libxslt1.1
      linux-firmware linux-libc-dev locales login makedev mdm metacity metacity-common mint-upgrade-info
      mint-y-theme mintbackup mintdesktop mintlocale mintsources mintupdate mintupload mount multiarch-support
      nano ndiswrapper ndiswrapper-dkms ndiswrapper-utils-1.9 network-manager network-manager-gnome
      network-manager-openvpn network-manager-openvpn-gnome ntfs-3g ntp ntpdate openjdk-8-jre
      openjdk-8-jre-headless openssl os-prober passwd pciutils pidgin pidgin-data pulseaudio
      pulseaudio-module-bluetooth pulseaudio-module-x11 pulseaudio-utils python-crypto python-imaging
      python-libxml2 python-pil python3-crypto python3-pil python3-uno resolvconf samba-common samba-libs
      sane-utils smbclient sni-qt sudo systemd systemd-sysv tcpdump thermald udev uno-libs3 ure util-linux
      uuid-runtime virtualbox-guest-dkms virtualbox-guest-utils virtualbox-guest-x11 wget xdg-utils
      xserver-xorg-video-amdgpu xsltproc
      306 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
      Need to get 289 MB of archives.
      After this operation, 5.901 kB of additional disk space will be used.
      Do you want to continue? [Y/n] 

       

    • je pakketten en je kernel updaten: apt-get dist-upgrade
      (first do apt-get update to sync your repo's)
      $ sudo apt-get dist-upgrade
       
      Reading package lists... Done
      Building dependency tree       
      Reading state information... Done
      Calculating upgrade... Done
      The following packages were automatically installed and are no longer required:
      linux-headers-3.19.0-71 linux-headers-3.19.0-71-generic
      linux-image-3.19.0-71-generic linux-image-extra-3.19.0-71-generic
      Use 'apt-get autoremove' to remove them.
      The following NEW packages will be installed:
      linux-headers-3.19.0-80 linux-headers-3.19.0-80-generic
      linux-headers-4.4.0-75 linux-headers-4.4.0-75-generic
      linux-image-3.19.0-80-generic linux-image-4.4.0-75-generic
      linux-image-extra-3.19.0-80-generic linux-image-extra-4.4.0-75-generic
      The following packages will be upgraded:
      linux-generic-lts-vivid linux-generic-lts-xenial
      linux-headers-generic-lts-vivid linux-headers-generic-lts-xenial
      linux-image-generic-lts-vivid linux-image-generic-lts-xenial
      6 upgraded, 8 newly installed, 0 to remove and 0 not upgraded.
      Need to get 132 MB of archives.
      After this operation, 590 MB of additional disk space will be used.

       

  5. case: google earth -- mint18.1 (ubu16.04.2)

     

    • wat installeren: aptitude search
      $ aptitude search earth
       
      p   googleearth-package             - utility to automatically build a Debian package
      p   libgeo-googleearth-pluggable-pe - module to generate GoogleEarth Documents  
      p   libosgearth-dev                 - osgEarth development files                
      p   libosgearth-dev:i386            - osgEarth development files                
      p   libosgearth3                    - Dynamic 3D terrain rendering toolkit for O
      p   libosgearth3:i386               - Dynamic 3D terrain rendering toolkit for O
      p   libosgearthannotation3          - Dynamic 3D terrain rendering toolkit for O
      p   libosgearthannotation3:i386     - Dynamic 3D terrain rendering toolkit for O
      p   libosgearthfeatures3            - Dynamic 3D terrain rendering toolkit for O
      p   libosgearthfeatures3:i386       - Dynamic 3D terrain rendering toolkit for O
      p   libosgearthqt3                  - Dynamic 3D terrain rendering toolkit for O
      p   libosgearthqt3:i386             - Dynamic 3D terrain rendering toolkit for O
      p   libosgearthsymbology3           - Dynamic 3D terrain rendering toolkit for O
      p   libosgearthsymbology3:i386      - Dynamic 3D terrain rendering toolkit for O
      p   libosgearthutil3                - Dynamic 3D terrain rendering toolkit for O
      p   libosgearthutil3:i386           - Dynamic 3D terrain rendering toolkit for O
      p   openscenegraph-plugin-osgearth  - OpenSceneGraph plugins for osgEarth       
      p   openscenegraph-plugin-osgearth: - OpenSceneGraph plugins for osgEarth       
      p   osgearth                        - Dynamic 3D terrain rendering toolkit for O
      p   osgearth:i386                   - Dynamic 3D terrain rendering toolkit for O
      p   osgearth-data                   - Dynamic 3D terrain rendering toolkit for O

      de eerste hit, googleearth-package lijkt een goeie start ...
       

    • install googleearth-package apt-get install
      $ sudo apt-get install googleearth-package
       
      Reading package lists... Done
      Building dependency tree       
      Reading state information... Done
      Recommended packages:
      libldap-2.4-2:i386 libdb5.3:i386 libgnutls26:i386 libsasl2-2:i386
      libsasl2-modules-db:i386
      The following NEW packages will be installed:
      googleearth-package
      0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
      Need to get 10,1 kB of archives.
      After this operation, 61,4 kB of additional disk space will be used.
      Get:1 http://archive.ubuntu.com/ubuntu xenial/multiverse amd64 googleearth-package all 1.2.2 [10,1 kB]
      Fetched 10,1 kB in 0s (153 kB/s)         
      Selecting previously unselected package googleearth-package.
      (Reading database ... 224651 files and directories currently installed.)
      Preparing to unpack .../googleearth-package_1.2.2_all.deb ...
      Unpacking googleearth-package (1.2.2) ...
      Processing triggers for man-db (2.7.5-1) ...
      Setting up googleearth-package (1.2.2) ...

       

    • wat nu -- geen pictogram dpkg -L
      We vinden inderdaad niets terug op de desktop noch in het menu; we onderzoek even of er executables in googleearth-package zitten:
      $ dpkg -L googleearth-package 
       
      /.
      /usr
      /usr/share
      /usr/share/man
      /usr/share/man/man1
      /usr/share/man/man1/make-googleearth-package.1.gz
      /usr/share/doc
      /usr/share/doc/googleearth-package
      /usr/share/doc/googleearth-package/README.Debian
      /usr/share/doc/googleearth-package/copyright
      /usr/share/doc/googleearth-package/changelog.gz
      /usr/bin
      /usr/bin/make-googleearth-package

      De laatste regel bevat de enige binary ... het proberen waard ...
       

    • uitvoeren van make-googleearth-package

      $ make-googleearth-package
       
      cat: /etc/mailname: No such file or directory
      --2017-05-09 08:51:10--  http://dl.google.com/earth/client/current/GoogleEarthLinux.bin
      Resolving dl.google.com (dl.google.com)... 172.217.20.110, 172.217.20.110, 2a00:1450:400e:80b::200e
      Connecting to dl.google.com (dl.google.com)|172.217.20.110|:80... connected.
      HTTP request sent, awaiting response... 200 OK
      Length: 33688483 (32M) [application/octet-stream]
      Saving to: ‘GoogleEarthLinux.bin’
       
      GoogleEarthLinux.bi 100%[===================>]  32,13M  21,5MB/s    in 1,5s    
       
      2017-05-09 08:51:12 (21,5 MB/s) - ‘GoogleEarthLinux.bin’ saved [33688483/33688483]
       
      Google Earth for GNU/Linux 6.0.3.2197
      Supported Google Earth version: 6.0.3.2197
      ./
      ./googleearth.xpm
      ./desktop_icons/
      ./desktop_icons/pro/
      ./desktop_icons/pro/product_logo_128.png
      ...
      ./desktop_icons/consumer/product_logo_32.png
      ./setup.sh
      ./googleearth-linux-x86.tar
      ./setup.data/
      ./setup.data/locale/
      ...
      ./setup.data/locale/de/LC_MESSAGES/loki-uninstall.mo
      ...
      ./setup.data/bin/FreeBSD
      ./README.linux
      ./googleearth-icon.png
      ...
      ./googleearth-data.tar
      ./postinstall.sh
      ./bin/
      ./bin/googleearth
      ./preuninstall.sh
      Package: googleearth
       
      Version: 6.0.3.2197+1.2.0-1
      Section: non-free/science
      Priority: optional
      Maintainer:  <bert@mint18-00>
      Architecture: amd64
      Depends: fonts-liberation, libfreeimage3, lsb-core, libqtcore4, libgl1-mesa-glx, libglu1-mesa , libcurl3:i386, libsm6:i386, libfontconfig1:i386, libxt6:i386, libxrender1:i386, libxext6:i386, libgl1-mesa-glx:i386, libgl1-mesa-dri:i386
      Suggests: lib32nss-mdns|libnss-mdns:i386, libgl1-nvidia-glx:i386, libgl1-fglrx-glx:i386
      Description: Google Earth, a 3D map/planet viewer
      Package built with googleearth-package.
      dpkg-deb: building package 'googleearth' in './googleearth_6.0.3.2197+1.2.0-1_amd64.deb'.
      -----------------------------
      Success!
      You can now install the package with e.g:
       
      sudo dpkg -i googleearth_6.0.3.2197+1.2.0-1_amd64.deb
      -----------------------------

      Enkele opmerkingen:

      • make-googleearth-package gebeurt als gewone gebruiker
      • we krijgen een heleboel dependencies te zien
      • Op de laatste regel toont googleearth-package wat we vervolgens moeten doen ...
         
    • software installeren met dpkg -i
       
      $ sudo dpkg -i googleearth_6.0.3.2197+1.2.0-1_amd64.deb
       
      Selecting previously unselected package googleearth.
      (Reading database ... 224657 files and directories currently installed.)
      Preparing to unpack googleearth_6.0.3.2197+1.2.0-1_amd64.deb ...
      Unpacking googleearth (6.0.3.2197+1.2.0-1) ...
      dpkg: dependency problems prevent configuration of googleearth:
      googleearth depends on libfreeimage3; however:
      Package libfreeimage3 is not installed.
      googleearth depends on lsb-core; however:
      Package lsb-core is not installed.
      googleearth depends on libcurl3:i386; however:
       
      dpkg: error processing package googleearth (--install):
      dependency problems - leaving unconfigured
      Processing triggers for shared-mime-info (1.5-2ubuntu0.1) ...
      Processing triggers for desktop-file-utils (0.22-1ubuntu5.1) ...
      Processing triggers for mime-support (3.59ubuntu1) ...
      Errors were encountered while processing:
      googleearth

      Maar dit liep fout af ... dependency problems - leaving unconfigured en Errors were encountered while processing: googleearth
       

    • problemen oplossen met apt-get -f install
       
      $ sudo apt-get -f install
       
      Reading package lists... Done
      Building dependency tree       
      Reading state information... Done
      Correcting dependencies... Done
       
      The following additional packages will be installed:
      alien at debhelper debugedit dh-autoreconf dh-strip-nondeterminism   libasn1-8-heimdal:i386 libcurl3:i386 libdb5.3:i386   libfile-stripnondeterminism-perl libfreeimage3 libgssapi3-heimdal:i386   libhcrypto4-heimdal:i386 libheimbase1-heimdal:i386 libheimntlm0-heimdal:i386   libhx509-5-heimdal:i386 libjxr0 libkrb5-26-heimdal:i386 libldap-2.4-2:i386   libopenjp2-7 libroken18-heimdal:i386 librpmbuild3 librpmsign3 librtmp1:i386   libsasl2-2:i386 libsasl2-modules-db:i386 libwind0-heimdal:i386 lsb-core   lsb-invalid-mta lsb-security ncurses-term pax po-debconf rpm s-nail 
       
      Suggested packages:
      dh-make rpm-i18n lsb libmail-box-perl elfutils rpmlint rpm2html 
       
      Recommended packages:
      libmail-sendmail-perl
       
      The following NEW packages will be installed:
      alien at debhelper debugedit dh-autoreconf dh-strip-nondeterminism   libasn1-8-heimdal:i386 libcurl3:i386 libdb5.3:i386   libfile-stripnondeterminism-perl libfreeimage3 libgssapi3-heimdal:i386   libhcrypto4-heimdal:i386 libheimbase1-heimdal:i386 libheimntlm0-heimdal:i386   libhx509-5-heimdal:i386 libjxr0 libkrb5-26-heimdal:i386 libldap-2.4-2:i386   libopenjp2-7 libroken18-heimdal:i386 librpmbuild3 librpmsign3 librtmp1:i386   libsasl2-2:i386 libsasl2-modules-db:i386 libwind0-heimdal:i386 lsb-core   lsb-invalid-mta lsb-security ncurses-term pax po-debconf rpm s-nail
      0 upgraded, 35 newly installed, 0 to remove and 1 not upgraded.
       
      1 not fully installed or removed.
       
      Need to get 4.627 kB of archives.
      After this operation, 16,2 MB of additional disk space will be used.
      Do you want to continue? [Y/n] y
       
      Get:1 http://archive.ubuntu.com/ubuntu xenial/universe amd64 libjxr0 amd64 1.1-6 [158 kB]
      Get:2 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libopenjp2-7 amd64 2.1.0-2.1ubuntu0.1 [103 kB]
      ...
      Get:34 http://archive.ubuntu.com/ubuntu xenial/main i386 librtmp1 i386 2.4+20151223.gitfa8646d-1build1 [58,0 kB]
      Get:35 http://archive.ubuntu.com/ubuntu xenial-updates/main i386 libcurl3 i386 7.47.0-1ubuntu2.2 [208 kB]
      Fetched 4.627 kB in 0s (9.647 kB/s) 
      Extracting templates from packages: 100%
      Selecting previously unselected package libjxr0:amd64.
      (Reading database ... 225490 files and directories currently installed.)
      Preparing to unpack .../libjxr0_1.1-6_amd64.deb ...
      Unpacking libjxr0:amd64 (1.1-6) ...
      ...
      Selecting previously unselected package libcurl3:i386.
      Preparing to unpack .../libcurl3_7.47.0-1ubuntu2.2_i386.deb ...
      Unpacking libcurl3:i386 (7.47.0-1ubuntu2.2) ...
      Processing triggers for libc-bin (2.23-0ubuntu7) ...
      Processing triggers for man-db (2.7.5-1) ...
      Processing triggers for systemd (229-4ubuntu17) ...
      Processing triggers for ureadahead (0.100.0-19) ...
      Processing triggers for doc-base (0.10.7) ...
      Processing 1 added doc-base file...
      Registering documents with scrollkeeper...
      Setting up libjxr0:amd64 (1.1-6) ...
      Setting up libopenjp2-7:amd64 (2.1.0-2.1ubuntu0.1) ...
      Setting up libfreeimage3:amd64 (3.17.0+ds1-2) ...
      Setting up lsb-invalid-mta (9.20160110ubuntu0.2) ...
      Setting up at (3.1.18-2ubuntu1) ...
      ...
      Setting up debhelper (10.2.2ubuntu1~ubuntu16.04.1) ...
      Setting up alien (8.95) ...
      Setting up lsb-core (9.20160110ubuntu0.2) ...
       
      Setting up googleearth (6.0.3.2197+1.2.0-1) ...
       
      Setting up dh-autoreconf (12~ubuntu16.04.1) ...
      Processing triggers for libc-bin (2.23-0ubuntu7) ...
      Processing triggers for systemd (229-4ubuntu17) ...
      Processing triggers for ureadahead (0.100.0-19) ...

      ... en we hebben nu een pictogram in mate-menu van linux mint
      ... en als we er op klikken werkt google-earth