bash: sudo: команда не знайдена на OS X Lion


2

Це мене заважає.

sudo [any command here ]
bash: sudo: command not found

Еек!

Я спробував деінсталювати менеджер версій Ruby (він не збирає Ruby з якоїсь причини). Десь, слідуючи своїм покроковим інструкціям, я став судо-меншим.

Ось мій $ PATH: /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

which sudo нічого не повертає.

Я вирішив, що спробую постріл у темряві, коли я чекав. У мене старий Mac, який я просто оновив до Лева два дні тому. Я скопіював її /usr/bin/sudo на проблемну машину. Тепер, коли я намагаюся sudo, Я отримав:

sudo: повинен бути setuid root

Я не особливо підкований з командного рядка - це здається поганим.

Відповіді:


3

Спробуйте скористатися програмою Disk Utility для відновлення прав доступу до файлів - з будь-якою долею, слід скинути біт setuid на копіюваному файлі / usr / bin / sudo. Це прапор, який дозволяє sudo діяти як root навіть тоді, коли він не виконується як root, що, очевидно, він повинен бути в змозі зробити, але вам буде потрібно sudo встановити його за допомогою командного рядка, так що у вас є проблема курки і яйця .


1

Зробив sudo коли-небудь повністю зникне? Ви замінили його на файл, який ви отримали від іншої машини? Цікаво, як ви навіть змогли видалити sudo. RVM працює без підвищених привілеїв, і він ніколи не мав дозволів робити такі речі.


У всякому разі, спробуйте і відновіть з останньої резервної копії. Якщо у вас немає такої версії, виконайте ремонтні дозволи Дискова утиліта . Може допомогти.

Можна спробувати завантажити Mac в режим одного користувача. Робіть це, утримуючи Command-S під час завантаження. Тут введіть

mount -uw /

А потім спробуйте chmod файл правильно. Щось таке:

chown root /usr/bin/sudo 
chmod u+s /usr/bin/sudo

Якщо все це виходить з ладу, просто переустановіть Lion - ось для чого відновиться. Файли не видаляються. Для того, щоб втратити що-небудь, потрібно видалити чистий диск але Я б дуже радив зробити резервну копію.


0

Я бачу, що посада Майка Скотта відповіла на ваш випуск sudo, але я також потрапив до проблеми, коли RVM не компілює Rubies. Здається, Apple перейшла на використання LLVM як компілятора за замовчуванням в 10.7 і так зв'язала gcc з llvm-gcc.

$ which gcc                                                                  
/usr/bin/gcc

$ ls -la /usr/bin/gcc                                                        
lrwxr-xr-x  1 root  wheel  12 30 Nov 13:40 /usr/bin/gcc -> llvm-gcc-4.2

gcc все ще існує, але це /usr/bin/gcc-4.2. Визначення компілятора C для використання шляхом встановлення змінної середовища CC повинно дозволити вам компілювати рубіни.

$ CC=/usr/bin/gcc-4.2 rvm install 1.9.2
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.