:: Procédure de mise à jour Debian ::
Debian 7 Wheezy vers Debian 8 Jessie
Mise à jour du système en dernière version mineure.
$ sudo apt-get update && sudo apt-get upgrade -y
Vérification de l'état des paquets
Liste des paquets "Half-installed" ou "Failed-Config"
$ sudo dpkg --audit
Liste des paquets bloqués ("On hold")
$ sudo dpkg --get-selections | grep 'hold$'
Note : Il est préférable de résoudre les problèmes avec ces paquets avant de procéder à la mise à niveau du système, sous peine de risquer quelques surprises.
Modification des sources de paquets
Modifier le fichier /etc/apt/sources.list
$ sudo cp /etc/apt/sources.list /etc/apt/sources.list.save
$ sudo sed -i 's/wheezy/jessie/' /etc/apt/sources.list
Et pour chaques fichiers présents dans /etc/apt/sources.list.d/ :
$ sudo sed -i 's/wheezy/jessie/' /etc/apt/sources.list.d/<fichier>
Mise à niveau du système
Facultatif : vérification de l'espace disque avant d'effectuer la mise à niveau
$ sudo apt-get update && sudo apt-get -o APT::Get::Trivial-Only=true dist-upgrade
[...]
543 mis à jour, 305 nouvellement installés, 10 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 382 Mo dans les archives.
Après cette opération, 503 Mo d'espace disque supplémentaires seront utilisés.
Si il y a un problème d'espace disque, la commande retourne un avertissement :
E: Vous n'avez pas assez d'espace disponible dans /var/cache/apt/archives/.
Mise à niveau
$ sudo apt-get update && sudo apt-get dist-upgrade
$ sudo apt-get upgrade
$ sudo shutdown -r now
Debian 8 Jessie vers Debian 9 Stretch
Préparation
Mise à jour du système en dernière version mineure.
$ sudo apt-get update && sudo apt-get upgrade -y
Suppression des paquets installés automatiquement et qui ne sont plus nécessaires
$ sudo apt-get autoremove
Suppression des fichiers de configuration obsolètes
$ sudo rm -f /etc/*.dpkg-{new,old}
Vérification de l'état des paquets
Liste des paquets "Half-installed" ou "Failed-Config"
$ sudo dpkg --audit
Liste des paquets bloqués par apt-get
$ sudo dpkg --get-selections | grep 'hold$'
Liste des paquets bloqués par aptitude
$ aptitude search "~ahold"
Modification des sources de paquets
Modifier le fichier /etc/apt/sources.list
$ sudo cp /etc/apt/sources.list /etc/apt/sources.list.save
$ sudo sed -i 's/jessie/stretch/' /etc/apt/sources.list
Et pour chaques fichiers présents dans /etc/apt/sources.list.d/ :
$ sudo sed -i 's/jessie/stretch/' /etc/apt/sources.list.d/<fichier>
Mise à niveau et redémarrage
$ sudo apt update
$ sudo apt upgrade
$ sudo apt full-upgrade
$ sudo reboot
Mise à jour Debian 9 vers 10
Sauvegarde du systeme
# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 9.11 (stretch)
Release: 9.11
Codename: stretch
# uname -mrs
Linux 4.9.0-11-amd64 x86_64
Mise à jour complète et redémarrage
$ sudo apt update
$ sudo apt upgrade
$ sudo apt full-upgrade
$ sudo apt --purge autoremove
Modification des sources apt
Vérification du contenu existant
# cat /etc/apt/sources.list
deb http://ftp.fr.debian.org/debian/ stretch main
deb-src http://ftp.fr.debian.org/debian/ stretch main
deb http://security.debian.org/ stretch/updates main
deb-src http://security.debian.org/ stretch/updates main
# stretch-updates, previously known as 'volatile'
deb http://ftp.fr.debian.org/debian/ stretch-updates main
deb-src http://ftp.fr.debian.org/debian/ stretch-updates main
Remplacer les occurences de stretch par buster
$ sudo sed -i 's/stretch/buster/g' /etc/apt/sources.list
$ sudo sed -i 's/stretch/buster/g' /etc/apt/sources.list.d/*
Mise à niveau et redémarrage
$ sudo apt update
$ sudo apt upgrade
$ sudo apt full-upgrade
$ sudo reboot
Vérifications et nettoyage
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 10 (buster)
Release: 10
Codename: buster
$ uname -r
4.19.0-6-amd64
$ sudo apt --purge autoremove
:: CloudSHell2 - Installation d'Archlinux ::
Introduction
Toutes les opérations décrites ci-dessous ont été faites à partir d'un portable sous Archlinux et du reader/writer eMMC se branchant sur le port SD (via un adaptateur micro-SD).
La commande lsblk
permet de récupérer le nom du périphérique, pour ma part /dev/mmcblk0
Préparation du module eMMC
Remise à zéro
$ sudo dd if=/dev/zero of=/dev/mmcblk0 bs=1M count=8
Partitionnement
$ sudo fdisk /dev/mmcblk0
Créer une nouvelle partition primaire vide, en tapant les commandes suivantes :
- o : crée une nouvelle table de partition DOS
- n : crée une nouvelle partition avec les paramètres suivants :
- p : type de partition primaire
- 1 : première partition
- 4096 : premier secteur de la partition
- ENTER : dernier secteur de la partition (defaut)
- w : écrit la table de partition et quitte
Création du système de fichiers ext4
$ sudo mkfs.ext4 /dev/mmcblk0p1
Montage du système de fichiers
$ mkdir root
$ sudo mount /dev/mmcblk0p1 root
$ wget http://os.archlinuxarm.org/os/ArchLinuxARM-odroid-xu3-latest.tar.gz
$ sudo bsdtar -xpf ArchLinuxARM-odroid-xu3-latest.tar.gz -C root
Flash du bootloader
$ cd root/boot/
$ sudo ./sd_fusing.sh /dev/mmcblk0
Démontage du système de fichiers
$ cd ../..
$ sudo umount root
Premier démarrage du système
- Insérer le module eMMC dans son emplacement sur la carte XU4
- Connecter le câble ethernet et brancher l'alimentation
Attendre la fin du démarrage du système puis se connecter en ssh avec le user alarm et le mot de passe alarm
$ ssh alarm@cloudshell.domaine.lan
Ouvrir une session root avec le mot de passe root
$ su - root
Initialisation
Création du trouseau de clés et enrichissement des certificats des dépôts Arch Linux ARM
# pacman-key --init
# pacman-key --populate archlinuxarm
Gestion de paquets
Mise à jour du système
# pacman -Syu
Paquets supplémentaires
# pacman -S vim
Configuration réseau
Nom d'hôte
Adresse IP
Comme il s'agit d'un serveur installé dans mon réseau local, je préfère lui assigner une adresse ip fixe tout en gardant la possibilité de demander une adresse ip dynamique (si je le déplace par exemple).
J'ai donc créé un profil statique en ajoutant les lignes suivantes à la fin du fichier /etc/dhcpcd.conf
:
Configuration des disques
Le CloudShell2 permet de connecter deux disques SATA au format 3.5" et supporte les technologies RAID0, RAID1, SPAN ainsi que l'accès direct (mode PM).
Dans ma configuration, j'ai branché deux disques SATA de 3To et configuré le 'DIP switch' en RAID1.
Le volume RAID est accessible via /dev/sda
et sera monté sur /home
.
Partitionnement
# fdisk /dev/sda
Créer une nouvelle partition primaire sur le volume, en tapant les commandes suivantes :
- n : crée une nouvelle partition avec les paramètres suivants :
- p : partition de type primaire
- 1 : numéro de partition
- ENTER (2048) : premier secteur par defaut
- ENTER (dernier secteur) : dernier secteur par defaut
- w : applique les changements et quitte
# mkfs.ext4 /dev/sda1
Synchronisation du contenu de /home
# mkdir /mnt/data
# mount /dev/sda1 /mnt/data
# rsync -avz /home/ /mnt/data/
Une fois les données synchronisées (et vérifiées !), on peut nettoyer le répertoire /home :
# rm -rf /home/*
Montage de la partition et génération du fstab
# mount /dev/sda1 /home
# genfstab -p -U / > /etc/fstab
Ecran LCD
# echo "options fbtft_device name=hktft9340 busnum=1 rotate=270" > /etc/modprobe.d/cloudshell.conf
# echo "spi_s3c64xx" >> /etc/modules-load.d/fbtft_device.conf
# echo "spidev" >> /etc/modules-load.d/fbtft_device.conf
# echo "fbtft_device" >> /etc/modules-load.d/fbtft_device.conf
Ventilateur
Récepteur infrarouge
Références