fc2ブログ

LinuxからNTFSにアクセスする

言っていることがコロコロ変わっていることについてはご容赦下さい。この前話題にあげたFirefox3.0のことが気になって、Debianをlennyにアップグレードしてしまいました…。しかし、まだ3.0は入れていないんですが。



では、前回話題にしたntfsのマウントの話を。少なくともlennyではめっちゃくちゃ簡単でした…。難しく考えず、とりあえずやってみることが重要なんですね。

# apt-get install ntfs-3g

で、ntfs-3gがインストールできる。

# ntfs-3g --help

これでこのコマンドのヘルプが見られる。

Example: ntfs-3g /dev/sda1 /mnt/win -o force

この様な例が出てくる。

ntfs-3gはこのコマンドのいわば本体、/dev/sda1はマウントしたいデバイス、/mnt/winはこのコマンドによってマウントされる場所、-o以下はオプションらしい。

で、-o以下のオプションには文字コードの設定とか、読み込み専用にするとかいろいろあるみたいだけど。

文字コードにシフトJISを指定したいが、何と打ち込んだらシフトJISと認識してもらえるのか、つまり、「シフトJIS」と書かれた文字を、それがシフトJISであると認識できるのは我々が人間であるからであって、このプログラムにどうしたら認識してもらえるのかが不明なので、とりあえず何の指定もしないでおく。ダメだったらまた他の方法を考えればいい。

それと、万が一ntfs-3gその他のプログラムの予期せぬ行動、もしくはコマンドの打ち間違いなどによってwindowsパーティションが破壊されることを防ぐために、読み込み専用のオプションをつける。-o以下のオプションにroと書くだけ。



では、実践。

まずはマウントするためのフォルダを作成。

# mkdir /mnt/win

どこに作ったら最善なのか全く分からないので、例に倣う。とりあえず、Debian lennyでは/mnt以下はデフォルトではカラなので、問題はないだろう。

# ntfs-3g /dev/hda1 /mnt/win -o ro

俺のシステムではWindowsパーティションはIDEプライマリチャンネルのマスターに接続されたドライブの最初のパーティションにあるのでhda1となる。それぞれの環境によって読み替えてください。

で、Enterキーを押す。何の反応もないが、成功したのか?ユーザー権限でnautilusファイルマネージャを起動してみる。GNOMEメニューの場所→コンピュータを覗いてみると…

/mnt/win以下にWindowsパーティションの中身が表示されている!しかも、シフトJISで書かれた日本語ファイル名も文字化けせず、無視もされず表示されている。nautilus2.20環境下。しかもそれぞれのファイルをユーザー権限で開くことができた。



アンマウントは通常の手順でいけました。

# umount /mnt/win

いやー、こりゃうれしい。nautilus2.14環境だったらどうだったのかなー。こんなに簡単ならば躊躇せずやってみりゃよかった。

起動と同時にマウントする設定もできるようですが、別にWindowsパーティションにそんなに用事ができたりはしないので、とりあえずこのままでいいや。



しかし、全然マイクロソフトフリーじゃないな…。むしろ共存の方向の記事でしたな。でも、完全なる脱マイクロソフト(この意味でマイクロソフトフリーという言葉を作りました、脱マイクロソフトは既に使われているため、本文中で使うことはあってもブログのタイトルに使ってまるで自分の造語の様にふるまうのはどうかと思い…)を実践するにしても一時はデュアルブートによる共存状態を経るのが通常だろうから、こういう記事も悪くはないか。

テーマ : UNIX/Linux
ジャンル : コンピュータ

LinuxからNTFSにアクセス…したい。

現在、Debian etchを使う上で日本語で困ることはほとんどありません。

いや、アプリケーションで翻訳されていないものはいくらでもありますけれども、読解は義務教育で教わるレベルで充分対応できますから、特に困ることではありません。俺が「困る」と言ったのは、入力と出力について。日本語を入力すること、そして日本語で書かれた文章を表示することについて、ですよ。

でね、古いUNIXシステムでは日本語のコードはeuc_JPなるものを使うのが主流で、比較的新しいシステムではUTF-8を使うことが普通になっているそうですが。etchを新規インストールした場合はUTF-8が標準の日本語コードとなります。fluxboxの0.9までは日本語メニューがeuc-JPで書かれていた、という話を思い出して下さい。

それともうひとつ。Linuxではハードディスクのファイルシステムの仕様がext3と呼ばれるものが主流です。ext3の上位バージョンext4も最新のカーネルでは使用可能ということですが、まだ普及には至ってません…よね?



しかし、WindowsNT、2000、XPといったNT系列ではファイルシステムはntfsと呼ばれるもので、日本語コードはshift_JISが主流。DOSと9x系列のWindows、そしてフラッシュメモリなどのリムーバブルメディアではFATが使われていたわけですが、今日これがハードディスクで使われることはほとんどありません。



何が言いたいかって、Windowsをデュアルブートできる場合、Linux側からntfs上のshift_JISのファイルにアクセスすることができないっぽいんですよ。とりあえずDebian etchのnautilusで覗いてみるとパスに日本語が混じるものは完全に無視されます。

これはnautilus2.14の仕様なのか、分かりませんけれども。lennyに搭載されたバージョン2.20ではマウントそのものができなかったんで確認できてませんが。

あ、そうだ。siduxではnautilus2.20で問題なくアクセスできたんだよね。シフトJISで書かれたファイル名も表示できていた気が…。

この違いはなんだろう?カーネルか?



ntfsのディスクをマウントするにはntfs-3gというパッケージが必要だということまでは分かったんですが、そこから先、まだ調べてません。これについてはまた書きます。

内容のない更新になってしまった。

テーマ : UNIX/Linux
ジャンル : コンピュータ

etch-a-sketchは氷イタチの夢を見るか

Firefox3.0のリリース候補が出たようですね。

FirefoxはDebianでは(商標等、Debianのポリシー上含むことができないものを取り除かれて)
iceweaselという名前で配布されているのですが、そのバージョン3.0は現在experimentalリポジトリにあります

前siduxを使っていたときはOpenOffice.orgのバージョン2.4がリリース前に落ちてきてびっくりしたものですが、あのときは確かバージョンにrc-1とかついていた気がする…。



何が言いたいかもうお分かりかと思いますが、正式リリースを待たずにリリース候補の段階でsidに導入される可能性がありやしないか、ということですよ。分からんけれどもね。マイナーアップグレードとメジャーは扱いが違うかもしれないし。

しかし、そうなるとsidが羨ましいなあ…。さすがにsid、つまりはトイ・ストーリーに出てくる隣に住むおもちゃを壊す少年の名を冠した不安定版を使う気にはなれないけれども、siduxという選択肢もあるからなぁ。この前はつい文句を言ってしまったけれども、魅力的なディストロであることは間違いないし、色々と勉強させてもらったこともあるし。

etchへのbackports提供は…どうだろう。依存関係を見ていると、どうもetchにはないバージョンのGTK+ライブラリを要求する模様。じゃあ、それも含めてアップグレードすればいいかって、そのライブラリパッケージにもさまざまな依存非依存が存在するのでそう簡単には行かないようだ。



どうしようか…。しかし、プログラムの技術を持たない俺が考えても仕方あるまい。

Fx3.0の正式リリースまでには何か答えが出ていることを期待して。もうそろそろlennyの安定版リリースを見越したセキュリティアップデート提供も始まるのだろうから、それを考えながらOS自体をアップグレードしちゃうという手も考えられなくはないかな(で、三度泣かされてetchに出戻り、なんてことにならなきゃよいが)。

テーマ : ブラウザ
ジャンル : コンピュータ

Fluxbox1.0日本語の文字化け

以前、デスクトップ環境について書いたときに取り上げたウィンドウマネージャ、Fluxboxですが…。

まず、昨年10月に1.0のリリースがありました。

で、それより前のバージョンに関しては、ポップアップメニューの日本語表示がeuc-JPで書かれていたため、UTF-8に設定されていることが多い最近のUNIXシステムでは漢字かなカナが化けます。

UTF-8環境で文字化けなく使うには、ソースコードを入手して、ソースコードの日本語メニューのところをUTF-8に変換してコンパイルし、得られたファイルをデフォルトのものと置き換えてやるという作業が必要でした。

Debian安定版etchでは配布されるバージョンが0.9のため、これでメニューの文字化けが直せます。



で、1.0はDebianでは不安定版sid、テスト版lenny、そしてetch-backportsで配布されているのですが、これまたメニューの日本語がイカレてくれます。

しかし、どうやら以前のものとは原因が違うんですな。というのも、ソースコードを見てみるとUTF-8用の日本語メニューは既に用意してあるのです。

しかし、どうしましょうか…。と思っていろいろ探していたら、styleというデスクトップテーマのようなものがあって、それのフォント指定がおかしい、日本語を含まないフォントを指定していることが原因ではないかという指摘がそこかしこに見られたので、実践。



まずはetch-backportsからインストール。

# apt-get -t etch-backports install fluxbox

インストールが終わったら、Ctrl+Alt+BackspaceでX再起動。ログインマネージャでFluxboxを選択して再度ログイン。

起動したら、画面上の何もないところを右クリックしてポップアップメニューを出す。やっぱり文字化けしている。

styleは基本的には/usr/share/fluxbox/stylesに格納されている。デフォルトではBlueNightなるstyleが選択されているので、とりあえずこれを編集する。どうやらこれはテキストファイルらしいので、viで。

# vi /usr/share/fluxbox/styles/BlueNight

なんかそれらしいテキストがずらーっと表示されるので、その中から「font」と書いてある行を全て探す。見てみるとフォントの指定が「dejavu-sans」とかなっている。お前かコラァ!

とまあ一回怒鳴っておいて、「dejavu-sans」と書いてあるところを「ipagp」に置き換える。いや、別にお好みの日本語フォントで構わないけど、なんとなく。東風フォントは好きじゃないから。VLゴシックでも良いけど、せっかくIPAフォントを入れたんだからと言うことで、

保存したらCtrl+Alt+BackspaceでX再起動。

普通に表示された。

よーするに、dejavu-sansというフォントには日本語の文字が含まれてなかったということですな。まったく、勘弁してくれよ。何がデジャヴーだよ、松っちゃんのジャニーズデビューじゃないんだから。



ところで、何かここ数日DebianのOpensslに脆弱性が見つかったらしくてちょっとした騒ぎとなっているようですね…これ、サーバを運営していない人にも何か影響はあるのか?

テーマ : UNIX/Linux
ジャンル : コンピュータ

etch-backports続き

超スピードだとか 催眠術だとか そんなチャチなもんじゃ…

もうジョジョネタはいいですか。そんなん時間さえあればいくらでもやってあげるけどな。パーティ行かなあかんねん。

# aptitude -t etch-backports install openoffice.org

とやったときに、

依存関係の壊れる旨の警告が出る

一部のパッケージをbackportsのものにアップグレードすることで解決すると提案。当然そんなのは知っている。受け入れ

それでも六件のパッケージ削除が入ると警告。やむを得ない、受け入れ

パッケージの削除か、新たに入ったパッケージの一部のセットアップに失敗したとの表示が…

その表示の出たパッケージの手動再インストール・手動削除を試みる

どちらも失敗する。「この問題が解決されるまで俺はどんな命令も受け付けないぞ」という感じにaptitudeが居直る

引くも進むもできない…

仕方がないからetch自体を再インストール、siduxの警告、つまりは「大きな変化 (依存関係の変更、パッケージ名の変更、メンテ用のスクリプトの変更など)に常にうまく対処できるようには作られていません。」のことを思いだし、今度はapt-getで試してみる。

# apt-get -t etch-backports install openoffice.org

今度は何もなかったかのようにうまくいく。aptitudeが削除しようとしたパッケージの削除もなかったし、セットアップの失敗もなかった。



と言うわけで結論。

backportsを導入するならば以後aptitudeは使ってはいけない。

backportsから提供されるパッケージとetchから公式に提供されるパッケージ、名前は同じでバージョン違いのものが競合するわけで、その競合と依存関係の変化などがきっとaptitudeが解決できないイレギュラーな事態なんでしょう。

aptitudeとapt-getとの混用は推奨されないから、backportsを使うにはもうaptitudeを放棄するしかないね。aptitudeが自動で入れてくれる「提案パッケージ」等は、必要に応じて手動で入れるしかないね。それと、後で削除するかもしれないパッケージを入れるときは、依存関係をどこかにメモっておくしかあるまい。



aptitudeを放棄してからはとりあえず快適に使えています。OOoの他にはとりあえずpidginを入れてみましたが、これも特に問題なく入り、問題なく使えています。



え、lennyはどうしたかって?

少なくとも先週末あたり、bonobo-activation-serverなるサービス(これが何をしているのかイマイチわからなかったが)がしばしばnautilusを巻き込んで落ちるという事態を繰り返してくれたため、諦めました。

テーマ : UNIX/Linux
ジャンル : コンピュータ

backportsとaptitudeの関係

前回etchを諦めてlennyにしたといいましたが…すみません、忘れて下さい。

とりあえず、sidux/Debian sidの不安定さに悩まされ、結局etchに出戻りしたわけですが、一旦siduxを使った男がそう簡単にetchに戻れるはずもない。なぜならetchは安定版としてのリリースから既に一年と一ヶ月が経過し、多くのパッケージが既に過去のものとなっている現実があるから。何度もいう通り安定版ではリリース以降バグ・セキュリティフィックス以外の更新はなされない。

しかし、デスクトップのユーザーを中心に安定版において新しいパッケージが使いたいというニーズはあるわけで、それに答える形なのかetch-backportsから安定版に取り込まれない新しいソフトが提供されている。



では、それを導入してちょっと遊んでみようじゃないの。Debian GNU/Linuxスレッドテンプレによると、もうさんざんおなじみ/etc/apt/sources.listに

deb http://www.jp.backports.org etch-backports main contrib non-free
deb-src http://www.jp.backports.org etch-backports main contrib non-free

と追記。保存したら

# apt-get update

でパッケージリストの更新。このとき、このリポジトリを認証できないという警告が出る。ので、

# apt-get install debian-backports-keyring

認証できないリポジトリから無理矢理keyringパッケージをダウンロードしてインストールするという力技を行う。このときaptは抵抗するが、全てyesで。これでダウンロードとインストールは問題なくできるようになる。



しかし、このままdist-upgradeなどやろうものならばbackportsで提供される全てのパッケージがetch公式のパッケージを置き換えてしまう…はずだ。はずだと思ったんだが、このままdist-upgradeを掛けても特に新しいパッケージがごちゃごちゃと入ってくることはなかったので、experimentalのように指定しなければインストールできないようになっているんだろうか。まあそれならそれでいいや。



でね、ここからが本番ですよ。Debianでは、コマンドラインからのパッケージ管理システムとしてapt-getとaptitudeというふたつのものが用意されているわけですが、apt-getもaptitudeもネットワークからのパッケージの入手という役割を持っているわけで…システム管理のツールで競合が起きているのです。

どちらを使うこともできるのですが、etchではaptitudeを使うこと・apt-getを使わないことを推奨されます。というのも、aptitudeはetchに搭載されるapt-getにない機能、例えば依存はしないけれども同時にインストールすることが推奨されるパッケージを扱うことができたり、指定してインストールしたものと自動でインストールされたものの区別ができるなど多機能であり、またそのためにapt-getのインストール機能は邪魔になるのです。

しかし、一点気になることが。siduxでは、マニュアルでaptitudeについて「大きな変化 (依存関係の変更、パッケージ名の変更、メンテ用のスクリプトの変更など)に常にうまく対処できるようには作られていません。」「めまぐるしく変化するSidや、品質管理に疑問の残る外部レポジトリーのことも考えると, わざわざ破局を招いているようなものです。」と警告しています。

Debianは安定版である限りはaptitudeの対応できない「大きな変化」など起こりません。しかし、backportsの導入はそのsiduxコミュニティの警告するaptitudeの対応できない「大きな変化」に当たる可能性があるのです。新しいパッケージをばんばん導入するんだから「依存関係の変更、パッケージ名の変更、メンテ用のスクリプトの変更」はいくらでも起こり得ます。siduxとbackportsは関係がないですが、siduxコミュニティはDebianの扱いに長けた人の集団であるわけで。



あー、回りくどい言い方は止めよう。あ…ありのまま 今 起こった事を話すぜ!

「backportsのOOoをaptitudeでインストールしようとしたらシステムが破壊された」

な… 何を言ってるのか わからねーと思うが

おれも何をされたのかわからなかった

頭がどうにかなりそうだった…


長くなりすぎたので、続きはまた明日。

テーマ : UNIX/Linux
ジャンル : コンピュータ

ntp・ntpdateのダウングレード

帰宅してパソコンに電源を入れたら、siduxが起動途中で止まってしまうトラブルに遭遇。

画面の表示を見ると、ネットワークを介して時刻の調整をするntpサービスを起動させようというところで止まっているようだ。

そういえば、今朝出かける前にdist-upgradeしたらntpとntpdateパッケージがアップグレードされていた気がする…。インストールに失敗したか、バグのあるパッケージを掴まされたか?



入れ直すにせよ、ダウングレードにせよ、どちらにしろ立ち上がってくれなければ仕方がないわけで。シングルユーザーモードがntpサービスを読み込まないことを祈りながら、シングルユーザーモードで起動してみる。

siduxの場合、GRUBのメニューが立ち上がったらそのまま

single

と入力してenterすればシングルユーザーモードで立ち上がる。

よかった、ntpは立ち上がらなかった。ので、

# apt-get remove ntp ntpdate
# apt-get install ntp ntpdate

で再インストール。終わったら

# exit

で通常モードへと移行。

さっきと同じところで止まる。



というわけで、ダウングレードしましょ。もう一度シングルユーザーモードで起動して、

# apt-get remove ntp ntpdate

で問題のsidパッケージを削除する。

代わりにtestingのパッケージを入れる。

# vi /etc/apt/sources.list

のtestingの行のコメントアウトを外す。

# apt-get update
# apt-get -t testing install ntp ntpdate

これでtestingのバージョン、昨日までのsidのバージョンでもあったものが入る。

入ったはいいが、このままではd-uでアップグレードされてしまう運命なので、

# echo ntp hold | dpkg --set-selections
# echo ntpdate hold | dpkg --set-selections

でアップグレードを保留する。

後は次のバージョンがsidに用意されるのをしばし待つ。どのくらい時間かかるかな…つい数日前にようやくアップグレード保留のパッケージがなくなったと思ったらすぐにこれだ。siduxを使っている以上仕方がないんだが、早めに直ってほしいものだ。


追記

カーネル2.6.25が入りましたが、nvidia-kernelのビルドができません。2chの書き込みによると、atiのドライバも問題が出るとのこと…。幸い、カーネルは自動でアップグレードされないので、しばらく様子見か。

テーマ : UNIX/Linux
ジャンル : コンピュータ

プロフィール

ざっぱー

Author:ざっぱー
(この画像について)

当ブログについて
メール
(このメールアドレスへの特定電子メール (迷惑メール) の送信はお断りします)

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク