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.
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.
drivers
command-line
root
Daniel Richardson
quelle
quelle
Antworten:
Sie müssen zwei Dinge tun; beide von einer Terminal-Eingabeaufforderung:
.run
Datei gespeichert haben.chmod 755 filename.run
sudo ./filename.run
Mit den obigen Befehlen wird die Datei ausführbar und die ausführbare Datei mit Berechtigungen auf Stammebene gestartet.
quelle
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.
quelle
./blah.sh
dann als root ausgeführt werden soll, würden Sie dies natürlich tunsudo ./blah.sh
und nichtsudo blah.sh
(was nur ausgeführtblah.sh
werden würde, wenn es sich in der befindet$PATH
).root
ist das Hauptkonto in Ubuntu; Jedes Konto verfügt über eingeschränkte Berechtigungen, dasroot
Konto unterliegt jedoch keinen Einschränkungen. Der Grund für das Ausblendenroot
ist, 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
exit
Sie ein, nachdem Sie das getan haben, was Sie als Wurzel tun müssen).quelle
sudo -s
wird allgemein als vorzuziehen angesehensudo su
(obwohl dies mehr mit Eleganz als mit irgendetwas anderem zu tun haben kann). Verwenden Sie stattdessen eineroot
Shell, die sich wie eine tatsächlicheroot
Anmeldung verhältsudo -i
. (Dies ist ähnlich wiesudo su -
.) Funktioniert auchlogout
nicht, um aus einersudo su
Shell herauszukommen , da eine solche Shell keine Anmeldeshell ist. Sie müssenexit
stattdessen verwenden.sudo -i
/-s
. Guter Punktexit
, das habe ich falsch geschrieben. Ich werde den obigen Eintrag bearbeiten. Können Sie erklären, warumsudo -s
"eleganter" ist?su
undsudo
sind 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,su
undsudo
läuft - oder zu laufen versuchen - den Befehl alsroot
.) Dasu
authentisiert mit dem Zielbenutzerkennwort und Passwort - Authentifizierung fürroot
standardmäßig (und nicht zu empfehlen oder offiziell unterstützt) in Ubuntu ausgeschaltet, Sie können nicht verwendensu
, um zu werdenroot
, aber Sieroot
können sicherlich verwendensu
, um ein anderer Benutzer zu werden.sudo
undsu
beide können einen einzelnen Befehl ausführen.sudo
tut dies standardmäßig undsu
tut dies, wenn das-c
Flag gegeben wird. Sie sind auch beide in der Lage, eine Shell zu starten.sudo
Dies geschieht, wenn das-s
Flag angegeben wird (oder-i
um eine anfängliche Anmeldeshell zu simulieren), undsu
dies standardmäßig (oder wenn das-
Flag angegeben wird, um eine solche Anmeldeshell zu simulieren). Wenn Sie laufensudo su
, werden Sieroot
mitsudo
und dann wieder root als root (dhroot
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 ...sudo -s
(odersudo -i
) erreicht.su -c 'sudo ...'
(mit...
durch einen Befehl ersetzt) wäre ähnlich unelegant. Befehle wiesudo bash
werden aus einem anderen, verwandten Grund als etwas unelegant angesehen. Siesudo
haben die Flags-s
und-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 vorgeschlagenensudo -s
und unterscheidensudo -i
), sind sie nicht wirklich schlecht und funktionieren einwandfrei. Sie können sie also weiterhin verwenden, wenn Sie dies wünschen.Wenn Sie das Root-Konto aktiviert haben, können Sie es verwenden
Geben Sie das Kennwort für root
cd
in Ihren Anwendungsordner ein und führen Sie es ausquelle