Debian - handbook for apt-get
From Blue-IT.org Wiki
Konsole öffnen, als Administrator anmelden. Open a console (terminal) and login as root.
Also see
Contents
- 1 Navigate
- 2 Locate
- 3 Dselect
- 4 APT
- 4.1 apt-mirror
- 4.2 Configuration
- 4.3 GPG
- 4.4 Updaten / update
- 4.5 Suchen / search
- 4.6 Pakete installieren / install packages
- 4.7 Force dpkg options
- 4.8 Pakete deinstallieren (VOLLSTÄNDIG) / uninstall packages
- 4.9 Distribution auf den neuesten Stand bringen / Distribution update
- 4.10 Schiefgelaufene Installation wiederholen / Redo an installation
- 4.11 Komplettes Desaster korrigieren / Desaster recovery
- 4.12 Get all deb entries in all sources-list (for apt-mirror)
- 4.13 Paketliste erstellen und zurückspielen
Navigieren in Verzeichnissen
Wo bin ich?
pwd
Verzeichnis anzeigen
ls
In Verzeichnis wechseln. (Tip: mit Tabulatortaste vervollständigen)
ls cd Ve (Tabulatortaste drücken) cd Verzeichnisname
Verzeichnis runter
cd ..
Locate
Datei suchen / Search for files
1. Suchdatenbank aktualisieren / actuate search database
updatedb
2. Suchen / search
locate dateiname | grep muster
Beispiel für Dateinamen / Examples for filenames
locate *.rpm | grep synaptic locate *.doc | grep tax locate *.txt
Dselect
Dselect is a tool for dpkg and the debian package mangement. It is handy, if you like to make a list of all installed packages of a machine and replay it on a new machine.
Install it:
sudo apt install dselect
On the old machine, which you want to create the list. No root priviledges required.
NOTE: the list represents the status of the OLD machine. Probably you want to remove files, you don't like on the new machine (old kernels, special versions for the distribution, etc. Just edit the file.
dpkg --get-selections > selections_${HOSTNAME}_$(date +%F}
On another machine, which you want to add this list:
available_package_list=`mktemp` apt-cache dumpavail > "$available_package_list" dpkg --merge-avail "$available_package_list" rm -f "$available_package_list"
The systems database of apt will now be updated via the dpkg selections list you created:
dpkg --set-selections < selections_${HOSTNAME}_$(date +%F}
Upgrade the system via apt-get (apt ist _not_ working here):
apt-get dselect-upgrade
APT
apt-mirror
Apt-mirror will download you own package repository. You can put it on any computer, which will be able to share the mirror directory via apache or any other webserver.
Cleanup all cache an lists, that apt- created as root and recreate them:
rm -rf /var/lib/apt/lists/*; rm -rf /var/cache/apt/* apt-get update
Configuration
apt-get install apache2 apt-mirror
Set the base path:
vim /etc/apt/mirror.list cd /var/www/html ln -s /path-to-apt-mirror apt-mirror
The last line make "apt-mirror" accessible in a link like: http://your_ip_or_host/apt-mirror You have to use exactely this URL in your local apt-mirror sources list !!!
Server preferences list
sudo vim /etc/apt/preferences.d/myAptPrefs
Package: virtualbox-5.2 Pin: version 5.2.* Pin-Priority: 1000 Package: synergy Pin: version 1.4.12* Pin-Priority: 1000
Server mirror list
[Update: 17.11.2019] optimized for Ubuntu Eoan (19.10)
- Use y-ppa-manager (https://launchpad.net/~webupd8team/+archive/ubuntu/y-ppa-manager) to reimport keys!
- for virtualbox import the key like shown at instructions on virtualbox.org
vim /etc/apt/sources.list.d/third-party.list # THIRD PARTY # # Google2Ubuntu # # Docker # https://medium.com/devgorilla/how-to-install-docker-on-ubuntu-18-04-495216a16092 # curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - # deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable edge # Bei Aktualisierung zu eoan deaktiviert # Ubuntu-Make # Official (Bionic only) # deb http://ppa.launchpad.net/ubuntu-desktop/ubuntu-make/ubuntu bionic main # # Inofficial (EOAN) https://launchpad.net/~lyzardking/+archive/ubuntu/ubuntu-make deb http://ppa.launchpad.net/lyzardking/ubuntu-make/ubuntu eoan main # deb-src http://ppa.launchpad.net/lyzardking/ubuntu-make/ubuntu eoan main # Mythbuntu # deb http://ppa.launchpad.net/mythbuntu/0.28/ubuntu zesty main # Bei Aktualisierung zu zesty deaktiviert Bei Aktualisierung zu bionic deaktiviert # Google # deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main # Bei Aktualisierung zu bionic deaktiviert # Gnome Encfs Manager deb http://ppa.launchpad.net/gencfsm/ppa/ubuntu disco main # deb-src http://ppa.launchpad.net/gencfsm/ppa/ubuntu disco main # Libreoffice stable # deb http://ppa.launchpad.net/libreoffice/ppa/ubuntu bionic main # Bei Aktualisierung zu bionic deaktiviert Bei Aktualisierung zu eoan deaktiviert # Multisystem deb http://liveusb.info/multisystem/depot all main # Macbuntu & Mbuntu - Noobslab Themes deb http://ppa.launchpad.net/noobslab/themes/ubuntu artful main deb http://ppa.launchpad.net/noobslab/macbuntu/ubuntu artful main # Y-PPA-Manager deb http://ppa.launchpad.net/webupd8team/y-ppa-manager/ubuntu eoan main # deb-src http://ppa.launchpad.net/webupd8team/y-ppa-manager/ubuntu eoan main # Orbital Apps # wget -qO- https://www.orbital-apps.com/public_key.asc | sudo apt-key add - # deb http://orbital-apps.com/repo/ stable main # Owncloud # deb http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/Ubuntu_18.04/ / # Bei Aktualisierung zu bionic deaktiviert Bei Aktualisierung zu eoan deaktiviert # RabbitVCS # NOW IN OFFICIAL REPO OF 19.10* # sudo apt install rabbitvcs-nautilus rabbitvcs-gedit rabbitvcs-cli rabbitvcs-core # deb http://ppa.launchpad.net/rabbitvcs/ppa/ubuntu xenial main # Handbrake Stable deb http://ppa.launchpad.net/stebbins/handbrake-releases/ubuntu eoan main # deb-src http://ppa.launchpad.net/stebbins/handbrake-releases/ubuntu eoan main # Truecrypt und Indikator deb http://ppa.launchpad.net/stefansundin/truecrypt/ubuntu eoan main # deb-src http://ppa.launchpad.net/stefansundin/truecrypt/ubuntu eoan main # SVN # deb http://ppa.launchpad.net/svn/ppa/ubuntu xenial main # # Tuxboot # deb http://ppa.launchpad.net/thomas.tsai/ubuntu-tuxboot/ubuntu xenial main # # Equinox Theme # deb http://ppa.launchpad.net/tiheum/equinox/ubuntu xenial main # # VirtualBox 5.2 # deb [arch=amd64] https://download.virtualbox.org/virtualbox/debian <mydist> contrib # wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add - deb [arch=amd64] https://download.virtualbox.org/virtualbox/debian disco contrib # # Java WebUpd8 deb http://ppa.launchpad.net/webupd8team/java/ubuntu artful main # # Sublime Text 3 - WebUpd8 deb http://ppa.launchpad.net/webupd8team/sublime-text-3/ubuntu artful main # # Tor Browser Projekt # deb http://ppa.launchpad.net/webupd8team/tor-browser/ubuntu yakkety main # # Y-PPA Manager deb http://ppa.launchpad.net/webupd8team/y-ppa-manager/ubuntu artful main # # X2Go Stable deb http://ppa.launchpad.net/x2go/stable/ubuntu eoan main # Mono Develop from Xamarin official Repo # http://www.mono-project.com/docs/getting-started/install/linux/ # deb http://download.mono-project.com/repo/debian wheezy main # Calibre - actual in xenial # deb http://ppa.launchpad.net/n-muench/calibre2/ubuntui bionic main # Postgres # deb http://apt.postgresql.org/pub/repos/apt zesty-pgdg main # deb http://apt.postgresql.org/pub/repos/apt zesty-pgdg main # XBMC deb http://ppa.launchpad.net/team-xbmc/ppa/ubuntu eoan main # PDF-ocr # deb http://ppa.launchpad.net/gezakovacs/pdfocr/ubuntu xenial main # deb-src http://ppa.launchpad.net/gezakovacs/pdfocr/ubuntu xenial main # Yubico deb http://ppa.launchpad.net/yubico/stable/ubuntu eoan main # deb-src http://ppa.launchpad.net/yubico/stable/ubuntu xenial main # Sound-Switcher-Indicator # http://www.webupd8.org/2014/02/sound-switcher-ubuntu-indicator.html deb http://ppa.launchpad.net/yktooo/ppa/ubuntu eoan main # deb-src http://ppa.launchpad.net/yktooo/ppa/ubuntu zesty main # Darktable # https://launchpad.net/~pmjdebruijn/+archive/ubuntu/darktable-release?field.series_filter=bionic deb http://ppa.launchpad.net/pmjdebruijn/darktable-release/ubuntu disco main # deb-src http://ppa.launchpad.net/pmjdebruijn/darktable-release/ubuntu bionic main # Brightnesscontroller deb http://ppa.launchpad.net/apandada1/brightness-controller/ubuntu bionic main # deb-src http://ppa.launchpad.net/apandada1/brightness-controller/ubuntu bionic main # Dropbox deb [arch=i386,amd64] http://linux.dropbox.com/ubuntu trusty main # Astro: siril deb http://ppa.launchpad.net/lock042/siril/ubuntu bionic main # deb-src http://ppa.launchpad.net/lock042/siril/ubuntu bionic main # Lyx deb http://ppa.launchpad.net/lyx-devel/release/ubuntu bionic main # deb-src http://ppa.launchpad.net/lyx-devel/release/ubuntu bionic main # Pulseeffects # sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys FE3AE55CF74041EAA3F0AD10D5B19A73A8ECB754 # https://github.com/wwmm/pulseeffects/wiki/Package-Repositories deb http://ppa.launchpad.net/mikhailnov/pulseeffects/ubuntu bionic main # deb-src http://ppa.launchpad.net/mikhailnov/pulseeffects/ubuntu bionic main # Gphoto deb http://ppa.launchpad.net/mutlaqja/libgphoto2/ubuntu eoan main # deb-src http://ppa.launchpad.net/mutlaqja/libgphoto2/ubuntu bionic main # Kstars und INDI deb http://ppa.launchpad.net/mutlaqja/ppa/ubuntu eoan main # deb-src http://ppa.launchpad.net/mutlaqja/ppa/ubuntu artful main # Nextcloud deb http://ppa.launchpad.net/nextcloud-devs/client/ubuntu eoan main # deb-src http://ppa.launchpad.net/nextcloud-devs/client/ubuntu bionic main # This file makes sure that Opera Browser is kept up-to-date # as part of regular system upgrades # Opera deb http://deb.opera.com/opera/ stable non-free #Opera Browser (final releases) # The line above will make sure you get all final public releases. # Uncomment the following line if you want to get alpha and beta # releases, too. # deb http://deb.opera.com/opera-beta/ stable non-free #Opera Browser (beta releases) # Gimp deb http://ppa.launchpad.net/otto-kesselgulasch/gimp/ubuntu eoan main # deb-src http://ppa.launchpad.net/otto-kesselgulasch/gimp/ubuntu bionic main # Skype - skypeforlinux # curl https://repo.skype.com/data/SKYPE-GPG-KEY | sudo apt-key add - deb [arch=amd64] https://repo.skype.com/deb stable main ### TeamViewer DEB repository list # Teamviewer ### NOTE: Manual changes to this file ### - prevent it from being updated by TeamViewer package updates ### - will be lost after using the 'teamviewer repo' command ### The original file can be restored with this command: ### cp /opt/teamviewer/tv_bin/script/teamviewer.list /etc/apt/sources.list.d/teamviewer.list ### which has the same effect as 'teamviewer repo default' ### NOTE: It is preferred to use the following commands to edit this file: ### teamviewer repo - show current repository configuration ### teamviewer repo default - restore default configuration ### teamviewer repo disable - disable the repository ### teamviewer repo stable - make all regular TeamViewer packages available (default) ### teamviewer repo preview - additionally, make feature preview packages available ### teamviewer repo development - additionally, make the latest development packages available deb http://linux.teamviewer.com/deb stable main # deb http://linux.teamviewer.com/deb preview main # deb http://linux.teamviewer.com/deb development main # Grub-customizer deb http://ppa.launchpad.net/danielrichter2007/grub-customizer/ubuntu bionic main # deb-src http://ppa.launchpad.net/danielrichter2007/grub-customizer/ubuntu bionic main
Alter the achitecture
To change the mirror list do 'deb-i386'
cat mirror.list | sed 's/^deb/deb-i386/' | sed 's/^#deb/#deb-i386/' > mirror.list.new
Add another architecture (I am using >> here, so manually reorder the mirror list ist necessary):
cat mirror.list | sed 's/^deb-i386/deb-amd64/' | sed 's/^#deb-i386/#deb-amd64/' >> mirror.list.new.amd64
Server clean list
Create a clean list according to the above mirror list:
cat mirror.list | grep -v ^# | grep -v clean | grep -v set | \ grep -v '^$' | cut -d " " -f2 | uniq | awk '{system("echo clean " $0)}' >> mirror.list
Client sources list
Then you can create an apt-mirror-client list from this file. Be aware, the the sed commands
sed 's|^deb-amd64|deb|g' | sed 's|^deb-i386|deb|g' | uniq
will filter out different architectures. If you are not using different architectures, but clean "deb http://..." lines, you don't need thist. On the other hand, if you are using other architecture, like arm, you have to add corresponding sed commands!
cat mirror.list | grep -v ^# | grep -v clean | grep -v set | grep -v '^$' | \ sed 's|^deb-amd64|deb|g' | sed 's|^deb-i386|deb|g' | uniq | \ sed 's|//|//APT_MIRROR_IP_OR_HOST/apt-mirror/|g'
and save it on your client ;-)
Third party ppa list
This way you can create a ppa list, which will substitude all the single source.list.d entries. In my case i use the list, created by the following command as a base for such a list:
cat mirror.list | grep -v clean | grep -v set | grep -v '^$' | \ sed 's/^deb-i386/deb/' | sed 's/^#deb-i386/#deb/' | \ sed 's/^deb-amd64/deb/' | sed 's/^#deb-amd64/#deb/' | uniq
Cleanup all cache an lists, that apt- created as root and recreate them:
rm -rf /var/lib/apt/lists/*; rm -rf /var/cache/apt/* apt-get update
GPG
If you get an error about a missing key, do:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys <###################>
where <###################> is the key which was given in the error.
Otherwise, if you have a keyfile, do:
wget -qO - http://source.url/to/the.key | sudo apt-key add -
Updaten / update
apt-get update
Suchen / search
apt-cache search irgendein_name
Pakete installieren / install packages
apt-get install (--reinstall) irgendein_paket
Force dpkg options
apt-get install -o DPkg::Options::=--force-confold --yes --force-yes --no-install-recommends YOUR_PACKAGE_WONT_INSTALL YOUR_PACKAGE
Pakete deinstallieren (VOLLSTÄNDIG) / uninstall packages
apt-get remove (--purge) irgendein_paket
Distribution auf den neuesten Stand bringen / Distribution update
apt-get upgrade apt-get dist-upgrade
Schiefgelaufene Installation wiederholen / Redo an installation
apt-get -f install
Komplettes Desaster korrigieren / Desaster recovery
dpkg --reconfigure -a
Get all deb entries in all sources-list (for apt-mirror)
find /etc/apt -name "*.list" | grep -v mirror.list | awk '{system("cat " $0 " | grep -v deb-src | egrep ^deb")}'
Paketliste erstellen und zurückspielen
dpkg --get-selections > selections.list
Replay:
dpkg --set-selections < selections.list apt-get dselect-upgrade
Clear the selections cache:
dpkg --clear-selections