Wie führe ich eine .run-Datei als root aus?

10

Ich habe eine .run-Datei für einen Nvidia-Treiber heruntergeladen, aber wenn ich sie im Terminal ausführe, wird mir mitgeteilt, dass sie als root ausgeführt werden muss.

Ich bin ein absoluter Noob und ich weiß kaum, was Wurzel ist. Ich denke, es ist ungefähr das Äquivalent von admin in Windows. Treiber als root ausgeführt

Nun, ich habe die Datei zum Laufen gebracht, aber es stellt sich heraus, dass der Treiber meine Karte nicht erkennt. Ich habe von anderen Problemen mit Nvidia-Karten gehört, die mit 64-Bit-Versionen von 12.04 nicht richtig funktionieren.

Daniel Richardson
quelle
3
Wenn Sie, wie Sie sagen, ein absoluter Neuling sind, gibt es vielleicht einen besseren und einfacheren Weg, um das zu tun, was Sie tun. Versuchen Sie einfach, den Nvidia-Treiber zu installieren? Dafür gibt es eine Point-and-Click-Oberfläche - suchen Sie in Ihren Systemeinstellungen nach "Zusätzliche Treiber". Wenn Sie das bereits versucht haben, können Sie uns wissen lassen, und was ist schief gelaufen?
Thomasrutter
1
Falls Sie nicht so viel Erfahrung mit Ubuntu haben, würde ich noch einen Schritt weiter gehen und Sie davon abhalten, andere Grafiktreiber als die oben genannten Methoden zu installieren.
Takkat
Auch wenn Sie einen Beta-Treiber testen möchten, schauen Sie sich diese askubuntu.com/questions/131150/…
desgua
1
Unter der Einstellung "Zusätzliche Treiber" befinden sich keine Treiber. Ich muss mich nicht entmutigen lassen, wie soll ich sonst lernen, außer durch Versuch und Irrtum? Beta-Treiber? Ich werde das untersuchen. Ich habe genügend Zeit, um Ubuntu tausende Male neu zu installieren.
Daniel Richardson
@neon_overload, ich weiß, dass dies ein alter Thread ist, aber ich möchte nur darauf hinweisen, dass ich "Zusätzliche Treiber" aus dem Ubuntu Software Center installieren musste, da dieser nicht standardmäßig angezeigt wurde
Sos

Antworten:

10

Sie müssen zwei Dinge tun; beide von einer Terminal-Eingabeaufforderung:

  1. Wechseln Sie in das Verzeichnis, in dem Sie die .runDatei gespeichert haben.
  2. Art: chmod 755 filename.run
  3. Art: sudo ./filename.run

Mit den obigen Befehlen wird die Datei ausführbar und die ausführbare Datei mit Berechtigungen auf Stammebene gestartet.

Justin Andrusk
quelle
Aber die Datei lief offensichtlich in Ordnung. Warum sollte man ihn also mit unnötigen Schritten verwechseln? Außerdem sollten Sie angeben, dass "Dateiname" nicht wörtlich eingegeben werden soll, sondern den Namen der .run-Datei ersetzt.
Marty Fried
Es ist in Ordnung, ich habe es verstanden. Ich musste einige Dinge googeln, aber am Ende war es in Ordnung.
Daniel Richardson
1

Fügen Sie vor dem Befehl den Befehl "sudo" hinzu. Zum Beispiel: sudo blah.sh

Nachdem Sie Ihr Passwort eingegeben haben, wird der Befehl als root ausgeführt. Überprüfen Sie die Vertrauenswürdigkeit eines Pakets oder Befehls, bevor Sie es mit sudo ausführen.

Notkevin
quelle
PS Sie sollten wirklich help.ubuntu.com/community/RootSudo
notkevin
1
Wenn der Befehl ./blah.shdann als root ausgeführt werden soll, würden Sie dies natürlich tun sudo ./blah.shund nicht sudo blah.sh(was nur ausgeführt blah.shwerden würde, wenn es sich in der befindet $PATH).
Eliah Kagan
Achtung, muss möglicherweise gksudo für Grafiken verwenden ...
MUY Belgien
1

rootist das Hauptkonto in Ubuntu; Jedes Konto verfügt über eingeschränkte Berechtigungen, das rootKonto unterliegt jedoch keinen Einschränkungen. Der Grund für das Ausblenden rootist, dass Sie in den meisten Fällen keinen Root-Zugriff benötigen. Das Analogon in Windows muss sich authentifizieren, wenn Sie einen Treiber installieren möchten. In Ubuntu müssen Sie root sein oder Root-Rechte haben.

Es gibt zwei Möglichkeiten, wie Sie als Root zugreifen können. Du kannst Tippen:

sudo <whatever-command> und Ubuntu werden Sie nach Ihrem Passwort fragen und diesen Befehl dann als root ausführen.

ODER

sudo su, wo Sie Ihr eigenes Passwort eingeben und dann root werden (dh Sie werden als root angemeldet).

Ich bevorzuge letzteres, weil es mir mehr Kontrolle gibt; Manchmal reicht es nicht aus, einen Befehl nur als Root auszuführen, aber dies kann gefährlicher sein (dh Sie könnten versehentlich mehr Schaden verursachen).

Ich empfehle den ersten Weg zu versuchen. Und dann den zweiten Weg versuchen, wenn das nicht funktioniert. Stellen Sie einfach sicher, dass Sie die Wurzel verlassen, nachdem Sie fertig sind (dh geben exitSie ein, nachdem Sie das getan haben, was Sie als Wurzel tun müssen).

Avery Chan
quelle
1
sudo -swird allgemein als vorzuziehen angesehen sudo su(obwohl dies mehr mit Eleganz als mit irgendetwas anderem zu tun haben kann). Verwenden Sie stattdessen eine rootShell, die sich wie eine tatsächliche rootAnmeldung verhält sudo -i. (Dies ist ähnlich wie sudo su -.) Funktioniert auch logoutnicht, um aus einer sudo suShell herauszukommen , da eine solche Shell keine Anmeldeshell ist. Sie müssen exitstattdessen verwenden.
Eliah Kagan
@EliahKagan Cool! Ich wusste nichts über sudo -i/ -s. Guter Punkt exit, das habe ich falsch geschrieben. Ich werde den obigen Eintrag bearbeiten. Können Sie erklären, warum sudo -s"eleganter" ist?
Avery Chan
1
Sicher, aber zuerst einige Hintergrundinformationen, damit die Erklärung für andere von Vorteil sein kann. suund sudosind zwei separate Mechanismen zum Ausführen eines Befehls als Benutzer, die sich möglicherweise von dem Benutzer unterscheiden, der sie aufruft. (Falls nicht anders angegeben, suund sudoläuft - oder zu laufen versuchen - den Befehl als root.) Da suauthentisiert mit dem Zielbenutzerkennwort und Passwort - Authentifizierung für rootstandardmäßig (und nicht zu empfehlen oder offiziell unterstützt) in Ubuntu ausgeschaltet, Sie können nicht verwenden su, um zu werden root, aber Sie rootkönnen sicherlich verwenden su, um ein anderer Benutzer zu werden.
Eliah Kagan
1
sudound subeide können einen einzelnen Befehl ausführen. sudotut dies standardmäßig und sutut dies, wenn das -cFlag gegeben wird. Sie sind auch beide in der Lage, eine Shell zu starten. sudoDies geschieht, wenn das -sFlag angegeben wird (oder -ium eine anfängliche Anmeldeshell zu simulieren), und sudies standardmäßig (oder wenn das -Flag angegeben wird, um eine solche Anmeldeshell zu simulieren). Wenn Sie laufen sudo su, werden Sie rootmit sudound dann wieder root als root (dh root su-ing für sich selbst), um eine Shell zu starten. Es ist eleganter, die Identität nur einmal zu "ändern" und die Login-Shell zu starten ...
Eliah Kagan
1
... was ist sudo -s(oder sudo -i) erreicht. su -c 'sudo ...'(mit ...durch einen Befehl ersetzt) ​​wäre ähnlich unelegant. Befehle wie sudo bashwerden aus einem anderen, verwandten Grund als etwas unelegant angesehen. Sie sudohaben die Flags -sund -i, um eine Shell zu starten, wie Sie möchten , sodass Sie sie auch verwenden können. Obwohl diese Methoden unelegant sind (und sich in ihren Auswirkungen geringfügig von den vorgeschlagenen sudo -sund unterscheiden sudo -i), sind sie nicht wirklich schlecht und funktionieren einwandfrei. Sie können sie also weiterhin verwenden, wenn Sie dies wünschen.
Eliah Kagan
-1

Wenn Sie das Root-Konto aktiviert haben, können Sie es verwenden

su

Geben Sie das Kennwort für root cdin Ihren Anwendungsordner ein und führen Sie es aus

./package.run
Hasan BD
quelle
1
In Ubuntu ist root nicht für die Anmeldung / su mit dem Standardkennwort eingerichtet, daher funktioniert das oben Gesagte nicht sofort.
Soren A