Skip to content

Catégorie : tips & tricks

Création d’une Time Machine sous Debian

Attention ! Ce contenu a été publié il y a 8 ans. Merci de lire cette page en gardant son âge à l'esprit, son contenu étant potentiellement obsolète.

Si comme moi vous disposez d’un ordinateur sous macOS, d’un NAS « maison » et que vous souhaitez profiter de l’utilitaire de sauvegarde d’Apple « Time Machine » sans dépenser inutilement de l’argent dans le périphérique éponyme d’Apple, ce tuto est fait pour vous ! 🙂

Dans ce billet, nous allons voir ensemble comment compiler et configurer netatalk 3, un logiciel permettant le partage de dossier via le protocol apfd utilisé par macOS et permettant également de simuler le fonctionnement d’une Time Machine de Apple et donc l’utilisation de l’utilitaire de sauvegarde éponyme.

Ce tutoriel s’adresse à toute personne disposant d’un PC/NAS/Server sous Debian.

Attention ! Ce contenu a été publié il y a 8 ans. Merci de lire cette page en gardant son âge à l'esprit, son contenu étant potentiellement obsolète.

Attention ! Ce contenu a été publié il y a 8 ans. Merci de lire cette page en gardant son âge à l'esprit, son contenu étant potentiellement obsolète.
7 Comments

Quand « apt-get » réclame une ligne en fin de fichier …

Attention ! Ce contenu a été publié il y a 8 ans. Merci de lire cette page en gardant son âge à l'esprit, son contenu étant potentiellement obsolète.

Aujourd’hui j’ai eu un comportement assez étrange sur l’un de mes serveurs de fichiers. Lors d’une simple mise à jour, « apt-get » m’indique qu’un fichier du paquet « netatalk » n’a pas de retour à la ligne en fin de fichier et se termine sur une erreur de dpkg.

Attention ! Ce contenu a été publié il y a 8 ans. Merci de lire cette page en gardant son âge à l'esprit, son contenu étant potentiellement obsolète.

# root at files in /home/maiko [14:37:17]
→ apt-get upgrade
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Calcul de la mise à jour... Fait
Les paquets suivants seront mis à jour :
--------
xx mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 0 o/26,7 Mo dans les archives.
Après cette opération, 357 ko d'espace disque seront libérés.
Souhaitez-vous continuer ? [O/n] O
Lecture des fichiers de modifications (« changelog »)... Terminé
Extraction des modèles depuis les paquets : 100%
Préconfiguration des paquets...
dpkg : erreur fatale irréversible, abandon :
la liste des fichiers pour le paquet « netatalk » n'a pas de retour à la ligne en fin de fichier

E: Sub-process /usr/bin/dpkg returned an error code (2)

Je n’avais encore jamais rencontrés cette erreur jusqu’ici et elle est assez embêtante puisque celle-ci bloque totalement apt et qu’il n’est plus possible de mettre à jour le système ou bien d’installer un logiciel.

Après avoir chercher quelques temps, je suis tombé sur une solution toute simple : apt réclame un retour à ligne dans un fichier ? Ok. Donnons lui ce qu’il souhaite.

# root at files in /home/maiko [14:37:29]
→ echo '\r' >> /var/lib/dpkg/info/netatalk.list

Et au final, ça fonctionne à nouveau, plus d’erreur.

Bon, j’ai encore un peu de mal à trouver pourquoi ce retour à ligne a disparu (apt fonctionnait parfaitement bien il y a quelques jours, sans actions de ma part entre temps) ni pourquoi 3 paquets sans rapport les uns avec les autres présentes le même soucis…

Une idée ?

Attention ! Ce contenu a été publié il y a 8 ans. Merci de lire cette page en gardant son âge à l'esprit, son contenu étant potentiellement obsolète.
1 Comment

Plesk – Activer la gestion des séparateurs d’adresses mails

Attention ! Ce contenu a été publié il y a 9 ans. Merci de lire cette page en gardant son âge à l'esprit, son contenu étant potentiellement obsolète.

Jusqu’ici j’avais l’habitude d’utiliser les séparateurs (aussi appelé délimiteurs) d’adresse de courriel. C’est fort pratique et cela permet de mieux organiser sa boîte de courriel tout en permettant de limiter le spam (et d’en connaitre l’origine).

Un séparateur d’adresse de courriel se présente de cette manière :

hello+tag@maiko-bossuyt.eu

En rouge ci-dessous est le séparateur le plus courant et celui que j’utilise. L’utilité d’un séparateurs est de pouvoir ajouter des sortes de tags à la volée. Par exemple, je peux m’inscrire sur le site internet monsupersite.com en utilisant l’adresse de courriel suivant : hello+monsupersite@maiko-bossuyt.eu.

Attention ! Ce contenu a été publié il y a 9 ans. Merci de lire cette page en gardant son âge à l'esprit, son contenu étant potentiellement obsolète.
Leave a Comment

MySQL : convertir une table MyISAM vers InnoDB

Attention ! Ce contenu a été publié il y a 11 ans. Merci de lire cette page en gardant son âge à l'esprit, son contenu étant potentiellement obsolète.

Il y a quelques temps et pour des questions de performances, j’ai eu à convertir une base de données d’une cinquantaine de tables du moteur MyISAM vers InnoDB.

Voici une méthode simple et rapide pour effectuer cette conversion en console et d’une seule commande :

Tout d’abords, simulation afin de voir quels seront les requêtes SQL envoyées au serveurs :

$ DB="LeNomDeVotreBaseDeDonnées"
$ ENGINE="InnoDB" # Mettre InnoBD pour convertir vers InnoDB. Inversement, mettre MyISAM pour convertir vers MyISAM.
$ echo 'SHOW TABLES;' \
| mysql --defaults-file=/etc/mysql/debian.cnf ${DB} \
| awk '!/^Tables_in_/ {print "ALTER TABLE `"$0"` ENGINE = ${ENGINE};"}' \
| column -t

Si tout semble correct, on exécute les requêtes :

ATTENTION :
Je ne prends aucune responsabilité en cas de dommage à votre base de données.
Veuillez TOUJOURS effectuer des sauvegardes dans le cas ou un problème se produirait lors de l’exécution de cette commande.
Il vous appartient de vérifier que votre base de données est compatible avant d’effectuer cette conversion !

L’exécution de cette commande peut être très longues suivant la taille et le nombre de vos tables !

$ DB="LeNomDeVotreBaseDeDonnées"
$ ENGINE="InnoDB" # Mettre InnoBD pour convertir vers InnoDB. Inversement, mettre MyISAM pour convertir vers MyISAM.
$ echo 'SHOW TABLES;' \
| mysql --defaults-file=/etc/mysql/debian.cnf ${DB} \
| awk '!/^Tables_in_/ {print "ALTER TABLE `"$0"` ENGINE = ${ENGINE};"}' \
| column -t \
| mysql --defaults-file=/etc/mysql/debian.cnf ${DB}

Attention ! Ce contenu a été publié il y a 11 ans. Merci de lire cette page en gardant son âge à l'esprit, son contenu étant potentiellement obsolète.
Leave a Comment

rm: impossible de supprimer — Débordement du quota d’espace disque

Attention ! Ce contenu a été publié il y a 11 ans. Merci de lire cette page en gardant son âge à l'esprit, son contenu étant potentiellement obsolète.

Dans un cas comme celui-ci :

rm: impossible de supprimer « votre_fichier.rar » : Débordement du quota d'espace disque

Que faire lorsque même un rm –force ne suffit plus ?

Essayez donc ceci :

echo " " > votre_fichier.rar
rm votre_fichier.rar

Ceci aura pour effet de remplacer le contenu du fichier par un espace ( le  »  » ) et vous permettras de récupérer un peu d’espace pour pouvoir effectuer le ménage et supprimer ce fichier et les autres présents sur ce volume.

Merci à @LHercot sur Twitter pour l’astuce !

Attention ! Ce contenu a été publié il y a 11 ans. Merci de lire cette page en gardant son âge à l'esprit, son contenu étant potentiellement obsolète.
Leave a Comment

Fatal error: Uncaught TypeError: flock(): supplied resource is not a valid stream resource in /var/www/vhosts/maiko.sh/domains/maiko.sh/blog/wp-content/plugins/w3-total-cache/Cache_File_Generic.php:64 Stack trace: #0 /var/www/vhosts/maiko.sh/domains/maiko.sh/blog/wp-content/plugins/w3-total-cache/Cache_File_Generic.php(64): flock() #1 /var/www/vhosts/maiko.sh/domains/maiko.sh/blog/wp-content/plugins/w3-total-cache/PgCache_ContentGrabber.php(2196): W3TC\Cache_File_Generic->set() #2 /var/www/vhosts/maiko.sh/domains/maiko.sh/blog/wp-content/plugins/w3-total-cache/PgCache_ContentGrabber.php(457): W3TC\PgCache_ContentGrabber->_maybe_save_cached_result() #3 [internal function]: W3TC\PgCache_ContentGrabber->ob_callback() #4 /var/www/vhosts/maiko.sh/domains/maiko.sh/blog/wp-content/plugins/w3-total-cache/Util_Bus.php(21): call_user_func() #5 /var/www/vhosts/maiko.sh/domains/maiko.sh/blog/wp-content/plugins/w3-total-cache/Generic_Plugin.php(554): W3TC\Util_Bus::do_ob_callbacks() #6 [internal function]: W3TC\Generic_Plugin->ob_callback() #7 /var/www/vhosts/maiko.sh/domains/maiko.sh/blog/wp-includes/functions.php(5427): ob_end_flush() #8 /var/www/vhosts/maiko.sh/domains/maiko.sh/blog/wp-includes/class-wp-hook.php(324): wp_ob_end_flush_all() #9 /var/www/vhosts/maiko.sh/domains/maiko.sh/blog/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters() #10 /var/www/vhosts/maiko.sh/domains/maiko.sh/blog/wp-includes/plugin.php(517): WP_Hook->do_action() #11 /var/www/vhosts/maiko.sh/domains/maiko.sh/blog/wp-includes/load.php(1280): do_action() #12 [internal function]: shutdown_action_hook() #13 {main} thrown in /var/www/vhosts/maiko.sh/domains/maiko.sh/blog/wp-content/plugins/w3-total-cache/Cache_File_Generic.php on line 64