web-dev-qa-db-fra.com

Comment comprendre la structure du système de fichiers Ubuntu?

Sous Windows, il n’ya peut-être que quelques dossiers importants (par important, je veux dire important dans ma représentation logique du système de fichiers Windows) dans le lecteur d’installation (dans mon cas, C:\). À savoir Program Files and Windows. Je reste simplement à l'écart du dossier Windows et l'option "ajouter des programmes de suppression" suffit à gérer le dossier program files de Windows. Bien sûr, il existe un dossier nommé Users où les utilisateurs (qui ne sont pas administrateurs) peuvent accéder uniquement à leurs dossiers.

C’est pourquoi, dans mon esprit, le système de fichiers Windows a une image claire. Dans Ubuntu, lorsque j’atteins l’emplacement /, il existe une énorme liste de dossiers, dont la plupart n’ont aucune idée de ce qu’ils contiennent. Le dossier /bin semble être l’équivalent du dossier Windows dans Windows. Le dossier /usr semble être l’équivalent du dossier Users sous Windows. Mais même le dossier /home semble pouvoir s’adapter à la facture.

S'il vous plaît, comprenez que je comprends, qu’Ubuntu (Linux) a un caractère différent de celui de Windows, c’est-à-dire qu’il n’est pas forcément équivalent aux fonctions Windows de Ubuntu. Tout ce que je recherche, c’est une image un peu plus claire du système de fichiers Ubuntu.

Cette question fait partie d'une plus grande question que je divise pour la rendre plus responsable. La question initiale peut être trouvée ici:
http://sgsawant.wordpress.com/2012/05/17/whats-the-equivalent-of-add-or-remove-programs-in-ubuntu/

214
Shashank Sawant

Vous pouvez lire ceci par exemple sur wikipedia. Un extrait:

Le norme de hiérarchie du système de fichiers (FHS) définit les répertoires principaux et leur contenu dans les systèmes d'exploitation Linux. Pour la plupart, il s’agit d’une formalisation et d’une extension de la hiérarchie traditionnelle des systèmes de fichiers BSD.

La FHS est gérée par la Linux Foundation, une organisation à but non lucratif composée des principaux fournisseurs de logiciels et de matériels, tels que HP, Red Hat, IBM et Dell. La version actuelle est la version 3.0, publiée le 3 juin 2015.

Une représentation visuelle avec une courte description:

enter image description here

Fondamentalement, Linux a divisé la structure de répertoires en fonction de ce qui est nécessaire pour rendre le système aussi sécurisé que possible avec le minimum d'autorisations nécessaires. Sinon, quelqu'un est obligé de faire beaucoup de travail évitable.

N'oubliez pas que Unix et Linux ont été créés en tant que systèmes multi-utilisateurs et que Windows a été créé pour un seul utilisateur. Tout le reste peut être expliqué à partir de cette idée. Vous pouvez expliquer chaque répertoire en pensant qu'il est multi-utilisateur et sécurisé.

3 exemples:

  • Vous verrez que les fichiers et les répertoires qui ne sont que des administrateurs sont rassemblés dans le même répertoire: le s dans /sbin et /usr/sbin et /usr/local/sbin représente système. Un utilisateur normal ne peut même pas démarrer les programmes qui s'y trouvent. Les fichiers qu'un utilisateur normal peut démarrer se trouvent dans/bin,/usr/bin,/usr/local/bin en fonction de l'endroit où il devrait logiquement résider. Mais s’ils ne sont que des administrateurs, ils doivent accéder à la version s de ce répertoire. Il existe un utilitaire célèbre appelé fuser. Vous pouvez tuer des processus avec cela. Si un utilisateur normal pouvait utiliser ceci, il pourrait tuer votre session.

  • Il en va de même pour /home:/home/user1 est la propriété de user1./home/user2 est la propriété de user2. user2 n'a pas d'activité commerciale dans le domicile de l'utilisateur1 (et l'inverse est également vrai: utilisateur1 n'a pas d'activité professionnelle dans le domicile de l'utilisateur2). Si tous les fichiers se trouvent dans/home sans nom d'utilisateur, vous devrez donner des autorisations pour chaque fichier et chaque cale si quelqu'un est autorisé à écrire/supprimer ces fichiers. Un cauchemar si vous avez des dizaines d'utilisateurs.

  • Ajout concernant les bibliothèques.

    /lib/, /usr/lib/ et /usr/local/lib/ sont les emplacements d'origine, antérieurs aux systèmes multilib et existaient pour éviter de casser des choses. /usr/lib32, /usr/lib/64, /usr/local/lib32/, /usr/local/lib64/ sont des inventions multilib de 32/64 bits.

Ce n'est en aucun cas un concept statique. D'autres versions de Linux ont apporté des modifications à cette présentation. Par exemple; actuellement, vous verrez debian et Ubunt beaucoup de changements dans la présentation de la FHS puisque le SSD est mieux avec des fichiers en lecture seule. Il y a un mouvement vers une nouvelle mise en page où les fichiers sont scindés en un répertoire/groupe "en lecture seule" et "en écriture" afin que nous puissions avoir une partition racine pouvant être montée en lecture seule (partition pour un ssd) et en écriture (sata hdd). Le nouveau répertoire utilisé pour cela (pas dans l'image) est /run/.

248
Rinzwind

Essayez cette commande ...

man 7 hier

Vous pouvez également consulter cette page de manuel ici: http://manpages.ubuntu.com/manpages/fr/man7/hier.7.html

J'espère que ça aide

99
Pritesh Wadhia

Réponse tardive - J'ai créé une feuille de route pour les débutants. S'ils recherchent un fichier mais ne savent pas où chercher, ils peuvent utiliser la carte pour naviguer approximativement. Vous pouvez télécharger un fichier PNG haute résolution ici . Vous pouvez trouver le post connexe ici . Je continuerai à mettre à jour le fichier et la publication lorsque le temps le permettra, en incorporant des commentaires utiles.

43
d4nyll

Ce texte suivant montre la structure du répertoire.

mtk4@laptop:/$ pwd
/
mtk4@laptop:/$ tree -L 1
.
|-- bin
|-- boot
|-- cdrom
|-- dev
|-- etc
|-- home
|-- lib
|-- lost+found
|-- media
|-- mnt
|-- opt
|-- proc
|-- root
|-- run
|-- sbin
|-- selinux
|-- srv
|-- sys
|-- tmp
|-- usr
|-- var

Les composants principaux ici sont:

  1. /boot: contient le chargeur de démarrage

  2. /home: contient les répertoires de base des utilisateurs.

  3. /bin: tous les fichiers binaires et commandes exécutables utilisés par tous les utilisateurs du système se trouvent ici.

  4. /sbin: contient les fichiers binaires exécutables du système généralement utilisés par les administrateurs système.

  5. /lib: contient les bibliothèques système prenant en charge les fichiers binaires de/bin et/sbin.

  6. /etc: contient les fichiers de configuration pour le réseau, le démarrage, etc.

  7. /dev: Ce fichier contient les fichiers de périphérique, à savoir usb, un terminal ou tout autre périphérique connecté au système.

  8. /proc: contient des informations sur le processus en cours d'exécution.

  9. /tmp: Il s'agit du répertoire temporaire dans lequel de nombreux processus créent les fichiers temporaires requis. Ceci est purgé à chaque démarrage de la machine.

Pour plus de détails, Thegeekstuff link explique parfaitement le système de fichiers générique linux.

36
mtk

\Users est équivalent à /home. Le nom de /usr est un artefact historique.

L'équivalent combiné de \Windows et \Program Files est la combinaison de /bin, /boot, /etc, /lib, /sbin, /tmp, /usr et /var. Linux et Windows divisent les logiciels installés différemment. Windows distingue le système d'exploitation des programmes associés. Linux ne fait pas cette distinction de la même manière; la plupart des logiciels, sinon tous, proviennent de Ubuntu (le distributeur) et sont installés dans la même hiérarchie de répertoires. Étant donné que les logiciels sont suivis par le gestionnaire de paquets, il n'est pas nécessaire de stocker chaque programme dans son propre répertoire. Sous Linux:

  • /etc concerne les fichiers de configuration du système: fichiers de configuration qui concernent tous les utilisateurs, qu'ils s'appliquent au système d'exploitation dans son ensemble ou à une application spécifique.
  • /usr est pour le code système et les données (programmes, bibliothèques, documentation, etc.).
  • /var concerne les données variables ou temporaires: fichiers temporaires, journaux, bases de données du gestionnaire de paquets, spools d’imprimante, fichiers de sauvegarde de jeu, etc. Il existe également /tmp pour les fichiers temporaires pouvant être effacés lors des redémarrages.
  • /bin, /lib et /sbin dans le répertoire racine ont des équivalents dans /usr. Les fichiers situés en dehors de /usr sont ceux qui sont nécessaires au début du processus de démarrage. C'est une relique de l'époque où les disques étaient petits et où /usr se trouvait peut-être sur un système de fichiers partagé entre plusieurs stations de travail sur le réseau. Cette distinction n'est pas vraiment utile sur la plupart des systèmes.
  • /boot contient quelques fichiers nécessaires uniquement pour démarrer le système d'exploitation, mais pas pour les opérations quotidiennes.

Il existe des répertoires supplémentaires qui ne correspondent à rien de ce que Windows possède:

  • /root est le répertoire de base de l'utilisateur root. L'utilisateur root est un compte administrateur non lié à un utilisateur particulier. c'est l'utilisateur que vous changez lorsque vous exécutez Sudo. Ubuntu ne laisse pas l'utilisateur root se connecter par défaut.
  • /media et /mnt sont des points de montage: ils vous permettent de voir les systèmes de fichiers des autres systèmes d'exploitation et des lecteurs distants. L'équivalent Windows correspond aux autres lettres de lecteur.
  • /proc et /sys affichent les informations système. Sous Windows, vous devez parcourir les menus ou appeler des commandes système ou installer des programmes tiers pour voir ces informations.

Ubuntu, à l’instar des autres distributions Linux, suit généralement le principe FileSystem Hierarchy Standard .

20
Gilles

Ubuntu (comme tous les systèmes de type UNIX) organise les fichiers dans une arborescence hiérarchique, où les relations sont pensées par équipes d'enfants et de parents. Les répertoires peuvent contenir d'autres répertoires ainsi que des fichiers normaux, qui sont les "feuilles" de l'arborescence. Tout élément de l’arbre peut être référencé par un nom de chemin; un nom de chemin absolu commence par le caractère/(identifiant le répertoire racine, qui contient tous les autres répertoires et fichiers), puis chaque répertoire enfant devant être parcouru pour atteindre l'élément est répertorié, chacun étant séparé par un signe /.

Un nom de chemin relatif est un nom qui ne commence pas par /; dans ce cas, l'arborescence de répertoires est parcourue à partir d'un point donné, qui change en fonction du contexte, appelé répertoire en cours. Dans chaque répertoire, il existe deux répertoires spéciaux appelés. et .., qui se réfèrent respectivement au répertoire lui-même et à son répertoire parent.

Le fait que tous les fichiers et répertoires aient une racine commune signifie que, même si plusieurs périphériques de stockage différents sont présents sur le système, ils sont tous considérés comme des répertoires quelque part dans l'arborescence, une fois montés à l'emplacement souhaité.

Trouvez des exemples et plus d'informations ici :

5
stephenmyall