======Le partitionnement, qu'est ce que c'est ?====== Sur les Unices et donc sur Linux, les partitions sont des espaces sur un disque dur. C'est là que seront stockés durablement les données. La question est de savoir comment y accéder. Pour cela, il faut bien comprendre l'arborescence d'un Unix : / (racine) __________|____________ | | | | | /bin /sbin /usr /var /home Par définition, il n'existe rien de plus haut que la racine. La racine est propre à chaque machine **physique**. Cette racine est donc associée à un système de fichiers[[http://wiki.archlinux.fr/howto:installation:partitionnement#fn__1|1)]] et à une partition[[http://wiki.archlinux.fr/howto:installation:partitionnement#fn__2|2)]]. Partition et système de fichiers sont **indissociables**. Pour pouvoir y accéder, on //monte// une partition avec un système de fichier sur un point de montage[[http://wiki.archlinux.fr/howto:installation:partitionnement#fn__3|3)]]. Un point de montage **peut être n'importe quel dossier présent** dans l'arborescence. À ce stade là, on peut comprendre qu'on peut avoir autant de partitions que le disque le permet et qu'elle seront montés dans l'arborescence. On peut donc imaginer que chaque dossier distinct à la racine[[http://wiki.archlinux.fr/howto:installation:partitionnement#fn__4|4)]] soit monté depuis une partition différente. En fait l'intérêt de disposer de plusieurs partitions est de pouvoir utiliser différents systèmes de fichiers et différentes options en fonction des dossiers. Je vais illustrer mon propos par un exemple. Je suis propriétaire d'un cyber-café et j'ai un ordi sous Linux. Les clients se connectent à Internet et ont le droit de tout faire. Mais pour des raisons de sécurité, je ne veux pas qu'ils utilisent d'autres programmes que ceux que j'ai installés. Mon schéma de partitionnement sera la suivant : *racine montée avec les permissions d'exécuter les fichiers contenant /usr /bin /var /sbin /opt etc ... */home montée sur une partition avec l'option ''noexec'' qui interdit d'exécuter un fichier présent sur cette partition À partir de cet exemple simple, on peut imaginer plein d'autres cas d'utilisation. ======Quel schéma de partitionnement choisir pour un ordinateur personnel ?====== Dans ce cas d'utilisation, le schéma proposé par l'installeur de Arch est très satisfaisant : *une racine qui contient tout sauf ''/boot'' et ''/home'' en ext3 avec des options par défaut *''/boot'' qui contient les info boot en ext2 (que faire de la journalisation sur une partition qui ne sera jamais écrite (ou très rarement)) *''/home'' qui contient les données utilisateurs Avec un tel schéma, on va au bout du monde. On peut ensuite affiner en fonction des cas d'utilisation. Si par exemple vous comptez avoir un serveur de mail ou de base de données, il est important d'avoir ''/var'' qui soit monté dans une partition à part avec un système de fichier adapté (reiserfs ou xfs). Il peut même être mieux de monter ''/var/lib/base_de_donnés1'' depuis une partition seule. Ceci permet de ne pas perdre la base de données dans le cas d'une panne matérielle. On peut aussi monter des partitions depuis un "partage réseau" via nfs. ======Les mains dans le cambouis====== Pour finir, on va mettre un peu les mains dans le cambouis. Il existe pléthore d'outils pour redimensionner ses partitions sur un disque dur. On peut citer : *''dd'' *''fdisk'' *''cfdisk'' *''parted'' *''qtparted'' *''gparted'' Je ne rentrerai pas en détail dans l'utilisation de ces outils[[http://wiki.archlinux.fr/howto:installation:partitionnement#fn__5|5)]]. De la même façon, il existe des outils pour créer un système de fichier sur une partition. ces outils sont du type ''mkfs.fs_type''. La syntaxe type pour monter une partition et son système de fichier sur un point de montage est : mount [-o liste_des_options] [-t fs_type] [] mount est capable d'utiliser le fichier ''/ect/fstab''[[http://wiki.archlinux.fr/howto:installation:partitionnement#fn__6|6)]] pour obtenir les informations telles que les options à passer ou le type du système de fichier. ''/etc/fstab'' est aussi lue à chaque démarrage du système pour monter les systèmes de fichiers. La syntaxe de ce fichier est très proche de la syntaxe de mount : /dev/hda3 / ext3 defaults 1 1 /dev/hda1 /boot ext2 noauto 0 0 /dev/hda2 none sw sw 0 0 /dev/hda5 /var reiserfs defaults 0 2 /dev/hda6 /home ext3 defaults,quota 0 2 192.168.0.1:/home/user /home/user nfs soft,nolock,noexec,user,noauto 0 0 Ici, ''hda3'' correspond à la racine. C'est le **seul** qui soit **essentiel** ! ''noauto'' signifie que ''/boot'' ne sera pas monté automatiquement. ''hda2'' correspond au swap, dont je n'ai pas parlé ici. ''/home'' est monté avec les quotas d'activés et ''/home/user'' est un partage nfs montable seulement par le propriétaire de ''/home/user''. Il faut noter aussi que les binaires ne peuvent pas êtres exécutés sur la partition réseau. Seuls ''/'' est sauvegardé. Au niveau de la vérification automatique au boot, ''/dev/hda3'' est vérifié automatiquement en premier. ''/dev/hda5'' et /dev/hda6'' sont vérifiés en parrallèle immédiatement après que ''/dev/hda3%%''%% a été vérifié. [[http://wiki.archlinux.fr/howto:installation:partitionnement#fnt__1|]][[http://wiki.archlinux.fr/howto:installation:partitionnement#fnt__1|1)]] qui dit comment sont stockés les données et comment y accéder [[http://wiki.archlinux.fr/howto:installation:partitionnement#fnt__2|]][[http://wiki.archlinux.fr/howto:installation:partitionnement#fnt__2|2)]] un espace physique continu sur un disque dur [[http://wiki.archlinux.fr/howto:installation:partitionnement#fnt__3|]][[http://wiki.archlinux.fr/howto:installation:partitionnement#fnt__3|3)]] ''mount -t fs_type /dev/partition /point/de/montage'' [[http://wiki.archlinux.fr/howto:installation:partitionnement#fnt__4|]][[http://wiki.archlinux.fr/howto:installation:partitionnement#fnt__4|4)]] ''ls /'' [[http://wiki.archlinux.fr/howto:installation:partitionnement#fnt__5|]][[http://wiki.archlinux.fr/howto:installation:partitionnement#fnt__5|5)]] article à venir sur partition primaire/partition logiques [[http://wiki.archlinux.fr/howto:installation:partitionnement#fnt__6|]][[http://wiki.archlinux.fr/howto:installation:partitionnement#fnt__6|6)]] static filesystem table ou table statique des systèmes de fichier