UNIXの最近のブログ記事

症状
CentOS 6.8が家のブレーカー落ちから復旧しなかった。
起動してもHDDからbootできない。
取り外してSATA->USBでmacさんに繋いでも
「セットしたディスクは、このコンピュータでは読み取れないディスクでした。」
というばかり。

物理的にだめか論理的にダメかはわからない。

しょうがないので色々探すが、fdisk -lでは見えている。
lvmがこわれた?

対処

まずKNOPPIXで開いてみるが認識せず。
同様にMac上のCentOSで開いても無理。

仕方ないのでここのはなしを見ながらスーパーブロックを再生成してみる

@IT 壊れたパーティションを修復するには

mke2fs -S /dev/はーどでぃすくの場所
で再生成して一応起動はできた。
ただ、lvmが壊れている感じで、readonlyでマウントしている模様。そのため何もいじれない

しかし --ignorelockingfailureのオプションつければ無視して見るだけ見られるらしい。
↓以下引用
上記エラーが出ても単に LVM の情報見たいときは、"--ignorelockingfailure" オプションつけてあげればとりあえず見れる。/var/lock/lvm に書き込みできないのが原因だから、適当なパーティションなり、ディスクを用意して、/var/lock/lvm に書き込み可能でマウントすれば、lvm がらみの操作は可能。
↑ここまで
ignoreしたらすんなり見れた。なんやねんな。

ここらへんでなんとなく適当に作ったmac用のtimecapsuleパーティションが悪いのではと思いはじめる。
というかファイルも見えるようになったので、適当なHDDマウントしてそこに要るデータだけcpして救出というのはできないか。
(timecapsuleのバックアップはいらないので、VolGroupのlv_root内の諸々データだけ持ってこられれば万々歳)

という訳でmountしたいので適当な場所にmkdirしてみると
read onlyなfile systemだぜ。とか言われた。
うそだろおい。
主Googleに泣きつくと、
Qiita - リカバリーモードでrootユーザーなのにReadOnlyだと怒られる時の対処法
# mount -o remount,rw / しなさい。とのこと。
すんなりmkdirできた。
それでデータ移動用の空HDDをマウント
特に反応がないのでできたらしい。
ようやく終わった...

後はftpなりafpなりも使いつつデータ救出したのでした。
おわり。
症状
sshで鯖に繋いで、

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

こんなのでた。

最近centos鯖が安定せず、mac鯖に変えてみたり戻したりするときに一々出た。
IPまたはアドレスは同じなのに相手のマシンが変わっていれば、そりゃ危ないことなので警告される。

対処
対処としてはこれで良い模様

# ssh-keygen -R ホスト名

もともとはssh-keygenはsshの認証用鍵の生成管理変換をするものらしい
-Rのオプションではknown_hostsから指定したホスト名の鍵を全部削除してくれるらしい。

これでOK。

参考
SSH接続で WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! って言われて接続を拒否られるとき - Qiita http://qiita.com/wnoguchi/items/690f3f4651f8f11e4ed3
症状
Javaを実行したいが、度々オプション付きで実行するので、
バッチにしてクリックだけで済ませたい。

解決
.commandファイルにコマンドを書き込む。
今回はマイクラのforgeを起動させる。

#!/bin/bash
java -Xms1G -Xmx4G -jar forge-1.7.10-10.13.4.1566-1.7.10-universal.jar nogui

ただ、これだとcdでディレクトリを一々手作業で指定しなきゃならない。
どうにかする手段がこちら。

#!/bin/bash
cd `dirname $0`
java -Xms1G -Xmx4G -jar forge-1.7.10-10.13.4.1566-1.7.10-universal.jar nogui

2行目で`dirname $0`と指定して、自ファイルのディレクトリを見る。
ちなみに、囲む点の違いで悩んだのでここを見た→(http://blog.goo.ne.jp/01_mai/e/a4f9f01fb647066d0c7eb37e8ae0a254)

bashでの点の意味要約
`(バッククォーテーション)はコマンドとしてみる
 `pwd`→/今いる/ディレクトリ/
"(ダブルクォーテーション)は文字列と変数の中身がみえる
 "$PATH"→/usr/bin
'(シングルクォーテーション)は文字列としてみる
 '$PATH'→$PATH
みたいな感じ。

参考。
経緯
起:なんかMac(OSX10.9)の調子が悪い。
承:一度バックアップして10.10にあげよう
転:そういえばデータ丸まるなんてバックアップしたことない
結:せっかく自宅鯖あるしTimeCapsule(Macのバックアップ用の領域)作ってみよう

前提
CentOS 6.8
i5のミニタワーPCに2TBのHDD
rootの割当が1.7TBぐらいだったのでそこを削ってTimeCapsule用にHFS+にフォーマットしたい

やったこと
まずmount中に/rootの変更は出来ないので、CentOSのLiveCDをつくって起動
ターミナルを開き
# df -Th
でディスクをみると、なぜかrootとかが見えない。
マウントされていないのかな。まぁumountの手間が省けたということで。

# lvdisplay
というのでLVMがどうなっているか確かめる。
するとどうやら/dev/VolGroup/にlv_rootとlv_homeがあるらしい。

ここのlv_rootを縮めて、新しくtimecapsuleという論理ボリュームをつくることにしたい。

[製作中]

# mount -t ext4 -o defaults /dev/VolGroup/timecapsule /mnt/timecapsule
として/mnt/timecapsuleに作ったパーティションをマウントした

続いてCentOSでAFPを使うためのNetatalkのインストール
yumでなく公式からrpmを持ってきてrpm -ivhする

エラー: ビルド依存性の失敗:
avahi-devel は netatalk-5:3.1.9-0.1.2.el6.x86_64 に必要とされています
bison は netatalk-5:3.1.9-0.1.2.el6.x86_64 に必要とされています
cracklib-devel は netatalk-5:3.1.9-0.1.2.el6.x86_64 に必要とされています
dbus-devel は netatalk-5:3.1.9-0.1.2.el6.x86_64 に必要とされています
dbus-glib-devel は netatalk-5:3.1.9-0.1.2.el6.x86_64 に必要とされています
docbook-style-xsl は netatalk-5:3.1.9-0.1.2.el6.x86_64 に必要とされています
flex は netatalk-5:3.1.9-0.1.2.el6.x86_64 に必要とされています
libacl-devel は netatalk-5:3.1.9-0.1.2.el6.x86_64 に必要とされています
libattr-devel は netatalk-5:3.1.9-0.1.2.el6.x86_64 に必要とされています
db4-devel は netatalk-5:3.1.9-0.1.2.el6.x86_64 に必要とされています
libgcrypt-devel は netatalk-5:3.1.9-0.1.2.el6.x86_64 に必要とされています
krb5-devel は netatalk-5:3.1.9-0.1.2.el6.x86_64 に必要とされています
mysql-devel は netatalk-5:3.1.9-0.1.2.el6.x86_64 に必要とされています
openldap-devel は netatalk-5:3.1.9-0.1.2.el6.x86_64 に必要とされています
openssl-devel は netatalk-5:3.1.9-0.1.2.el6.x86_64 に必要とされています
pam-devel は netatalk-5:3.1.9-0.1.2.el6.x86_64 に必要とされています
quota-devel は netatalk-5:3.1.9-0.1.2.el6.x86_64 に必要とされています
systemtap-sdt-devel は netatalk-5:3.1.9-0.1.2.el6.x86_64 に必要とされています
tcp_wrappers-devel は netatalk-5:3.1.9-0.1.2.el6.x86_64 に必要とされています
libtdb-devel は netatalk-5:3.1.9-0.1.2.el6.x86_64 に必要とされています

うわぁ なんだか凄いことになっちゃったぞ。
ひとまず出てきたものを全部yum -y installして、もう一度rpmbuildする
大量のlogがながれてビルドが終わ...

エラー: 依存性の欠如:
perl(IO::Socket::INET6) は netatalk-5:3.1.9-0.1.2.el6.x86_64 に必要とされています
perl-IO-Socket-INET6 は netatalk-5:3.1.9-0.1.2.el6.x86_64 に必要とされています

らずにエラー。
またperlをyum installする。
下のIO-Socketなんとかだけのinstallでrpmbuildが出来た。

入ってるか確認にnetatalk -Vとすると、

netatalk 3.1.9 - Netatalk AFP server service controller daemon

とでたので、入っているのを確認。

さて、設定のために/etc/netatalk/afp.confをviする。
timeCapsuleに指定するには、[ボリューム名]のあとにpathを指定するのと、time capsule = yesするらしい。

[My Time Machine Volume]
path = /mnt/timecapsule/
time machine = yes

と追記。
EL7ではSpotlightの設定もあるらしい。
まぁ当職のEL6では対応していないので関係なし。

ということで、avahi-daemonとnetatalkという2つのサービスをchkconfigしてservice startする。

確認。
いるね。
ではログイン。と思ったらwriteの権限がないよと言われてしまう。
自分のユーザーでは入れないしかと言ってrootでは拒否されるし。どうしたものか。
あ、もしかしてPermissionか?と思って/mnt/timecapsuleにchmod -R 777すると

\動作した/

という訳でTimeCapsule構築の様子でした。
お粗末さまでした。
ちなみに、すべてバックアップするのに360GBで12時間かかるそうなので、
バックアップ作業自体はまた今度ということで。

追記: 2016/09/17
事故で鯖が落ちた所、マウントできていなかった。
daemonのchkconfigみたいに起動時設定せなあかんらしい。
設定は/etc/fstabにあるそうなので、そこに他の設定の通り書き加えた
# echo "/dev/mapper/VolGroup-timecapsule /mnt/timecapsule ext4 defaults 1 3" >> /etc/fstab
(オプションはデフォルトで、数字は3番目が空いていたので1 3)

参考
LVMで論理ボリュームの作成、拡張、縮小、複製 - Qiita

CentOS 6 インストール後のLVMサイズ変更方法 - Developer's Blog

NetatalkとSambaの近状 - HAT Blog

Netatalk 3.1.9 SRPM for Fedora and CentOS - SourceForge(Netatalkのwiki)
homebrewでgitをupdateしたものの、なぜかversionが更新されていない。なんでや。

今回はPATHの順番が違かった様子。
/usr/local/bin
にあるgitがアップデートされたものの、
べつのところのgitが先に実行されている様子。

$ cat /etc/paths
すると
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin

一番下にいたのでviで一番上に書き直す。
Terminalを再起動して
$ git --version
をみると更新されてた。
おわり。

このアーカイブについて

このページには、過去に書かれたブログ記事のうちUNIXカテゴリに属しているものが含まれています。

前のカテゴリはElectronicsです。

次のカテゴリはWebです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ

Powered by Movable Type 5.12