Как запустить файл .run от имени root?


10

Я загрузил файл .run для драйвера Nvidia, но когда я запускаю его в терминале, он говорит мне, что он должен быть запущен от имени пользователя root.

Я полный нуб, и я даже почти не знаю, что такое root. Я думаю, что это где-то около админа в Windows. драйвер запускается как root

Я получил файл для запуска, но оказалось, что драйвер не распознает мою карту. Я слышал о других проблемах с картами Nvidia, которые не работают с 64-битными версиями 12.04.


3
Если вы, как вы говорите, полный нуб, возможно, есть лучший и более простой способ сделать то, что вы делаете. Вы просто пытаетесь установить драйвер Nvidia? Для этого есть интерфейс «укажи и щелкни» - найдите «Дополнительные драйверы» в настройках системы. Если вы уже попробовали это, не могли бы вы сообщить нам, и что пошло не так?
Томасруттер

1
Если у вас нет такого опыта работы с Ubuntu, я бы пошел дальше и хотел бы отговорить вас от установки графических драйверов, кроме как с помощью методов, упомянутых выше.
Таккат

Также, если вы хотите протестировать бета-версию драйвера, посмотрите этот askubuntu.com/questions/131150/…
desgua

1
В настройке «дополнительные драйверы» нет драйверов. Мне не нужно разочаровываться, как еще я буду учиться, но методом проб и ошибок? Бета-драйвер? Я посмотрю на это. У меня достаточно времени, чтобы переустановить Ubuntu тысячи раз.
Даниэль Ричардсон,

@neon_overload, я знаю, что это старая ветка, но я хотел бы отметить, что мне пришлось установить «Дополнительные драйверы» из Центра программного обеспечения Ubuntu, так как он не показывался по умолчанию
Sos

Ответы:


10

Вам нужно сделать две вещи; оба из терминала терминала:

  1. Перейдите в каталог, где .runхранится файл.
  2. Тип: chmod 755 filename.run
  3. Тип: sudo ./filename.run

Приведенные выше команды сделают файл исполняемым и запустят исполняемый файл с правами корневого уровня.


Но файл работал нормально, так что зачем путать его с ненужными шагами? Кроме того, вы должны указать, что «имя файла» не следует вводить буквально, а заменяет имя файла .run.
Марти Фрид

Все хорошо, я это понял. Я должен был гуглить некоторые вещи, но в конце все было хорошо.
Даниэль Ричардсон

1

Добавьте команду "sudo" перед командой. Например: sudo blah.sh

После того, как вы введете свой пароль, команда запустится от имени пользователя root. Будьте внимательны, чтобы проверить надежность пакета или команды, прежде чем запускать его с помощью sudo.


PS вы действительно должны прочитать help.ubuntu.com/community/RootSudo
notkevin

1
Конечно, если команда ./blah.shзатем запустить ее от имени пользователя root sudo ./blah.sh, а не sudo blah.sh(которая будет выполняться, только blah.shесли она находится в $PATH).
Элия ​​Каган

Внимание, возможно, следует использовать gksudo для графики ...
MUY Бельгия

1

rootосновная учетная запись в Ubuntu; каждая учетная запись имеет ограниченные привилегии, но rootучетная запись не имеет ограничений. Причина скрытия rootзаключается в том, что в большинстве случаев вам не нужен root-доступ. Аналог в Windows должен был бы проходить аутентификацию, когда вы хотите установить драйвер; в Ubuntu вы должны быть пользователем root или иметь права root.

Есть два способа получить доступ от имени пользователя root. Вы можете ввести:

sudo <whatever-command> Ubuntu попросит вас ввести пароль и затем выполните эту команду от имени пользователя root.

ИЛИ

sudo su, где вы введете свой собственный пароль, а затем станете пользователем root (то есть вы войдете в систему как root).

Я предпочитаю последнее, потому что оно дает мне больше контроля; иногда недостаточно просто выполнить команду с правами root, но делать это таким образом может быть более опасно (то есть вы можете случайно нанести больший урон).

Я рекомендую попробовать первый способ. А потом попробую второй способ, если это не сработает. Просто убедитесь, что вы вышли из root после того, как закончите (т.е. напечатаете exitпосле того, как закончите делать то, что вам нужно сделать как root).


1
sudo -sСчитается предпочтительным sudo su(хотя это может быть связано с элегантностью больше, чем что-либо еще). Чтобы получить rootоболочку, которая ведет себя как фактический rootлогин, используйте sudo -iвместо этого. (Это похоже на sudo su -.) Кроме того, logoutне будет работать, чтобы выйти из sudo suоболочки, потому что такая оболочка не является оболочкой входа в систему. Вы должны использовать exitвместо этого.
Элия ​​Каган

@EliahKagan Круто! Я не знал о sudo -i/ -s. Хороший вопрос exit, я опечатка. Я отредактирую запись выше. Можете ли вы объяснить, почему sudo -sэто более "элегантно"?
Эйвери Чан

1
Конечно, но сначала немного предыстории, чтобы объяснение могло быть полезным для других. suи sudoдва отдельных механизма для запуска команды от имени некоторого пользователя, который может отличаться от пользователя, который их вызывает. (Если не указано иное, suи sudoбудет выполняться - или попытаться выполнить - команду как root.) Так как suаутентификация с паролем целевого пользователя, а аутентификация по паролю rootотключена по умолчанию (и не рекомендуется или официально поддерживается) в Ubuntu, Вы не можете использовать, suчтобы стать root, но, rootбезусловно, можете использовать, suчтобы стать другим пользователем.
Элия ​​Каган

1
sudoи suоба способны выполнять одну команду. sudoделает это по умолчанию и suделает это при наличии -cфлага. Они оба способны запустить оболочку. sudoделает это, когда ему присваивается -sфлаг (или -iдля имитации начальной оболочки входа в систему), и suделает это по умолчанию (или, когда ему дается -флаг, для имитации такой оболочки входа в систему). Когда вы запускаете sudo su, вы становитесь rootс помощью rootsudo , а затем снова становитесь суперпользователем как root (то есть, root su-ing для себя) для запуска оболочки. Более элегантно просто «сменить» личность один раз и запустить оболочку входа в систему ...
Элия ​​Каган

1
... что это то, что sudo -s(или sudo -i) выполняет. su -c 'sudo ...'...заменой команды) было бы так же не элегантно. Команды , как sudo bashсчитается немного безвкусный для различных, связанных reason-- sudoимеет -sи -iфлаги для запуска оболочки , как вам нравится, так что один может также использовать их. Хотя эти способы не элегантны (и немного отличаются по своему эффекту от предложенного sudo -sи sudo -i), на самом деле они не плохие и работают нормально , поэтому можно продолжать их использовать, если хотите.
Элия ​​Каган

-1

Если вы включили учетную запись root, вы можете использовать

su

Введите пароль для root, cdв папку вашего приложения, затем запустите

./package.run

1
В Ubuntu root не настроен для входа в систему / su с паролем по умолчанию, поэтому вышеописанное не будет работать сразу после установки.
Сорен А
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.