Comment installer des paquets .bundle dans Ubuntu?

72

J'ai récemment téléchargé un package avec l'extension .bundle. c'est VMware-Player-6.0.3-1895310.x86_64.bundle. Je veux installer vmware-player, mais quand je l'ouvre, il s'ouvre avec l'éditeur de texte.

αғsнιη
la source

Réponses:

114

Tout d'abord, soyez averti, l'installation de fichiers en dehors du référentiel Ubuntu peut compromettre le système. VMware est probablement sûr, mais il convient de le mentionner.

  1. Vous devez changer l'autorisation du fichier pour le rendre exécutable:

    chmod a+x VMware-Player-6.0.3-1895310.x86_64.bundle
    
  2. Démarrer le fichier. Vous aurez probablement besoin de privilèges root pour installer VMWare, mais ce n'est pas toujours le cas. Donc dans ce cas:

    sudo ./VMware-Player-6.0.3-1895310.x86_64.bundle
    
Radek Dostal
la source
15
Merci! Soupir. Si seulement VMware disait cela sur leur page de téléchargement ...
nealmcb
1
Aussi, vous pouvezsudo /bin/sh VMware-Player-6.0.3-1895310.x86_64.bundle
Thusitha Sumanadasa
8
Cela ne devrait-il pas être chmod u+xplutôt que «chmod a + x»? Les nouveaux utilisateurs ne doivent pas être encouragés à créer quelque chose d'exécutable au niveau mondial.
Morgoth
Comment courir sudode Dolphin? Si je clique avec le bouton droit de la souris sur un fichier, l'option "Exécuter en tant que racine" (Exécuter en tant qu'administrateur) n'existe pas. Comment installer VMWare sans utiliser de shell?
Eugene Mala
31

Comment savoir de quel type de fichier il s'agit?

Les .bundlefichiers de VMware Player, Workstation et d’autres produits sont en réalité des scripts de shell, avec des données binaires incorporées. Vous pouvez découvrir ou vérifier cela avec l' fileutilitaire, qui est pratique pour savoir quel type de fichier est (probablement):

ek@Ilex:~$ file VMware-Player-6.0.3-1895310.x86_64.bundle
VMware-Player-6.0.3-1895310.x86_64.bundle: a /usr/bin/env bash script executable (binary data)

Comment utiliser le fichier à partir de ces informations?

Vous pouvez le rendre exécutable avec chmod, puis lancez-le:

chmod +x VMware-Player-6.0.3-1895310.x86_64.bundle
sudo ./VMware-Player-6.0.3-1895310.x86_64.bundle

(Si c'est le seul .bundlefichier de votre répertoire actuel, vous pouvez simplement utiliser chmod +x *.bundleet ./*.bundle. Ou tapez les premiers caractères du nom de fichier et appuyez sur Tab, le shell tapera le reste à votre place .)

Pourquoi sudo?

Les logiciels de virtualisation, tels que les produits VMware, doivent être installés en tant que root. C'est pourquoi je mets sudoau début de la deuxième ligne. (Contrairement à la virtualisation, les émulateurs n’utilisant aucune virtualisation peuvent généralement être installés et utilisés par un utilisateur limité, sans aucune action de la part du superutilisateur.)

Pourquoi est-ce que tout sudova bien ici, quand l'installateur est graphique?

Les programmes d'installation de produits VMware sont graphiques (au moins pour une partie de l'installation). Bien qu'il soit généralement recommandé d'éviter de lancer un programme graphique avec (préférant ou ), dans ce cas, cela devrait suffire:sudo programgksudo programsudo -H program

  • Le programme d'installation de VMware Player, et les programmes d'installation exécutables en général, ne tenteront probablement pas d'écrire des fichiers de configuration dans le répertoire de base de l'utilisateur qui les exécute.
  • Et même s'ils le faisaient, les fichiers de configuration appartiendraient au programme d' installation lui-même. Ils n'empêcheraient pas les programmes d'être exécutés normalement par l'utilisateur limité, car il est peu probable que vous souhaitiez exécuter un tel programme d'installation en tant qu'utilisateur non root.
Eliah Kagan
la source
2
Cela varie selon les fichiers de paquet. Sur Trusty, file Downloads/VMw*dit VMware-Player-7.0.0-2305329.x86_64.bundle: data Au lieu de cela, vous pouvez voir ce que le fichier commence par "cat -vt ~ / Téléchargements / V * | more", ce qui montre qu'il commence par une ligne indiquant qu'il s'agit d'un script shell: #!/usr/bin/env bash
nealmcb