37772


Raspberry Piでrc.localと間違えて.profileの末尾にexit
0と記載し再起動したところ、ログインしてもすぐに再びログイン画面に戻ってしまう無限ループ状態になってしまったのですが、元の状態に戻す手立てはないのでしょうか。


CC BY-SA 3.0
2017-09-07T05:09:13.360
37771
2017-09-07T08:04:05.657
18443
question
raspberry-pi raspbian
.profileの末尾にexit0を記載してしまった


とりあえず、思い付いた方法を3つ。

### 別のマシンで `.profile` を編集する

Raspberry Pi で使用している SD カードの Linux のパーテーションをマウントできるマシンを用意します。  
そのマシンに SD カードを接続し、問題の `.profile` を編集します。  
（必ずしも別のマシンでなくとも、問題の物とは別のストレージからブートすれば当該のRaspberry Pi で構いません）

### シングルユーザーモードで起動する

Linux での一般的なリカバリー方法です。  
まず、シングルユーザーモードで起動し、修正対象のパーテーションを書き込み可でマウントして作業をするのが流れです。  
シングルユーザーモードで起動する方法は使用しているブートローダーによって変わります。

Raspberry Pi の場合は、SD カードのブート用のパーテーション（このパーテーションだけは FAT系になっており、Windows
などでも編集が可能になっています）にある `cmdline.txt` を編集し、カーネルの起動パラメーターに `init=/bin/sh`
を加える方法が一般的なようです。

参考:  
<http://www.programming-knowledge.com/Raspberry_Pi_and_Linux_Tips>  
<http://denki.nara-edu.ac.jp/~yabu/soft/pi.html#50>

### SSH 経由で作業する

ssh でログインできる設定が済んでいれば、いくつか方法があります。  
例えば、

[code]

    # .profile の読み込みを抑止する
    # -t オプションを付けると疑似端末が割り当てられ、画面を制御するコマンドも正常に動くようになるようです
    # （metropolis さんのコメント参照）
    ssh USER@HOST -t 'bash --noprofile'
    
    # 手元の .profile で上書きする
    scp ./.profile USER@HOST:~/.profile
    
[/code]

などです。


CC BY-SA 3.0
2017-09-07T05:58:12.027
37772
2017-09-07T08:04:05.657
2017-09-07T08:04:05.657
3054
3054
37771
answer