CH 8
CH 8
CH 8
Il est temps pour un tout nouveau chapitre et tout d'abord, nous allons jeter un
œil à la sélection d'une target de démarrage.
1- Ainsi, vous allumez votre système et il effectue une mise sous tension, un autotest ou un
post. Ce sont des routines qui sont contenues dans votre firmware. Bien sûr, votre
micrologiciel peut être soit UEFI sur des systèmes plus modernes, soit il peut s'agir d'un bios.
3- nous essayons d'initialiser le BOOT LOADER. Le chargeur de démarrage peut être référencé à
l'intérieur de votre micrologiciel ou de l'enregistrement de démarrage principal pour tous les
systèmes. Le chargeur de démarrage contient des références à d'autres composants. Dans
Red Hat Enterprise Linux, le chargeur de démarrage est GRUB2. GRUB2 signifie le grand
chargeur de démarrage unifié, bien sûr, la version 2.
4- Et une entrée GRUB2 ferait référence à deux composants, le noyau, les composants
principaux du système d'exploitation et le fichier initramfs.
5- Maintenant, le fichier initramfs contient les pilotes dont votre système aurait besoin. Il
contient également des scripts d'initialisation, en fait, c'est un système d'exploitation
entièrement indépendant et tout est contenu dans un seul fichier. Et ce fichier est assemblé
à l'aide de la commande dracut et la commande dracut lit les configurations à partir de
/etc/dracut.d/
6- Maintenant, à partir de là, nous allons maintenant exécuter systemd. Maintenant que vous
connaissez systemd, c'est le framework d'initialisation. Cependant, ce que je dois souligner
ici, c'est que le systemd que nous invoquons maintenant est celui d'initramfs à partir de cette
image de système d'exploitation indépendante que nous avons et qui est contenue dans un
seul fichier.
7- Maintenant, ce que nous faisons ensuite, c'est que nous initialisons une target et cette target
est initrd
8- et parmi certaines des autres choses qu'elle fait, c'est qu'elle monte le système de fichiers
racine de vos disques et qu'elle le monte dans un répertoire appelé / sysroot.
9- Maintenant, ce qui se passe alors, c'est que nous pivotons ou basculons vers systemd qui
s'exécute maintenant à partir de votre disque. En d'autres termes, à partir de votre système
de fichiers racine actuel.
10- Il procède à l'initialisation du reste de votre système en choisissant la target par défaut.
Maintenant, nous savons ce qu'est une target ? Une target est un groupe d'unités systemd
liées. Et vous pouvez avoir autant de targets que vous le souhaitez car vous pouvez avoir
autant de groupes d'unités systemd que vous le souhaitez. Cependant, vous auriez une
target par défaut. Donc, ce qui se passerait maintenant, c'est que votre target par défaut
pourrait appeler d'autres unités, d'autres unités, y compris d'autres targets.
systemctl get-default
reboot
le menu de démarrage grub. Maintenant, grub est le logiciel du chargeur de démarrage et il est
responsable du processus de démarrage de votre système. Et grub m'est présenté avec un menu
avec le menu de démarrage. Le menu de démarrage est facilité par plusieurs fichiers de
configuration. L'un des principaux fichiers de configuration est /etc default grub. Maintenant,
c'est à l'intérieur de ce fichier qu'il fait référence aux entrées nécessaires pour démarrer le
système, y compris l'une des directives qui influence le délai d'attente.
Maintenant, dans mon cas ici, je n'ai qu'une seule entrée et je veux explorer cette entrée
maintenant. Donc, pour ce faire, appuyez sur E et ici vous pouvez voir que nous avons les entrées
associées à cet élément de menu, dont la principale est l'entrée linux. Et initrd.
Maintenant Linux, il semble qu'il s'agisse de 3 lignes. C'est juste une très, très longue ligne. Il
commence évidemment par le mot linux et se termine par 512M à la fin. C'est donc la fin de la
ligne. Je vais aller jusqu'au bout de la ligne et vous pouvez voir où elle se trouve en ce moment,
sa position juste après 512M. Maintenant, pourquoi je mentionne cela parce que la ligne
suivante est initrd. Ainsi, l'initrd spécifie où nous trouverions le fichier du disque RAM. Vous
pouvez voir qu'il y a une référence à $root, maintenant $root n'est pas votre système de fichiers
racine. C'est la racine de grub. En d'autres termes, où nous trouverions le logiciel grub et grub se
trouve sur votre racine réelle de votre disque dans un répertoire appelé /boot. C'est donc la
racine de vers. Donc, en fin de compte, ce que nous disons ici, c'est que le fichier du disque RAM
peut être trouvé dans /boot/ et ensuite vous pouvez voir le nom du fichier qui est initramfs. Et la
version d'initramfs est étroitement liée à la version du noyau que vous utilisez. N'oubliez pas que
votre fichier ramfs est comme un système d'exploitation autonome et indépendant. Il a son
propre systemd, il a un tas de pilotes de périphériques et il a des scripts d'initialisation.
L'entrée linux ici, vous pouvez voir qu'elle pointe vers, une fois de plus, elle fait référence à
$root, qui est votre répertoire /boot. Ici, vous pouvez voir qu'il fait référence à un fichier appelé
vmlinuz, que là-bas se trouve votre noyau Linux. Ce qui suit serait les paramètres associés au
noyau Linux. Et le premier paramètre là-bas est root equals. Maintenant que la racine est égale à
votre système de fichiers racine et encore une fois, vous pouvez voir comment nous référençons
les UUID au lieu des fichiers de périphérique ? Alors, quel est le système de fichiers racine ? C'est
le système de fichiers qui a cet UUID particulier de fb535 et vous pouvez voir les autres
caractères qui lui sont associés. Et bien sûr, ça se monte au s/. En d'autres termes, votre barre
oblique, qui, nous le savons, représente votre système de fichiers racine. C'est ce que nous
pervertirons au démarrage de votre système. Maintenant, ce qui suit après, comme la console
équivaut à la vérification no_timer_, le net.ifnames et ainsi de suite. Ce sont tous des paramètres
du noyau. Et vous pouvez interroger les paramètres de votre noyau une fois votre système
démarré en consultant le contenu du fichier /proc/cmdline.
Maintenant, ce que je veux faire ici, c'est que je veux vous montrer comment nous pouvons
choisir une autre cible de démarrage. Pour ce faire, utilisez le paramètre systemd.unit. Il est
vraiment important que vous ajoutiez cette entrée particulière après tous les autres paramètres
sur la ligne qui commence par linux. Donc, la syntaxe que nous utilisons est systemd.unit, et
maintenant vous spécifiez une cible. Maintenant, ce que j'avais fait auparavant, c'est que j'ai
défini default.target sur multi-user.target. Donc, si je dois continuer à démarrer le système
maintenant, cela définirait multi-user.target car c'est bien la valeur par défaut. Donc, ce que je
vais faire maintenant, c'est le remplacer par un remplacement ponctuel par graphic.target.
Une fois que vous avez apporté vos modifications, vous pouvez alors utiliser Control X.
Maintenant, j'utilise le terme fait vos changements de manière très vague parce que ces
changements ne sont pas persistants. Ce sont des modifications ponctuelles qui ont été
apportées à l'entrée grub. Et ce que vous pouvez maintenant voir, c'est que le système est
démarré dans l'interface utilisateur graphique
nous avions déjà parlé du processus de démarrage. Lorsque nous passons le paramètre du noyau
rd.break, le rd concerne uniquement la RAM décrite dans initsramfs et .break que nous
explosons dans un shell.
si vous voulez augmenter le délai d'expiration du menu de démarrage grub, vous devez accéder à
un fichier appelé /etc/default/grub. Vous pouvez voir que le GRUB_TIMEOUT, je l'ai réglé sur 40
secondes, utilise bien sûr n'importe quelle durée, mais cela influencera le délai d'attente que
nous avons.
grub2-mkconfig -o /boot/grub2/grub.cfg
Maintenant, ce que vous devez faire ensuite est de régénérer le fichier de configuration grubs.
Ce qui se passe ici, c'est que grub va dans /etc/default/grub ou que la commande grub2-
mkconfig va plutôt dans /etc/default/grub comme fichier de configuration principal. Et puis il
utilise également un tas de fichiers modèles, dans ces fichiers modèles se trouvent sous le
répertoire /etc/grub.d. Maintenant, si vous accédez au fichier de configuration de capture réel,
qui est /boot/grub2/grub.cfg, il y a en fait un avertissement à l'intérieur de ce fichier que vous ne
devez pas modifier le fichier. Ce fichier est compilé à la suite d'autres modèles et d'autres fichiers
de configuration. Le fichier de configuration principal est /etc/default/grub. C'est un très petit
fichier de configuration, mais il existe d'autres fichiers de configuration et modèles sous
/etc/grub.d.
Donc, ce que nous devons maintenant faire est d'exécuter la commande grub2-mkconfig, très
important, l'option -o doit être utilisée. Ce que fait l'option-o, c'est qu'elle envoie la configuration
à un autre fichier, et c'est l'emplacement réel du fichier de configuration grub. Vous pouvez donc
voir que ce qui est attendu, c'est qu'il dise; Génération d'un fichier de configuration grub, ajout
de l'entrée du menu de démarrage pour les paramètres du micrologiciel UEFI, puis terminé.
en tant qu'utilisateur root, je vais juste echo$RANDOM. ce que je vais faire maintenant, c'est que
je vais le diriger vers passwd --stdin root.
Maintenant, bien sûr, nous sommes toujours connectés en tant que root et même si nous ne
sommes pas connectés en tant que root, nous pouvons toujours utiliser le compte d'utilisateur
étudiant, élever nos privilèges à celui de l'utilisateur root en utilisant sudo et ensuite nous
pourrions réinitialiser le mot de passe . Mais je veux revenir à un scénario où vous êtes dans un
environnement, où vous ne connaissez pas le mot de passe root. Vous ne connaissez
légitimement pas le mot de passe root, mais vous avez accès à la console. Vous disposez donc
soit d'un clavier virtuel vers la console de votre serveur, soit d'un clavier physique vers la console
de votre serveur. C'est donc là que vous pourriez utiliser cette technique particulière.
Maintenant, ce que je vais faire, c'est redémarrer le serveur.
Ls /
si vous faites une liste de répertoires en ce moment, même du système de fichiers racine, le
système de fichiers que vous regardez, la racine que vous regardez est le système de fichiers
racine de votre Environnement de disque RAM.
Votre système actuel est accessible via /sysroot. Cependant, comme sysroot est en lecture seule,
nous devons donc utiliser la commande
Nous remontons donc sysroot en lecture-écriture. Ensuite, nous allons définir la racine de
l'environnement du disque RAM dans le répertoire /sysroot. Donc, pour ce faire, nous utilisons la
commande
chroot /sysroot. Ls /
Maintenant, si vous faites une liste de répertoires du système de fichiers racine en ce moment,
c'est le système de fichiers racine réel que nous utilisons habituellement. C'est ce que nous avons
utilisé jusqu'à présent. C'est ainsi que nous trouverions un véritable système d'exploitation, pas
l'environnement du système d'exploitation de votre fichier de disque RAM. En d'autres termes,
c'est là que vous trouverez votre répertoire /etc. Et pour être plus précis, c'est là que vous
trouverez votre fichier /etc/shadow. Maintenant, ce que je peux faire, c'est utiliser la commande
passwd et définir le mot de passe root à partir d'ici.
écho redhat | passwd –stdin root Et nous allons réinitialiser le mot de passe de l'utilisateur root.
En raison du fonctionnement de la commande passwd, le fichier /etc/ shadow est créé en tant
que tout nouveau fichier.