J'ai des vieux IBM ThinkCenter qui sont trop lents pour tout usage graphique décent (comment ai-je fait pour utiliser une tellement machine pendant des années ?), mais qui ont l'avantage d'avoir à la fois des ports IDE et SATA : Idéal pour transférer le contenu de vieux disques vers de nouveaux et d'en faire une machine de sauvegarde.
Las, le boitier n'est pas prévu pour héberger plusieurs disques, il faut donc qu'il puisse booter sur le disque SATA ... Et c'est là que les problèmes vont commencer : Leur architecture est totalement bringuebalante voir foireuse !
L'installation peut se faire manuellement comme expliqué précédemment et j'ai même réussi à le faire sur le ThinkCenter ... sauf pour Grub2 que j'avais installé en montant le disque sur une autre machine. Bref, la procédure ci-dessous se fera entièrement avec les outils de TCL.
Le disque faisant 4To, il faut donc obligatoirement une partition GPT mais ... comment ? Vu qu'il n'est pas reconnu par le BIOS ? Et bien Grub2 permet faire croire au BIOs qu'il a ce qu'il demande tout en concernant le GPT.
La procédure qui suit s'applique à tous systèmes pré-UEFI (donc avec un BIOS à l'ancienne) sur lequel on souhaite installer un disque de plus de 2 To.
Pour se faire, il faut créer en tout début de disque, une partition de 1Mo avec de type BIOS boot. Dans mon cas, ca donne
$ fdisk -l /dev/sda
Disk /dev/sda: 3.64 TiB, 4000787030016 bytes, 7814037168 sectors
Disk model: ST4000NE001-2MA1
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: C39065ED-A2FA-4A6B-A402-65F5D4523E7E
Device Start End Sectors Size Type
/dev/sda1 2048 4095 2048 1M BIOS boot
/dev/sda2 4096 2101247 2097152 1G Linux filesystem
/dev/sda3 2101248 3149823 1048576 512M Linux swap
/dev/sda4 3149824 4099149823 4096000000 1.9T Linux filesystem
/dev/sda5 4099149824 7814035455 3714885632 1.7T Linux filesystem
On voit donc :
Le plus pratique pour créer ces partitions est d'utiliser le fameux gparted. Cependant, il semblerait qu'au moment où j'écris ces lignes, il soit incapable d'appliquer le type BIOS boot.
Il faut passer par l'outil cfdisk qui se trouve dans le package util-linux.
Le plus simple est d'utiliser l'outil tc-install que l'on installera "on demande" par le gestionnaire de packages.
Attention :
On commence par installer le package de Grub2-multi,
tce-load -lwi liblvm2
tce-load -lwigrub2-multi
et on installe le boot loader
sudo grub-install --boot-directory=/mnt/sda2/tce /dev/sda
et on crée le fichier de boot /mnt/sda2/tce/boot/grub/grub.cfg
insmod ext2
set root="(hd0,gpt2)"
menuentry "core Complet" {
linux /tce/boot/vmlinuz tce=sda2 home=sda2 restore=sda2 kmap=azerty/fr-latin1
initrd /tce/boot/core.gz
}
menuentry "core" {
linux /tce/boot/vmlinuz quiet noswap kmap=azerty/fr-latin1
initrd /tce/boot/core.gz
}
Ces vielles machines de sauvegarde n'auront pas d'uptime important. Synchroniser leur horloge uniquement au démarrage est donc suffisant.
Dans le fichier /opt/bootlocal.sh ajouter
sh -c 'sleep 10 && getTime.sh' &
Attention, il tournera en tâche de fond tant que le serveur de fichier ne peut-être joint.
TinyCoreLinux n'installant par défaut que le strict minimum, il faut installer OpenSSH
L'utilisateur par défaut, tc, est privilégié, n'a pas de mot de passe et ne peut pas être utilisé pour un accès SSH. La solution de facilité serait de lui en assigner un, il reste plus pratique de créer un utilisateur à l'image de ce que j'ai sur mes autres systèmes.
sudo adduser laurent
Éventuellement le mettre dans les sudoers.
Je l'ai aussi ajouté dans le groupe "Sauvegardes" qui contiendra en plus tous les démons qui gèrent les fichiers de données que j'héberge sur cette machine.
L'installation automatique au boot d'OpenSSH se fait par la commande :
tce-load -wi openssh
Ensuite il faut créer le fichier de configuration
cd /usr/local/etc/ssh/ sudo cp sshd_config.orig sshd_config
Ne pas oublier d'y modifier les options qui vont bien, en particulier pour interdire de se connecter en tant que root.
En particulier, le serveur sftp qui est mal configuré
Subsystem sftp /usr/local/lib/openssh/sftp-server
On lance le serveur une 1er fois, ce qui générera les clefs.
Ne pas rebooter encore, sinon toutes les modifications seront perdues. Voir Persistances en bas de ce billet.
Pour qu'il démarre automatique au boot de la machine, il faut modifier le fichier /opt/bootlocal.sh en ajoutant la ligne.
/usr/local/etc/init.d/openssh start
Pour faciliter son administration, je veux avoir le moins d'informations statiques que possible sur mon réseau, et ça passe par l'intégration d'Avahi.
Dans le fichier /opt/bootsync.sh, changer la ligne
sethostname= . Ne pas oublier de synchroniser la persistance.
tce-load -wi avahi
Puis configuration de la résolution de nom.
Enfin le démarrage automatique, on rajoute dans le fichier /opt/bootlocal.sh la ligne
/usr/local/etc/init.d/avahi start
Les commandes shell classiques telles que ping ne font pas la résolution de nom. Visiblement, c'est parce que les commandes de busybox ne passent pas par /etc/nsswitch.conf .
La solution la moins foireuse est d'obtenir les adresses IP par les commandes avahi comme suit :
ping $(avahi-resolve-host-name -n4 bpi.local | cut -f2)
Le DLNA est la solution la plus pratique que j'ai trouvé pour échanger des médias entre mes machines, ma TV et eventellement les téléphones et tablettes. Il me faut donc un serveur DLNA sur ce "serveur" qui contient aussi toute ma vidéothèque.
Ryget était le seul serveur DLNA packagé pour TCL lorsque j'ai monté cette machine.
Sauf que sa configuration peut se faire par un client lourd, rygel-preference, et, comme elle est incluse d'office, elle entraine un nombre gargantuesque de dépendances. Trop lourd (et parfaitement inutile) pour mon utilisation.
J'ai donc choisi une alternative beaucoup plus légère.
miniDLNA (aussi connu sous le nom de Ready Media) est un serveur DLNA simplissime et relativement léger. "Relativement", car il nécessite quand même un nombre non négligeable de dépendances requises par tous les formats qu'il reconnait. Mais pas d'interface lourde.
Sa configuration se fait à travers le fichier de configuration /usr/local/etc/minidlna.conf (les commentaires qui s'y trouvent sont suffisamment explicites) et supporte iNotify : les ajouts/suppressions/modification des fichiers seront donc automatique détectés.
Ce fichier doit évidemment être ajouté dans /opt/.filetool.lst
minidlna propose une option pour reconstruire sa base. Cependant, je ne l'ai pas implémenté car n'apportant rien de plus. Pour reconstruire la base, il suffit donc de :
PubSubFigures permet publié l'activité du système par MQTT et donc de l'intégré à ma Domotique.
tce-load -wi PubSubFigures
Modifier le fichier /usr/local/etc/PubSysFigures.conf en fonction des paramètres de l'environnement. Dans mon cas, ca sera
-Hbpi.chez.moi -s30 -g120
et modifier /opt/.filetool.lst pour rajouter ce fichier.
Et pour que le démon se lance automatique, dans le script /opt/bootlocal.sh, ajouter :
/usr/local/etc/init.d/PubSybFigures-1.3 start
Gardons tout ca pour le prochain reboot et mettant les entrées suivantes dans le fichier /opt/.filetool.lst :
opt
home
etc/passwd
etc/group
etc/shadow
etc/gshadow
etc/sudoers
usr/local/etc/ssh
Et on sauvegarde le tout
laurent@box:~$ sudo filetool.sh -b
Backing up files to /mnt/sda2//mydata.tgz
Done.
Visitez : Nos sorties Ski et rando |
Copyright Laurent Faillie
2001-2024
N'oubliez pas d'entrer le mot de passe pour voir aussi les photos perso. |
Contactez moi si vous souhaitez réutiliser ces photos et pour les obtenir avec une plus grande résolution. |
Visites durant les 7 derniers jours au total. |
Vous pouvez
laissez un commentaire
sur cette page.