#RedHat
Trouver de la doc:
http://docs.fedoraproject.org/
Mettre à jour vers une nouvelle version
1 | #update de rpm |
KernelCompilation
- Sous gentoo avec genkernel
1
2
3
4
5
6
7
8livecd linux # zcat /proc/config.gz > /usr/share/genkernel/arch/x86_64/kernel-config
livecd linux # genkernel all
livecd linux # mv .config .config-old
livecd linux # make mrproper
CLEAN scripts/basic
CLEAN scripts/kconfig
CLEAN include/config
CLEAN .config.oldRAID5 logiciel
Créer le volume
1
2
3
4root@Hades:~$ mdadm --create /dev/md0 --level=5 --assume-clean --raid-devices=3 --chunk=128 --name="data" /dev/sd[cde]1
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
root@Hades:~$Avoir des infos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35root@Hades:~$ cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sde1[2] sdd1[1] sdc1[0]
3906766592 blocks super 1.2 level 5, 128k chunk, algorithm 2 [3/3] [UUU]
unused devices: <none>
root@Hades:~$ mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Sun Oct 6 22:08:50 2013
Raid Level : raid5
Array Size : 3906766592 (3725.78 GiB 4000.53 GB)
Used Dev Size : 1953383296 (1862.89 GiB 2000.26 GB)
Raid Devices : 3
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Sun Oct 6 22:08:50 2013
State : clean
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 128K
Name : Hades:data (local to host Hades)
UUID : 0f709a04:d9080945:e1902a3d:7fc273c2
Events : 0
Number Major Minor RaidDevice State
0 8 33 0 active sync /dev/sdc1
1 8 49 1 active sync /dev/sdd1
2 8 65 2 active sync /dev/sde1Supprimer le volume
1
2
3
4
5root@Hades:~$ mdadm -S /dev/md0
mdadm: stopped /dev/md0
root@Hades:~$ mdadm --zero-superblock /dev/sdc1
root@Hades:~$ mdadm --zero-superblock /dev/sdd1
root@Hades:~$ mdadm --zero-superblock /dev/sde1Doc
http://wiki.linuxwall.info/doku.php/fr:ressources:dossiers:raid5_logiciel
systemD
1 | systemctl enable vsftpd.service |
LXC
Création d’un container
1 | lxc-create -n intranet -f /appli/lxc/containers/intranet/intranet.lxccfg -t debian -- template-options --path=/appli/lxc/containers/intranet |
1 | root@Hades:rootfs$ cat /appli/lxc/containers/intranet/intranet.lxccfg |
Attention:
- Un container n’est pas qu’un bootstrap
- La création de container d’un OS utilisant
#F00:upstart(ubuntu) ne fonctionne pas vraiment (possible avec quelques manip)
KVM
Convertir une image vmware vers qcow2
Malheureusement il ne semble pas possible de convertir une image vmware splittée (image.vmdk, image-s001.vmdk, image-s002.vmdk). La solution est de concaténer l’image en un seul fichier:
- installer les outils vmware (disponible avec vmware-server, workstation,…)
- concaténer l’image:
1
vmware-vdiskmanager -r image.vmdk -t 0 image-copy.vmdk
- la convertir:Le gros désavantage, c’est qu’il nécessaire d’avoir de disponible au moins deux fois la taille de
1
qemu-img convert image-copy.vmdk -O qcow2 image.qcow2
l’image d’origine, afin de contenir les images converties
Monter une image qcow2:
Une image qcow2 se rapproche d’un disque dur (table de partitions et multiples partitions). Ce n’est pas donc pas directement montable. La solution consiste à passer par (nbd):
Charger le module nbd
1
modprobe nbd
Rendre l’image joignable joignable via /dev/nbd0:
1
qemu-nbd --connect=/dev/nbd0 mon_image.qcow2
Un fdisk sue /dev/nbd0 devrait alors montrer les différentes partitions, celles ci étant accessibles via /dev/nbd0p1, /dev/nbd0p2, ….
Si les entrées /dev/nbd0p* n’apparaissent pas:
1
2
3
4
5[root@Lufy:~]# kpartx -a -v /dev/nbd0
add map nbd0p1 (253:5): 0 11550672 linear /dev/nbd0 63
add map nbd0p2 (253:6): 0 2 linear /dev/nbd0 11550735
add map nbd0p5 (253:7): 0 2249037 linear /dev/nbd0 11550798
add map nbd0p6 (253:8): 0 7164927 linear /dev/nbd0 13799898Ce qui permet de récupérer les majeurs et mineurs pour créer les entrées via mknod:
1
2
3
4mknod /dev/nbd0p1 b 253 5
mknod /dev/nbd0p2 b 253 6
mknod /dev/nbd0p2 b 253 7
mknod /dev/nbd0p2 b 253 8Après usage, déconnecter l’image
1
2[root:~]# qemu-nbd --disconnect /dev/nbd0
/dev/nbd0 disconnectedAttention: éviter tout accès concurrentiel sur l’image ainsi montée!
RPM
- Installer les outils
1
yum install rpmdevtools yum-utils
- Initialiser l’environnement
1
2su - rpmmake
rpmdev-setuptree - Générer un fichier spec vide
1
2$ cd rpmbuild/SPECS/
$ rpmdev-newspec - Compiler le RPM#SElinux
1
rpmbuild -ba fichier.spec
Restaurer le contexte d’un répertoire:
restorecon -RvF
Désactiver
1 | # setenforce 0 |
Pour le désactiver définitivement, il faut éditer le fichier /etc/selinux/config, et remplacer la ligne commençant par « SELINUX=…… » par « SELINUX=disabled » puis rebooter.
Astuces:
Changer le mot de passe via un script
1 | echo -e "new_password\nnew_password" | (passwd --stdin $USER) |
Forcer la redecouverte des disques à chaud
1 | scsi-rescan --forcerescan |
Prompt en couleur sans bug de “wrap” (bash)
1 | export PS1="\[$(tput setaf 3)\][`whoami`@`uname -n`]\$ \[$(tput sgr0)\]" |
Les tput set les couleurs
Les [ et ] délimitent des zones de “zero-width” ce qui empêche le bug en cas de ligne trop longues.
Le $ met le bon de caractère de fin en fonction de root ou non root
LVM
Gestion du partitionnement avec LVM
Agrandir un FS:
ex: agrandissement du lv “lvtmp”
1 | $lvextend -L 35G /dev/mapper/VgData-lvtmp |
reduire un FS
Attention: certains FS (comme XFS) ne supportent pas d’être réduit
Principe: on réduit dabord le FS, puis le LV. Enfin on augmente le FS pour prendre toute la place du LV
1 | [root@Nami:/home/titi/Téléchargements]$ lvs |
partitionnement “thin”
Créer un pool
1 | lvcreate -L 100M -T vg001/mythinpool |
Créer une partition logique dans le pool
1 | lvcreate -V1G -T vg001/mythinpool -n thinvolume |
Astuces
Faire un controlM, , …
Pour taper ce genre de caractère il faut faire :
CTRL-V, puis CTRL-M
Chercher une chaine de caractère dans un dossier
1 | find /chemin/rep -name '*' |xargs grep -l "string" |
Taille d’un dossier et de son contenu
1 | du -sk* /mondossier/*| sort -n| awk '{$0; somme+=1} END {print somme}' |
Changer le mot de passe via un script
Avec la commande “passwd” et son option “–stdin”, au travers d’un “pipe” :
1 | echo -e "new_password\nnew_password" | (passwd --stdin $USER) |