
Ubuntu日本語フォーラム

ログインしていません。
はじめまして、linuxはあまり使いこなしていませんので、アップデートしようとしたときに、以下のエラー
メッセージが表示されうまくアップデートできない原因がよくわかりません。
どなたか分かる方、対処方法をお教え願えないでしょうか。
ubuntu:~$ sudo aptitude upgrade
W: The "upgrade" command is deprecated; use "safe-upgrade" instead.
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます
パッケージの状態を初期化しています... 完了
以下の、インストールが完了していないパッケージが設定されます:
cryptsetup dmraid dmsetup initramfs-tools mountall udev watershed
0 個のパッケージを更新、 0 個を新たにインストール、 0 個を削除予定、0 個が更新されていない。
0B のアーカイブを取得する必要があります。 展開後に 0B のディスク領域が新たに消費されます。
udev (151-12.1) を設定しています ...
udev start/running, process 5941
update-initramfs: deferring update (trigger activated)
cp: `/vmlinuz' を stat できません: No such file or directory
dpkg: udev の処理中にエラーが発生しました (--configure):
サブプロセス installed post-installation script はエラー終了ステータス 1 を返しました
dpkg: 依存関係の問題により initramfs-tools の設定ができません:
initramfs-tools は以下に依存 (depends) します: udev (>= 147~-5) ...しかし:
パッケージ udev はまだ設定されていません。
dpkg: initramfs-tools の処理中にエラーが発生しました (--configure):
依存関係の問題 - 設定を見送ります
dpkg: 依存関係の問題により dmsetup の設定ができません:
dmsetup は以下に依存 (depends) します: initramfs-tools ...しかし:
パッケージ initramfs-tools はまだ設定されていません。
dmsetup は以下に依存 (depends) します: udev (>> 141-2) ...しかし:
パッケージ udev はまだ設定されていません。
dpkg: dmsetup の処理中にエラーが発生しました (--configure):
依存関係の問題 - 設定を見送ります
dpkg: 依存関係の問題により mountall の設定ができません:
mountall は以下に依存 (depends) します: udev ...しかし:
パ�No apport report written because the error message indicates its a followup error from a previous failure.
No apport report written because the error message indicates its a followup error from a previous failure.
No apport report written because MaxReports is reached already
No apport report written because MaxReports is reached already
��ケージ udev はまだ設定されていません。
dpkg: mountall の処理中にエラーが発生しました (--configure):
依存関係の問題 - 設定を見送ります
dpkg: 依存関係の問題により cryptsetup の設定ができません:
cryptsetup は以下に依存 (depends) します: dmsetup ...しかし:
パッケージ dmsetup はまだ設定されていません。
cryptsetup は以下に依存 (depends) します: initramfs-tools (>= 0.91) | linux-initramfs-tool ...しかし:
パッケージ initramfs-tools はまだ設定されていません。
パッケージ linux-initramfs-tool はまだインストールされていません。
パッケージ initramfs-tools は linux-initramfs-tool を提供していますが、まだ設定されていません。
dpkg: cryptsetup の処理中にエラーが発生しました (--configure):
依存関係の問題 - 設定を見送ります
dpkg: 依存関係の問題により dmraid の設定ができません:
dmraid は以下に依存 (depends) します: udev ...しかし:
パッケージ udev はまだ設定されていません。
dmraid は以下に依存 (depends) します: dmsetup ...しかし:
パッケージ dmsetup はまだ設定されていません。
dpkg: dmraid の処理中にエラーが発生しました (--configure):
依存関係の問題 - 設定を見送ります
No apport report written because MaxReports is reached already
dpkg: 依存関係の問題により watershed の設定ができません:
watershed は以下に依存 (depends) します: initramfs-tools ...しかし:
パッケージ initramfs-tools はまだ設定されていません。
dpkg: watershed の処理中にエラーが発生しました (--configure):
依存関係の問題 - 設定を見送ります
No apport report written because MaxReports is reached already
以下のパッケージの処理中にエラーが発生しました:
udev
initramfs-tools
dmsetup
mountall
cryptsetup
dmraid
watershed
E: Sub-process /usr/bin/dpkg returned an error code (1)
パッケージをインストールできませんでした。復旧を試みています:
initramfs-tools (0.92bubuntu78) を設定しています ...
update-initramfs: deferring update (trigger activated)
cp: `/vmlinuz' を stat できません: No such file or directory
dpkg: initramfs-tools の処理中にエラーが発生しました (--configure):
サブプロセス installed post-installation script はエラー終了ステータス 1 を返しました
dpkg: 依存関係の問題により watershed の設定ができません:
watershed は以下に依存 (depends) します: initramfs-tools ...しかし:
パッケージ initramfs-tools はまだ設定されていません。
dpkg: watershed の処理中にエラーが発生しました (--configure):
依存関係の問題 - 設定を見送ります
dpkg: 依存関係の問題により dmsetup の設定ができません:
dmsetup は以下に依存 (depends) します: initramfs-tools ...しかし:
パッケージ initramfs-tools はまだ設定されていません。
dpkg: dmsetup の処理中にエラーが発生しました (--configure):
依存関係の問題 - 設定を見送ります
dpkg: 依存関係の問題により cryptsetup の設定ができません:
cryptsetup は以下に依存 (depends) します: dmsetup ...しかし:
パッケージ dmsetup はまだ設定されていません。
cryptsetup は以下に依存 (depends) します: initramfs-tools (>= 0.91) | linux-initramfs-tool ...しかし:
パッケージ initramfs-tools はまだ設定されていません。
パッケージ linux-initramfs-tool はまだインストールされていません。
パッケージ initramfs-tools は linux-initramfs-tool を提供していますが、まだ設定されていません。
dpkg: cryptsetup の処理中にエラーが発生しました (--configure):
依存関係の問題 - 設定を見送ります
dpkg: 依存関係の問題により udev の設定ができません:
udev は以下に依存 (depends) します: initramfs-tools (>= 0.92bubuntu63) ...しかし:
パッケージ initramfs-tools はまだ設定されていません。
dpkg: udev の処理中にエラーが発生しました (--configure):
依存関係の問題 - 設定を見送ります
dpkg: 依存関係の問題により dmraid の設定ができません:
dmraid は以下に依存 (depends) します: udev ...しかし:
パッケージ udev はまだ設定されていません。
dmraid は以下に依存 (depends) します: dmsetup ...しかし:
パッケージ dmsetup はまだ設定されていません。
dpkg: dmraid の処理中にエラーが発生しました (--configure):
依存関係の問題 - 設定を見送ります
dpkg: 依存関係の問題により mountall の設定ができません:
mountall は以下に依存 (depends) します: udev ...しかし:
パッケージ udev はまだ設定されていません。
dpkg: mountall の処理中にエラーが発生しました (--configure):
依存関係の問題 - 設定を見送ります
以下のパッケージの処理中にエラーが発生しました:
initramfs-tools
watershed
dmsetup
cryptsetup
udev
dmraid
mountall
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます
パッケージの状態を初期化しています... 完了
$
以上です。よろしくお願いします。
オフライン
$ sudo dpkg --configure -a
でどうでしょうか?
ダメなら中断されたパッケージの再インストール(何か、中断されたインストールを再開する方法がありそうですが)
$ sudo apt-get --reinstall install cryptsetup dmraid dmsetup initramfs-tools mountall udev watershed
オフライン
・sudo dpkg --configure -a は以前実行させたことがあるのですが、やはり現象は同様です。
・udo apt-get --reinstall install cryptsetup dmraid dmsetup initramfs-tools mountall udev watershed を
実行させてみましたが、同様なメッセージの他に
「E: Sub-process /usr/bin/dpkg returned an error code (1)」 と出力されてしまいました。
根本的だめなんでしょうか?
オフライン
「sudo aptitude upgrade」というのをどこから仕入れてきたのか分かりませんが、
メッセージの中に「W: The "upgrade" command is deprecated; use "safe-upgrade" instead.」
→「W: "upgrade"コマンドは推奨しないです。 代わりにを"safe-upgrade"使用します。」となっているのに実行してしまう怖さがありますね。
http://dolphin.c.u-tokyo.ac.jp/~nori1/a … istUpgradeによると、『現在インストールしているもののみ最新状態に変更する命令なので、いらなくなったものは削除し、あとから加わるものがあっても無視します。』
他のブログには、『依存関係が壊れますので、使わない方がよい。』、と書かれていました。
つまり、「apt-get update | apt-get upgrade」と等価ではないということですね。
依存関係の壊れたものを再設定するには、どうするのでしょうか。「aptitude dist-upgrade」を使えということでしょうか、それとも、「apt-get -f, --fix-broken」でしょうか。
オフライン
たびたび失礼します。
#1を見るかぎり、「aptitude upgrade」では何もしていなくて、「cryptsetup dmraid dmsetup initramfs-tools mountall udev watershed」は「aptitude upgrade」するまえから、インストールが不完全だったのでは?
オフライン
本筋と若干ずれますが
funatogawa さんの投稿 (#4):
「sudo aptitude upgrade」というのをどこから仕入れてきたのか分かりませんが、
メッセージの中に「W: The "upgrade" command is deprecated; use "safe-upgrade" instead.」
→「W: "upgrade"コマンドは推奨しないです。 代わりにを"safe-upgrade"使用します。」となっているのに実行してしま
う怖さがありますね。
「upgrade サブコマンドは将来無くなる予定なので、safe-upgrade サブコマンドを使ってください。与えられた upgrade サブコマンドは safe-upgrade コマンドとみなして実行します」程度の意味なので、怖がる必要は一切ありません
他のブログには、『依存関係が壊れますので、使わない方がよい。』、と書かれていました。
つまり、「apt-get update | apt-get upgrade」と等価ではないということですね。
aptitude、synaptic、apt-get のそれぞれで、「依存関係によって自動的にインストールされたかどうか」の管理方法が違うので、これらのコマンドを混在させて使うべきではないということです
依存関係自体はパッケージ本体が持っているので、どのコマンドを使ってもおかしくなることはありません
その意味で言えば「依存関係が壊れる」ことはあり得ません
依存関係の壊れたものを再設定するには、どうするのでしょうか
#1 のエラーメッセージを丹念に追っていくと分かりますが、以下のエラーが全ての元になっています
udev (151-12.1) を設定しています ... udev start/running, process 5941 update-initramfs: deferring update (trigger activated) cp: `/vmlinuz' を stat できません: No such file or directory dpkg: udev の処理中にエラーが発生しました (--configure): サブプロセス installed post-installation script はエラー終了ステータス 1 を返しました
udev の設定がエラーになる原因や解決法は分かりませんが、udev の設定が正常にできれば解決する可能性が濃厚です
オフライン
オフトピですが、ryさん、説明ありがとうございます。
もう少し調べれば良かったですね。
オフライン
色々アドバイスありがとうございます。
確かにメッセージを見ると大元はudevの設定不備のような気がするのですが、
では、どうすればudevの設定がうまくゆくかわからないのです。
udevのパッケージを正しくしようとすると依存関係にある他のパッケージがうまく
いっていないためupdateできなく、その依存関係にあるパッケージが依存しているのが
udevという相互依存にある場合どのようにすればこの関係を解消することができるのでしょうか?
オフライン
本来の原因は依存関係ではなく、メッセージ「以下の、インストールが完了していないパッケージが設定されます:」が出る原因を作った操作ではないでしょうか。
何かの操作により/vmlinuzが消失してしまったので、update-initramfsがエラーで終了しudevパッケージを設定できない。
私の/には、lrwxrwxrwx 1 root root 30 2010-07-26 15:20 vmlinuz -> boot/vmlinuz-2.6.32-24-genericがあります。
moby_dickさんの環境に合ったvmlinuzを作ればエラー解消できるかもしれません。
オフライン
jackalopeさんありがとうございます。
CDからUbuntuを起動させてルートを見ると確かにvmlinuzはありますが
リンク切れしていて、/bootにはvmlinuzなるファイルは存在しません。
vmlinuzをコピーしようとしたのですが(bootにvmlinuzがないので)
エラーとなってコピーできません。
初心者でバカな質問かもしれませんが、そもそもなぜリンク切れのファイルが
ルートにあるのか、またそのファイルが必要なのかよくわからなのですが。
オフライン
moby_dick による投稿:
CDからUbuntuを起動させてルートを見ると確かにvmlinuzはありますが
リンク切れしていて、/bootにはvmlinuzなるファイルは存在しません。
ちょっと気になったのは、なぜLiveCDからシステムを起動してファイルの存在を確認しようとされているのかですが、もしかするとシステムが起動できない状態になっていたりするのでしょうか。
通常は、/bootディレクトリには、
vmlinuz-2.6.32-25-generic
のようなバージョン名が付加されたvmlinuzや、その他の重要なファイルが格納されているはずです。
たとえば私の環境では、以下の状態となっています。
$ ls /boot System.map-2.6.32-24-generic initrd.img-2.6.32-24-generic System.map-2.6.32-25-generic initrd.img-2.6.32-25-generic abi-2.6.32-24-generic memtest86+.bin abi-2.6.32-25-generic vmcoreinfo-2.6.32-24-generic config-2.6.32-24-generic vmcoreinfo-2.6.32-25-generic config-2.6.32-25-generic vmlinuz-2.6.32-24-generic grub vmlinuz-2.6.32-25-generic
もし、/bootに別パーティションをマウントして使うようにしているのであれば、LiveCDからPCを起動して、/にマウントしているパーティションだけ覗いてみても、実際に/bootとして使用しているパーティションがマウントされていない状態であるため、なにもファイルが無い状態になっているかと思います(正確には普段見えているものと全く違う内容になっています)。
moby_dick による投稿:
vmlinuzをコピーしようとしたのですが(bootにvmlinuzがないので)
エラーとなってコピーできません。
また、/ディレクトリには、通常/boot以下のvmlinuzやinitrdへのシンボリックリンクがあるかと思います。
以下も私の環境での例ですが、
$ ls -l initrd.img vmlinuz lrwxrwxrwx 1 root root 33 2010-09-03 09:33 initrd.img -> boot/initrd.img-2.6.32-25-generic lrwxrwxrwx 1 root root 30 2010-09-03 09:33 vmlinuz -> boot/vmlinuz-2.6.32-25-generic
のような感じになるかと思います。
/ディレクトリにシンボリックリンクを作成する必要があるかどうか、また、なぜリンクが切れているのか現在の情報だけでは判断しかねますが、必要な場合は、
sudo ln -s boot/initrd.img-2.6.32-25-generic /initrd.img sudo ln -s boot/vmlinuz-2.6.32-25-generic /vmlinuz
などとすると作成できます。上記のvmlinuzとinitrd.imgのバージョンは私の環境での例です。
さしあたっては、
ls -a / ls -a /boot mount cat /etc/fstab
あたりの実行結果を投稿していただくのが良いかと思います。
オフライン
ことば足らずで申し訳ありません。
以下にコマンド実行結果を張り付けます。
1. la -a /
. boot etc lib mnt root srv usr
.. cdrom home lost+found proc sbin sys var
bin dev initrd.img media rofs selinux tmp
2. ls -a /boot
. grub
.. initrd.img-2.6.32-21-generic
System.map-2.6.32-21-generic memtest86+.bin
abi-2.6.32-21-generic vmcoreinfo-2.6.32-21-generic
config-2.6.32-21-generic
3. mount
aufs on / type aufs (rw)
none on /proc type proc (rw,noexec,nosuid,nodev)
none on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /dev type devtmpfs (rw,mode=0755)
none on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
/dev/sdb1 on /cdrom type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
/dev/loop0 on /rofs type squashfs (ro,noatime)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
none on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev)
none on /var/run type tmpfs (rw,nosuid,mode=0755)
none on /var/lock type tmpfs (rw,noexec,nosuid,nodev)
none on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
gvfs-fuse-daemon on /home/xxxx/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=xxxx)
4. cat /etc/fstab
aufs / aufs rw 0 0
tmpfs /tmp tmpfs nosuid,nodev 0 0
上記見てもらえば分かるように 'vmlinuzのリンク' がルートディレクトリにないのと
/bootにもvmlinuzファイルないので、CDから起動させディレクトリを確認しようとしたのです。
因みに普段はUSBからUbuntuを起動させています。
リンクを作成しようにもvmlinuzなるファイルが存在しないためリンクが作成できません。
どうしてなくなってしまったのか不明です。
再作成が可能でしょうか?
オフライン
ちょっと判りにくい書き方になってしまっていたようで申し訳ありせん。
下記のコマンドの実行は、通常通りの方法でシステムが起動できる場合を想定していました。
LiveCDやLiveUSBからの起動の場合は少し状況が変わります。
下記のコマンド実行結果は通常の方法でシステムを起動した場合のものでしょうか。あるいはLiveCDから起動した場合のものでしょうか。
mountの実行結果から推測するとLiveUSBからの起動の場合のように見えますが、念の為。
moby_dick による投稿:
1. la -a /
. boot etc lib mnt root srv usr
.. cdrom home lost+found proc sbin sys var
bin dev initrd.img media rofs selinux tmp
2. ls -a /boot
. grub
.. initrd.img-2.6.32-21-generic
System.map-2.6.32-21-generic memtest86+.bin
abi-2.6.32-21-generic vmcoreinfo-2.6.32-21-generic
config-2.6.32-21-generic
3. mount
aufs on / type aufs (rw)
none on /proc type proc (rw,noexec,nosuid,nodev)
none on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /dev type devtmpfs (rw,mode=0755)
none on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
/dev/sdb1 on /cdrom type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
/dev/loop0 on /rofs type squashfs (ro,noatime)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
none on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev)
none on /var/run type tmpfs (rw,nosuid,mode=0755)
none on /var/lock type tmpfs (rw,noexec,nosuid,nodev)
none on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
gvfs-fuse-daemon on /home/xxxx/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=xxxx)
4. cat /etc/fstab
aufs / aufs rw 0 0
tmpfs /tmp tmpfs nosuid,nodev 0 0
もし上記がLiveUSBなどからの起動の場合、Ubuntuをインストールしたメディア(下記の投稿内容からするとUSBメモリにインストールされたのでしょうか?)をマウントして、そのマウントを起点として各ディレクトリの内容を確認して下さい。例えばマウントポイントが/media/usbmemoryであったとする、上記1.のls -a /はls -a /media/usbmemoryに読み替えて下さい。同様に/bootは/media/usbmemory/boot、/etcは/media/usbmemory/etcとなります。
moby_dick による投稿:
上記見てもらえば分かるように 'vmlinuzのリンク' がルートディレクトリにないのと
/bootにもvmlinuzファイルないので、CDから起動させディレクトリを確認しようとしたのです。
因みに普段はUSBからUbuntuを起動させています。
リンクを作成しようにもvmlinuzなるファイルが存在しないためリンクが作成できません。
どうしてなくなってしまったのか不明です。
再作成が可能でしょうか?
で、さらに気になったのが普段はUSBからUbuntuを起動させているとのことですが、これはUSBメモリにUbuntuをインストールしたということでしょうか。もし、普段使っているのがLiveUSBである場合、基本的に新しいソフトの追加インストールやカーネルの更新はできません。
普段使っているというUSB(メモリ)の作成方法、手順などを詳しく投稿願えますでしょうか。
オフライン
hmatsueさん度々回答ありがとうございます。
私が普段使用しているUbuntuはUsbメモリ(8G)にUbuntu10.04をインストール
したものを使用しています。
インストール方法は既にご存知だと思いますが、「システム」→「システム管理」→
「ステートアップ・ディスクの作成」からCDイメージをUSBにインストールしています。
前のバージョンではルートディレクトリにcasper-rwなどのファイルをコピーして
置かないと変更内容が維持されませんでしたが、10.04では自動でできるようで
そのままでupdate, upgrade すれば、カーネルなどアップデートが可能です。
LiveUsbから起動すると /media/にはマンウントされないみたいで
@ubuntu:/media$ ls -a を実行すると
. ..
となってしまいます。他のUsbメモリを繋ぐとちゃんと認識はしてくれるみたいで、
/media/ にマウントされます。
ls -a /dev/sdb* と実行すると
/dev/sdb /dev/sdb1 と当然LiveUsbは表示はされますが。
いたいどこのbootが起動されているのでしょう。
他に apache2, mysql, samba をインストールしていますが、
特に支障なく使用できています。
以上宜しくお願いします。
オフライン
moby_dick による投稿:
インストール方法は既にご存知だと思いますが、「システム」→「システム管理」→
「ステートアップ・ディスクの作成」からCDイメージをUSBにインストールしています。
前のバージョンではルートディレクトリにcasper-rwなどのファイルをコピーして
置かないと変更内容が維持されませんでしたが、10.04では自動でできるようで
そのままでupdate, upgrade すれば、カーネルなどアップデートが可能です。
10.04からなにか変わった(?)というのが理解できておらず、もしかしたら私の認識不足、思い違いがあるのかも知れませんが、現時点の私の理解としては、「データの保存領域を作成してあるとパッケージのインストールやカーネルのアップデートもできてしまうが、そのような使い方を想定していないため、いろいろおかしな現象が起きる」と考えています。
以下は他の方の受け売りですが、一例として、
https://forums.ubuntulinux.jp/viewtopic.php?pid=53983#p53983
のような事態が想定されるかと思います。
今回の例でいうとinitramfs-toolが、存在を期待している/vmlinuzが無いことが問題の根本原因であると思いますが、これも通常のインストールをしたものでは起きない問題ですが、LiveUSB/LiveCDでは/vmlinuzが無いようなので、問題となっているということだと思います。
オフライン
hmatsueさん回答ありがとうございます。
実はUsbにインストールしたのは今年の4月ごろで、この問題がでるまで、
特にエラーメッセージがでることなくアップデートができていました。
そのころは特に問題なくアップデートができていたため、/vmlinuzの存在を
意識していなかったので、問題がなかったころルートにvmlinuzがあったかどうか
わかりません。また、本体が/bootにあったかどうかもわかりません。
確かにhmatsueさんが言われるようにvmlinuzが無いことが問題の根本原因である
ように思われますが、まったくだめなのでしょうか。
hmatsueさんにリンクを貼っていただいたサイトの意見もみて、参考にしてみます。
色々とありがとうございました。
オフライン
LiveUSBやLiveCDは起動の仕組みが通常のインストールをした場合と異なるため/vmlinuzが見えなかったような気がします。
そもそもUSBメモリに頻繁に書き込みをするような使い方をしているとUSBメモリの寿命が短くなってしまう(正確には書き込み回数の限界に短期間で達してしまう)ため、USBメモリにUbuntuを入れて常用するのはあまりお勧めできません。
USB接続のHDDなどに通常の方法でインストールすることも含めて検討いただければと思います。
オフライン
hmatsue様
HDDにはWINDOWSをインストールしています。
Ubuntuはこのまま使用していきます。
新にPCを買ったらLINUXをインストールしようと思います。
それまで我慢してUSBで利用します。
まだ資金面で先だと思いますが。
以上ありがとうございました。
オフライン