navigation
Home
admin
|
Linux
October 18th, 2016
|
| Table des matières |  |
- Quelle taille pour le swap ?
- sudo su, sudo bash, sudo -s, sudo -i
- Visualiser un fichier binaire
- Editer un fichier binaire
- Visualiser les octets d'un fichier texte
- Visualiser un fichier image
- Visualiser un fichier vidéo
- Montage d'un fichier iso
- Utilisation de top
- creation image fedora avec partimage
- Copier le MBR nécessaire au boot de windows
- Effacer un CD RW
- Afficher la date des commandes dans l'historique
- Grub2
- Manipulation des systèmes de fichiers
- Périphériques de type loop
- Shell : envoyer des fichiers attachés par mail
- Histoires d'encodages
- Nombre magique
- Retailler une partition NTFS
- Jouer avec un serveur X
- Divers
| Quelle taille pour le swap ? |  |
Table 4.3. Recommended System Swap Space
Amount of RAM in the System ---- Recommended Amount of Swap Space
4GB of RAM or less ---- a minimum of 2GB of swap space
4GB to 16GB of RAM ---- a minimum of 4GB of swap space
16GB to 64GB of RAM ---- a minimum of 8GB of swap space
64GB to 256GB of RAM ---- a minimum of 16GB of swap space
256GB to 512GB of RAM ---- a minimum of 32GB of swap space
Source : https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/5/html/Installation_Guide/ch04s19s04s02.html
| sudo su, sudo bash, sudo -s, sudo -i |  |
sudo bash : le shell va rechercher la commande bash dans le PATH.
C'est l'équivalent de la commande "su".
Dans ce PATH il pourrait y avoir des répertoires non sécurisés.
Vous récupérez les variables d'environnement de l'utilisateur, ce qui peut être source de danger (notamment pour la variable PATH)
sudo -s : le shell va rechercher dans la variable SHELL puis dans le fichier /etc/passwd des emplacements pour la commande bash.
C'est l'équivalent de la commande "su".
La variable SHELL aurait pu être manipulée avant l'exécution de la commande sudo.
Vous récupérez les variables d'environnement de l'utilisateur, ce qui peut être source de danger (notamment pour la variable PATH) mais peut être pratique (par exemple pour la variable DISPLAY).
sudo -i : le shell va rechercher dans le fichier /etc/passwd des emplacements pour la commande bash.
C'est l'équivalent de la commande "su -".
Elle vous fait changer de répertoire.
Vous ne récupérez pas les variables d'environnement de l'utilisateur, ce qui en fait la commande la plus sure.
sudo su [-] : vous êtes root avec les variables d'environnement de l'utilisateur, ce qui peut être source de danger.
A noter que la variable PATH est modifiée et instanciée avec les valeurs par défaut de l'environnement.
Si l'on peut obtenir les mêmes résultats qu'avec les commandes présentées ci-dessus, ces commandes sont plus lourdes pour le système car elles imposent des vérifications de mot de passe et l'exécution de trois commandes : sudo, su et le shell.
sudo -i est la commande la plus sure. Si on souhaite conserver certaines variables d'environnement (le display par ex.), on utilisera plutôt "sudo -s" que "sudo bash".
| Visualiser un fichier binaire |  |
| Editer un fichier binaire |  |
| Visualiser les octets d'un fichier texte |  |
| Visualiser un fichier image |  |
| Visualiser un fichier vidéo |  |
| Montage d'un fichier iso |  |
mount -o loop /root/FC4-i386-DVD.iso /mnt_bis/ |
| Utilisation de top |  |
f : ajouter/supprimer des champs
F : choisir le champ utilisé pour le tri
o : modifier l'ordre des champs
http://forum.ubuntu-fr.org/viewtopic.php?id=306576
* virt c'est le total tel que vu par le processus
* res c'est le total vu par les barettes de ram
* swap c'est le total vu par le disque dur
* code c'est le total vu par le chargeur de code
* data c'est le total vu par l'allocateur mémoire dynamique
et VIRT = SWAP + RES
Attention : ici on ne parle pas du swap sur disque mais du swap en mémoire. Un programme demande X Go. Le système les réserve (VIRT) mais ne donne que Y Go réellement (RES). Les Z Go représentent le swap. Il s'agit d'un espace qui pourrait être demandé par le processus. On a X = Y + Z.
| creation image fedora avec partimage |  |
1/ booter avec cd rescue
clavier : 16
(net-setup eth0 (normalement c'est automatique">
NFS : /etc/init.d/nfs start
2/ mount ...
3/ partimage -> creation image // attention il faut creer un seul gros fichier image sinon pbs cf. + bas
4/ sauvegarde de la table des partitions :
sfdisk -d /dev/hda > backup_hda |
| installation machine image fedora avec partimage |  |
1/ booter avec cd rescue // linux rescue des CD de la FC4 pour les salles 120, 124 et 130
clavier : 16
(net-setup eth0 (normalement c'est automatique">
NFS : /etc/init.d/nfs start
2/ mount ...
3/ table des partitions
recuperation :
sfdisk /dev/hda < backup_hda |
4/ partimage -> installation des images
message d'erreur : partimage "can't read block 0 from image"
j'essaie un chgt de version http://www.partimage.org
pas de chgt => modification de la technique de creation des images : on ne fait plus des fichiers de 2Go (defaut)
mais un gros fichier.
http://pittman.ws/articles/howto/partimage.html :
"If you are storing your image file on a Linux disk, (method 2) then I'd advise using "Automatic split" instead of the default second option that uses 2GB sections. Remember, if all else fails, this works every time when you use a native Linux filesystem on the server and you don't split the image into 2GB files. "
5/ initialisation du swap
6/ ici pbs avec grub-install donc solution plus rustique mais qui fonctionne :
cf href=http://www.fedora-france.org/modules/newbb/viewtopic.php?topic_id=10009&forum=4&post_id=61431
grub
root (hd0,4)
setup (hd0)
quit
|
avec ces commandes on informe le systeme (ds l'amorce du disque /dev/hda7)
qu'il doit aller voir sur la 5eme partition (la ou se trouve le /boot) ("(hdo,4)")
pour trouver les infos necessaires.
From http://www.fedora-france.org/modules/wfsection/article.php?articleid=117 :
"le BIOS active alors une courte séquence de codes, dite MBR (Master Boot Record), logée sur 512 octets en un endroit précis et normalisé du premier disque actif;
le MBR amorce alors un lanceur (boot loader dans la terminologie courante), NTLDR pour Windows XP, grub ou lilo pour Linux. Par défaut, Grub est utilisé par Fedora (lilo pour être installé en substitution à grub);
| Copier le MBR nécessaire au boot de windows |  |
sauvegarde du MBR :
dd if=/dev/sda of=/path/to/image count=1 bs=512
installation du MBR :
dd if=/path/to/image of=/dev/sda
| Effacer un CD RW |  |
http://www.davidgis.fr/blog/index.php?2010/11/04/762-effacer-un-cd-rw-reinscriptible
apt-get install cdrdao
mount
umount /media/cdrom0
cdrdao scanbus
cdrdao blank --device 1,0,0
|
| Afficher la date des commandes dans l'historique (5/2011) |  |
Par défaut, la commande history n'affiche pas la date à laquelle
les commandes ont été effectuées.
Pour remédier à cela, il faut positionner la variable HISTTIMEFORMAT.
A rajouter dans .bashrc :
export HISTTIMEFORMAT='%F %Hh%M '
|
Pour rendre effective la modif :
Source : http://www.mnxsolutions.com/linux/on-a-date-with-bash_history.html
| Grub 2 |  |
cf ?doc=Grub_2
| Manipulations des systèmes de fichiers |  |
Label d'une partition
voir la commande e2label
e2label /dev/sda1 : obtenir de label du disque
e2label /dev/sda1 /boot : labellé le disque
Informations sur une partition
ou
UUID, Label, etc...
Remplir un disque
Certains utiliseront une boucle avec une concaténation de fichier :
cat f1 f1 > f2;cat f2 f2 > f1 |
mais il y a plus simple :
dd if=/dev/zero of=grosfichier bs=1M count=1000
dd: writing `grosfichier': No space left on device
|
construit un fichier d'1 Go (1000x1Mo)
Les masques
http://www.frameip.com/masques-de-sous-reseau/
| Périphériques de type loop |  |
Permettent de simuler des partitions physiques.
Exemple :
dd if=/dev/zero of=part1 bs=1M count=100M
losetup /dev/loop1 part1 // on associe le fichier part1 au périphérique loop1
mkfs.ext3 /dev/loop1
mount /dev/loop1 /mnt |
| Shell : envoyer des fichiers attachés par mail |  |
Sources : http://en.wikipedia.org/wiki/MIME
http://yannesposito.com/Scratch/fr/blog/2010-08-31-send-mail-from-command-line-with-attached-file/
Envoyer un fichier image
1. Coder le fichier jpg :
uuencode -m image.jpg image.jpg >> image-code-ascii.txt |
2. Création du fichier d'entête :
# more entete-jpg.txt
From: admin@domaine.fr
To: admin@domaine.fr
Subject: fichier jpg joint
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="frontier"
--frontier
Content-Type: text/html;
Content-Disposition: inline
ici le corps du message
--frontier
Content-Type: image/jpeg; name="fic.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename="fic.jpg"
[...PLACER ICI LE CONTENU DU FICHIER CREE CI-DESSUS (image-code-ascii.txt)...]
--frontier--
|
3. Envoyer le fichier :
sendmail -t -oi < entete-jpg.txt |
Envoyer un fichier xml
1. Coder le fichier xml :
uuencode -m test.xml test.xml >> xml-code-ascii.txt |
2. Création du fichier d'entête :
# more entete-xml.txt
From: admin@domaine.fr
To: admin@domaine.fr
Subject: fichier xml joint
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="frontier"
--frontier
Content-Type: text/html;
Content-Disposition: inline
ici le corps du message
--frontier
Content-Type: application; name="fic.xml"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="fic.xml"
[...PLACER ICI LE CONTENU DU FICHIER CREE CI-DESSUS (xml-code-ascii.txt)...]
--frontier--
|
3. Envoyer le fichier :
sendmail -t -oi < entete-xml.txt |
Utiliser mutt (+ simple)
mutt -s test -a fichier_donnees1.xml fichier_donnees1.xml -- mon_nom@domaine.fr < message.txt |
-a : fichier attaché
| Histoires d'encodages |  |
Encodage du système par défaut
Pour modifier l'encodage (debian) :
Encodage de fichiers
file -i <nom du fichier>
hexdump -C <nom du fichier>
od -xc <nom du fichier>
|
| Nombre magique |  |
Octets placés en début de fichier. Ils permettent de déterminer le type du fichier.
Exemple : Pour les images png, 8 octets :
$ od -xc image.png |head
0000000 5089 474e 0a0d 0a1a 0000 0d00 4849 5244
211 P N G \r \n 032 \n \0 \0 \0 \r I H D R
0000020 0000 7d02 0000 df01 0208 0000 aa00 f92d
\0 \0 002 } \0 \0 001 337 \b 002 \0 \0 \0 252 - 371
[...] |
| Retailler une partition NTFS |  |
1/ défragmenter
2/ apt-get install ntfsprogs gparted
3/ ntfsresize -f -v -s 60G /dev/sda5
4/ fdisk : supprimer puis recréer la partition ("same starting cylinder (sector) and using a larger size than" point 3/)
That's all folks !!!
Source : http://darkstar.ucd.ie/timosh/links/ntfsresize.html
Une erreur du genre de celle ci-dessous ?
sudo ntfsresize -P -i -f -v /dev/sda5
ntfsresize v2.0.0 (libntfs 10:0:0)
Device name : /dev/sda5
NTFS volume version: 3.1
Cluster size : 4096 bytes
Current volume size: 63523799552 bytes (63524 MB)
Current device size: 50815747584 bytes (50816 MB)
ERROR: Current NTFS volume size is bigger than the device size!
Corrupt partition table or incorrect device partitioning? |
pas de panique, un (merveilleux) gars a trouvé une solution :
http://gparted-forum.surf4.info/viewtopic.php?id=13937
grand merci à lui !!!
Note du 23/1/2012 : j'ai fait le point 4 avec gparted et tout s'est bien passé ;-)
| Jouer avec un serveur X |  |
Pour déporter l'affichage (i.e. afficher des choses sur l'écran d'un autre poste. i.e afficher des choses sur un serveur X distant) :
DISPLAY=<IP serveur X>:0.0
xclock |
Note 1 : le serveur X doit être lancé SANS l'option nolisten TCP.
On ne doit pas avoir ca :
ps -ef|grep X
root 7703 7695 11 15:53 tty7 00:00:05 /usr/bin/X :0 -br -verbose -auth /var/run/gdm/auth-for-gdm-FU7lv0/database -nolisten tcp
|
Si c'est le cas avec Ubuntu,
- Modifiez /etc/gdm/gdm.schemas :
<schema>
<key>security/DisallowTCP</key>
<signature>b</signature>
<default>false</default>
</schema>
|
- Relancez le serveur X :
Note 2 : le serveur X doit autoriser les connectes distantes
permet de vérifier comment sont positionnés les droits
Note 3 : Sous windows, Xming est bon serveur X.
Pour autoriser l'accès distant, vous pouvez :
- ajouter l'option "-ac" dans la ligne de lancement (pas secure du tout...)
- taper xhost + (pas secure du tout...)
- taper xhost +<IP à autoriser> (secure !!)
Note 4 : Pour tester :
xeyes, xterm, xclock etc...
| Divers |  |
Loglevels
La correspondance entre le numéro et le libellé est indiquée ici :
cat /usr/include/sys/syslog.h |
Inode, atime, ctime, mtime
Note : stat fournit en plus des infos particulièrement intéressantes : date de dernière modif, dernier accès, dernier changement d'inode.
Access - the last time the file was read
Modify - the last time the file was modified (content has been modified)
Change - the last time meta data of the file was changed (e.g. permissions)
Source : http://unix.stackexchange.com/questions/2802/what-is-the-difference-between-modify-and-change-in-stat-command-context
Créer une séquence
Monter une deuxième fois un FS
mount --bind / /home/bruno/rep |
A quoi correspond la taille affichée pour chaque répertoire dans un ls -l ?
It's the size necessary to store the meta-data about files (including the file names contained in that directory). The number of files / sub-directories at a given time might not map directly to the size reported, because once allocated, space is not freed if the number of files changes. This behaviour makes sense for most use cases (where disk space is cheap, and once a directory has a lot of files in it, it will probably have them again in future), and helps to reduce fragmentation.
For example:
$ mkdir testdir
$ cd testdir
$ ls -ld .
drwxr-xr-x 2 matthew matthew 4096 2007-12-03 20:28 ./
$ for ; do touch some_longish_file_name_$i; done
$ ls -ld .
drwxr-xr-x 2 matthew matthew 36864 2007-12-03 20:29 ./
$ rm some_longish_file_name_*
$ ls -ld .
drwxr-xr-x 2 matthew matthew 36864 2007-12-03 20:29 ./
$ cd ..
$ ls -ld testdir
drwxr-xr-x 2 matthew matthew 36864 2007-12-03 20:29 testdir/
$ rmdir testdir ; mkdir testdir
$ ls -ld testdir
drwxr-xr-x 2 matthew matthew 4096 2007-12-03 20:29 testdir/
Here you see that when even empty files are created, the directory size increases - the file names and meta data must be stored somewhere, and it is in the directory object itself. In this case the file names and other meta-data fit in 9 4k blocks (36864 = 4096 * 9).
Deleting the files does not reduce the space used by the directory object - only removing the directory and re-creating it frees the space.
|
Source : http://www.linuxquestions.org/questions/linux-newbie-8/directory-size-includes-size-of-604159/
Set user id bit
Sous Linux, le set user id bit (chmod u+s ) fonctionne avec les exécutables mais pas avec les shells scripts pour des raisons de sécurité.
cf http://scofaq.aplawrence.com/FAQ_scotec1asroot.html
Lancer une commande dans un gnome-terminal et laisser celui ci ouvert
Si on fait :
ca ne fait rien.
Solution :
faire un shell de lancement :
cat shell_lancement
#!/bin/bash
ls
exec bash # utilisé pour éviter que le terminal ne se ferme
|
Et lancer :
gnome-terminal -x shell_lancement |
ou
gnome-terminal --command shell_lancement |
Sticky bit
"Le droit sticky bit est noté ---------t dans le cas ou t remplace un - ou ---------T, dans le cas ou t cache un x."
Source : http://www.christopher.compagnon.name/sitewww/unix-droits.html
|
|
Contact
|
|---|
Pour m'envoyer un mail, Pour me laisser un commentaire :richard.brunooo chez gmail.com |  |
|
|