Comment extraire les archives du système de fichiers dans le terminal?

15

J'ai installé jupiter et j'utilise le thème de l'éclat afin que l'icône ne soit pas correcte, j'ai donc trouvé cette réponse sur la façon de le changer Comment puis-je changer l'icône pour Jupiter? . Il mentionne avoir besoin d'un accès superutilisateur et je pensais que l'utilisation de sudo dans le terminal serait plus judicieuse que l'activation de root ou tout 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.

Jeff H
la source
1
sudo tar -xzvf example.tar.bz, vous n'avez vraiment pas pu trouver ça en cherchant sur Google?! : P
adempewolff
Eh bien, je suis un peu nouveau pour Linux, je ne savais pas si c'était la bonne chose. Et ça ne marche pas. J'ai besoin d'extraire quelques icônes dans le dossier pixmap
Jeff H
-1: Les questions de cette base devraient être résolues par une recherche sur le Web.
Scott Severance
3
En fait, il y a un peu de réflexion ici, pour le faire correctement. Vous devez vous assurer que les fichiers de l'archive arrivent au bon endroit et qu'ils ont la bonne propriété. ( tarprendra soin des autorisations, mais pas nécessairement de la propriété.) Et il n'est pas nécessairement évident pour un novice de savoir quelles parties de la tâche ont besoin sudoet lesquelles n'en ont pas. Cela semble être une question précieuse pour notre site.
Eliah Kagan
C'est suffisant. À vrai dire, je n'ai pas pu trouver une question en double sur Ask Ubuntu lui-même, donc je ne vois aucun problème à ce qu'elle soit posée ... J'essaierais personnellement de trouver au moins une commande candidate par recherche sur le Web ou lecture man taravant de poser la question , mais je pense que cela pourrait être une question précieuse pour le site et je pense que je sais qui devrait écrire la réponse ... (nudge @EliahKagan, hehe)
adempewolff

Réponses:

25

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

Naviguez dans le terminal jusqu'à l'emplacement du fichier. Par exemple, s'il se trouve dans le Downloadsdossier à l'intérieur de votre dossier de départ, exécutez cette commande:

cd ~/Downloads

Le ~caractère dans ce contexte est une abréviation pour le nom complet de votre dossier de départ. (Par exemple, si votre nom d'utilisateur est jeff, c'est une abréviation pour /home/jeff.)

Extrayez maintenant l'archive avec tar. Puisque ce fichier est une .gzarchive, vous utiliserez l' zindicateur pour dire tarceci:

tar xvzf Jupiter_Radiance_theme_icons.tar.gz

xmoyens d'extraire. vsignifie lister les fichiers au fur et à mesure de leur extraction (vous pouvez les laisser si vous le souhaitez) zsignifie pour gunziplui (comme l' .tararchive est elle-même compressée avec gzip- c'est ce que l' .gzextension désigne). fsignifie l'extraire ici dans le système de fichiers (et la nécessité de celui-ci est un artefact de l'ancienne utilisation commune de tar, pour créer et extraire des archives de bandes ).

L'archive que vous venez d'extraire contient trois fichiers (vous avez vu leurs noms de fichiers si vous avez conservé l' vindicateur dans la commande). Leurs noms sont bolt1.png, bolt2.pnget bolt4.png. Alors maintenant, copiez ces fichiers dans /usr/share/pixmaps. C'est la partie qui nécessite des rootprivilèges, c'est donc là que vous devez utiliser sudo:

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

Vous les aviez extraits en tant que votre (non root) utilisateur, ce qui vous en a donné la propriété. Mais rootdevrait posséder les fichiers /usr/share/pixmaps, c'est pourquoi vous devez utiliser l' --no-preserve=ownershipargument pour cp. Étant donné que vous copiez les fichiers comme rootdans un répertoire appartenant à root, la copie que vous effectuez appartiendra rootcomme il convient.

Méthode 2: copie et extraction de l'archive en tant que racine

Vous pourriez trouver plus simple de tout faire comme root. Puis rootsera propriétaire des fichiers initialement, car rootles extraira. La façon la plus simple de le faire est de placer l'archive dans le dossier de destination (si ce n'est déjà fait).

Supposons que le fichier se trouve dans Downloads:

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

Veuillez noter que vous auriez pu au mvlieu de cple déplacer au lieu de le copier (à condition que les dossiers source et cible se trouvent sur la même partition).

Allez maintenant 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 partout où vous l'avez téléchargée et l'extraire simplement en /usr/share/pixmapstant que root. (Merci à adempewolff d' 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 car tar, par défaut, extraira l'archive dans le dossier dans lequel vous vous trouvez , plutôt que dans le dossier dans lequel l'archive se trouve (s'ils sont différents).

Autres méthodes

Vous pouvez facilement faire une variation de la méthode 1 où vous extrayez les fichiers graphiquement avec le gestionnaire d'archives, puis copiez-les dans le terminal avec sudo. Mais vous pouvez également faire les deux rooten 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 lancerez à partir de Nautilus s'exécuteront également sous root. Vous devez être prudent avec cela, car vous pouvez endommager votre système en faisant une erreur (tout comme vous pouvez en exécutant la mauvaise commande avec sudo), et parce qu'il serait particulièrement mauvais d'oublier que cette fenêtre Nautilus fonctionnait comme rootplutôt que normalement .

Pour exécuter des programmes graphiques root, n'utilisez pas sudodirectement. Utilisez plutôt gksu. Donc, pour exécuter Nautilus as root, vous pouvez appuyer sur Alt+ F2et exécuter:

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 les tâches où vous savez que vous devez être root(comme apporter des modifications au contenu de /usr/share/pixmaps).

Vous pouvez même faire une variante de la méthode 2 ou de la méthode 3 où vous ne copiez rien en tant que root, mais au lieu d'extraire l'archive sous forme rootgraphique, en exécutant le gestionnaire d'archives en tant que root. Pour ce faire, appuyez sur Alt+ F2et exécutez:

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 qu'il utilise. (Vous pouvez transmettre le nom de l'archive dans le cadre de la file-rollercommande ... mais à ce stade, vous commencez à perdre l'avantage de la convivialité de l'interface graphique sur 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 à la jplace de z. Si c'était le cas .xz, vous utiliseriez à la Jplace. Pour toutes les autres informations, consultez cette page de manuel.

Pour en savoir plus sur l'exécution de tâches administratives dans Ubuntu, consultez la documentation desudoroot la communauté sur et , et aussi man sudoet man gksu(ou man kdesudosi vous utilisez Kubuntu).

La documentation communautaire sur la compression de fichiers mérite d'être lue, pour en savoir plus sur les archives et la compression de fichiers. (Techniquement, ce sont deux choses liées et qui se chevauchent, mais différentes. Par exemple: Un .tarfichier est une archive. Un .gzfichier est compressé.)

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

Eliah Kagan
la source
1
+1, mais ne pouvez-vous pas éliminer l' cpétape? quelque chose comme ça cd /usr/share/pixmapset ensuite sudo tar xzvf ~/Downloads/Jupiter_Radiance_theme_icons.tar.gz?
adempewolff
Je vais essayer celui basé sur l'interface graphique, merci. MISE À JOUR: cette méthode a parfaitement fonctionné, merci
Jeff H
@adempewolff C'est vrai, cela fonctionnera. Je pense que la façon dont j'ai présenté est conceptuellement similaire ... mais je vais continuer et ajouter de cette façon aussi, car cela économise un peu de frappe et peut être préféré.
Eliah Kagan
Je suis d'accord que c'est une tomate Tom- aw distinction -toes. Je suis juste paresseux à taper plusieurs commandes!
adempewolff
1
@ B1KMusic À droite, vous n'avez généralement pas besoin z. Théoriquement, il pourrait y avoir des archives corrompues qui peuvent être extraites (peut-être seulement partiellement) mais uniquement lorsque vous dites tarquel type d'archive essayer d'extraire, mais en pratique, je pense que vous avez raison: même les archives corrompues n'en bénéficieront probablement pas. Quant à la performance et au vdrapeau: j'explique ce que fait le vdrapeau, les gens n'ont pas à l'utiliser. Les archives à plusieurs fichiers - cette situation où les performances diminueraient - produiraient également une sortie à défilement rapide et sans intérêt. Chaque fois que quelqu'un veut vraiment utiliser v, le ralentissement est peu probable.
Eliah Kagan