Clément Démoulins
From LRDE
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Extraire des sous dossiers d'un dépôt git
Exemple, on veut extraire les papiers de Vaucanson du dépôt commun lrde-publis.
# Clone du dépôt
git clone git@git:lrde-publis.git
git clone --no-hardlinks lrde-publis vcsn-publis
cd vcsn-publis
# Filtre tout sauf ce qui match la pattern : (\.fsmnlp|\.ciaa|\.poosc|\.vaucanson|\.gitignore|\.gitmodules)$
git filter-branch --prune-empty --index-filter "git rm -r --cached --ignore-unmatch $(git log -p | sed -rne 's/^diff --git a\/([^/]+)\/?.* b\/.*$/\1/ p' | sort -u | egrep -v '(\.fsmnlp|\.ciaa|\.poosc|\.vaucanson|\.gitignore|\.gitmodules)$' | xargs echo)" HEAD
# Nettoyage du dépôt
git remote rm origin
git update-ref -d refs/original/refs/heads/master
git reflog expire --expire=now --all
git repack -ad
Commandes bien pratique de post installation
cron-apt
apt-get update;
apt-get install -y cron-apt;
wget http://sao-paulo.lrde.epita.fr/cluster/files/cron-apt-config -O /etc/cron-apt/config;
wget http://sao-paulo.lrde.epita.fr/cluster/files/cron-apt-2-security-upgrade -O /etc/cron-apt/action.d/2-security-upgrade;
wget http://sao-paulo.lrde.epita.fr/cluster/files/cron-apt-security.conf -O /etc/cron-apt/apt-security-upgrade.conf;
LDAP
apt-get update
apt-get install -y autofs autofs-ldap nslcd libnss-ldapd nfs-common glusterfs-client
apt-get purge nscd
wget http://sao-paulo.lrde.epita.fr/cluster/files/autofs.default -O /etc/default/autofs;
wget http://sao-paulo.lrde.epita.fr/cluster/files/autofs.if-up -O /etc/network/if-up.d/autofs;
chmod +x /etc/network/if-up.d/autofs;
wget http://sao-paulo.lrde.epita.fr/cluster/files/ldap.conf -O /etc/ldap/ldap.conf;
wget http://sao-paulo.lrde.epita.fr/cluster/files/cacert.pem -O /etc/ssl/certs/lrde-cacert.pem;
wget http://sao-paulo.lrde.epita.fr/cluster/files/nsswitch.conf -O /etc/nsswitch.conf;
wget http://sao-paulo.lrde.epita.fr/cluster/files/nslcd.conf -O /etc/nslcd.conf;
Docker
Commandes
- docker build -t TAG_NAME .
- Construit une image docker à partir d'un Dockerfile
- docker run -t -i IMAGE CMD
- Démarre un container intéractif à partir d'une image, si aucune commande n'est spécifiée, la commande définie par l'image est exécutée.
- docker run -d IMAGE
- Démarrage classique d'un container en mode daemon.
- docker ps -a
- Liste les containers
- docker images -a
- Liste les images
- docker rm $(docker ps -a -q)
- Delete all stopped containers
- docker rmi $(docker images -q)
- Delete ALL images
- docker rmi $(docker images -q --filter "dangling=true")
- Delete untagged images
Liens
Outils tiers
- systemd-nspawn, similaire à docker mais basé sur systemd
- LXC, technologie équivalente à docker mais prévu pour "booter" le container
- Rocket
- Swarm, orchestrateur pour docker
- Compose, orchestrateur pour docker (≠ de Swarm ?)
- CoreOS, OS serveur basé sur des containers
Récupération de disques
Paquet Debian
# Création d'une image 'cow' pour jessie
cowbuilder --create --basepath /var/cache/pbuilder/base-jessie.cow --distribution jessie
# Mise à jour
cowbuilder --update --basepath /var/cache/pbuilder/base-jessie.cow --distribution jessie
# Création du paquet avec gbp (si tout va bien)
gbp buildpackage
Ré-encodage vidéo
ffmpeg -i "concat:$(echo *.MTS | sed 's/ /|/g')" -c copy raw.mp4
ffmpeg -i raw.mp4 -codec:v h264_nvenc -gpu 2 -crf 25 -bf 2 -flags +cgop -pix_fmt yuv420p -codec:a aac -strict -2 -b:a 384k -r:a 48000 -movflags faststart output_1080p_crf25.mp4