Recettes diverses
Comment renommer une machine Linux - Debian
Pour une machine nommée “ancien”, lancer la commande suivante :
sed -i 's/ancien/nouveau/g' /etc/host{s,name} ; reboot
ensuite redémarrer …
ou bien encore, sans redémarrer :
sed -i 's/ancien/nouveau/g' /etc/host{s,name} ; service hostname.sh start ; logout
Comment remettre une machine Linux à l'heure
lancer la commande suivante :
root@wheezy:~# date -s 14:07
ou bien encore, si le décalage dépasse la journée :
root@wheezy:~# date -s "2014-02-21 16:17"
Remarque : il est fortement recommandé pour garder une machine à l'heure d'installer un paquet fournissant le support du protocole NTP (Network Time Protocol) : openntpd ou ntp
Déployer un site Web avec Git
On souhaite utilise le hook post-update pour exporter le contenu du dépôt git dans le répertoire de base du serveur web :
On suppose que l'on se trouve dans le répertoire du dépot git, le script post-update
doit se trouver dans le répertoire hooks
du dépôt git.
$ cat > hooks/post-update << EOF #!/bin/bash GWT=/var/www/html/web [[ -e "${GWT}" ]] || mkdir -p "${GWT}" # le repert. doit exister GIT_WORK_TREE="${GWT}" git checkout -f EOF $ chmod +x hooks/post-update
Remarque : il faudra veiller aux droits pour que le transfert puisse s'effectuer convenablement. Le possesseur du dépôt git est (à priori) l'utilisateur git, et le possesseur de /var/www/html/web est (à priori) www-data.
Il pourra être utile de mettre l'utilisateur git dans le groupe www-data avec la commande gpasswd. Egalement, le répertoire /var/www/html devra être accessible en écriture au groupe (g+w)
Pour tomcat8, le répertoire est /var/lib/tomcat8/webapps/appli
Cf. également Vagranfile.gz vagrantfile-git-hook.gz
Git : redéfinir une origine
Pour redéfinir un dépôt origine amont (upstream)
git remote rm origin git remote add origin ssh://user@host/home/user/dept.git # redefinit l'origine git push --set-upstream origin master # envoie la branche master vers origin
Réactivation Windows Server 2012
Pour rallonger de 180 jours la période d'essai de Windows Server 2012, exécuter en tant qu'Administrateur la commande suivante :
slmgr -rearm
Mise à jour (update upgrade) Debian avec Ansible
Pour mettre à jour des machines Debian avec Ansible, lancer :
ansible all -i hosts -m apt -a "upgrade=yes update_cache=yes cache_valid_time=86400"
hosts étant le fichier contenant- la liste des hôtes accessibles par SSH
Installer l'extension Pack VirtualBox
en tant que root, après avoir téléchargé l'Extension Pack :
VBoxManage extpack install --replace Oracle_VM_VirtualBox_Extension_Pack-5.2.4-119785.vbox-extpack
Changer la timezone sur Debian
Pour la timezone Europe/Paris :
sudo timedatectl set-timezone Europe/Paris
Changer le format clavier sur Debian
- dans un shell
sudo setxkbmap fr
- au niveau global :
sudo dpkg-reconfigure keyboard-configuration sudo service keyboard-setup restart
- puis redémarrer
Pour une première connexion sur une machine Linux
- afficher la mémoire disponible :
free
- afficher les disques, partitions :
lsblk
- afficher l'espace disque disponible:
df -h
- afficher la version du noyau :
uname -a
- afficher la version Debian :
cat /etc/debian_version
- afficher la configuration IP :
ip addr
, en format bref :ip -br a
- afficher la table de routage :
ip route
- afficher les ports ouverts (ipv4) :
ss -l4
, en ipv6 :ss -l6
- afficher les informations sur le processeur :
cat /proc/cpuinfo
Importer une VM VirtualBox en ligne de commande
vboxmanage import ~/Téléchargements/debian-bullseye-2022a.ova --vsys 0 --vmname maVm
Nettoyer les codes ANSI dans un fichier obtenu après une redirection
Une redirection shell, avec >
, »
ou bien script
capture également les codes (parasites) de mise en page ANSI.
La commande sed
ci-dessous permet de nettoyer les codes ANSI du fichier obtenu.
sed -e 's/\x1b\[[0-9;]*m//g' < fichiercapture