レガシー技術万歳
業務上設定中のサーバーで、大ポカをやり、/usr/lib と /usr/local/lib が吹き飛んだSolaris が一台出来上がり。
SSHでのログイン済みのターミナル一枚(root取得済み)が命綱。
新規にtelnetもsshもftpも受けられず、仕掛けられず……
頭の痛い状況を起こしてしまいました。
外部にFTPを掛けられれば、色々手はあるでしょうに……インストールメディアは現在所在不明(担当者休暇中)。
ネットワーク内に同一のOSはいるので、そこからファイルを転送出来れば復元出来そうなのですが、FTPもSCPもダメなのです。
ふと、頭にMIME普及以前のコマンドがよぎりました。
果たして、このコマンドは動きました。
そうなれば話は簡単です。
- cd /usr/lib
- 次のコマンドを入力(エンターを押さない)
- uuencode hogehoge.so.1 < hogehoge.so.1
- ターミナルソフトのログ取得機能でログ採取開始
- エンターキーを押す
- 画面に昔懐かしい begin 644 hogehoge.so.1 云々 な文字列がスクロールする。
- ログ採取終了
- エディタでログを開く
- begin のある行から最後まで選択してコピー
- 復旧したいサーバーの/usr/lib に移動
- uudecode (実行)
- ターミナルに先程のコピー内容を『張り付け』
- スクロールして、コマンドプロンプトが帰ってきたらご覧じろ。
- ls
hogehoge.so.1
これ、古い時代のファイルコピーの手法です。
動かないコマンドが要求するライブラリーをちまちまこの手でコピーしたところ、外部にFTPが掛けられるところまで復元しました。
ここまで来れば、コピー元でtarで固めたlib一式をFTPでgetして展開すれば復元です。
/usr/local/lib 後からゆっくりと……
あぁ、レガシー技術万歳!