誤って.bashrcを変更し、パスワードを正しく入力してもログインできない


23

私はbashrcファイルをめちゃくちゃにしてしまいました。Gurobiをインストールしていて、bashrcファイルにパス変数を設定する必要がありました。そこで、bashrcのすべてのテキストをパス変数に置き換え、bashrcファイルを保存しました。また、何か問題が発生した場合は、このファイルのバックアップがあることも確認しました。元の変更されていないバックアップファイルは、ダウンロードフォルダーにあります。

システムを再起動したとき、適切なパスワードを入力してもログインできませんでした。したがって、私はあなたにいくつかの助けを求めたいです。Downloadsディレクトリにbashrcファイルがあるので、どのような修正が可能ですか


1
grubレスキューまたはライブセッションを使用して、ダウンロードディレクトリから間違ったコピーをコピーします。
リンツウィンド

あなたの提案を詳しく説明していただけますか?私はまだubuntuになると初心者です
暗号

1
これで、この種のシナリオのログイン画面に存在していたフェールセーフオプションはどうなったのかと思いました。
カスペルド

3
rootとしてログインして、ユーザーの.bashrcファイルを修正してみませんか?
-jamesqf

3
従来の方法は、シングルユーザーモードで起動することです。ここで例として説明されているように、ブートローダーを中断し、カーネルとブートパラメーターを指定する行に「単一」を追加する必要があります。
ピーター-モニカの復活

回答:


38

LiveUSBまたはLiveDVDを使用します。

ライブセッションで起動し、ハードドライブをマウント.bashrcして、変更したファイルに元のファイルをコピーします。

その後、安全に再起動できます(USBまたはDVDを取り出します)。

一般情報:.bashrcファイルのバックアップがない場合は、liveUSB / DVD のファイルを使用できます。


バックアップを作成する全体のポイントは、ファイルがインストールCDのデフォルトのものと異なる場合です。
ドミトリーグリゴリエフ

2
はい、そうですが、何かを台無しにして正確に何を知らないか、バックアップがない可能性もあります。);それは私がのOPへの応答に追加した理由も、バックアップを持っていない可能性があります誰のための一般的な情報を質問です
ミハルPolovka

ええ、もしあなたが台無しにしたもののバックアップを持っていないなら、最初から始めなければなりません。幸いなことに、OPには1つあります。
ドミトリーグリゴリエフ

25

リカバリモード起動できるはずです。これにより、ルートシェルにドロップし、そこから問題を修正できます。これにより、追加のOSをダウンロードする必要がなくなります。

Ubuntu wikiからの手順:

  1. コンピューターの電源を入れます。
  2. BIOSのロードが完了するか、ほぼ終了するまで待ちます。(この間、おそらくコンピューターの製造元のロゴが表示されます。)
  3. Shiftキーをすばやく押し続けると、GNU GRUBメニューが表示されます。(Ubuntuのロゴが表示されている場合は、GRUBメニューを入力できるポイントを見逃しています。)

  4. Advanced options」で始まる行を選択します。

  5. (recovery mode)」で終わる行、おそらく2行目を選択します。

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

  6. Returnキーを押すと、マシンが起動プロセスを開始します。

  7. しばらくすると、ワークステーションにいくつかのオプションを含むメニューが表示されます。オプションの1つ(リストの一番下までスクロールする必要がある場合があります)は " Drop to root shell prompt"です。このオプションを強調表示してReturnキーを押します。

  8. ルートパーティションは読み取り専用でマウントされます。読み書き可能にマウントするには、次のコマンドを入力します

    mount -o remount,rw /

  9. / home、/ boot、/ tmp、または別のパーティションに他のマウントポイントがある場合は、コマンドでマウントできます。

    mount --all

    (これはステップ8に続いて行わなければならないので、/etc/mtab書き込み可能です。)

回復オプションがない場合はe、GRUBを押して標準のブートオプションを編集しrecoverylinux行の最後に追加できます(デフォルトでは最後から2番目の行、直前initrd)。次に、を押しF10て実行します。


9

ライブCDを使用する

  1. ライブCD / DVDを使用して起動します。isoがなく、大きなisoをダウンロードしたくない場合は、Tiny Core-10MBをダウンロードしてください。
  2. コマンドラインsudo mount /dev/sdXn /mntsdXn、Ubuntuパーティションを入力します。
  3. を入力しcd /mnt/home/<your user name>/Downloadsます。
  4. このコマンドを使用し.bashrcて、新しいものとして復元します。.bashrcmv ../.bashrc ../.bashrc_old && cp ./.bashrc ../
  5. ここでシステムを再起動すると、準備完了です。

8

Ubuntuのインストールに使用したDVDまたはUSBを挿入し、そこから起動します。「Ubuntuを試す」を選択して、デスクトップが表示されるのを待ちます。

ローチャー内のディスクをチェックして、自宅があるディスクを探します。クリックすると/ media /にマウントされます

ターミナルを開いて、cdそこにダウンロードし、ファイルを自宅にコピーします。それは:

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

dvd / USBなしで再起動します。


私はcpのようなものを得ます:通常のファイル '../bashrc'を作成できません:許可が拒否されました。:(
暗号

ああ、sudoを使用してください!:)
Rinzwind

それは不完全な質問でした。ごめんなさい。教訓!そして、あなたが提案したように、私はミハルの答えを受け入れています。大丈夫
暗号

問題ではありません、とにかく200にいます> :)
Rinzwind

6

SFTP経由で接続する

別のLinuxマシンの組み込みsftpコマンドまたはWinSCPまたはFileZillaを搭載したPC からSFTPを介してシステムに接続し、ファイルを修復します。.bashrcファイルは、通常、(それはあなたの微調整することが可能ですSFTPに関与していないauthorized_keys、それが関与するためにファイルを、しかし、あなたはそれをやった疑わしいです)。


または、同様に、ssh dash(または他の非bashシェル)に接続します。
ピーターテイラー

5

常に2つのsudoアカウントを持つことをお勧めします。これらのアカウントは、そのアカウントに通常のパスワードを与えた場合、すべてのケースでルートとして機能できます。一時的にルートとして機能するようになります。

1つのアカウントを台無しにした場合、他のアカウントで修正できます。

ただし、パスワードがわかっている場合は、通常のアカウントで「su screwed-up-sudo-account-name」となる可能性があります。その後、あなたは台無しにされたアカウントとして機能し、「dc / home / screwed-up-account」の後に「sudo cp backup .bashrc」を実行できます。


4

少数の人々が言っ​​たように、複数の「sudo」アカウントが最善の方法です。第二に、.bashrcファイルに多くのMODを作成し、いじくり始める前にメモリスティックにコピーをドロップした場合、空白でやり直す必要はありません。最後に確認したものに戻ることができます。以前のいじくりをすべて失うことなくbashrcファイル。.bashrcまたは.vimrcまたは。。。構成ファイルは、開始する前に手元のメモリスティックにコピーされます。私は人間です、子供がいるので気が散ります笑。bash、vim、conky、openbox、tint2などの設定ファイルでいっぱいのメモリスティックがあります。


もう1つの方法は、RCSを使用して構成ファイル(bashrc、vimrc、または/ etcにあるものなど)のバージョン履歴を作成することです。
ChuckCottrill

0

代わりにルートとしてログインし、バックアップを使用して、他の回答と同様に.bashrcを修正します。

最適な安全のために、通常のX Windows環境にログインしないでください。代わりに、ヒットcontrol-alt-F2してテキストコンソールに移動し、ログインします。問題を修正したら、実行exitしてルートシェルからログアウトし、ヒットcontrol-alt-F7してX Windowsに戻ります。(X Windowsはtty7ではなくtty1にある可能性があるので、control-alt-F1代わりに使用する必要があるかもしれないことに注意してください。システムがどのように構成されているかを調べるために実験してください。


Ubuntuではルートアカウントが無効になっているため、有効にしない限り、ルートとしてログインする方法はありません。
セス

1
@Sethブートローダーにアクセスできる場合、リカバリモードで起動し、そこにルートシェルを取得できます。
ボブ

@Bob trueですが、答えはそうではありません。それでも動作するはずです。
セス

1
@Seth Yea、私はすでに自分の答えを追加して、詳細を追加しています。ああ、bdb @ db48x、通常X11はtty7(Ctrl + Alt + F7)で実行され、ではありませんtty1
ボブ

痛い、私は彼らがルートアカウントを無効にすることを知りませんでした。たぶん、1台のUbuntuマシンをアップグレードしないのかもしれません
...-db48x

0

この事件の後、PCの電源を入れるたびに、パスワードを入力した後、画面が一瞬点滅し、ログイン画面が再び表示されることを除いて、通常のubuntuログイン画面が表示されました。

これがあなたの問題であったかどうかはわかりませんが、これは私に一度起こりました。shell-startに読み込まれたファイル(.bashrc、.bash_profile、.profile)のいずれかがテキストをstdoutに出力する場合、グラフィカルにログインすることはできません。tty(ctrl + alt + f1)に移動し、そこからログインして、ファイルを回復できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.