TIL what is this offical repository :
Only debian with some useful package to build dependencies (needed when you install some gem for example)
For example ruby:2.3 Dockerfile use a buildpack-deps image
En plus d'être plus court, l'output est plus lisible
apt-cache madison paquet ---> apt list madison --all-versions
apt list --upgradable (nice one)
Deux binaires arping dispos et bien différents (l'un permet les gratuitous reply, l'autre non). Voici les paquets :
Pratique pour avoir un aperçu de l'état de son parc
/usr/bin/apt-get -qq update && /usr/bin/apt-get -q -y --ignore-hold --allow-unauthenticated -s dist-upgrade | grep ^Inst | /usr/bin/cut -d\ -f2 | /usr/bin/sort
(pris dans le script apticron)
Pour avoir une liste avec 3 colonnes : nom du paquet / version actuelle / version dispo
/usr/bin/apt-get -qq update && /usr/bin/apt-get -q -y --ignore-hold --allow-unauthenticated -s dist-upgrade | grep ^Inst | awk '{print $2 " " $3 " " $4}'|sed -r 's/([|]|()//g'
apt-get install debian-goodies && checkrestart
via Doo
Sur une debian wheezy, php va "nettoyer" régulièrement le dossier qui contient les fichiers de sessions grâce à un cron dans /etc/cron.d/
Toutes les 30 minutes il va vérifier qu'aucun fichier n'est plus vieux que le gc_maxlifetime (php.ini) qui par défaut est de 24 minutes.
24 minutes !! Ne vous étonnez pas si vous de restez pas connecté à vos applications même en ayant coché la petite case car avec ce comportement par défaut, si votre session n'est pas accédée dans un délai de 24 minutes, elle sera supprimée par le prochain passage du cron..
apt-get install debhelper devscripts
git clone https://github.com/etsy/statsd.git
cd statsd
dpkg-buildpackage
dpkg -i ../<deb file>
Via sametmax
If you’d like to prevent daemons from starting after installing a package, just toss a few lines into /usr/sbin/policy-rc.d:
cat > /usr/sbin/policy-rc.d < < EOF
echo "All runlevel operations denied by policy" >&2
exit 101
EOF
Pratique :
Installation : apt-get install apt-file && apt-file update
Chercher un fichier dans les packages en utilisant une regex :
apt-file search -x '/dig$'
Lister les fichiers d'un package sans l'installer (équivalent dpkg -L) :
apt-file show dnsutils
Bon à savoir lorsqu'on écrit des fichiers /etc/network/interfaces sous debian.
On peut répéter les block pour faire des alias (qui ne sont pas "supportés" par la commande ip)
Trouver le numero du menuentry par defaut :
grep GRUB_DEFAULT /etc/default/grub
Ensuite, il suffit de lister les menuentry et de compter (le premier est à 0)
grep menuentry /boot/grub/grub.cfg
Outils qui a l'air bien
Pour mieux comprendre le packaging sous debian
Les package php5- contiennent en général une extension en .so et le bout de fichier .ini qui permet de l'activer
Les package php- peuvent contenir d'autre chose comme des binaires ou des fichiers php (librairies)
Parfois les dépots débian ne sont pas suffisament à jour alors on peut passer par des gestionnaires alternatifs :
pecl : pour installer des .so
pear : pour installer des libs php
On peut aussi gérer les dépendance au niveau du projet au lieu de les gérer au niveau du système avec par exemple composer
A mettre au début d'un script qui se trouve dans un des dossiers /etc/cron.xxxx pour qu'il soit éxécuté par un utilisateur autre que root.
USER='some-low-privilege-user'
if [ whoami
!= "$USER" ]; then
sudo -u $USER "$0"
exit
fi
... rest of the script ...
Créer un package pour oracle jre ou jdk pour une installation plus facile/automatisée
crontab -l (pour chaque user) OU ls /var/spool/cron/crontabs/*
cat /etc/crontab
for file in $(ls /etc/cron.d); do echo $file && cat $file; done
for file in $(ls /etc/cron.hourly); do echo $file && cat $file; done
for file in $(ls /etc/cron.daily); do echo $file && cat $file; done
for file in $(ls /etc/cron.weekly); do echo $file && cat $file; done
for file in $(ls /etc/cron.monthly); do echo $file && cat $file; done
wget http://blog.anantshri.info/content/uploads/2010/09/add-apt-repository.sh.txt
mv add-apt-repository.sh.txt /usr/sbin/add-apt-repository
chmod o+x /usr/sbin/add-apt-repository
chown root:root /usr/sbin/add-apt-repository
[09:08:01] root@pc111-11 : /home/arnaud/Téléchargements #cat /usr/sbin/add-apt-repository
if [ $# -eq 1 ]
NM=uname -a && date
NAME=echo $NM | md5sum | cut -f1 -d" "
then
ppa_name=echo "$1" | cut -d":" -f2 -s
if [ -z "$ppa_name" ]
then
echo "PPA name not found"
echo "Utility to add PPA repositories in your debian machine"
echo "$0 ppa:user/ppa-name"
else
echo "$ppa_name"
echo "deb http://ppa.launchpad.net/$ppa_name/ubuntu lucid main" >> /etc/apt/sources.list
apt-get update >> /dev/null 2> /tmp/${NAME}_apt_add_key.txt
key=cat /tmp/${NAME}_apt_add_key.txt | cut -d":" -f6 | cut -d" " -f3
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $key
rm -rf /tmp/${NAME}_apt_add_key.txt
fi
else
echo "Utility to add PPA repositories in your debian machine"
echo "$0 ppa:user/ppa-name"
fi
Pour créer une archive de la forme latest_2013-05-19-04-05-23.tar.gz ou .zip
dotd=date +%F-%H-%M-%S
tar -pczf /tmp/lastbackup/latest$dotd.tar.gz /var/cache/rsnapshot/hourly.0
zip -y -9 -r /tmp/lastbackup/latest$dotd.zip /var/cache/rsnapshot/hourly.0
L'option -y permet de ne pas suivre les liens symboliques (ce qui faisait planter mon backup). A enlever si nécessaire.
nload sur debian pour monitorer en temps réel la bande passante d'un serveur
Pour télécharger des images testing de debian (pas forcément simple de trouver le bon endroit sur le site..)
Ici les wheezy à l'heure actuelle
Quelques shell tricks du wiki debian
Des tutoriaux debian en anglais