397 liens privés
résumé, façon Ace Attorney, des discussions autour de l'init de debian qui auront mené au choix de systemd.
Tous les 'Cases': http://aceattorney.sparklin.org/V6_Test/search.php?search&criteria%5BsequenceId-is%5D=6512_en_Debian%20init%20case
/!\ nécessite flash* /!\
- patchez
Le but est d'éviter les divergences entre le code source et les binaires qui en résultent.
Des variations peuvent apparaître pendant le build, cela peut être lié à :
- au temps
- à l'ordre des fichiers sur le FS
- le user qui fait le build
- le hostname
- le
uname
- la (pseudo)-entropie
- les features cpu
- le load cpu
Tous ces aspects ne devraient pas influer par le process de build, pour faire des paquet totalement reproductibles en terme d'intégrité.
C'est plus une histoire de sécurité qu'autre chose.
Howto: https://wiki.debian.org/ReproducibleBuilds/Howto
Présenté au ccc: http://media.ccc.de/browse/congress/2014/31c3_-_6240_-_en_-_saal_g_-_201412271400_-_reproducible_builds_-_mike_perry_-_seth_schoen_-_hans_steiner.html#video
"""
mkdir debian/source ; echo '3.0 (quilt)' > debian/source/format ; dch 'Switch to dpkg-source 3.0 (quilt) format'
git add .
git commit -m "Switch to dpkg-source 3.0 (quilt) format"
dpkg-source --commit
"""
le fait de passer en version 3.0 du format quilt au lieu de 1.0 m'a permis de construire des paquets avec des fichiers binaires dedans, avec git-buildpackage sans que ça gueule.
origine de la trouvaille: http://askubuntu.com/questions/164621/how-do-i-add-a-binary-file-to-my-existing-ppa-package
"""
Package: systemd
Pin: origin *
Pin-Priority: -100
Package: systemd-sysv
Pin: origin *
Pin-Priority: -100
Package: libpam-systemd
Pin: origin *
Pin-Priority: -100
Package: systemd
Pin: origin
Pin-Priority: -100
"""
pour un serveur ça va.
le problème c'est pour les desktops car les paquets debian des composants desktop ont systemd en dépendance. va comprendre pourquoi... ce n'est pas le cas chez freebsd (qui n'a pas systemd).
alternative (fork): https://devuan.org
via http://www.linuxquestions.org/questions/linux-general-1/systemdont-how-to-avoid-installing-systemd-in-any-distro-4175517146/
je pose ça là.
tout un poème.
"""
This package emulates the systemd function that are required to run the systemd helpers without using the init service
"""
une belle infographie pour comprendre ce qu'est Debian.
la courbe du nombre de développeurs est intéressante..
maintenant espérons que systemd ne pourrissent pas cette belle distribution... ><
c'est beau de rêver.
tiré de http://cfnarede.com.br/node/2
"""
... supplementary proof that we [Debian] have to provide long term support for Debian releases if we want to stay relevant in big deployments
...
But the task is daunting and it’s difficult to find volunteers to do the job. That’s why I believe that our best answer is to get companies to contribute financially to Debian LTS [http://www.freexian.com/services/debian-lts.html].
"""
ce howto m'a permis de construire mon premier paquet debian from scratch: https://github.com/IsCoolEntertainment/debpkg_jolokia
Documentation pour mettre en place des tests DEP-8 dans les packages.
Ces tests sont exécutés par autopkgtest.
Debian a mis en place une intégration continue (http://ci.debian.net/) qui tirera partie de ces tests.
son image debian pour cubox-i: http://people.debian.org/~gwolf/
via http://web.dodds.net/~vorlon/wiki/blog/My_CuBox-i_has_arrived/
- chronic: runs a command quietly unless it fails
- combine: combine the lines in two files using boolean operations
- errno: look up errno names and descriptions
- ifdata: get network interface info without parsing ifconfig output
- ifne: run a program if the standard input is not empty
- isutf8: check if a file or standard input is utf-8
- lckdo: execute a program with a lock held
- mispipe: pipe two commands, returning the exit status of the first
- parallel: run multiple jobs at once
- pee: tee standard input to pipes
- sponge: soak up standard input and write to a file
- ts: timestamp standard input
- vidir: edit a directory in your text editor
- vipe: insert a text editor into a pipe
- zrun: automatically uncompress arguments to command
chronic est pratique, notamment pour les crons et la (non-)notification par mail
petit wrapper en ruby basé sur reprepro, debootstrap, debhelper, et debuild.
permet de se faire un petit repo local avec des paquets maison (buildé depuis repo git) ou directement importés tel quels.
tuto reprepro && pbuilder par un gars de chez dailymotion
Configuration des dépôts locaux
Mise en place
Miroir local d’une distribution officielle
Dépôt maison
Miroir local de dépôts tiers.
Construction des paquets Debian
Compilation
Numérotation des versions
Envoi
"Après une mise à jour de sécurité, il est important de vérifier que les services en fonctionnements n'utilisent plus les anciennes versions de librairies. Un petit utilitaire nommé CheckRestart permet de vérifier très simplement quels services doivent être redémarré."
Très très utile, au hasard pour une certaine mise à jour de openssl...
Complémentaire:
lsof -n | grep ssl | grep DEL # Check what services are still using old now removed libraries and need to be reloaded.
apt 1.0 vient de sortir!
Il est sorti le 1er avril, exactement 16ans après la toute première version.
La 1.0 apporte notamment une barre de progression activable par:
echo 'Dpkg::Progress-Fancy "1"' > /etc/apt/apt.conf.d/99progressbar
rien de révolutionnaire car y'a ça existe depuis belle lurette sur pacman/yaourt/yum, mais ça fait bien plaisir!