This commit is contained in:
2025-03-24 11:36:01 +01:00
parent 0ecbdd4585
commit b9c451e95c
72 changed files with 2699 additions and 376 deletions

View File

@@ -0,0 +1,78 @@
I. Quelques formes des lignes de commandes.
Forme Simple:
1.
La commande echo permet d'écrire des caractères ou de consulter le code de status tous dépend de ce qui est écrit après.
2.
En écrivant echo "Hello world!" on peut faire dire au terminal "Hello World!".
3.
echo "$?" permet de connaitre le code de status de la dernière commande.
(Hello world! à pour code 0).
4.
Avec la commande ls fi nous regardons si le fichier fi est présent.
(Nous constatons que le dossier est présent dans le dossier actuel)
5.
Nous constatons que le code de status de la commande ls fi est de 0.
6.
Avec la commande ls -l fi nous demandons a voir des informations sur le fichier fi.
7.
Nous constatons que le code de status de la commande ls -l fi est de 0.
8.
Avec la commande ls nofi nous regardons si le fichier existe.
(Nous constatons que le dossier n'est soit présent de le dossier actuel soit n'existe pas).
9.
Nous constatons que le code de status de la commande ls nofi est de 2.
Pipeline:
1.
Avec la commande echo "Hello world1!" | echo "Hello world2!" ,nous redirigeons le Hello world2! dans un fichier spécial et le Hello world2! est écrit sur le terminal.
2.
Avec la commande echo "Hello world2!" | echo "Hello world1!" ,nous redirigeons le Hello world1! dans un fichier spécial et le Hello world2! est écrit sur le terminal.
(rajouter le signe | permet de rediriger tous se qu'il y avant sur un fichier spécial.
Liste:
0 : La commande a réussi sans erreurs. C'est le code de retour standard pour indiquer un succès.
1 : Il s'agit d'une erreur générale ou d'un échec. C'est un code d'erreur générique qui peut signifier que quelque chose s'est mal passé, ( sans spécifier la nature exacte de l'erreur).
2 : Ce code est souvent utilisé pour des erreurs spécifiques liées à des arguments ou des paramètres invalides, bien que cela puisse varier selon le programme ou la commande.
Regardez la page manuel de la commande et regardez le Exit status.
&& : si la commande mise avant n'a pas d'erreur la commande d'après s'executera, si il y a une erreur la commande d'après ne s'executera pas .
| : Permet d'envoyé la commande 1 en porte d'entré pour la commande 2 . (si la commande n'a pas de porte d'entré seulement la deuxième commande et executer).
|| : est un porte ou .
II. Redirections des entrées/sorties.
> : permet de créez un fichier avec pour nom le mot écrit juste après ,écrivant seulement les commandes sans erreur.
>>: permet de écrire la commande sans erreur dans le fichier mit en ajouter sans réécrire le fichier.
2> : permet de créez un fichier avec pour nom le mot écrit juste après , écrivant seulement les commandes et le message d'erreur avec erreur.
2>&1 permet de créez un fichier avec pour le nom le mot écrit, écrivant les commandes et les message avec ou sans erreur.
> permet de rédictionner seulement la sortie standard.
< permet de rédirectionner seulement la rentré standard.
wc permet de voir le nombre de ligne , colone et nombre de caractère.
Exemple:
ls -l /etc/ > output_file permet de mettre dans le fichier output_file le résultat de la commande ls -l dans le dossier etc .

View File

@@ -0,0 +1,2 @@
ls: cannot access 'nofifi': No such file or directory
fifi

View File

@@ -35,6 +35,7 @@ Nous constatons que le code de status de la commande ls nofi est de 2.
Pipeline: Pipeline:
1. 1.
Avec la commande echo "Hello world1!" | echo "Hello world2!" ,nous redirigeons le Hello world2! dans un fichier spécial et le Hello world2! est écrit sur le terminal. Avec la commande echo "Hello world1!" | echo "Hello world2!" ,nous redirigeons le Hello world2! dans un fichier spécial et le Hello world2! est écrit sur le terminal.
2.
Avec la commande echo "Hello world2!" | echo "Hello world1!" ,nous redirigeons le Hello world1! dans un fichier spécial et le Hello world2! est écrit sur le terminal. Avec la commande echo "Hello world2!" | echo "Hello world1!" ,nous redirigeons le Hello world1! dans un fichier spécial et le Hello world2! est écrit sur le terminal.
(rajouter le signe | permet de rediriger tous se qu'il y avant sur un fichier spécial. (rajouter le signe | permet de rediriger tous se qu'il y avant sur un fichier spécial.

View File

@@ -1,4 +0,0 @@
II.
1. man bash
2. echo $?
3.

0
SCR1.1/TP02/tp02-reponses.txt~ → SCR1.1/TP03/fff Normal file → Executable file
View File

View File

@@ -0,0 +1,55 @@
I.Reconstituer un texte a partir de son encodage utf-8.
c2 = 1100 0010
On sait donc qu'il est coder sur 2 octects.
on prendre donc a5 (soit 1010 0101) on prendre donc 000 1010 0101 donc 0xa5 correspondant au ¥ (Yen).
2c = 0010 1100
On sait donc qu'il est coder sur 1 octect.
0 010 1100 soit 0x2c correspond a ,
20 = 0010 0000
on sait donc qu'il est coder sur 1 octect.
0 010 000 soit 0x20 correspondant a espace
e2 = 1110 0010
On sait donc qu'il est coder sur 3 octects
on prendre donc 99 (1001 1001) et a0 (1010 0000) donc 0010 0110 0110 0000 = 0x2660 donc ♠
II) La commande read du shell
1.
Pour accéder a la documentation d'une commande il faut faire man "commande"
2.
Pour accéder a la valeur d'une variable du shell il faut faire echo"$(nom varirable)" .
3.
read permet de mettre une valeur dans la variable susnommé par exemple read x puis bonjour, si on echo $x ca écrira bonjour.
4.
L'option à utilisé est -p
5.
L'option à utilisé est -n
6.
Il faut utiliser le signe ; par exemple ...;...
7.
read -p "Valeur de var" var; echo "Valeur de var" : $var"
III)
1)
Il faut mettre -e a echo et dans le "" mettre ·\U<valeur>"
2)
read -p "......" var ; echo -e " ...\U $var"
3)

96
SCR1.1/TP04/< Normal file
View File

@@ -0,0 +1,96 @@
I.
a)
localectl status
System Locale: LANG=en_US.UTF-8
VC Keymap: fr-latin1
X11 Layout: (unset)
b)
cat /etc/vconsole.conf
KEYMAP=fr-latin1
c)
localectl list-keymaps
3l
ANSI-dvorak
adnw
amiga-de
amiga-us
apple-a1048-sv
apple-a1243-sv
apple-a1243-sv-fn-reverse
apple-internal-0x0253-sv
apple-internal-0x0253-sv-fn-reverse
applkey
atari-de
atari-se
atari-uk-falcon
atari-us
azerty
backspace
bashkir
be-latin1
bg-cp1251
bg-cp855
bg_bds-cp1251
bg_bds-utf8
bg_pho-cp1251
bg_pho-utf8
bone
br-abnt
br-abnt2
br-latin1-abnt2
br-latin1-us
by
by-cp1251
bywin-cp1251
ca
carpalx
carpalx-full
cf
colemak
croat
ctrl
II.
1)
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1 259:0 0 476.9G 0 disk
├─nvme0n1p1 259:1 0 100M 0 part
├─nvme0n1p2 259:2 0 16M 0 part
├─nvme0n1p3 259:3 0 243.4G 0 part
├─nvme0n1p4 259:4 0 670M 0 part
├─nvme0n1p5 259:5 0 224G 0 part /
└─nvme0n1p6 259:6 0 8.8G 0 part [SWAP]
Le nom donné au disque dur est nvme0n1 et a été divisé en 666666ies.
lsblk -p
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
/dev/nvme0n1 259:0 0 476.9G 0 disk
├─/dev/nvme0n1p1 259:1 0 100M 0 part
├─/dev/nvme0n1p2 259:2 0 16M 0 part
├─/dev/nvme0n1p3 259:3 0 243.4G 0 part
├─/dev/nvme0n1p4 259:4 0 670M 0 part
├─/dev/nvme0n1p5 259:5 0 224G 0 part /
└─/dev/nvme0n1p6 259:6 0 8.8G 0 part [SWAP]
2)
cat /etc/fstab
findmbt --real
III.
1.
man man dit que c'est l'option -k la commande apropos (si elles est installer) est équivalente a man -keymap
2.On peut demander par man -k a ce qu'on nous propose une liste de commande et de fichiers de configuration par rapport au mot clé host . quand on est écrit man -k host, on lit les données des commandes et fichiers de configuration suggérés . on trouve que ce qu'o cherche est hostname qui es ta la fois une commande et le nom d'un fichier de configuration

View File

@@ -3,74 +3,73 @@ a)
localectl status localectl status
System Locale: LANG=en_US.UTF-8 System Locale: LANG=en_US.UTF-8
VC Keymap: fr-pc VC Keymap: fr-latin1
X11 Layout: (unset) X11 Layout: (unset)
b) b)
cat /etc/vconsole.conf cat /etc/vconsole.conf
KEYMAP=fr-pc KEYMAP=fr-latin1
c) c)
localectl list-x11-keymap-layouts localectl list-keymaps
af 3l
al ANSI-dvorak
am adnw
ara amiga-de
at amiga-us
au apple-a1048-sv
az apple-a1243-sv
ba apple-a1243-sv-fn-reverse
bd apple-internal-0x0253-sv
be apple-internal-0x0253-sv-fn-reverse
bg applkey
br atari-de
brai atari-se
bt atari-uk-falcon
bw atari-us
azerty
backspace
bashkir
be-latin1
bg-cp1251
bg-cp855
bg_bds-cp1251
bg_bds-utf8
bg_pho-cp1251
bg_pho-utf8
bone
br-abnt
br-abnt2
br-latin1-abnt2
br-latin1-us
by by
by-cp1251
bywin-cp1251
ca ca
cd carpalx
ch carpalx-full
cm cf
cn colemak
custom croat
cz ctrl
de
dk
dz
ee
epo
es
et
fi
fo
fr
gb
ge
gh
gn
gr
hr
hu
id
ie
II. II.
1) 1)
lsblk lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1 259:0 0 476.9G 0 disk nvme0n1 259:0 0 476.9G 0 disk
├─nvme0n1p1 259:1 0 100M 0 part ├─nvme0n1p1 259:1 0 100M 0 part
├─nvme0n1p2 259:2 0 16M 0 part ├─nvme0n1p2 259:2 0 16M 0 part
├─nvme0n1p3 259:3 0 243.4G 0 part ├─nvme0n1p3 259:3 0 243.4G 0 part
├─nvme0n1p4 259:4 0 670M 0 part ├─nvme0n1p4 259:4 0 670M 0 part
─nvme0n1p5 259:5 0 232.8G 0 part / ─nvme0n1p5 259:5 0 224G 0 part /
└─nvme0n1p6 259:6 0 8.8G 0 part [SWAP]
Le nom donné au disque dur est nvme0n1 et a été divisé en 5 parties. Le nom donné au disque dur est nvme0n1 et a été divisé en 6.
lsblk -p lsblk -p
@@ -80,14 +79,24 @@ NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
├─/dev/nvme0n1p2 259:2 0 16M 0 part ├─/dev/nvme0n1p2 259:2 0 16M 0 part
├─/dev/nvme0n1p3 259:3 0 243.4G 0 part ├─/dev/nvme0n1p3 259:3 0 243.4G 0 part
├─/dev/nvme0n1p4 259:4 0 670M 0 part ├─/dev/nvme0n1p4 259:4 0 670M 0 part
─/dev/nvme0n1p5 259:5 0 232.8G 0 part / ─/dev/nvme0n1p5 259:5 0 224G 0 part /
└─/dev/nvme0n1p6 259:6 0 8.8G 0 part [SWAP]
2) 2)
cat /etc/fstab cat /etc/fstab
findmbt --real permet de voir les fichiers et dossier mit au lancement de la machine.
cat /etc/mtab
permet de voir les fichiers et dossier monter
findmnt
permet de voir la même chose mais sous forme d'arbre
findmnt --real
permet de voir la même chose que cat /etc/fstab
III. III.
1. 1.
man man dit que c'est l'option -k la commande apropos (si elles est installer) est équivalente a man -keymap La commande a utiliser est ps aux |grep <mot clé>
2.On peut demander par man -k a ce qu'on nous propose une liste de commande et de fichiers de configuration par rapport au mot clé host . quand on est écrit man -k host, on lit les données des commandes et fichiers de configuration suggérés . on trouve que ce qu'o cherche est hostname qui es ta la fois une commande et le nom d'un fichier de configuration

View File

@@ -0,0 +1,38 @@
1.
L'option a donner a man pour qu'elle puisse nous suggérer une liste de commande en rapport avec un mot-clé est -k
La commande équivalente est a propos
2.
Le fichier de configuration où est défini le nom de la machine est dans hostname ce trouvant dans etc/hostname
3.
La version du noyau opérationnel dans la machine est 6.6.50-1-lts
4.
Elle possède 12 coeurs (/etc/proc/cpuinfo)
5.
Le processeur a pour max MHz:4600 et min MHz:800 .
6.
Le vendeur du processeur est intel
7.
L'endianess de la machine ce trouve dans le lscpu a la ligne Byte Order.
8.
Les périphériques connectés a la carte système est dans lspci.
Les pilotes qui dialogue avec le controleur d'un périphérique est dans lspci -v.
9.
Pour obtenir la liste des modules et en particulier les pilotes chargés dabs le noyau il faut utiliser la commande lsmod.
10.
Le vendeur de la carte Ethernet est intel
Le nom du pilote est e1000e
11.
La taille de la mémoire principale est de 16170580 kB
12.
La taille de la mémoire de la carte graphique est de 8G

View File

@@ -0,0 +1,30 @@
SOLAR Dimitri Groupe5
Exercice 1:
Il faut utiliser la commande less proc/cpuinfo pour affcher les caractéristique du processeur de la machine.
Le nom du fichier où ce trouve les informations est cpuinfo.
Exercice 2:
rm ../BB/ff
Exercice 3:
1.
En sachant que le répertoire CC n'existe pas le répertoire CC vas se créé avec mkdir puis avec la commande cd CC nous allons nous déplacer dans le répertoire CC.
2.
Si le répertoire CC existe déjà la commande ne pas être executé, le répertoire CC ne se créé pas avec mkdir car il existe déjà, puis en sachant que && signifie que si la commande 1 (gauche) n'a pas d'erreur on l'exécute mais dans notre exemple mkdir a une erreur,par conséquence la commande cd CC ne s'exécutera pas,sur le terminal nous verrons une phrase nous signifiant que le répertoire CC existe déjà.
3.
Nous voulons créé un répertoire dans un autre répertoire ou nous avant aucune permission. Par conséquence quand nous allons exécuter la commande mkdir CC && cd CC il ,le terminal affichera acces denied nous signifiant qu'il nous est impossible d'utiliser cette commande.
Exercie 4:
echo -n "string 1: " ;read s1 ; echo -n "string 2: " ;read s2 ; echo "The result is:" $s1 $s2

View File

@@ -0,0 +1,30 @@
SOLAR Dimitri Groupe5
Exercice 1:
Il faut utiliser la commande less proc/cpuinfo pour affcher les caractéristique du processeur de la machine
Le nom du fichier où ce trouve les informations est cpuinfo
Exercice 2:
rm ../BB/ff
Exercice 3:
1.
En sachant que le répertoire CC n'existe pas le répertoire CC vas se créé avec mkdir puis avec la commande cd CC nous allons nous déplacer dans le répertoire CC
2.
Si le répertoire CC existe déjà la commande ne pas être executé, le répertoire CC ne se créé pas avec mkdir car il existe déjà, puis en sachant que && signifie que si la commande 1 (gauche) n'a pas d'erreur on l'exécute mais dans notre exemple mkdir a une erreur,par conséquence la commande cd CC ne s'exécutera pas,sur le terminal nous verrons une phrase nous signifiant que le répertoire CC existe déjà.
3.
Nous voulons créé un répertoire dans un autre répertoire ou nous avant aucune permission. Par conséquence quand nous allons exécuter la commande mkdir CC && cd CC il ,le terminal affichera acces denied nous signifiant qu'il nous est impossible d'utiliser cette commande.
Exercie 4:
echo -n "string 1: " ;read s1 ; echo -n "string 2: " ;read s2 ; echo "The result is:" $s1 $s2

View File

@@ -0,0 +1,35 @@
#SOLAR Dimitri Groupe 5
#!/bin/bash
#
# any2dec.sh <radix> <string_representation_in_that_radix>
#
if [[ $# -lt 2 ]]
then
echo "Usage: $0 <radix> <string_representation_in_that_radix>"
exit
fi
if [[ $1 -lt 2 || $1 -gt 36 ]]
then
echo "The radix is a decimal between 2 and 36"
exit
fi
DIGITS=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
LEGAL_DIGITS=$(expr substr $DIGITS 1 $1)
decimal=0
l=$(expr length $2)
pow_radix=1;
for ((i=0;i<l;i++))
do
digit=$(expr substr $2 $((l-i)) 1)
pos=$(expr index $LEGAL_DIGITS $digit)
if [[ pos -eq 0 ]]
then
echo "Authorized digits are : $LEGAL_DIGITS"; exit
fi
digit_val=$((pos-1))
decimal=$((decimal+digit_val*pow_radix))
pow_radix=$(($1*pow_radix))
done
echo "decimal : $decimal"
exit

View File

@@ -12,9 +12,19 @@ ls -d GLOB/?[[:digit:]]* GLOB/gLob/?[[:digit:]]
Nous permet de voir les fichiers et dossiers de GLOB/ et de GLOB/gLob/ le deuximeme caractère est un chiffre Nous permet de voir les fichiers et dossiers de GLOB/ et de GLOB/gLob/ le deuximeme caractère est un chiffre
4. 4.
ls -d GLOB/*[[digit:]][[digit:]]* ls -d GLOB/*[[:digit:]][[:digit:]]*
Nous permet de voir les fichiers et dossiers de GLOB/ qui contiennent au moins un nombre dau moins 2 chiffres. Nous permet de voir les fichiers et dossiers de GLOB/ qui contiennent au moins un nombre dau moins 2 chiffres.
II. II.
1. 2.
"Basculer les valeurs des paramètres contrôlant le comportement optionnel du shell"
3.
Ca met que le dossier n'existe pas
puis shopt -s nullglob pour enable
(shopt -u nullglob pour disable)
la commande ne fait rien.

View File

@@ -1,10 +0,0 @@
(Gauche à Droite)
exprlength stock_market : 12, car il y a 12 caractère.
expr substr stock_market 1 5 : stock, car on part du caractère 1 et on prend 5 caractère.
expr substr stock_market 7 12 : market, car on part du 7ème caractère et prend jusqu'a la 12ème caractère.
expr index stock_market "_" : 6 , car _ est le 6ème caractère.
expr index stock_market "_c" : 4 ,car on s'arrête quand un des caractère entre guillemet est trouver.

View File

@@ -1,5 +1,5 @@
I. I.
exprlength stock_market : 12, car il y a 12 caractère. expr length stock_market : 12, car il y a 12 caractère.
expr substr stock_market 1 5 : stock, car on part du caractère 1 et on prend 5 caractère. expr substr stock_market 1 5 : stock, car on part du caractère 1 et on prend 5 caractère.
@@ -30,6 +30,7 @@ $ echo $((2#101))
$ echo $((2#101110)) $ echo $((2#101110))
46 46
4)
addr_dot=$((2#$x)).$((2#$y)).$((2#$z)).$((2#$t)) addr_dot=$((2#$x)).$((2#$y)).$((2#$z)).$((2#$t))
echo $addr_dot echo $addr_dot
178.226.135.114 178.226.135.114
@@ -41,3 +42,9 @@ tail -n +2 ls-output.txt |sort -k 5h
l'ordre croissant l'ordre croissant
tail -n +2 ls-output.txt |sort -k 5hr tail -n +2 ls-output.txt |sort -k 5hr
l'ordre décroissant l'ordre décroissant
2
tail find-output.txt | sort -d -k 3 find-output.txt
tail find-output.txt | sort -d -k -r find-output.txt

View File

@@ -20,13 +20,13 @@ for ((i=1;i<=7;i++));do echo $i;done
5 5
6 6
7 7
La ligne de commande permet de la même chose que seq 7. La ligne de commande permet la même chose que seq 7.
b) b)
Dans un fichier je place les lignes de commandes: Dans un fichier je place les lignes de commandes:
for ((i=1; i<=$1; i++)); do for ((i=1; i<=$1; i++));
echo $i do echo $i
done done
puis j'écrit chmod +x my_seq.sh dans le terminal puis ecrit ./my_seq.sh 45 et sa affiche la liste de 1 a 45 puis j'écrit chmod +x my_seq.sh dans le terminal puis ecrit ./my_seq.sh 45 et sa affiche la liste de 1 a 45
@@ -45,26 +45,22 @@ fi
do do
for ((j=$1;j<=$2;j++)) for ((j=$1;j<=$2;j++))
do do
echo -n "$((i*j))" echo -n "$((i*j)) "
done done
echo -e "\n" echo -e "\n"
done done
exit exit
3) 3)
a)
On place dans un fichier qui se prénome bin2dot-with-for.sh les lignes de commandes suivantes: On place dans un fichier qui se prénome bin2dot-with-for.sh les lignes de commandes suivantes:
if [[ $# -lt 2 ]] if [[ $# -lt 2 ]]
then echo "usage: $0 <SRC_FILE> <DEST_FILE>" then echo "usage: $0 <SRC_FILE> <DEST_FILE>"
exit exit
fi fi
if [[! -f $1]]
then echo "$1 doesn't exist or is not regular"
exit
fi
for addr in $(cat $1)
for addr in $(cat$1)
do do
x=$(expr substr $addr 1 8) x=$(expr substr $addr 1 8)
y=$(expr substr $addr 9 8) y=$(expr substr $addr 9 8)
@@ -73,5 +69,19 @@ t=$(expr substr $addr 25 8)
addr_dot=$((2#$x)).$((2#$y)).$((2#$z)).$((2#$t)) addr_dot=$((2#$x)).$((2#$y)).$((2#$z)).$((2#$t))
echo $addr_dot echo $addr_dot
done>$2 done>$2
exit exit
b)
read x ; on saisit, disons 7 et on valide (<CR>). Tout de suite apr`es, on fait :
echo "$? x=$x". Elle affiche 0 x=7
On recommence avec read x, en tapant directement <CR>, sans rien saisir. Alors :
echo "$? x=$x" ; affiche --> 0 x=
On recommence avec read x, sans rien saisir et sans taper <CR> mais en tapant CTRL-D
(rappel : signifie fin du fichier entrée standard). Alors :
echo "$? x=$x" ; affiche --> 1 x=

View File

@@ -2,13 +2,8 @@ if [[ $# -lt 2 ]]
then echo "usage: $0 <SRC_FILE> <DEST_FILE>" then echo "usage: $0 <SRC_FILE> <DEST_FILE>"
exit exit
fi fi
if [[! -f $1]]
then echo "$1 doesn't exist or is not regular"
exit
fi
for addr in $(cat $1)
for addr in $(cat$1)
do do
x=$(expr substr $addr 1 8) x=$(expr substr $addr 1 8)
y=$(expr substr $addr 9 8) y=$(expr substr $addr 9 8)

View File

@@ -0,0 +1,13 @@
#!/bin/bash
for addr in $(cat $1)
do
x=$(expr substr $addr 1 8)
y=$(expr substr $addr 9 8)
z=$(expr substr $addr 17 8)
t=$(expr substr $addr 25 8)
addr_dot=$((2#$x)).$((2#$y)).$((2#$z)).$((2#$t))
echo $addr_dot
done>$2
exit

View File

@@ -0,0 +1,4 @@
10110010111000101000011101110010
11100101110001010101100101010010
00110010111001101000010001110010
11110000111111110000000010101010

View File

@@ -0,0 +1,4 @@
178.226.135.114
229.197.89.82
50.230.132.114
240.255.0.170

View File

@@ -9,7 +9,7 @@ fi
do do
for ((j=$1;j<=$2;j++)) for ((j=$1;j<=$2;j++))
do do
echo -n "$((i*j))" echo -n "$((i*j)) "
done done
echo -e "\n" echo -e "\n"
done done

View File

@@ -0,0 +1,8 @@
#!/bin/bash
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
[[ $1 == "add" ]] || exit 0
[[ $2 ]] || exit 1
exec depmod -a "$2"

View File

@@ -0,0 +1,12 @@
#!/bin/sh
case $1 in
add)
mkinitcpio -k "$2" -g "$3"/initrd
;;
remove)
rm -f -- "$3"/initrd
;;
esac
# vim: set ft=sh ts=4 sw=4 et:

View File

@@ -0,0 +1,89 @@
#!/bin/bash
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
COMMAND="$1"
KERNEL_VERSION="$2"
BOOT_DIR_ABS="$3"
KERNEL_IMAGE="$4"
if [[ -f /etc/machine-id ]]; then
read MACHINE_ID < /etc/machine-id
fi
if ! [[ $MACHINE_ID ]]; then
exit 1
fi
BOOT_DIR="/$MACHINE_ID/$KERNEL_VERSION"
LOADER_ENTRY="/boot/loader/entries/$MACHINE_ID-$KERNEL_VERSION.conf"
if [[ $COMMAND == remove ]]; then
exec rm -f "$LOADER_ENTRY"
fi
if ! [[ $COMMAND == add ]]; then
exit 1
fi
if ! [[ $KERNEL_IMAGE ]]; then
exit 1
fi
if [[ -f /etc/os-release ]]; then
. /etc/os-release
elif [[ -f /usr/lib/os-release ]]; then
. /usr/lib/os-release
fi
if ! [[ $PRETTY_NAME ]]; then
PRETTY_NAME="Linux $KERNEL_VERSION"
fi
declare -a BOOT_OPTIONS
if [[ -f /etc/kernel/cmdline ]]; then
readarray -t BOOT_OPTIONS < /etc/kernel/cmdline
fi
if ! [[ ${BOOT_OPTIONS[*]} ]]; then
readarray -t line < /proc/cmdline
for i in ${line[*]}; do
if [[ "${i#initrd=*}" == "$i" ]]; then
BOOT_OPTIONS[${#BOOT_OPTIONS[@]}]="$i"
fi
done
fi
if ! [[ ${BOOT_OPTIONS[*]} ]]; then
echo "Could not determine the kernel command line parameters." >&2
echo "Please specify the kernel command line in /etc/kernel/cmdline!" >&2
exit 1
fi
cp "$KERNEL_IMAGE" "$BOOT_DIR_ABS/linux" &&
chown root:root "$BOOT_DIR_ABS/linux" &&
chmod 0644 "$BOOT_DIR_ABS/linux" || {
echo "Could not copy '$KERNEL_IMAGE to '$BOOT_DIR_ABS/linux'." >&2
exit 1
}
mkdir -p "${LOADER_ENTRY%/*}" || {
echo "Could not create loader entry directory '${LOADER_ENTRY%/*}'." >&2
exit 1
}
{
echo "title $PRETTY_NAME"
echo "version $KERNEL_VERSION"
echo "machine-id $MACHINE_ID"
echo "options ${BOOT_OPTIONS[*]}"
echo "linux $BOOT_DIR/linux"
[[ -f $BOOT_DIR_ABS/initrd ]] && \
echo "initrd $BOOT_DIR/initrd"
:
} > "$LOADER_ENTRY" || {
echo "Could not create loader entry '$LOADER_ENTRY'." >&2
exit 1
}
exit 0

View File

@@ -0,0 +1,8 @@
#!/bin/bash
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
[[ $1 == "add" ]] || exit 0
[[ $2 ]] || exit 1
exec depmod -a "$2"

View File

@@ -0,0 +1,12 @@
#!/bin/sh
case $1 in
add)
mkinitcpio -k "$2" -g "$3"/initrd
;;
remove)
rm -f -- "$3"/initrd
;;
esac
# vim: set ft=sh ts=4 sw=4 et:

View File

@@ -0,0 +1,89 @@
#!/bin/bash
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
COMMAND="$1"
KERNEL_VERSION="$2"
BOOT_DIR_ABS="$3"
KERNEL_IMAGE="$4"
if [[ -f /etc/machine-id ]]; then
read MACHINE_ID < /etc/machine-id
fi
if ! [[ $MACHINE_ID ]]; then
exit 1
fi
BOOT_DIR="/$MACHINE_ID/$KERNEL_VERSION"
LOADER_ENTRY="/boot/loader/entries/$MACHINE_ID-$KERNEL_VERSION.conf"
if [[ $COMMAND == remove ]]; then
exec rm -f "$LOADER_ENTRY"
fi
if ! [[ $COMMAND == add ]]; then
exit 1
fi
if ! [[ $KERNEL_IMAGE ]]; then
exit 1
fi
if [[ -f /etc/os-release ]]; then
. /etc/os-release
elif [[ -f /usr/lib/os-release ]]; then
. /usr/lib/os-release
fi
if ! [[ $PRETTY_NAME ]]; then
PRETTY_NAME="Linux $KERNEL_VERSION"
fi
declare -a BOOT_OPTIONS
if [[ -f /etc/kernel/cmdline ]]; then
readarray -t BOOT_OPTIONS < /etc/kernel/cmdline
fi
if ! [[ ${BOOT_OPTIONS[*]} ]]; then
readarray -t line < /proc/cmdline
for i in ${line[*]}; do
if [[ "${i#initrd=*}" == "$i" ]]; then
BOOT_OPTIONS[${#BOOT_OPTIONS[@]}]="$i"
fi
done
fi
if ! [[ ${BOOT_OPTIONS[*]} ]]; then
echo "Could not determine the kernel command line parameters." >&2
echo "Please specify the kernel command line in /etc/kernel/cmdline!" >&2
exit 1
fi
cp "$KERNEL_IMAGE" "$BOOT_DIR_ABS/linux" &&
chown root:root "$BOOT_DIR_ABS/linux" &&
chmod 0644 "$BOOT_DIR_ABS/linux" || {
echo "Could not copy '$KERNEL_IMAGE to '$BOOT_DIR_ABS/linux'." >&2
exit 1
}
mkdir -p "${LOADER_ENTRY%/*}" || {
echo "Could not create loader entry directory '${LOADER_ENTRY%/*}'." >&2
exit 1
}
{
echo "title $PRETTY_NAME"
echo "version $KERNEL_VERSION"
echo "machine-id $MACHINE_ID"
echo "options ${BOOT_OPTIONS[*]}"
echo "linux $BOOT_DIR/linux"
[[ -f $BOOT_DIR_ABS/initrd ]] && \
echo "initrd $BOOT_DIR/initrd"
:
} > "$LOADER_ENTRY" || {
echo "Could not create loader entry '$LOADER_ENTRY'." >&2
exit 1
}
exit 0

View File

@@ -0,0 +1,8 @@
#!/bin/bash
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
[[ $1 == "add" ]] || exit 0
[[ $2 ]] || exit 1
exec depmod -a "$2"

View File

@@ -0,0 +1,12 @@
#!/bin/sh
case $1 in
add)
mkinitcpio -k "$2" -g "$3"/initrd
;;
remove)
rm -f -- "$3"/initrd
;;
esac
# vim: set ft=sh ts=4 sw=4 et:

View File

@@ -0,0 +1,89 @@
#!/bin/bash
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
COMMAND="$1"
KERNEL_VERSION="$2"
BOOT_DIR_ABS="$3"
KERNEL_IMAGE="$4"
if [[ -f /etc/machine-id ]]; then
read MACHINE_ID < /etc/machine-id
fi
if ! [[ $MACHINE_ID ]]; then
exit 1
fi
BOOT_DIR="/$MACHINE_ID/$KERNEL_VERSION"
LOADER_ENTRY="/boot/loader/entries/$MACHINE_ID-$KERNEL_VERSION.conf"
if [[ $COMMAND == remove ]]; then
exec rm -f "$LOADER_ENTRY"
fi
if ! [[ $COMMAND == add ]]; then
exit 1
fi
if ! [[ $KERNEL_IMAGE ]]; then
exit 1
fi
if [[ -f /etc/os-release ]]; then
. /etc/os-release
elif [[ -f /usr/lib/os-release ]]; then
. /usr/lib/os-release
fi
if ! [[ $PRETTY_NAME ]]; then
PRETTY_NAME="Linux $KERNEL_VERSION"
fi
declare -a BOOT_OPTIONS
if [[ -f /etc/kernel/cmdline ]]; then
readarray -t BOOT_OPTIONS < /etc/kernel/cmdline
fi
if ! [[ ${BOOT_OPTIONS[*]} ]]; then
readarray -t line < /proc/cmdline
for i in ${line[*]}; do
if [[ "${i#initrd=*}" == "$i" ]]; then
BOOT_OPTIONS[${#BOOT_OPTIONS[@]}]="$i"
fi
done
fi
if ! [[ ${BOOT_OPTIONS[*]} ]]; then
echo "Could not determine the kernel command line parameters." >&2
echo "Please specify the kernel command line in /etc/kernel/cmdline!" >&2
exit 1
fi
cp "$KERNEL_IMAGE" "$BOOT_DIR_ABS/linux" &&
chown root:root "$BOOT_DIR_ABS/linux" &&
chmod 0644 "$BOOT_DIR_ABS/linux" || {
echo "Could not copy '$KERNEL_IMAGE to '$BOOT_DIR_ABS/linux'." >&2
exit 1
}
mkdir -p "${LOADER_ENTRY%/*}" || {
echo "Could not create loader entry directory '${LOADER_ENTRY%/*}'." >&2
exit 1
}
{
echo "title $PRETTY_NAME"
echo "version $KERNEL_VERSION"
echo "machine-id $MACHINE_ID"
echo "options ${BOOT_OPTIONS[*]}"
echo "linux $BOOT_DIR/linux"
[[ -f $BOOT_DIR_ABS/initrd ]] && \
echo "initrd $BOOT_DIR/initrd"
:
} > "$LOADER_ENTRY" || {
echo "Could not create loader entry '$LOADER_ENTRY'." >&2
exit 1
}
exit 0

View File

@@ -0,0 +1,8 @@
#!/bin/bash
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
[[ $1 == "add" ]] || exit 0
[[ $2 ]] || exit 1
exec depmod -a "$2"

View File

@@ -0,0 +1,12 @@
#!/bin/sh
case $1 in
add)
mkinitcpio -k "$2" -g "$3"/initrd
;;
remove)
rm -f -- "$3"/initrd
;;
esac
# vim: set ft=sh ts=4 sw=4 et:

View File

@@ -0,0 +1,89 @@
#!/bin/bash
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
COMMAND="$1"
KERNEL_VERSION="$2"
BOOT_DIR_ABS="$3"
KERNEL_IMAGE="$4"
if [[ -f /etc/machine-id ]]; then
read MACHINE_ID < /etc/machine-id
fi
if ! [[ $MACHINE_ID ]]; then
exit 1
fi
BOOT_DIR="/$MACHINE_ID/$KERNEL_VERSION"
LOADER_ENTRY="/boot/loader/entries/$MACHINE_ID-$KERNEL_VERSION.conf"
if [[ $COMMAND == remove ]]; then
exec rm -f "$LOADER_ENTRY"
fi
if ! [[ $COMMAND == add ]]; then
exit 1
fi
if ! [[ $KERNEL_IMAGE ]]; then
exit 1
fi
if [[ -f /etc/os-release ]]; then
. /etc/os-release
elif [[ -f /usr/lib/os-release ]]; then
. /usr/lib/os-release
fi
if ! [[ $PRETTY_NAME ]]; then
PRETTY_NAME="Linux $KERNEL_VERSION"
fi
declare -a BOOT_OPTIONS
if [[ -f /etc/kernel/cmdline ]]; then
readarray -t BOOT_OPTIONS < /etc/kernel/cmdline
fi
if ! [[ ${BOOT_OPTIONS[*]} ]]; then
readarray -t line < /proc/cmdline
for i in ${line[*]}; do
if [[ "${i#initrd=*}" == "$i" ]]; then
BOOT_OPTIONS[${#BOOT_OPTIONS[@]}]="$i"
fi
done
fi
if ! [[ ${BOOT_OPTIONS[*]} ]]; then
echo "Could not determine the kernel command line parameters." >&2
echo "Please specify the kernel command line in /etc/kernel/cmdline!" >&2
exit 1
fi
cp "$KERNEL_IMAGE" "$BOOT_DIR_ABS/linux" &&
chown root:root "$BOOT_DIR_ABS/linux" &&
chmod 0644 "$BOOT_DIR_ABS/linux" || {
echo "Could not copy '$KERNEL_IMAGE to '$BOOT_DIR_ABS/linux'." >&2
exit 1
}
mkdir -p "${LOADER_ENTRY%/*}" || {
echo "Could not create loader entry directory '${LOADER_ENTRY%/*}'." >&2
exit 1
}
{
echo "title $PRETTY_NAME"
echo "version $KERNEL_VERSION"
echo "machine-id $MACHINE_ID"
echo "options ${BOOT_OPTIONS[*]}"
echo "linux $BOOT_DIR/linux"
[[ -f $BOOT_DIR_ABS/initrd ]] && \
echo "initrd $BOOT_DIR/initrd"
:
} > "$LOADER_ENTRY" || {
echo "Could not create loader entry '$LOADER_ENTRY'." >&2
exit 1
}
exit 0

View File

@@ -0,0 +1,8 @@
#!/bin/bash
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
[[ $1 == "add" ]] || exit 0
[[ $2 ]] || exit 1
exec depmod -a "$2"

View File

@@ -0,0 +1,12 @@
#!/bin/sh
case $1 in
add)
mkinitcpio -k "$2" -g "$3"/initrd
;;
remove)
rm -f -- "$3"/initrd
;;
esac
# vim: set ft=sh ts=4 sw=4 et:

View File

@@ -0,0 +1,89 @@
#!/bin/bash
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
COMMAND="$1"
KERNEL_VERSION="$2"
BOOT_DIR_ABS="$3"
KERNEL_IMAGE="$4"
if [[ -f /etc/machine-id ]]; then
read MACHINE_ID < /etc/machine-id
fi
if ! [[ $MACHINE_ID ]]; then
exit 1
fi
BOOT_DIR="/$MACHINE_ID/$KERNEL_VERSION"
LOADER_ENTRY="/boot/loader/entries/$MACHINE_ID-$KERNEL_VERSION.conf"
if [[ $COMMAND == remove ]]; then
exec rm -f "$LOADER_ENTRY"
fi
if ! [[ $COMMAND == add ]]; then
exit 1
fi
if ! [[ $KERNEL_IMAGE ]]; then
exit 1
fi
if [[ -f /etc/os-release ]]; then
. /etc/os-release
elif [[ -f /usr/lib/os-release ]]; then
. /usr/lib/os-release
fi
if ! [[ $PRETTY_NAME ]]; then
PRETTY_NAME="Linux $KERNEL_VERSION"
fi
declare -a BOOT_OPTIONS
if [[ -f /etc/kernel/cmdline ]]; then
readarray -t BOOT_OPTIONS < /etc/kernel/cmdline
fi
if ! [[ ${BOOT_OPTIONS[*]} ]]; then
readarray -t line < /proc/cmdline
for i in ${line[*]}; do
if [[ "${i#initrd=*}" == "$i" ]]; then
BOOT_OPTIONS[${#BOOT_OPTIONS[@]}]="$i"
fi
done
fi
if ! [[ ${BOOT_OPTIONS[*]} ]]; then
echo "Could not determine the kernel command line parameters." >&2
echo "Please specify the kernel command line in /etc/kernel/cmdline!" >&2
exit 1
fi
cp "$KERNEL_IMAGE" "$BOOT_DIR_ABS/linux" &&
chown root:root "$BOOT_DIR_ABS/linux" &&
chmod 0644 "$BOOT_DIR_ABS/linux" || {
echo "Could not copy '$KERNEL_IMAGE to '$BOOT_DIR_ABS/linux'." >&2
exit 1
}
mkdir -p "${LOADER_ENTRY%/*}" || {
echo "Could not create loader entry directory '${LOADER_ENTRY%/*}'." >&2
exit 1
}
{
echo "title $PRETTY_NAME"
echo "version $KERNEL_VERSION"
echo "machine-id $MACHINE_ID"
echo "options ${BOOT_OPTIONS[*]}"
echo "linux $BOOT_DIR/linux"
[[ -f $BOOT_DIR_ABS/initrd ]] && \
echo "initrd $BOOT_DIR/initrd"
:
} > "$LOADER_ENTRY" || {
echo "Could not create loader entry '$LOADER_ENTRY'." >&2
exit 1
}
exit 0

View File

@@ -0,0 +1,8 @@
#!/bin/bash
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
[[ $1 == "add" ]] || exit 0
[[ $2 ]] || exit 1
exec depmod -a "$2"

View File

@@ -0,0 +1,12 @@
#!/bin/sh
case $1 in
add)
mkinitcpio -k "$2" -g "$3"/initrd
;;
remove)
rm -f -- "$3"/initrd
;;
esac
# vim: set ft=sh ts=4 sw=4 et:

View File

@@ -0,0 +1,89 @@
#!/bin/bash
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
COMMAND="$1"
KERNEL_VERSION="$2"
BOOT_DIR_ABS="$3"
KERNEL_IMAGE="$4"
if [[ -f /etc/machine-id ]]; then
read MACHINE_ID < /etc/machine-id
fi
if ! [[ $MACHINE_ID ]]; then
exit 1
fi
BOOT_DIR="/$MACHINE_ID/$KERNEL_VERSION"
LOADER_ENTRY="/boot/loader/entries/$MACHINE_ID-$KERNEL_VERSION.conf"
if [[ $COMMAND == remove ]]; then
exec rm -f "$LOADER_ENTRY"
fi
if ! [[ $COMMAND == add ]]; then
exit 1
fi
if ! [[ $KERNEL_IMAGE ]]; then
exit 1
fi
if [[ -f /etc/os-release ]]; then
. /etc/os-release
elif [[ -f /usr/lib/os-release ]]; then
. /usr/lib/os-release
fi
if ! [[ $PRETTY_NAME ]]; then
PRETTY_NAME="Linux $KERNEL_VERSION"
fi
declare -a BOOT_OPTIONS
if [[ -f /etc/kernel/cmdline ]]; then
readarray -t BOOT_OPTIONS < /etc/kernel/cmdline
fi
if ! [[ ${BOOT_OPTIONS[*]} ]]; then
readarray -t line < /proc/cmdline
for i in ${line[*]}; do
if [[ "${i#initrd=*}" == "$i" ]]; then
BOOT_OPTIONS[${#BOOT_OPTIONS[@]}]="$i"
fi
done
fi
if ! [[ ${BOOT_OPTIONS[*]} ]]; then
echo "Could not determine the kernel command line parameters." >&2
echo "Please specify the kernel command line in /etc/kernel/cmdline!" >&2
exit 1
fi
cp "$KERNEL_IMAGE" "$BOOT_DIR_ABS/linux" &&
chown root:root "$BOOT_DIR_ABS/linux" &&
chmod 0644 "$BOOT_DIR_ABS/linux" || {
echo "Could not copy '$KERNEL_IMAGE to '$BOOT_DIR_ABS/linux'." >&2
exit 1
}
mkdir -p "${LOADER_ENTRY%/*}" || {
echo "Could not create loader entry directory '${LOADER_ENTRY%/*}'." >&2
exit 1
}
{
echo "title $PRETTY_NAME"
echo "version $KERNEL_VERSION"
echo "machine-id $MACHINE_ID"
echo "options ${BOOT_OPTIONS[*]}"
echo "linux $BOOT_DIR/linux"
[[ -f $BOOT_DIR_ABS/initrd ]] && \
echo "initrd $BOOT_DIR/initrd"
:
} > "$LOADER_ENTRY" || {
echo "Could not create loader entry '$LOADER_ENTRY'." >&2
exit 1
}
exit 0

View File

@@ -0,0 +1,8 @@
#!/bin/bash
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
[[ $1 == "add" ]] || exit 0
[[ $2 ]] || exit 1
exec depmod -a "$2"

View File

@@ -0,0 +1,12 @@
#!/bin/sh
case $1 in
add)
mkinitcpio -k "$2" -g "$3"/initrd
;;
remove)
rm -f -- "$3"/initrd
;;
esac
# vim: set ft=sh ts=4 sw=4 et:

View File

@@ -0,0 +1,89 @@
#!/bin/bash
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
COMMAND="$1"
KERNEL_VERSION="$2"
BOOT_DIR_ABS="$3"
KERNEL_IMAGE="$4"
if [[ -f /etc/machine-id ]]; then
read MACHINE_ID < /etc/machine-id
fi
if ! [[ $MACHINE_ID ]]; then
exit 1
fi
BOOT_DIR="/$MACHINE_ID/$KERNEL_VERSION"
LOADER_ENTRY="/boot/loader/entries/$MACHINE_ID-$KERNEL_VERSION.conf"
if [[ $COMMAND == remove ]]; then
exec rm -f "$LOADER_ENTRY"
fi
if ! [[ $COMMAND == add ]]; then
exit 1
fi
if ! [[ $KERNEL_IMAGE ]]; then
exit 1
fi
if [[ -f /etc/os-release ]]; then
. /etc/os-release
elif [[ -f /usr/lib/os-release ]]; then
. /usr/lib/os-release
fi
if ! [[ $PRETTY_NAME ]]; then
PRETTY_NAME="Linux $KERNEL_VERSION"
fi
declare -a BOOT_OPTIONS
if [[ -f /etc/kernel/cmdline ]]; then
readarray -t BOOT_OPTIONS < /etc/kernel/cmdline
fi
if ! [[ ${BOOT_OPTIONS[*]} ]]; then
readarray -t line < /proc/cmdline
for i in ${line[*]}; do
if [[ "${i#initrd=*}" == "$i" ]]; then
BOOT_OPTIONS[${#BOOT_OPTIONS[@]}]="$i"
fi
done
fi
if ! [[ ${BOOT_OPTIONS[*]} ]]; then
echo "Could not determine the kernel command line parameters." >&2
echo "Please specify the kernel command line in /etc/kernel/cmdline!" >&2
exit 1
fi
cp "$KERNEL_IMAGE" "$BOOT_DIR_ABS/linux" &&
chown root:root "$BOOT_DIR_ABS/linux" &&
chmod 0644 "$BOOT_DIR_ABS/linux" || {
echo "Could not copy '$KERNEL_IMAGE to '$BOOT_DIR_ABS/linux'." >&2
exit 1
}
mkdir -p "${LOADER_ENTRY%/*}" || {
echo "Could not create loader entry directory '${LOADER_ENTRY%/*}'." >&2
exit 1
}
{
echo "title $PRETTY_NAME"
echo "version $KERNEL_VERSION"
echo "machine-id $MACHINE_ID"
echo "options ${BOOT_OPTIONS[*]}"
echo "linux $BOOT_DIR/linux"
[[ -f $BOOT_DIR_ABS/initrd ]] && \
echo "initrd $BOOT_DIR/initrd"
:
} > "$LOADER_ENTRY" || {
echo "Could not create loader entry '$LOADER_ENTRY'." >&2
exit 1
}
exit 0

View File

@@ -0,0 +1,8 @@
#!/bin/bash
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
[[ $1 == "add" ]] || exit 0
[[ $2 ]] || exit 1
exec depmod -a "$2"

View File

@@ -0,0 +1,12 @@
#!/bin/sh
case $1 in
add)
mkinitcpio -k "$2" -g "$3"/initrd
;;
remove)
rm -f -- "$3"/initrd
;;
esac
# vim: set ft=sh ts=4 sw=4 et:

View File

@@ -0,0 +1,89 @@
#!/bin/bash
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
COMMAND="$1"
KERNEL_VERSION="$2"
BOOT_DIR_ABS="$3"
KERNEL_IMAGE="$4"
if [[ -f /etc/machine-id ]]; then
read MACHINE_ID < /etc/machine-id
fi
if ! [[ $MACHINE_ID ]]; then
exit 1
fi
BOOT_DIR="/$MACHINE_ID/$KERNEL_VERSION"
LOADER_ENTRY="/boot/loader/entries/$MACHINE_ID-$KERNEL_VERSION.conf"
if [[ $COMMAND == remove ]]; then
exec rm -f "$LOADER_ENTRY"
fi
if ! [[ $COMMAND == add ]]; then
exit 1
fi
if ! [[ $KERNEL_IMAGE ]]; then
exit 1
fi
if [[ -f /etc/os-release ]]; then
. /etc/os-release
elif [[ -f /usr/lib/os-release ]]; then
. /usr/lib/os-release
fi
if ! [[ $PRETTY_NAME ]]; then
PRETTY_NAME="Linux $KERNEL_VERSION"
fi
declare -a BOOT_OPTIONS
if [[ -f /etc/kernel/cmdline ]]; then
readarray -t BOOT_OPTIONS < /etc/kernel/cmdline
fi
if ! [[ ${BOOT_OPTIONS[*]} ]]; then
readarray -t line < /proc/cmdline
for i in ${line[*]}; do
if [[ "${i#initrd=*}" == "$i" ]]; then
BOOT_OPTIONS[${#BOOT_OPTIONS[@]}]="$i"
fi
done
fi
if ! [[ ${BOOT_OPTIONS[*]} ]]; then
echo "Could not determine the kernel command line parameters." >&2
echo "Please specify the kernel command line in /etc/kernel/cmdline!" >&2
exit 1
fi
cp "$KERNEL_IMAGE" "$BOOT_DIR_ABS/linux" &&
chown root:root "$BOOT_DIR_ABS/linux" &&
chmod 0644 "$BOOT_DIR_ABS/linux" || {
echo "Could not copy '$KERNEL_IMAGE to '$BOOT_DIR_ABS/linux'." >&2
exit 1
}
mkdir -p "${LOADER_ENTRY%/*}" || {
echo "Could not create loader entry directory '${LOADER_ENTRY%/*}'." >&2
exit 1
}
{
echo "title $PRETTY_NAME"
echo "version $KERNEL_VERSION"
echo "machine-id $MACHINE_ID"
echo "options ${BOOT_OPTIONS[*]}"
echo "linux $BOOT_DIR/linux"
[[ -f $BOOT_DIR_ABS/initrd ]] && \
echo "initrd $BOOT_DIR/initrd"
:
} > "$LOADER_ENTRY" || {
echo "Could not create loader entry '$LOADER_ENTRY'." >&2
exit 1
}
exit 0

View File

@@ -1,19 +0,0 @@
II)
1)
find -type f -name "[[digit:]]*" -max depth 4 -exec cp {}(lib/kernel/...)\;

2)
find -amin +30

3)
find -type d -mindepth 6 -name "[[:upper:]]*" -exec chmod 0700{}\;

4)
find -cmin +15

III)
1)
find / -name "*.h" -print -quit 2>/dev/null
2)
find ~ -newer ../TRee/lib/auth/transm.d -PRINTF "%p -- %t \n"

View File

@@ -1,12 +0,0 @@
II)
1)
find -type f -name "[[digit:]]*" -max depth 4 -exec cp {}(lib/kernel/...)\;
2)
find -atime +30
3)
find -type d -mindepth 6 -name "[[:upper:]]*" -exec chmod 0700{}\;
4)

View File

@@ -0,0 +1,308 @@
I)
1)
find -path .install
il n'y a pas de répertoires qui fini pour .install
2)
find -type f -name *.d
./lib/auth/transm.d
3)
find -type d -empty
./lib/kernel/config/AA/BB/DD/YY
./lib/kernel/config/AA/BB/CC/XX
./lib/krb5/plugins/custom.install
4)
find -type f -size -1000c
./lib/kernel/install.d/50-depmod.install
./lib/kernel/install.d/50-mkinitcpio.install
./lib/krb5/synch/atom.install
./lib/krb5/synch/settings.sh
./lib/auth/transm.d
./1000
5)
find -type f -size -30000c
./lib/kernel/install.d/50-depmod.install
./lib/kernel/install.d/50-mkinitcpio.install
./lib/kernel/install.d/90-loaderentry.install
./lib/krb5/plugins/inout.dev
./lib/krb5/plugins/kdb/kldap.so
./lib/krb5/plugins/preauth/otp.so
./lib/krb5/plugins/play.in
./lib/krb5/synch/atom.install
./lib/krb5/synch/settings.sh
./lib/auth/transm.d
./1000
6)
find -type f -size 1k
./lib/kernel/install.d/50-depmod.install
./lib/kernel/install.d/50-mkinitcpio.install
./lib/krb5/plugins/play.in
./lib/krb5/synch/atom.install
./lib/krb5/synch/settings.sh
7)
find -type f -size 2
./lib/krb5/plugins/play.in
./lib/krb5/synch/settings.sh
8)
find -type f -size +30
./lib/krb5/plugins/kdb/db2.so
./lib/krb5/plugins/preauth/pkinit.so
./lib/krb5/plugins/preauth/otp.so
9)
find -type f -size -3
./lib/kernel/install.d/50-depmod.install
./lib/kernel/install.d/50-mkinitcpio.install
./lib/krb5/plugins/play.in
./lib/krb5/synch/atom.install
./lib/krb5/synch/settings.sh
./lib/auth/transm.d
./1000
10)
find -type f -size +1 -size -4
./lib/krb5/plugins/inout.dev
./lib/krb5/plugins/play.in
./lib/krb5/synch/settings.sh
11)
find -newer ./lib/krb5/synch/atom.install
.
./lib/kernel/install.d
./lib/kernel/install.d/50-depmod.install
./lib/kernel/install.d/50-mkinitcpio.install
./lib/kernel/install.d/90-loaderentry.install
./lib/kernel/config
./lib/kernel/config/AA
./lib/kernel/config/AA/BB
./lib/kernel/config/AA/BB/DD
./lib/kernel/config/AA/BB/DD/YY
./lib/kernel/config/AA/BB/CC
./lib/kernel/config/AA/BB/CC/XX
./lib/krb5/plugins
./lib/krb5/plugins/inout.dev
./lib/krb5/plugins/kdb
./lib/krb5/plugins/kdb/kldap.so
./lib/krb5/plugins/kdb/db2.so
./lib/krb5/plugins/preauth
./lib/krb5/plugins/preauth/pkinit.so
./lib/krb5/plugins/preauth/otp.so
./lib/krb5/plugins/play.in
./lib/krb5/synch
./lib/krb5/synch/settings.sh
./lib/auth
./lib/auth/transm.d
./1000
12)
find lib/krb5/synch -mtime -4
Il n'y a pas d'éléments qui ont étés modifiés il y a moins de 4 jours.
13)
find lib/kernel/install.d -mtime +3
lib/kernel/install.d
lib/kernel/install.d/50-depmod.install
lib/kernel/install.d/50-mkinitcpio.install
lib/kernel/install.d/90-loaderentry.install
14)
find -mtime 3 -atime 2
Il n'y a pas déléments qui ont été modifiés il y a 3 jours et dont le temps de dernier accès remonte a 2 jours.
15)
find -type d -perm /022
Il n'y a pas de répertoires qui sont modifiables par le groupe ou par les autres utilisateurs.
16)
find -type d -perm -444
./lib/kernel/install.d/50-depmod.install
./lib/kernel/install.d/50-mkinitcpio.install
./lib/kernel/install.d/90-loaderentry.install
./lib/krb5/plugins/inout.dev
./lib/krb5/plugins/kdb/kldap.so
./lib/krb5/plugins/kdb/db2.so
./lib/krb5/plugins/preauth/pkinit.so
./lib/krb5/plugins/preauth/otp.so
./lib/krb5/plugins/play.in
./lib/krb5/synch/atom.install
./lib/krb5/synch/settings.sh
./lib/auth/transm.d
./1000
17)
find -type f -perm -604
./lib/kernel/install.d/50-depmod.install
./lib/kernel/install.d/50-mkinitcpio.install
./lib/kernel/install.d/90-loaderentry.install
./lib/krb5/plugins/inout.dev
./lib/krb5/plugins/kdb/kldap.so
./lib/krb5/plugins/kdb/db2.so
./lib/krb5/plugins/preauth/pkinit.so
./lib/krb5/plugins/preauth/otp.so
./lib/krb5/plugins/play.in
./lib/krb5/synch/atom.install
./lib/krb5/synch/settings.sh
./lib/auth/transm.d
./1000
II)
1)
find -maxdepth -name "[[digit:]]*" -type f -exec cp '{}' lib/kernel/config/AA/BB/CC \;
find -maxdepth 4 -name "[[:digit:]]*" -type f -exec cp '{}' lib/kernel/config/AA/BB/CC/XX/ \;
find -maxdepth 4 -name "[[:digit:]]*" -type f -exec cp '{}' lib/kernel/config/AA/BB/DD/ \;
find -maxdepth 4 -name "[[:digit:]]*" -type f -exec cp '{}' lib/kernel/config/AA/BB/DD/YY/ \;
.
└── lib
├── auth
│   └── transm.d
├── kernel
│   ├── config
│   │   └── AA
│   │   └── BB
│   │   ├── CC
│   │   │   ├── 1000
│   │   │   ├── 50-depmod.install
│   │   │   ├── 50-mkinitcpio.install
│   │   │   ├── 90-loaderentry.install
│   │   │   └── XX
│   │   │   ├── 50-depmod.install
│   │   │   ├── 50-mkinitcpio.install
│   │   │   └── 90-loaderentry.install
│   │   └── DD
│   │   ├── 50-depmod.install
│   │   ├── 50-mkinitcpio.install
│   │   ├── 90-loaderentry.install
│   │   └── YY
│   │   ├── 50-depmod.install
│   │   ├── 50-mkinitcpio.install
│   │   └── 90-loaderentry.install
2)
(29 et pas 30 car le + exclusif)
find -amin +29
./lib
./lib/kernel
./lib/kernel/install.d
./lib/kernel/config
./lib/kernel/config/AA
./lib/kernel/config/AA/BB
./lib/krb5
./lib/krb5/plugins
./lib/krb5/plugins/inout.dev
./lib/krb5/plugins/custom.install
./lib/krb5/plugins/kdb
./lib/krb5/plugins/kdb/kldap.so
./lib/krb5/plugins/kdb/db2.so
./lib/krb5/plugins/preauth
./lib/krb5/plugins/preauth/pkinit.so
./lib/krb5/plugins/preauth/otp.so
./lib/krb5/plugins/play.in
./lib/krb5/synch
./lib/krb5/synch/atom.install
./lib/krb5/synch/settings.sh
./lib/auth
./lib/auth/transm.d
3)
find -mindepth 6 -name "[[:upper:]]*" -type d -exec chmod 0700 '{}' \;
[drwxr-xr-x] .
└── [drwxr-xr-x] lib
├── [drwxr-xr-x] auth
│   └── [-rw-r--r--] transm.d
├── [drwxr-x--x] kernel
│   ├── [drwxr-xr-x] config
│   │   └── [drwxr-xr-x] AA
│   │   └── [drwxr-xr-x] BB
│   │   ├── [drwx------] CC
│   │   │   ├── [-rwxr-xr-x] 50-depmod.install
│   │   │   ├── [-rwxr-xr-x] 50-mkinitcpio.install
│   │   │   ├── [-rwxr-xr-x] 90-loaderentry.install
│   │   │   └── [drwx------] XX
│   │   │   ├── [-rwxr-xr-x] 50-depmod.install
│   │   │   ├── [-rwxr-xr-x] 50-mkinitcpio.install
│   │   │   └── [-rwxr-xr-x] 90-loaderentry.install
│   │   └── [drwx------] DD
│   │   ├── [-rwxr-xr-x] 50-depmod.install
│   │   ├── [-rwxr-xr-x] 50-mkinitcpio.install
│   │   ├── [-rwxr-xr-x] 90-loaderentry.install
│   │   └── [drwx------] YY
│   │   ├── [-rwxr-xr-x] 50-depmod.install
│   │   ├── [-rwxr-xr-x] 50-mkinitcpio.install
│   │   └── [-rwxr-xr-x] 90-loaderentry.install
4)
.
./lib
./lib/kernel
./lib/kernel/install.d
./lib/kernel/install.d/50-depmod.install
./lib/kernel/install.d/50-mkinitcpio.install
./lib/kernel/install.d/90-loaderentry.install
./lib/kernel/config
./lib/kernel/config/AA
./lib/kernel/config/AA/BB
./lib/kernel/config/AA/BB/DD/YY/90-loaderentry.install
./lib/kernel/config/AA/BB/DD/YY/50-mkinitcpio.install
./lib/kernel/config/AA/BB/DD/YY/50-depmod.install
./lib/kernel/config/AA/BB/DD/50-mkinitcpio.install
./lib/kernel/config/AA/BB/DD/90-loaderentry.install
./lib/kernel/config/AA/BB/DD/50-depmod.install
./lib/kernel/config/AA/BB/CC/50-mkinitcpio.install
./lib/kernel/config/AA/BB/CC/50-depmod.install
./lib/kernel/config/AA/BB/CC/XX/90-loaderentry.install
./lib/kernel/config/AA/BB/CC/XX/50-mkinitcpio.install
./lib/kernel/config/AA/BB/CC/XX/50-depmod.install
./lib/kernel/config/AA/BB/CC/90-loaderentry.install
./lib/krb5
./lib/krb5/plugins
./lib/krb5/plugins/inout.dev
./lib/krb5/plugins/custom.install
./lib/krb5/plugins/kdb
./lib/krb5/plugins/kdb/kldap.so
./lib/krb5/plugins/kdb/db2.so
./lib/krb5/plugins/preauth
./lib/krb5/plugins/preauth/pkinit.so
./lib/krb5/plugins/preauth/otp.so
./lib/krb5/plugins/play.in
./lib/krb5/synch
./lib/krb5/synch/atom.install
./lib/krb5/synch/settings.sh
./lib/auth
./lib/auth/transm.d
III)
1.
find / -name "*.h" -print -quit 2>/dev/null
/opt/android-sdk/build-tools/34.0.0/renderscript/clang-include/arm_acle.h
2.
find ~ -newer ../TRee/lib/auth/transm.d -printf "%p -- %t \n" 2>/dev/null
/export/home/an23/solar -- Tue Dec 3 14:59:00.4502679330 2024
/export/home/an23/solar/.lesshst -- Tue Dec 3 14:59:00.4482679240 2024
/export/home/an23/solar/.mozilla/firefox/fkmi2gzw.default-release-1 -- Tue Dec 3 15:08:53.2868718400 2024
/export/home/an23/solar/.mozilla/firefox/fkmi2gzw.default-release-1/storage/permanent/chrome/idb/1657114595AmcateirvtiSty.sqlite-wal -- Tue Dec 3 15:08:54.7898784320 2024
/export/home/an23/solar/.mozilla/firefox/fkmi2gzw.default-release-1/places.sqlite-wal -- Tue Dec 3 15:09:36.9540633590 2024
/export/home/an23/solar/.mozilla/firefox/fkmi2gzw.default-release-1/permissions.sqlite -- Tue Dec 3 14:41:11.7026013980 2024
/export/home/an23/solar/.mozilla/firefox/fkmi2gzw.default-release-1/prefs.js -- Tue Dec 3 15:08:53.2848718310 2024
/export/home/an23/solar/.mozilla/firefox/fkmi2gzw.default-release-1/AlternateServices.bin -- Tue Dec 3 15:08:52.7748695940 2024
/export/home/an23/solar/.mozilla/firefox/fkmi2gzw.default-release-1/sessionstore-backups -- Tue Dec 3 15:05:29.6519774800 2024
/export/home/an23/solar/.mozilla/firefox/fkmi2gzw.default-release-1/sessionstore-backups/recovery.baklz4 -- Tue Dec 3 15:03:41.8725040670 2024
/export/home/an23/solar/.mozilla/firefox/fkmi2gzw.default-release-1/sessionstore-backups/recovery.jsonlz4 -- Tue Dec 3 15:05:29.6479774620 2024
/export/home/an23/solar/.mozilla/firefox/fkmi2gzw.default-release-1/datareporting -- Tue Dec 3 15:05:23.0179483400 2024
/export/home/an23/solar/.mozilla/firefox/fkmi2gzw.default-release-1/datareporting/aborted-session-ping -- Tue Dec 3 15:05:23.0159483310 2024
/export/home/an23/solar/.mozilla/firefox/fkmi2gzw.default-release-1/datareporting/glean/db -- Tue Dec 3 15:09:31.7560405610 2024
/export/home/an23/solar/.mozilla/firefox/fkmi2gzw.default-release-1/datareporting/glean/db/data.safe.bin -- Tue Dec 3 15:09:31.7530405470 2024
/export/home/an23/solar/.mozilla/firefox/fkmi2gzw.default-release-1/places.sqlite -- Tue Dec 3 15:02:45.6872572760 2024

BIN
SCR1.2/TP10/a.out Executable file

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More