SATAのUSB変換ケーブルとかで指したり抜いたりしてたら、トラブル。

マウントしようとすると、

XFS: Filesystem sdc6 has duplicate UUID - can't mount

とかでる。この場合は、uuidを見ないでマウントすればとりあえずよい。

$ sudo mount -o nouuid /dev/sdc6 /mnt

これで問題なかったと思いきや、しばらくいじくっていると、input/output errorとやらが出てしまった。

XFSの修復に必要なツールを入れる。

$ sudo apt-get install xfsprogs

とりあえず情報をみてみる。

$ sudo mount -r /dev/sdc6 /mnt
$ sudo xfs_info /mnt
(なんかいろいろ)

チェックしてみる。

$ sudo mount -r /dev/sdc6 /mnt
$ sudo xfs_check /dev/sdc6
ERROR: The filesystem has valuable metadata changes in a log which needs to
be replayed.  Mount the filesystem to replay the log, and unmount it before
re-running xfs_check.  If you are unable to mount the filesystem, then use
the xfs_repair -L option to destroy the log and attempt a repair.
Note that destroying the log may cause corruption -- please attempt a mount
of the filesystem before doing this.

メタデータがおかしい様子。
なにやらxfs_repairに-Lオプションをつけてログいじってしまえと言ってるのでやってみる。

$ sudo umount -l /mnt
$ sudo xfs_repair -L /dev/sdc6
Phase 1 - find and verify superblock...
Phase 2 - using internal log
- zero log...
ALERT: The filesystem has valuable metadata changes in a log which is being
destroyed because the -L option was used.
- scan filesystem freespace and inode maps...
- found root inode chunk
Phase 3 - for each AG...
- scan and clear agi unlinked lists...
- process known inodes and perform inode discovery...
- agno = 0
- agno = 1
とかいろいろでて完了。

その後、ファイルをいじくってみているが、とくに問題は起きてない様子。

あってるのかわからんけど記録しておく。

Read more…

Wikipedia:mono

要するに、フリーの.NET環境だな。

MonoDevelop

GnomeベースのIDE。悪くない。Visual。

両方とも、Synaptic Package Managerから簡単に入れられる。あとはmonodoc-*も入れておくと便利。

Gtk#で適当にいじったけど、Qt(Qyoto)も使える模様。

ただ、Qyotoの場合、synapticでただ入れるだけだと無理っぽくて、/usr/lib/mono/gacにdllのsymlinkが必要みたい。

GutsyGibbon/RC/Kubuntu/Feedback – Ubuntu Wiki
qyoto works but you need symlinks from the dll file to the /usr/lib/mono/gac directoriy to complete the tutorials. maybe this can be fixed in the packages? I dunno about monodevelop though, it cannot find the Qyoto template! Update: it it working in monodevelop as well

sln(ソリューション)ファイルがそのまよみこめる。ただし、プロジェクトのコンパイルオプション設定のところで、C#バージョン指定をISO-2とかにしないとC#2.0はコンパイルできない。

C#3.0の一部はまだ対応していない。自分が遭遇したのは、イニシャライザーの類。


kls = new Klass{x=1,y=2};

はダメで

kls = new Klass();
kls.x=1;
kls.y=2;

にするとか。