web-dev-qa-db-fra.com

Comment extraire des archives sur un système de fichiers dans un terminal?

J'ai installé jupiter et j'utilise le thème radiance pour que l'icône ne soit pas correcte. J'ai donc trouvé cette réponse sur la façon de la changer. Comment puis-je changer l'icône pour Jupiter? . Il mentionne avoir besoin d'un accès superutilisateur et j'ai pensé que l'utilisation de Sudo dans un terminal serait plus simple que d'activer root ou ce que je dois faire, mais je ne trouve rien ici qui explique comment extraire un fichier tar.bz dans un répertoire du terminal.

13
Jeff H

Méthode 1: Extraire les fichiers, puis les copier en tant que racine

Naviguez dans le terminal où que se trouve le fichier. Par exemple, s'il se trouve dans le dossier Downloads de votre dossier personnel, exécutez la commande suivante:

cd ~/Downloads

Le caractère ~ dans ce contexte est une abréviation du nom complet de votre dossier personnel. (Par exemple, si votre nom d'utilisateur est jeff, il s'agit d'une abréviation de /home/jeff.)

Extrayez maintenant l'archive avec tar. Comme ce fichier est une archive .gz, vous utiliserez l'indicateur z pour indiquer à tar ceci:

tar xvzf Jupiter_Radiance_theme_icons.tar.gz

x signifie extraire. v signifie lister les fichiers au fur et à mesure de leur extraction (vous pouvez le laisser si vous le souhaitez). z signifie gunzip (l'archive .tar étant elle-même compressée avec gzip--, c'est ce que l'extension .gz désigne). f signifie l'extraire ici dans le système de fichiers (et la nécessité de l'utiliser est un artefact de l'ancienne utilisation courante de tar, qui permet de créer et d'extraire des archives de bande ).

L'archive que vous venez d'extraire contient trois fichiers (vous avez vu leurs noms si vous avez gardé l'indicateur v dans la commande). Leurs noms sont bolt1.png, bolt2.png et bolt4.png. Alors maintenant, copiez ces fichiers dans /usr/share/pixmaps. C'est la partie qui nécessite les privilèges root, c'est donc ici que vous devriez utiliser Sudo:

Sudo cp --no-preserve=ownership bolt1.png bolt2.png bolt4.png /usr/share/pixmaps

Vous les aviez extraits en tant que votre propre utilisateur (non -root), ce qui vous donnait la propriété sur eux. Mais root devrait posséder les fichiers dans /usr/share/pixmaps, c'est pourquoi vous devriez utiliser l'argument --no-preserve=ownership pour cp. Puisque vous copiez les fichiers en tant que root dans un répertoire appartenant à root, la copie que vous en ferez appartiendra à root comme il convient.

Méthode 2: Copier et extraire l'archive en tant que racine

Vous trouverez peut-être plus simple de tout faire en tant que root. Ensuite, root sera le propriétaire initial des fichiers, car root les extraira. Le moyen le plus simple de le faire est de placer l'archive dans le dossier de destination (si ce n'est déjà fait).

En supposant que le fichier se trouve dans Downloads:

cd ~/Downloads
Sudo cp Jupiter_Radiance_theme_icons.tar.gz /usr/share/pixmaps

Notez que vous auriez pu utiliser plutôt mv au lieu de cp pour le déplacer au lieu de le copier (à condition que les dossiers source et cible se trouvent sur la même partition).

Maintenant, allez dans le dossier cible et extrayez l'archive:

cd /usr/share/pixmaps
Sudo tar xzvf Jupiter_Radiance_theme_icons.tar.gz

Vous devriez probablement supprimer l'archive, car il n'est pas bon d'avoir des fichiers superflus dans /usr/share/pixmaps:

Sudo rm Jupiter_Radiance_theme_icons.tar.gz

Méthode 3: extraire simplement l'archive en tant que racine

Si vous le souhaitez, vous pouvez conserver l'archive où que vous soyez téléchargé et l'extraire simplement dans /usr/share/pixmaps en tant que root. (Merci à adempewolff pour m'avoir suggéré de présenter cette méthode.)

cd /usr/share/pixmaps
Sudo tar xzvf ~/Downloads/Jupiter_Radiance_theme_icons.tar.gz

Cela fonctionne parce que tar extraira par défaut l'archive dans le dossier dans lequel vous vous trouvez , plutôt que dans le dossier dans lequel se trouve l'archive (s'ils sont différents).

Autres méthodes

Vous pouvez facilement faire une variante de Méthode 1 dans laquelle vous extrayez les fichiers graphiquement avec le gestionnaire d'archives, puis copiez-les dans le terminal avec Sudo. Mais vous pouvez aussi faire les deux en tant que root, en exécutant Nautilus (le navigateur de fichiers) en tant que root. Si vous faites cela, vous pouvez effectuer n’importe quelle tâche de gestion de fichiers avec Nautilus et tous les programmes que vous lancez à partir de Nautilus s’exécutent également sous le nom root. Vous devez faire attention à cela, car vous pourriez endommager votre système en faisant une erreur (comme vous pouvez le faire en exécutant la mauvaise commande avec Sudo), et il serait particulièrement dommage d'oublier que cette fenêtre Nautilus s'exécutait sous le nom root que normalement.

Pour exécuter des programmes graphiques en tant que root, n'utilisez pas directement Sudo. Utilisez plutôt gksu. Donc, pour exécuter Nautilus en tant que root, vous pouvez appuyer sur Alt+F2 et courir:

gksu nautilus

Si vous faites cela, assurez-vous de fermer la fenêtre Nautilus lorsque vous avez terminé , et de ne l'utiliser que pour des tâches pour lesquelles vous savez que vous devez être. root (comme apporter des modifications au contenu de /usr/share/pixmaps).

Vous pouvez même faire une variation de Méthode 2 ou Méthode 3 où vous ne copiez rien en tant que root, mais extrayez l'archive en tant que root graphiquement, en exécutant le gestionnaire d'archives en tant que root. Pour ce faire, appuyez sur Alt+F2 et courir:

gksu file-roller

Cependant, la plupart des utilisateurs trouvent plus facile d'extraire des fichiers en lançant le gestionnaire d'archives à partir de Nautilus, car il s'ouvre en sachant quelle archive vous souhaitez utiliser. (Vous pouvez transmettre le nom de l'archive dans le cadre de la commande file-roller ... mais à ce stade, vous commencez à perdre l'avantage de la facilité d'utilisation de l'interface graphique par rapport à la ligne de commande.)

Ressources suggérées

Pour en savoir plus sur l'extraction de fichiers avec tar, voir man tar .

Si l'archive avait été .tar.bz2, vous utiliseriez j au lieu de z. S'il s'agissait de .xz, vous utiliseriez plutôt J. Pour toute autre information, voir cette page de manuel.

Pour en savoir plus sur l'exécution de tâches administratives dans Ubuntu, consultez les documentation de la communauté sur Sudo et root , ainsi que man Sudo et man gksu (ou man kdesudo si vous utilisez Kubuntu).

La documentation de la communauté sur la compression de fichiers vaut la peine d'être lue pour en savoir plus sur la compression des fichiers et des archives. (Techniquement, ce sont deux choses liées et qui se chevauchent mais qui sont différentes. Par exemple: un fichier .tar est une archive. Un fichier .gz est compressé.)

La plupart du temps, vous utiliserez tar, ce ne sera probablement pas pour créer et restaurer des sauvegardes, mais cela peut être utile pour cela. De plus, comprendre comment cela fonctionne améliore votre compréhension de ce que tar peut et ne peut pas faire et comment l'utiliser. Si cela vous intéresse, consultez la documentation de la communauté sur sauvegarde de votre système avec tar .

25
Eliah Kagan