Випадково змінено .bashrc, і тепер я не можу увійти, незважаючи на те, що правильно ввести пароль


23

Я переплутав bigtime з файлом bashrc. Я встановлював Gurobi і мені довелося встановити змінні шляху у файлі bashrc. Отже, я замінив увесь текст у bashrc змінними шляху та зберег файл bashrc. І я також переконався, що якщо щось трапиться, у мене є резервна копія цього файлу. Оригінальний немодифікований файл резервної копії знаходиться у папці "Завантаження".

Тепер, коли я перезапустив систему, я не зміг увійти в систему, незважаючи на те, що вказав належний пароль. Отже, я хотів би попросити вас про допомогу. Які виправлення можливі, враховуючи той факт, що у мене все ще є файл bashrc у каталозі завантажень


1
скористайтеся програмою "рятування" або "сеансом" у прямому ефірі, щоб скопіювати його з режиму завантаження через неправильний.
Rinzwind

ви можете, будь ласка, розробити свою пропозицію? Я все ще новачок, коли справа доходить до ubuntu
крипто

1
Тепер ви здивували себе, що сталося з тимчасовим варіантом, який раніше існував на екрані входу для подібного сценарію.
kasperd

3
Чому б не увійти як root та виправити .bashrc файл вашого користувача?
jamesqf

3
Класичний спосіб - це завантаження в єдиний користувальницький режим. Вам потрібно перервати завантажувач і додати "єдиний" до рядка із зазначенням параметрів ядра та завантаження, як описано, наприклад, тут .
Пітер - Відновіть Моніку

Відповіді:


38

Використовуйте LiveUSB або LiveDVD.

Завантажте сеанс в реальному часі, встановіть ваш жорсткий диск і скопіюйте свій оригінальний .bashrcфайл над зміненим.

Тоді ви можете сміливо перезавантажити (вийняти USB чи DVD).

Загальна інформація: Якщо у вас не було б резервної копії .bashrcфайлу, ви можете скористатися ним з liveUSB / DVD.


Я припускаю, що вся суть створення резервних копій полягає в тому, коли ваші файли відрізняються від стандартних файлів на інсталяційному компакт-диску.
Дмитро Григор’єв

2
Так, вони є, але є ймовірність, що ви щось зіпсували і не знаєте, що саме, або у вас немає резервного копіювання. Тому я додав у відповідь на питання ОП також загальну інформацію для тих, хто може не мати резервного копіювання;)
Michal Polovka

Ну так, якщо у вас немає резервної копії того, що ви зіпсували, вам доведеться починати з нуля. На щастя, в ОП є один.
Дмитро Григор’єв

25

Ви повинні мати можливість завантажуватися в режим відновлення , що дозволить вам потрапити в кореневу оболонку, а потім виправити проблему звідти. Це дозволяє уникнути необхідності завантаження додаткової ОС.

Інструкції, взяті з вікі Ubuntu:

  1. Увімкніть комп’ютер.
  2. Зачекайте, поки BIOS закінчиться завантаженням або майже закінчиться. (За цей час ви, ймовірно, побачите логотип виробника комп'ютера.)
  3. Швидко натисніть і утримуйте клавішу Shift, яка відкриє меню GNU GRUB. (Якщо ви бачите логотип Ubuntu, ви пропустили місце, де ви можете увійти в меню GRUB.)

  4. Виберіть рядок, який починається з " Advanced options".

  5. Виберіть рядок, що закінчується " (recovery mode)", ймовірно, другим рядком, приблизно так:

    Ubuntu GNU/Linux, with Linux 3.8.0-26-generic (recovery mode)

  6. Натисніть Return, і ваша машина розпочне процес завантаження.

  7. Через кілька моментів на вашій робочій станції повинно з’явитися меню з кількома параметрами. Одним із варіантів (можливо, вам потрібно буде прокрутити донизу списку) буде " Drop to root shell prompt". Натисніть Повернення, якщо ця опція виділена.

  8. Корінний розділ змонтований лише для читання. Щоб встановити читання / запис, введіть команду

    mount -o remount,rw /

  9. Якщо у вас є / home, / boot, / tmp або будь-яка інша точка монтування на окремому розділі, ви можете встановити їх за допомогою команди

    mount --all

    (Це потрібно зробити наступним кроком 8, щоб це /etc/mtabбуло зручно для запису.)

Якщо у вас немає опції відновлення, ви можете натиснути eв GRUB, щоб відредагувати стандартний варіант завантаження та додати recoveryв кінці linuxрядка (другий останній рядок за замовчуванням, безпосередньо перед цим initrd). Потім натисніть F10для запуску.


9

Використовуйте живий компакт-диск

  1. Завантажте за допомогою живого CD / DVD. Якщо у вас немає iso та не хочете завантажувати великий iso, завантажте Tiny Core - 10MB.
  2. На командному рядку введіть , sudo mount /dev/sdXn /mntде sdXnваш розділ Ubuntu.
  3. Тип cd /mnt/home/<your user name>/Downloads.
  4. Тепер відновіть свій .bashrcяк новий .bashrcза допомогою цієї команди mv ../.bashrc ../.bashrc_old && cp ./.bashrc ../.
  5. Тепер перезапустіть вашу систему, і вам слід добре зайти.

8

Вставте DVD або USB, який ви використовували для встановлення Ubuntu та завантаження з нього. Виберіть "спробувати Ubuntu" та дочекайтеся повернення робочого столу.

Перевірте диски в лаучер на те, що є у вас вдома. При натисканні на нього встановлюється в / media /

Відкрийте термінал і cdвставте його до своїх завантажень та скопіюйте файл у свій будинок. Це було б:

cd /media/home/{your_username}/Downloads/
sudo cp .bashrc ../

та перезавантажтесь без DVD / USB.


Я отримую щось на зразок cp: не вдається створити звичайний файл '../bashrc': у дозволі відмовлено. :(
криптовалюта

ах використовувати судо! :)
Rinzwind

Це було кульгаве питання. Вибачте. Урок вивчений! І як ви запропонували, я приймаю відповідь Міхала. Сподіваюся, що це нормально
криптовалюта

не проблема, я все
одно

6

Підключення через SFTP

Підключіться до системи за допомогою SFTP або від вбудованої sftpкоманди іншої машини Linux або ПК з WinSCP або FileZilla, і відновіть файл. Цей .bashrcфайл зазвичай не задіяний у SFTP (можна налаштувати authorized_keysфайл, щоб він включив його, але сумнівно, що ви це зробили).


Або, аналогічно, з'єднатись із ssh dash(або будь-якою іншою оболонкою, що не має удару).
Пітер Тейлор

5

Я пропоную завжди мати ДВА акаунта на судо. Це облікові записи, які можуть діяти як root у ALMOST у всіх випадках, якщо ви введете звичайний пароль для цього облікового запису. Ви тимчасово отримуєте роль root.

Якщо накрутити один рахунок, ви можете виправити його з іншим.

Але, МОЖЕ бути можливим перебувати у РЕГУЛЯРНОМУ акаунті та "закручувати-sudo-account-name", якщо ви знаєте пароль. Тоді ви будете виконувати функцію викрученого акаунта і можете "sudo cp backup .bashrc" після 'dc / home / прикручується-акаунт ".


4

За словами кількох людей, найкращий спосіб перейти на один акаунт «судо». По-друге, якщо ви зробите багато модів у вашому файлі .bashrc, опустіть копію на флеш-пам’ять перед тим, як почати майструвати, тоді вам не доведеться починати з порожнього, ви можете повернутися до останнього відомого товару. файл bashrc, не втрачаючи всі ваші попередні майстерності. Перше, що я коли-небудь роблю, коли розмовляю зі своїм .bashrc чи .vimrc або. . . будь-який файл конфігурації - це копія на мою зручну пам'ять, перш ніж я почніть. Я людина, у мене є діти, я відволікаюсь хаха. У мене є флеш-пам’ять, повно файлів конфігурації для bash, vim, conky, openbox, tint2 та багато іншого.


Ще одна хитрість - використовувати RCS для історії версій файлів конфігурації (таких як bashrc, vimrc або що-небудь в / etc).
ChuckCottrill

0

Увійдіть замість цього корінця та використовуйте резервну копію, щоб виправити .bashrc, як і в інших відповідях.

Для оптимальної безпеки не ввійдіть у звичайне середовище X Windows. Замість цього натисніть клавішу, control-alt-F2щоб перейти до текстової консолі та увійти. Після виправлення проблеми запустіть, exitщоб вийти з кореневої оболонки, а потім натисніть кнопку, control-alt-F7щоб повернутися до X Windows. (Зверніть увагу, що X Windows може бути на tty1 замість tty7, тому вам може знадобитися використовувати control-alt-F1замість цього. Tty6 або tty7 історично традиційні, але деякі дистрибутиви переміщують його до tty1, оскільки люди рідко використовують ttys більше. Ubuntu може бути, а може і не мати зробіть це. Експериментуйте, щоб з’ясувати, яким чином налаштована ваша система.)


Кореневий обліковий запис відключений в Ubuntu, тому, якщо ви не включили його, немає можливості ввійти як root.
Сет

1
@Seth Якщо у вас є доступ до завантажувача, ви можете завантажитися в режим відновлення і отримати там кореневу оболонку.
Боб

@Bob правда, але відповідь не так. Це має працювати, хоча.
Сет

1
@Seth Yea, я вже додав там свою власну відповідь з більш детальною інформацією. О, btw @ db48x, як правило, X11 працює tty7(Ctrl + Alt + F7), ні tty1.
Боб

Так, я не знав, що вони відключили кореневий рахунок. Можливо, я не буду модернізувати свою єдину машину Ubuntu…
db48x

0

Кожен раз, коли я включав ПК після цього інциденту, мене зустрічали зі звичайним екраном для входу в ubuntu, за винятком того, що після введення пароля екран блимав на секунду, і екран входу повторювався.

Я не знаю, чи це у вашій проблемі, але це сталося зі мною одного разу. Якщо будь-який з файлів, завантажених у shell-start (.bashrc, .bash_profile, .profile) виводить текст у stdout, ви не зможете графічно увійти в систему. Ви все ще можете зайти в tty (ctrl + alt + f1), увійти звідти, а потім відновити файл.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.