web-dev-qa-db-fra.com

Tar est désinstallé, comment est-il possible de le réinstaller?

Je faisais des trucs sur mon PC Ubuntu, quand je l’ai fait

Sudo apt-get autoremove tar

et foiré mon ordinateur. J'ai apparemment voulu réinstaller tar, mais au lieu de cela je l'ai supprimé en pensant que je l'installerais après son retrait. C'était une erreur et je regrette de l'avoir fait.

Maintenant, je peux difficilement faire quoi que ce soit avec du goudron non installé sur mon ordinateur. Je ne peux installer aucun paquet en utilisant apt-get, ni installer de paquets en utilisant dpkg. J'ai essayé de télécharger un fichier .deb de tar et de l'installer sur mon ordinateur à l'aide de dpkg, mais comme je l'ai dit, je ne pouvais pas le faire non plus.

Je ne peux pas installer tar avec apt-get non plus, donc je ne savais plus comment installer tar sur mon ordinateur.

J'ai essayé de chercher sur des sites Web, y compris AU, mais je n'ai pas trouvé de solution à cela.

Comment installer tar sans avoir installé tar sur votre ordinateur? (les solutions avec apt-get, dpkg, etc. ne fonctionneront pas) Je suis sur Ubuntu 14.04 LTS.

3
Ashish Ahuja

J'ai résolu le problème avec certaines solutions de contournement, mais cela fonctionne. Ce ne serait peut-être pas le meilleur moyen de résoudre le problème. J'ai eu la réponse en suivant quelques parties de commentaire de @ steeldriver et en ajoutant certaines des miennes.


Tout d’abord, vous devez télécharger le fichier . Deb pour tar .

Allez dans votre dossier Téléchargements, en utilisant la commande

cd ~/Downloads/

et ensuite faire

ls | grep tar

pour vous assurer que le téléchargement a réussi. Vous devriez obtenir une sortie similaire à

tar_1.27.1-1ubuntu0.1_i386.deb

Sinon, vous devriez essayer de télécharger à nouveau.


Je vais utiliser le nom mytar.deb pour la réponse, mais remplacez-le par le nom réel de votre fichier .deb

Maintenant, vous devez extraire le contenu du fichier .deb sans à l'aide de tar.

D'abord faire

ar x mytar.deb

which extraira les fichiers de l'archive dans le répertoire en cours. Pour lister les fichiers présents, faites

ar t mytar.deb

qui produira quelque chose de similaire à

debian-binary
control.tar.gz
data.tar.xz

data.tar.xz contient les fichiers à copier. Nous ne pouvons pas utiliser tar pour les extraire car notre ordinateur actuel ne dispose pas de la commande tar.

Commençons par convertir data.tar.xz en data.tar. Pour ce faire, faites

xz -dc < data.tar.xz > data.tar

qui devrait créer un nouveau fichier data.tar.

Maintenant, nous devons créer un lien vers busybox comme mentionné par @steeldriver dans les commentaires. Alors faites

Sudo ln -s /bin/busybox /usr/local/bin/tar

créer un lien symbolique.

Ensuite, vous utilisez essentiellement busybox au lieu de tar. Donc, si vous utilisez la commande tar, il appelle plutôt busybox. Maintenant faire

mkdir temp

créer un répertoire factice. ensuite

tar -xf data.tar -C temp/

extraire le fichier .tar et extraire son contenu dans le répertoire temp. Changez le répertoire de travail en temp en utilisant

cd temp

Alors fais,

ls -pal

pour obtenir une sortie comme

total 28
drwxrwxr-x  5 ashish ashish  4096 Jan 11 08:41 ./
drwxr-xr-x 23 ashish ashish 12288 Jan 11 08:41 ../
drwxr-xr-x  2 ashish ashish  4096 Jan 11 08:41 bin/
drwxr-xr-x  2 ashish ashish  4096 Jan 11 08:41 etc/
drwxr-xr-x  5 ashish ashish  4096 Jan 11 08:41 usr/

Si vous n'obtenez pas les dossiers tels que bin, etc et usr, vous avez commis une erreur.

Maintenant, vous pouvez simplement copier tous les fichiers de ces dossiers vers les destinations réelles (/bin/tar, /usr/local/bin/tar etc.), puis

tar --help

Si vous obtenez une sortie montrant les commandes de tar, ça marche!

Maintenant faire

Sudo apt-get install --reinstall tar

qui devrait réinstaller tar. Si cela vous donne une erreur en disant que vous exécutez apt-get -f install, faites-le puis réinstallez tar, cela fonctionnera pour moi sur Ubuntu 14.04 LTS.

3
Ashish Ahuja

Vous pouvez exécuter un live-cd de votre version d'ubuntu distro pour copier le fichier tar de live distro sur votre disque dur.

  1. Démarrer à partir du CD (ou usb)
  2. Montez votre disque dur sur/mnt: (si votre disque dur est/dev/sdb1)

    mount /dev/sda1 /mnt
    
  3. Copier/bin/tar dans/mnt/bin/tar

    cp /bin/tar /mnt/bin/tar
    
  4. Si cela ne suffit pas, vous pouvez essayer de copier d'autres fichiers liés à tar. Vous pouvez les lister avec dpkg:

    $ dpkg -L tar 
    /bin
    /bin/tar
    /usr
    /usr/sbin
    /usr/sbin/tarcat
    /usr/sbin/rmt-tar
    /usr/share
    /usr/share/doc
    /usr/share/doc/tar
    /usr/share/doc/tar/changelog.Debian.gz
    /usr/share/doc/tar/copyright
    /usr/share/doc/tar/NEWS.Debian.gz
    /usr/share/doc/tar/NEWS.gz
    /usr/share/doc/tar/README.Debian
    /usr/share/doc/tar/THANKS.gz
    /usr/share/doc/tar/AUTHORS
    /usr/share/man
    /usr/share/man/man8
    /usr/share/man/man8/rmt-tar.8.gz
    /usr/share/man/man1
    /usr/share/man/man1/tarcat.1.gz
    /usr/share/man/man1/tar.1.gz
    /usr/lib
    /usr/lib/tar
    /usr/lib/mime
    /usr/lib/mime/packages
    /usr/lib/mime/packages/tar
    /etc
    /etc/rmt
    
3
Mat'arangéÇa