FAQ LinuxConsultez toutes les FAQ
Nombre d'auteurs : 56, nombre de questions : 260, dernière mise à jour : 27 juin 2022 Ajouter une question
Cette FAQ a été réalisée à partir des contributions des membres du forum Linux de Developpez.com et de l'équipe de rédaction. Merci à eux !
Nous sommes perpétuellement à l'écoute de vos suggestions et corrections, n'hésitez pas à nous en faire part sur le forum.
- 8.1. Noyau (6)
- 8.2. Système (16)
- 8.3. Le démarrage (20)
- Comment régler l'heure ?
- Comment manipuler des fichiers sous Unix/Linux ?
- Qu'est-ce que le chroot et à quoi ça sert ?
- Comment (dés)activer ctrl+alt+del ?
- Connaître l'espace disque sur les différentes partitions ?
- Comment connaître l'état de la batterie (pour PC portable) ?
- Comment lancer des commandes root en étant loggé en tant qu'utilisateur normal ?
- J'ai perdu mon mot de passe root. Comment le récupérer ?
- Comment rajouter une partition pour un répertoire existant ?
- Comment dupliquer une arborescence locale sur un serveur distant via ssh ?
- Comment connaître sur quel tty on est connecté ?
- init vs systemd
- Comment monter un fichier image ISO ou un périphérique ?
- Comment monter un dossier dans un autre ?
- Est t-il possible de redimensionner une partition montée
Pour régler l'heure, vous pouvez utiliser la commande date (date [MMDDhhmm[[CC]YY][.ss]]) :
- MM : mois
- DD : jour du mois
- hh : heure (24h)
- mm : minute
- CC : siècle (19 pour 1994 par exemple)
- YY : année sur 2 chiffres
Exemple pour régler l'heure au 11 juin 2004 à 22 h 46 :
Code bash : | Sélectionner tout |
$ date 061122462004
Pour mettre à jour l’heure depuis un serveur de temps :
Code bash : | Sélectionner tout |
$ ntpupdate
Le « chroot » est un mécanisme qui permet de changer virtuellement le répertoire racine (« / », ou « root ») d'un répertoire donné.
Ce mécanisme est notamment utilisé pour sécuriser le système : si un pirate parvient à pénétrer dans un répertoire « chrooté » (/var/www/, par exemple), il n'aura pas pour autant accès au « vrai » système de fichiers.
Il est également utilisé pour l'installation de métadistributions telles que Linux From Scratch ou gentoo.
Pour désactiver ctrl+alt+del, il vous faut mettre en commentaire (en insérant le caractère # devant), ou effacer la ligne suivante dans le fichier /etc/inittab (cette ligne peut différer sur votre système) :
Code : | Sélectionner tout |
ca::ctrlaltdel:/sbin/shutdown -t5 -rf now
Vous pouvez pour cela utiliser df (disk free), exemple :
Code bash : | Sélectionner tout |
1 2 3 4 | $ df -h SysFichier Tail. Util.Disp. Uti% Monté sur /dev/hda5 4,3G 3,2G 865M 79% / /dev/hda7 2,7G 2,1G 634M 77% /home |
En utilisant la commande apm, exemple :
Code bash : | Sélectionner tout |
1 2 | $ apm AC on-line, battery status critical: 100% |
Il existe plusieurs méthodes (bit SUID notamment), mais nous n'évoquerons ici que la méthode sudo.
Si la commande sudo n'est pas configurée pour votre compte et vous donne l'erreur suivante :
Code : | Sélectionner tout |
<login> is not in the sudoers file. This incident will be reported.
Code bash : | Sélectionner tout |
nom_utilisateur ALL=(ALL) PASSWD:ALL
L'utilisateur spécifié peut maintenant exécuter des commandes réservées au root en tapant :
Code bash : | Sélectionner tout |
$ sudo commande
Le paramètre « PASSWD » indique à sudo qu'il doit demander le mot de passe de l'utilisateur avant de lancer la commande. Vous pouvez remplacer cela par le paramètre « NOPASSWD » mais cela induit une faille de sécurité importante si vous avez accordé tous les droits root à l'utilisateur comme dans notre exemple précédent.
Il n'est pas possible de récupérer son password root. Mais vous pouvez changer ce password si vous avez accès physiquement à l'ordinateur.
Vous devez d'abord trouver un moyen d'accéder à une console (par exemple, grâce à l’utilisation d'un live-CD).
Montez ensuite la partition racine de votre Linux dans un répertoire :
Code bash : | Sélectionner tout |
$ mount -t ext2 /dev/hda1 /mnt
Exécutez les commandes :
Code bash : | Sélectionner tout |
1 2 | $ cd /mnt $ chroot /mnt |
Il ne vous reste plus qu'à changer le password :
Code bash : | Sélectionner tout |
$ password root
Maintenant, vous pouvez relancer Linux et utiliser votre nouveau mot de passe pour le compte root.
Il est également possible de changer le mot de passe crypté dans /etc/shadow avec la chaine cryptée d'un mot de passe que vous connaissez déjà (via un montage de la partition Linux depuis un live CD).
Pour vous prémunir de cette possibilité, votre partition devra être chiffrée (avec LVM par exemple), il vous faudra alors le code de celle-ci pour pouvoir monter la partition, et pouvoir effectuer la manipulation de modification de mot de passe.
Le problème est simple: pas de LVM et une distribution de plus en plus serrée, pas moyen de redimensionner les partitions donc on en crée une autre (sur un autre disque ou il y a de la place par exemple) et on y copie une grosse partition qui prend de la place comme /usr.
On démarre en mode single :
Code bash : | Sélectionner tout |
$ init s
Création d'un système de fichiers sur la nouvelle partition et d'un répertoire pour copier le contenu :
Code bash : | Sélectionner tout |
1 2 | $ mkfs.ext3 /dev/hdxx $ mkdir -p /mnt/new_usr |
On monte la nouvelle partition et on copie les données sur la nouvelle partition :
Code bash : | Sélectionner tout |
1 2 | $ mount /dev/hdxx /mnt/new_usr $ cp -arf /usr/* /mnt/new_usr/ |
On rajoute la bonne ligne au fstab :
Code bash : | Sélectionner tout |
$ echo "/dev/hdxx /usr ext3 defaults 1 1" >> /etc/fstab
On supprime ce que l'on a copié :
Mieux vaut attendre d'avoir vérifié que ça marche avant de faire cette manipulation délicate quelle que soit la partition.
Code bash : | Sélectionner tout |
$ rm -rf /usr/*
On démonte la partition que l'on a créée dans le seul but de copier /usr (ou notre répertoire on monte ce que l'on vient de copier et on supprime le répertoire /mnt créé pour l'occasion :
Code bash : | Sélectionner tout |
1 2 3 | $ umount /mnt/new_usr $ mount /usr $ rmdir /mnt/new_usr |
on peut relancer le système, soit par un reboot, soit remettant le runlevel habituel :
Code bash : | Sélectionner tout |
$ reboot # ( ou init X )
Vous pouvez utiliser le code suivant :
Code bash : | Sélectionner tout |
1 2 3 | find /home/repertoire_local/ -type d -print0 | \ ssh -p port user@server \ 'while read -r -d "$(printf "\000")" -r dir; do [ -d "$dir" ] || mkdir -p "$dir"; done' |
Il s'agit d'une seule et même ligne de commande chainée, décomposée comme suit :
- 1re ligne : on cherche les répertoires dans /home/repertoire_local/ ;
- 2e ligne : on se connecte en ssh au serveur distant ;
- 3e ligne : sur le serveur connecté, on boucle sur les noms de répertoires locaux trouvés par find et on les crée s'ils n'existent pas.
Il est également possible d'utiliser rsync.
Vous pouvez connaître sur quel tty vous êtes connecté grâce à la commande tty
init est le premier processus démarré par Linux, il va lire le fichier de configuration /etc/inittab, et va charger tous les démons via les scripts présents dans le dossier /etc/rc* (noms de dossier variables selon distribution).
Init fonctionne par runlevel, il va lancer le système au runlevel défini dans /etc/inittab (entrée initdefault)
Les scripts sont exécutés par ordre alphabétique. Les scripts commençant par S sont les scripts lancés à l'entrée au runlevel, les scripts commençant par K sont ceux lancés à la sortie du runlevel.
Init 6 est l’équivalent de la commande reboot
init 0 est l'équivalent de la commande poweroff.
Systemd remplace init dans les distributions récentes. systemd propose les évolutions suivantes :
- Les différents services/démons peuvent être chargés en parallèle ;
- les dépendances d'un service par rapport à un autre sont gérés ;
- udev est intégré à systemd ;
- un nouveau système de journalisation du démarrage : journald.
La fonctionnalité loopback permet de monter le contenu d'une image système, d'un fichier ISO dans un dossier.
Exemple :
Code : | Sélectionner tout |
mount -o loop fichier.iso /mnt
Code : | Sélectionner tout |
fichier.iso / iso9660 loop 0 0
Si le dossier de destination (/mnt dans l'exemple) contient des données, celles-ci seront inaccessibles après le montage, elles seront de nouveau visibles après démontage
Code : | Sélectionner tout |
mount -o bind /dossier_source /dossier_destination
Code : | Sélectionner tout |
/dossier/source /dossier_destination none bind 0 0
Sous Linux, il est possible de redimensionner une partition montée, notamment pour l'étendre.
Il n'est pas possible de le faire avec une partition LVM.
Pour se faire, il suffit d'utiliser un logiciel de partitionnement, tel que GParted et d'étendre la partition souhaitée.
Proposer une nouvelle réponse sur la FAQ
Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour çaLes sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.