Debian - mwicat/personal GitHub Wiki

Wheezy repos

deb http://archive.debian.org/debian/ wheezy main contrib non-free

Backup system

rsync --progress -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} yourhost:/ yourbackup

Upgrade

apt-get update
apt-get upgrade
cp -a /etc/apt /var/backups/apt-wheezy
cd /etc/apt
find -type f -print0 | xargs -0 sed -i 's/wheezy/jessie/g'
apt-get update
apt-get -V upgrade
apt-get dist-upgrade
  • jessie(8) to stretch(9)
apt-get update
apt-get upgrade
cp -a /etc/apt /var/backups/apt-jessie
cd /etc/apt
find -type f -print0 | xargs -0 sed -i 's/jessie/stretch/g'
apt-get update
apt-get -V upgrade
apt-get dist-upgrade

Fix GPG key errors

gpg --keyserver keyserver.ubuntu.com --recv-key YOURKEY
gpg -a --export YOURKEY | apt-key add -

List running services

service --status-all

List autostart services

sudo apt-get install rcconf
rcconf

Enable service (with runlevels declared in initscript)

sudo update-rc.d YOURSERVICE defaults

Disable service

sudo update-rc.d YOURSERVICE disable

Runlevel editor

sudo apt-get install sysv-rc-config rcconf

GUI

sudo apt-get install sysv-rc-conf rcconf

easy:

sudo rcconf

detailed:

sudo sysv-rc-conf

Reset apt

apt-get clean
rm -rf /var/lib/apt/lists/*

Show installation candidates

apt-cache policy package

apt-get install -t repo package

Cross compiling for 64-bit

libc6-amd64 - Standard library for 64-bit

lib64stdc++6 lib64gcc1

These are for compilers

gcc-multilib g++-multilib

Further libraries

-m64 - compiler option —host=x86_64-pc-linux-gnu - configure option -L /usr/lib64 - here are libraries for 64-bit

Extract DEB

ar vx filename.deb

List of installed packages

awk '$3 == "install" { print $4}' < dpkg.log > packages.lst

Proxy for apt

sudo apt-get install apt-cacher
ln /var/cache/apt/archives/* /var/cache/apt-cacher/import
/usr/share/apt-cacher/apt-cacher-import.pl

Change apt mirror from: http://ftp.pl.debian.org/debian to: http://YOUR_PROXY:3142/ftp.pl.debian.org/debian

List packages in repo

grep -h ^Package /var/lib/apt/lists/REPO

Sources list

wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - 
wget -q -O - http://www.rabbitmq.com/rabbitmq-signing-key-public.asc | sudo apt-key add -
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 94558F59
wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -
deb http://dl.google.com/linux/chrome/deb/ stable main
deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen
deb http://www.rabbitmq.com/debian/ testing main
deb http://repository.spotify.com stable non-free
deb http://download.virtualbox.org/virtualbox/debian trusty contrib

sudo apt-get install spotify-client google-chrome-stable virtualbox-4.3 rabbitmq-server mongodb keepassx emacs pidgin default-jdk default-jre

Build debian package from source without manifest

sudo apt-get install build-essential fakeroot devscripts debhelper
dch --create -v 0.11.1 --package circus
fakeroot debian/rules binary

Build debian package from manifest (debian/*)

dpkg-buildpackage -us -uc

Create package from files

https://www.digitalocean.com/community/tutorials/how-to-use-fpm-to-easily-create-packages-in-multiple-formats

sudo apt-get update
sudo apt-get install ruby-dev build-essential
sudo gem install fpm

fpm -s dir -t deb -n grafana -v 1.6.1 /var/www/grafana

List package contents

dpkg -c package_file.deb

⚠️ **GitHub.com Fallback** ⚠️