Comment exécuter un fichier .run en tant que root?

10

J'ai téléchargé un fichier .run pour un pilote Nvidia, mais quand je l'exécute dans le terminal, il me dit qu'il doit être exécuté en tant que root.

Je suis un noob complet et je sais à peine ce qu'est la racine. Je pense que c'est quelque part l'équivalent de l'administrateur dans Windows. pilote exécuté en tant que root

Eh bien, j'ai réussi à exécuter le fichier, mais il s'avère que le pilote ne reconnaîtra pas ma carte. J'ai entendu parler d'autres problèmes avec les cartes Nvidia qui ne fonctionnaient pas correctement avec les versions 64 bits de 12.04.

Daniel Richardson
la source
3
Si vous êtes, comme vous le dites, un noob complet, il existe peut-être un moyen meilleur et plus facile de faire ce que vous faites. Essayez-vous simplement d'installer le pilote Nvidia? Il existe une interface pointer-cliquer pour cela - recherchez «Pilotes supplémentaires» sous les paramètres de votre système. Si vous avez déjà essayé cela, pourriez-vous nous le faire savoir et qu'est-ce qui a mal tourné?
thomasrutter
1
Dans le cas où vous n'êtes pas aussi expérimenté avec Ubuntu, je voudrais aller plus loin et vous décourager d'installer des pilotes graphiques autrement que par les méthodes mentionnées ci-dessus.
Takkat
Aussi, si vous voulez tester un pilote bêta, regardez ce askubuntu.com/questions/131150/…
desgua
1
Il n'y a aucun pilote sous le paramètre "pilotes supplémentaires". Je n'ai pas besoin d'être découragé, comment vais-je apprendre autrement que par essais et erreurs? Pilote bêta? J'examinerai cela. J'ai beaucoup de temps pour réinstaller Ubuntu des milliers de fois.
Daniel Richardson
@neon_overload, je sais que c'est un vieux fil de discussion, mais je voudrais juste souligner que j'ai dû installer des "pilotes supplémentaires" à partir du Centre logiciel Ubuntu, car il n'apparaissait pas par défaut
Sos

Réponses:

10

Vous devez faire deux choses; à la fois à partir d'une invite de terminal:

  1. Accédez au répertoire dans lequel vous avez .runstocké le fichier.
  2. Type: chmod 755 filename.run
  3. Type: sudo ./filename.run

Les commandes ci-dessus rendront le fichier exécutable et lanceront l'exécutable avec des autorisations au niveau racine.

Justin Andrusk
la source
Mais le fichier a bien fonctionné, évidemment, alors pourquoi le confondre avec des étapes inutiles? En outre, vous devez spécifier que "nom de fichier" ne doit pas être tapé littéralement, mais remplace le nom du fichier .run.
Marty Fried
Ça va, je l'ai compris. J'ai dû faire des recherches sur Google, mais au final, ça allait.
Daniel Richardson
1

Ajoutez la commande "sudo" avant la commande. Par exemple: sudo blah.sh

Après avoir entré votre mot de passe, la commande s'exécutera en tant que root. Veillez à vérifier la fiabilité d'un package ou d'une commande avant de l'exécuter avec sudo.

notkevin
la source
PS, vous devriez vraiment lire help.ubuntu.com/community/RootSudo
notkevin
1
Bien sûr, si la commande consiste ./blah.shà l'exécuter en tant que root, vous le feriez sudo ./blah.sh, plutôt que sudo blah.sh(qui ne s'exécuterait que blah.shs'il se trouve dans le $PATH).
Eliah Kagan
Attention, il faut éventuellement utiliser gksudo pour les graphiques ...
MUY Belgium
1

rootest le compte principal dans Ubuntu; chaque compte a des privilèges limités mais le rootcompte n'a aucune limitation. La raison du masquage rootest que, dans la plupart des cas, vous n'avez pas besoin d'un accès root. L'analogue dans Windows devrait s'authentifier lorsque vous souhaitez installer un pilote; dans Ubuntu, vous devez être root ou avoir des privilèges root.

Il y a deux façons pour vous d'accéder en tant que root. Vous pouvez taper:

sudo <whatever-command> et Ubuntu vous demandera votre mot de passe, puis exécutera cette commande en tant que root.

OU

sudo su, où vous entrerez votre propre mot de passe, puis vous deviendrez root (c'est-à-dire que vous serez connecté en tant que root).

Je préfère ce dernier car il me donne plus de contrôle; Parfois, exécuter une commande tout comme root n'est pas suffisant, mais le faire de cette façon peut être plus dangereux (c'est-à-dire que vous pourriez accidentellement causer plus de dégâts).

Je recommande d'essayer la première façon. Et puis essayez la deuxième façon si cela ne fonctionne pas. Assurez-vous simplement de sortir de root une fois que vous avez terminé (c'est-à-dire de taper une exitfois que vous avez fini de faire ce que vous devez faire en tant que root).

Avery Chan
la source
1
sudo -sest largement considéré comme préférable à sudo su(bien que cela puisse avoir plus à voir avec l'élégance qu'autre chose). Pour obtenir un rootshell qui se comporte comme une rootconnexion réelle , utilisez sudo -iplutôt. (Ceci est similaire à sudo su -.) De plus, logoutne fonctionnera pas pour sortir d'un sudo sushell, car un tel shell n'est pas un shell de connexion. Vous devez utiliser à la exitplace.
Eliah Kagan
@EliahKagan Cool! Je ne connaissais pas sudo -i/ -s. Bon point exit, j'ai mal saisi cela. Je vais modifier l'entrée ci-dessus. Pouvez-vous expliquer pourquoi sudo -sest plus "élégant"?
Avery Chan
1
Bien sûr, mais d'abord quelques informations afin que l'explication puisse être bénéfique pour les autres. suet sudosont deux mécanismes distincts pour exécuter une commande en tant qu'utilisateur, qui peuvent être différents de l'utilisateur qui les appelle. (Sauf indication contraire, suet sudoexécutera - ou tentera d'exécuter - la commande en tant que root.) Puisque l' suauthentification avec le mot de passe de l'utilisateur cible et l'authentification par mot de passe pour rootest désactivée par défaut (et non recommandée ou officiellement prise en charge) dans Ubuntu, vous ne pouvez pas utiliser supour devenir root, mais rootpouvez certainement utiliser supour devenir un autre utilisateur.
Eliah Kagan
1
sudoet susont tous deux capables d'exécuter une seule commande. sudofait cela par défaut et le sufait quand on lui donne le -cdrapeau. Ils sont également tous deux capables de démarrer un shell. sudofait cela quand on lui donne le -sdrapeau (ou -ipour simuler un shell de connexion initial), et sufait cela par défaut (ou quand on lui donne le -drapeau, pour simuler un tel shell de connexion). Lorsque vous exécutez sudo su, vous devenez rootavec sudo, puis redevenez root en tant que root (c'est- root suà- dire, -ing à lui-même), pour démarrer un shell. Il est plus élégant de simplement "changer" d'identité une fois et de démarrer le shell de connexion ...
Eliah Kagan
1
... c'est ce qui sudo -s(ou sudo -i) accomplit. su -c 'sudo ...'(avec ...remplacé par une commande) serait également inélégant. Les commandes comme sudo bashsont considérées comme un peu inélégantes pour une raison différente et connexe - sudoa les drapeaux -set -ipour démarrer un shell comme vous le souhaitez, donc on peut aussi bien les utiliser. Bien que ces méthodes soient inélégantes (et subtilement différentes dans leurs effets de celles suggérées sudo -set sudo -i), elles ne sont pas vraiment mauvaises et fonctionnent bien , il est donc normal de continuer à les utiliser si vous le souhaitez.
Eliah Kagan
-1

Si vous avez activé le compte root, vous pouvez utiliser

su

Saisissez le mot de passe root, cddans votre dossier d'application, puis exécutez

./package.run
Hasan BD
la source
1
Dans Ubuntu root n'est pas configuré pour login / su avec mot de passe par défaut, donc ce qui précède ne fonctionnera pas hors de la boîte.
Soren A