J'utilise Ubuntu 18.04.
J'ai renommé le dossier /etc
en Apache2
. C'était ma plus grande erreur
Maintenant, je ne peux pas le renommer parce que je dois utiliser Sudo
, mais lorsque j'essaie, le message d'erreur s'affiche.
Sudo: unknown uid 1000
Comment puis-je résoudre ce problème? Je n'ai pas de système actif pour démarrer, et en mode de récupération, le terminal root s'ouvre, puis se ferme en indiquant cannot open password database
.
Un moyen simple de résoudre des problèmes comme celui-ci consiste souvent à démarrer à partir d'un système en direct, montez la partition racine sur /mnt
, puis renommez le fichier.
Si vous n'avez pas de système actif ou un moyen de le créer, ou si vous n'avez pas d'accès physique au système mais vous pouvez redémarrer et obtenir le menu GRUB, vous pouvez utiliser le GRUB éditeur pour obtenir un shell racine et renommer le fichier.
Redémarrez ou éteignez, allumez et, si vous ne voyez pas normalement le menu GRUB au démarrage, appuyez sur Shift ou Esc pour accéder au menu GRUB.
Déplacez le curseur vers le bas sur Options avancées pour Ubuntu et appuyez sur enter, puis appuyez e pour modifier les options de démarrage (une seule fois - les modifications apportées ici ne seront pas permanentes, nous n'aurons donc pas à nettoyer par la suite).
Vous verrez un écran qui ressemble à quelque chose comme ça1:
Déplacez le curseur vers le bas sur la ligne commençant par linux
name__, puis déplacez-le à la fin de cette ligne, ou n’importe où parmi les paramètres de démarrage du noyau. Assurez-vous que vous êtes sur la bonne ligne et tapez soigneusement ici, car le système peut ne pas démarrer sans /etc
en place.
Ajoutez le texte init=/bin/bash
et appuyez sur F10 pour démarrer.
Cela démarrera le système avec un shell Bash comme init. Vous obtiendrez un shell racine et le système de fichiers sera monté en lecture seule.2 Pour rendre le système de fichiers accessible en écriture, entrez la commande
mount -o remount,rw /
Maintenant, vous pouvez renommer /etc
(vous voudrez peut-être ls
en premier)
mv /Apache2 /etc
Maintenant, vous pouvez redémarrer ou terminer le démarrage normalement à partir d’ici en demandant au shell racine de se remplacer par le système init normal.3:
exec systemd
J'ai testé cette procédure sur Ubuntu MATE 18.04.
1 Un grand merci à Kulfy pour l'obtention d'une capture d'écran de bonne qualité de l'éditeur GRUB de VirtualBox!
2 Bien que PATH ne puisse pas être défini à partir des fichiers de configuration de /etc
dans ce scénario, Bash va en définir un automatiquement .
3 Si exec systemd
ne fonctionne pas pour vous, exec /sbin/init
devrait suffire. Si ce n'est pas le cas, readlink -e /sbin/init
devrait donner le chemin d'accès au programme init qui devrait être en cours d'exécution, que vous pouvez ensuite exec
avec son chemin complet. Si vous ne pouvez pas procéder de cette façon, entrez simplement reboot
name__.
Si vous possédez une clé USB, vous devriez pouvoir l’amorcer et monter votre système de fichiers existant, puis renommer votre /etc
à partir de là. Here est un tutoriel sur la création d'un USB en direct si vous en avez besoin.
Une fois démarré sur la clé USB en direct (si vous utilisez un lecteur Ubuntu 18.04), sélectionnez "Essayer Ubuntu sans installer". Il vous donnera essentiellement une instance complète d’une installation Ubuntu qui ne persistera pas après l’arrêt. Une fois démarré, vous avez quelques options:
Voie de commande
Ouvrez un terminal et exécutez lsblk
. Recherchez le volume qui correspond au lecteur de votre installation d'origine et notez le numéro (/ dev/sd #).
Créez ensuite un point de montage pour le lecteur avec mkdir -p /mnt/directory
, puis montez le lecteur avec Sudo mount /dev/sd# /mnt/directory
. Accédez au répertoire avec cd /mnt/directory
et vous devriez maintenant vous trouver dans le répertoire racine de votre installation, mais maintenant avec une commande Sudo
qui fonctionne. lancez Sudo mv Apache2 etc
et redémarrez dans votre système d'exploitation hypothétiquement actif.
Manière graphique
Ouvrez l'utilitaire de disques en recherchant des disques. Sélectionnez le volume qui ressemble à votre lecteur d'installation et montez-le. Ouvrez le gestionnaire de fichiers et sélectionnez le volume monté, cliquez avec le bouton droit sur votre dossier /Apache2
et renommez-le en /etc
, puis redémarrez.
Rendre USB amorçable comme indiqué ici.
Démarrez depuis l’USB en appuyant sur la touche comme indiqué ici.
Découvrez votre partition de système de fichiers en exécutant gparted
. Supposons que ce soit sdxy.
Exécuter sur le terminal Sudo mount /dev/sdxy /mnt
Exécuter sur le terminal Sudo mv /mnt/Apache2 /mnt/etc
Vérifiez votre système de fichiers dans/mnt pour le changement de nom.
Exécuter sur le terminal Sudo reboot
Lorsque vous y êtes invité, retirez la clé USB et appuyez sur Entrée.