
Ubuntu日本語フォーラム

ログインしていません。
達人の皆さん こんにちは 件名のとおり、ubuntuが認識するディスクの名称を固定する方法がないかご教示ください。
USBに接続した40GBの増設ディスクを2パーティションに切り、一方をNTFSで21GB、残りをExt3で19GB取りました。
そしてubuntu側からはNTFSがdisk、Ext3側がdisk-1という名前で認識されるはずだったのですが、、、、よくよく見るとその増設ディスクを起動する度に名前がコロコロと入れ替わります。
そのディスクは何に使っているかといいますと
rsync -auvz --delete /home/snufkin /media/disk-1/
というシェルを使って、/snufkin下を全てdisk-1上にバックアップするはずだったのですが、何しろdiskとdisk-1が気紛れに入れ替りますから、バックアップファイルが2パーティションのあっちへ行ったりこっちへ行ったりしています。
使っているubuntuのバージョンは08.10で、Wubiインストールです。
これにより、NTFSを自由自在に読み書きできてしまうことが、裏目に出ているようです。
rsync に-uオプションを付けているから更新されたファイルだけが複写されるはずなのに、嫌にたくさんの複写が走ってるな、と気づきました。
複写先のディスクがコロコロ変わるのでは-uオプションは余り意味がありません。
何とかバックアップ先はExt3の19GB側だぞ、と機械に覚え込ませる技が知りたいのです。
よろしくご指導のほどお願いいたします。
オフライン
下記URLを参照して外部記憶媒体の取扱いについてお勉強してください。
<参照元>
ファイルシステムのマウントとアンマウント、「/etc/fstab」がキモ
http://viva-ubuntu.net/?p=1322
UUIDを調べる方法
http://ubulog.blogspot.com/2007/06/uuid.html
**ディスクの名称を固定するには、**
まずUSBが刺さった状態でどのようにubuntuが認識しているか、確認してみましょう。
端末から
df -T
参考例表示
ubuntu@hoge:~$ df -T
ファイルシステム タイプ 1K-ブロック 使用 使用可 使用% マウント位置
/dev/sdc1 fuseblk 99999999 99999999 99999999 50% /media/disk
/dev/sdc5 ext3 9999999 9999999 99999999 50% /media/disk-1
上記参考例から、USBのNTFS形式のパーティションがデバイス/dev/sdc1として割り当てられていて
/media/diskフォルダにマウントされていることが分ります。
また、USBのext3形式のパーティションがデバイス/dev/sdc5として割り当てられていて
/media/disk-1フォルダにマウントされていることが分ります。
この環境でディスクの名称を固定するための情報を取り出しましょう。
USBはリムーバブルメディアですからPCに刺したとき必ず同じデバイス番号が割り当てられる保証は
ありません。各メディア、パーティションにはUUIDというユニークなIDが初期化時に設定されます。
このUUIDを用いてメディアの識別を行います。
UUIDが何であるか調べましょう。
ls -l /dev/disk/by-uuid | grep sdc1
ls -l /dev/disk/by-uuid | grep sdc5
参考例表示
lrwxrwxrwx 1 root root 10 2009-05-05 10:03 6A802A008029D2FD -> ../../sdc1
lrwxrwxrwx 1 root root 10 2009-05-05 10:03 983425784329R4G5 -> ../../sdc5
上記参考例から
/dev/sdc1 UUID=6A802A008029D2FD
/dev/sdc5 UUID=983425784329R4G5
が分ります。
PCの起動時に自動的にメディアがマウントされるように設定を行いましょう。
ディスクの名称を固定しない時、/media/disk、/media/disk-1などフォルダの名称が自動的に
割り当てられていたのですが起動時に自動マウントするには、このフォルダ名称を使用することは
できません。新たに事前に作成しておく必要があります。
このフォルダ名称はデスクトップのアイコン下の名称にもなりますので分かりやすく他のメディア
と識別がつくものに設定してください。
sudo mkdir /media/UsbNTFS
sudo mkdir /media/UsbEXT3
/etc/fstabへ自動マウント定義を設定する。
sudo gedit /etc/fstab
テキストの最後の行に以下の2行を追加する。
UUID=6A802A008029D2FD /media/UsbNTFS ntfs-3g defaults,locale=ja_JP.UTF-8 0 0
UUID=983425784329R4G5 /media/UsbEXT3 ext3 defaults 0 0
ubuntu 再起動で自動的にマウントされることを確認してください。
オフライン
yamaさん のんきさん、有難うございます。
理屈が少しずつ解ってきました。
snufkin@ubuntu:/home$ ls -l /dev/disk/by-uuid | grep sdc1
lrwxrwxrwx 1 root root 10 2009-05-05 08:57 BC1A-B849 -> ../../sdc1
どうやらsdc1つまりNTFSディスクを特定する不変の名称は「BC1A-B849」らしい、、、、と見当が付きます。しかし、
snufkin@ubuntu:/home$ ls -l /dev/disk/by-uuid | grep sdc2
lrwxrwxrwx 1 root root 10 2009-05-05 08:57 357e09ed-dbb4-4070-bd27-8cd992552951 -> ../../sdc2
sdc2つまりExt3ディスクを特定する不変の名称は「357e09ed-dbb4-4070-bd27-8cd992552951」ということなのでしょうか。
長くて困ることもないと思うのですが、こんなに体系の違う名称で、このまま進めても大丈夫ですか。
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
オフライン
のんきさん、CMasamiさん 有難うございました。
お陰様で少しずつ前身していますが、些か壁に当たってしまいました。
<お尋ね>
このディスクをマウント/アンマウントする方法を教えてください。
<その訳>
ご指導頂いたとおり、
UUID=357e09ed-dbb4-4070-bd27-8cd992552951 /media/UsbEXT3 ext3 defaults 0 0
を追記し、再起動でUsbに接続したEXT3のディスクが名称「UsbEXT3」として認識されるようになりました。
NTFS側は上手くいかず、またubuntuから認識する必要もないのでfstabから削除しました。
また、当然バックアップに使用するシェルも
rsync -auvz --delete /home/snufkin /media/UsbEXT3/
と、最後の同期先の名称を変更し、シェルが正しく動くことも確認できました。
これで成功だと思ったのですが、、、、、
このディスクをアンマウントできないことに気づきました。
再起動したら今度はマウントもできません。
rootしかそれができないとするメッセージが出ます。
というわけで今、このディスクはubuntu環境から全く使えないものになっています。
rootとしてマウント/アンマウントする方法とともに、可能ならユーザとしてそれができる方法もあれば教えてください。
オフライン
申し訳ありません。
確認と説明が不十分でした。
このUSB外付ディスクの電源が入っている状態でPCを起動すればマウントされます。
またそのままPCの電源を落とせば当然アンマウントされます。
しかしやりたいことは、外付ディスクの電源は常時オフにしておき、バックアップを取る必要があるときだけ電源ON、バックアップが終わったら電源OFFすることです。
本体とともに電源ON/OFFしなければならないとすると、些か使用目的から外れます。
そこでご指導頂きたいのは、既にユーザとしてログインしている状態から、このUsbEXT3をマウント/アンマウントする事です。
誠にややこしい質問が多くて申し訳ありません。
オフライン
レーベルをセットすれば、問題はないです。
例えばe2label /dev/sdc1 xxxntfs, パーティションをリマウントしたら。オッケーです。
オフライン
fstabのオプションに user を追加すると一般ユーザーから、users にすると全てのユーザーでマウント&アンマウント。
蛇足ですがUUIDと同じ理屈と方法でラベル(名称)も使えるみたいですね。(ダメかも)
$ e2label /dev/** ラベル名
-----------------------------------------
[デバイス] [マウントポイント] [ファイルシステム] [オプション] [dump] [fsck]
<UUUID> </***/****> <*********> <**,**,users> <0> <0>
最後の編集者: hir0 (2009-05-06 02:53:30)
オフライン
firefoxmmxさん hir0さん ご厄介になります。
02:53:30に追記頂いた部分で少し見えてきました。
> [デバイス] [マウントポイント] [ファイルシステム] [オプション] [dump] [fsck]
> <UUUID> </***/****> <*********> <**,**,users> <0> <0>
とある部分は、私の場合で行くと、この様な記述で良いのでしょうか。
UUID=/media/UsbEXT3 ext3 users 0 0
[オプション] の<**,**,users>部分が肝だとは解っているのですが、<**,**>は何か指定すべきものがありますか。
オフライン
マウントオプションと同じオプションの様です。
読み書き可の rw
アクセス時刻の更新 atime
----------------------------------
必要に応じて
----------------------------------
実行ファイルの許可 exec
パーミッション umask=
ディレクトリ用パーミッション dmask=
ファイル用パーミッション fmask=
----------------------------------
使用法と好みの問題
----------------------------------
更新と書き込みを同時に行う sync
一度メモリに溜め込む async
----------------------------------
通常は指定無でもマウントされる
----------------------------------
起動時にマウントされ無い時 auto
----------------------------------
おすすめ
$ sudo apt-get install manpages-ja xmanpages-jp
$ man mount
オフライン
hiroさん、サポートありがとうございます。
snufkinさん、ご返事が遅くなり失礼しました。
ご希望の動作になるように検証を行っていたため時間が掛かってしまいました。
**gnome-mountを使用したマウント/アンマウント**
私の書き込みでマウントポイントを作成しろとか、/etc/fstabにオプションを追加しろとか
ややこしい内容を指示しておりましたがもっと簡単に出来ることが分りましたので報告します。
まず、初期状態に戻してください。
USBを接続しない状態でubuntuを起動する。
マウントポイントの削除
sudo rmdir /media/UsbNTFS
sudo rmdir /media/UsbEXT3
/etc/fstab内のUsbNTFS、UsbEXT3定義行の削除
これで現状復帰が出来ました。
ここからがgnome-mountの設定方法です。
USBを接続します。
従来どおり/media/disk、/media/disk-1でマウントされます。
デスクトップ上の/media/diskアイコンにマウスをあて右クリックー>プロパティー>Driverのタブ選択ー>
プロパティ窓の中央にある設定を選択ー>マウント ポイント /media/以降の入力欄にUsbNTFS、及び
UsbEXT3を入力するー>他の入力欄には何も入力しないー>閉じるボタンをクリック
/media/disk-1についても同様の方法で行ってください。
<解説>
何をやったのか。
ubuntuにおいて、メディアが接続された時、gnome-mountが起動して/media/diskなどにマウント ポイントを
作成してくれて使用可能となりますが、この/media/diskのマウント ポイントを事前に設定したことにより固定化
することが出来るようになります。
デスクトップのアイコン下の名称が変わりません。
firefoxmmxさんが書いておられる、e2labelコマンドにてラベルを付けてください。
/etc/fstabに設定する方法も良いやり方です。
snufkinさんの良いと思われる方法で実現してください。
最後の編集者: のんき (2009-05-06 07:54:02)
オフライン
hir0さん のんきさん ご厄介になります。
取り敢えずGUIでできそうな、のんきさんのご指導に従いやってみました。
> デスクトップ上の/media/diskアイコンにマウスをあて右クリックー>プロパティー>Driverのタブ選択ー>
プロパティ窓の中央にある設定を選択ー>マウント ポイント
までは解りました。問題は
1.「/media/以降の入力欄」という表現に該当する表示がありません。
「マウントポイント:」の横はいきなり真っ白な入力窓です。ここに「/media/UsbNTFS」を入れるのかな、とも思いましたが、考えてみれば「/media/UsbNTFS」は直前の動作で削除しています。
2.UsbNTFS、「及び」UsbEXT3を入力すると仰る「及び」の意味が解りません。
「UsbNTFS,UsbEXT3」といった風にカンマ区切りで入れるのでしょうか。
3.disk側のプロパティに何か入れると、そのままdisk-1側にも反映してしまいます。
両方に同じ文字列が自動的に入るのであれば、disk-1がUsbEXT3だぞ、と指定するという当初の目的は、どの部分に入力した指定によって表現されるのでしょうか。
オフライン
**gnome-mountを使用したマウント/アンマウント**
私の書き込みでマウントポイントを作成しろとか、/etc/fstabにオプションを追加しろとか
ややこしい内容を指示しておりましたがもっと簡単に出来ることが分りましたので報告します。
右クリックで同じ(様な)事が出来ると言う案内だと思うのですが以上をを踏まえて、プロパティの[Draive]タブではなく[Volume]タブから設定を行うと疑問と一緒に問題も解決するかも(未確認)
1、は入力欄の手前に/media/と有るのでバージョンの違いかも。
最後の編集者: hir0 (2009-05-06 11:26:55)
オフライン
有難うございました。
常に[disk]で起動したいNTFSのVolumeには[disk]
常に[disk-1]で起動したいEXT3のVolumeには[disk-1]
を入れ、何度かマウント/アンマウントを繰り替えしましたが、常に同じ名前でマウントされるようです。
お陰様で解決したようです。
解決してみればとても簡単なやり方でした。
お付き合い下さった達人の皆さん、本当に有難うございました。
オフライン
達人の皆さん、こんにちは
お陰様でディスクの名称を固定するやり方は十分理解できました。
その節はお世話になり、有難うございました。
これは後日談です。
なぜこの問題に立ち至ったかといえば、以下の経緯があります。
元々USBディスクを半分づつにパーティションし、一方をNTFS、残る一方をExt3でフォーマットし、それぞれをWindowsとubuntuのバックアップ用に使っていたのです。
かつて使っていた、CD起動でインストールした07.04はNTFSを参照はできても書き込みはできなかったからです。
従ってWindowsとubuntuではバックアップディスクを分ける必要がありました。
しかし、今使っている、Wubiでインストールしたubuntuでは、両方のディスクを全く同じように読み書きできてしまいます。
その場合、ディスクの名称が固定されていなければどちらをバックアップディスクと扱って良いかわからない、という点が問題となりました。
つまり、そもそもWindowsとubuntuでバックアップディスクを分ける必要そのものが無くなってしまったと言えます。
結局私は、外付けディスクをもう一度フォーマットし直し、全部を1パーティションのNTFSにしました。
これなら、Windowsからもubuntuからも同じように読み書きできるからです。
ディスク上に[windows][linux]という2つのフォルダを作り、それぞれのOS環境からデータのバックアップを取っています。
何だか変な結論ですが、CD起動でインストールしたubuntuはNTFSをExt3と同じように読み書きできないけど、Windows起動状態からWubiでインストールしたubuntuはどちらのディスクも同じように読み書きできる、ubuntuを主に使うけど、Windows環境を完全に捨てるわけには行かない人にとって、一番よいディスクの使い方のようにも見えます。
本当に奥が深いubuntu、日々是学習です。
オフライン
hir0さん 毎度ご厄介になります。
なるほど、07.04で書き込みできなかったのが08.10でできるようになったのは、別にインストール方法が変わったからではないということですね。
ubuntu自体がNTFSの読み書きに対応したということですか。
実はその情報が欲しかったのです。
次にインストールする時はもう一度CD起動で行こうかな、と思っています。
その際にもう一度Windows環境とディスクを分けなければならないのは嫌ですからね。
安心しました。
有難うございました。
オフライン