
Ubuntu日本語フォーラム

ログインしていません。
先日、自動アップデートしたところ、進入禁止マークが出て
「エラーが発生しました ~長いので中略~ インストールしたパッゲージの
依存性が満たせない」と出るようになりました。
ソフトウェアセンターも
「インストールされているソフトウェアに問題があるためインストールできません」
と出て修復ボタンを押しても クラッシュレポートが出て終了となります。
また端末では
sudo apt-get update はできましたが
sudo apt-get clean 反応なし
sudo apt-get - upgrade
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
それから
sudo dpkg --configure -a の結果は
dpkg: 依存関係の問題により linux-headers-generic の設定ができません:
linux-headers-generic は以下に依存 (depends) します: linux-headers-3.13.0-96-generic ...しかし:
パッケージ linux-headers-3.13.0-96-generic はまだインストールされていません。
dpkg: パッケージ linux-headers-generic の処理中にエラーが発生しました (--configure):
依存関係の問題 - 設定を見送ります
dpkg: 依存関係の問題により linux-headers-generic-pae の設定ができません:
linux-headers-generic-pae は以下に依存 (depends) します: linux-headers-generic (= 3.13.0.96.104) ...しかし:
パッケージ linux-headers-generic はまだ設定されていません。
dpkg: パッケージ linux-headers-generic-pae の処理中にエラーが発生しました (--configure):
依存関係の問題 - 設定を見送ります
dpkg: 依存関係の問題により linux-generic の設定ができません:
linux-generic は以下に依存 (depends) します: linux-headers-generic (= 3.13.0.96.104) ...しかし:
パッケージ linux-headers-generic はまだ設定されていません。
dpkg: パッケージ linux-generic の処理中にエラーが発生しました (--configure):
依存関係の問題 - 設定を見送ります
dpkg: 依存関係の問題により linux-generic-pae の設定ができません:
linux-generic-pae は以下に依存 (depends) します: linux-generic (= 3.13.0.96.104) ...しかし:
パッケージ linux-generic はまだ設定されていません。
dpkg: パッケージ linux-generic-pae の処理中にエラーが発生しました (--configure):
依存関係の問題 - 設定を見送ります
処理中にエラーが発生しました:
linux-headers-generic
linux-headers-generic-pae
linux-generic
linux-generic-pae となり
sudo apt-get autoremove では
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
これらを直すためには 'apt-get -f install' を実行する必要があるかもしれません。
以下のパッケージには満たせない依存関係があります:
linux-headers-generic : 依存: linux-headers-3.13.0-96-generic しかし、インストールされていません
E: 未解決の依存関係があります。-f オプションを試してください。
そして sudo apt-get install -f の結果
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
依存関係を解決しています ... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
gnome-video-effects libcdr-0.0-0 libmspub-0.0-0 libnatpmp1
libreoffice-avmedia-backend-gstreamer libreoffice-draw libvisio-0.0-0
linux-headers-3.13.0-86 linux-headers-3.13.0-86-generic
linux-image-3.13.0-86-generic linux-image-extra-3.13.0-86-generic
これを削除するには 'apt-get autoremove' を利用してください。
以下の特別パッケージがインストールされます:
linux-headers-3.13.0-96 linux-headers-3.13.0-96-generic
以下のパッケージが新たにインストールされます:
linux-headers-3.13.0-96 linux-headers-3.13.0-96-generic
アップグレード: 0 個、新規インストール: 2 個、削除: 0 個、保留: 0 個。
4 個のパッケージが完全にインストールまたは削除されていません。
9,553 kB 中 0 B のアーカイブを取得する必要があります。
この操作後に追加で 76.6 MB のディスク容量が消費されます。
続行しますか? [Y/n] y
(データベースを読み込んでいます ... 現在 436325 個のファイルとディレクトリがインストールされています。)
.../linux-headers-3.13.0-96_3.13.0-96.143_all.deb を展開する準備をしています ...
linux-headers-3.13.0-96 (3.13.0-96.143) を展開しています...
エラーメッセージはディスクフルエラーであることを示しているので、レポートは書き込まれません。
dpkg: アーカイブ /var/cache/apt/archives/linux-headers-3.13.0-96_3.13.0-96.143_all.deb の処理中にエラーが発生しました (--unpack):
(`./usr/src/linux-headers-3.13.0-96/arch/m68k/math-emu/Makefile' の処理中に) `/usr/src/linux-headers-3.13.0-96/arch/m68k/math-emu/Makefile.dpkg-new' の作成に失敗しました: デバイスに空き領域がありません
dpkg-deb: エラー: サブプロセス ペースト がシグナル (Broken pipe) によって強制終了されました
.../linux-headers-3.13.0-96-generic_3.13.0-96.143_i386.deb を展開する準備をしています ...
linux-headers-3.13.0-96-generic (3.13.0-96.143) を展開しています...
エラーメッセージはディスクフルエラーであることを示しているので、レポートは書き込まれません。
dpkg: アーカイブ /var/cache/apt/archives/linux-headers-3.13.0-96-generic_3.13.0-96.143_i386.deb の処理中にエラーが発生しました (--unpack):
(`./usr/src/linux-headers-3.13.0-96-generic/include/config/snd/vmaster.h' の処理中に) `/usr/src/linux-headers-3.13.0-96-generic/include/config/snd/vmaster.h.dpkg-new' の作成に失敗しました: デバイスに空き領域がありません
dpkg-deb: エラー: サブプロセス ペースト がシグナル (Broken pipe) によって強制終了されました
処理中にエラーが発生しました:
/var/cache/apt/archives/linux-headers-3.13.0-96_3.13.0-96.143_all.deb
/var/cache/apt/archives/linux-headers-3.13.0-96-generic_3.13.0-96.143_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
となります。
ubuntu14.04 LTS
現在、使用のカーネル 3.13.0-96-generic
メモリーとHDDにエラーはなし。
dfで
Filesystem 1K-blocks Used Available Use% Mounted on
udev 1016796 4 1016792 1% /dev
tmpfs 205284 1180 204104 1% /run
/dev/sda6 47929224 14587552 30883920 33% /
none 4 0 4 0% /sys/fs/cgroup
none 5120 0 5120 0% /run/lock
none 1026420 5908 1020512 1% /run/shm
none 102400 52 102348 1% /run/user
再インストールの方が早いのでしょうか?
対処法をご教授お願いいたします。
オフライン
>エラーメッセージはディスクフルエラーであることを示しているので、レポートは書き込まれません。
ディスクの空き容量が不足しているようですね
オフライン
ディスク容量は問題ないのですがIノードが100%でした。
~$ df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
udev 214877 474 214403 1% /dev
tmpfs 219688 484 219204 1% /run
/dev/sda6 3055616 3052549 3067 100% /
none 219688 2 219686 1% /sys/fs/cgroup
none 219688 3 219685 1% /run/lock
none 219688 28 219660 1% /run/shm
none 219688 26 219662 1% /run/user
これがなんらかの関係しているようですが
相変わらず古いカーネルの削除ができないので困っています。
オフライン
sda6 の平均ファイルサイズは 14587552KB/3052549=4.778... KB となりますよね。私はこんなに小さい値を見たことがありません。もちろん、インストールしてあるパッケージやユーザーのファイルは人それぞれですが、手元の 12.04.5, 32bit では /, /usr, /boot partition を合わせた平均ファイルサイズは 17.74KB でファイルの総数は約23万個でした。
仮に私がこのような状況に直面したら:
まず、ファイルシステムを再度検査します。インストールメディアから「ubuntu を試す」でシステムを立ち上げるのが望ましいのですが、それができない(あるいは面倒)なら最低でも recovery mode で立ち上げて readonly mount されている状態で検査します。そして管理者権限で
fsck -f /dev/デバイス名
と -f を指定して fsck を実行して異常が無いかを調べます。(インストールメディアから立ち上げた時はデバイス名が変わっているかもしれませんのでその時のデバイスに合わせてください。)
ファイルシステムに異常がなければ、どこかにサイズの小さいファイルが大量(少なく予想しても200万個以上)あるはずです。もし、/home 以下にあったのなら削除できるものは削除して free i-node を増やします。
問題は package で管理されている小さいファイルが大量にあった場合です。意見が分かれるところだと思いますが、私ならこのあたりで諦めて再インストールかな。
オフライン
インストールメディアはUbuntu12.04なのでリカバリモードでやってみましたがcannotが出て出来ませんでした。
古いカーネルの削除も出来ないのでファイルシステムが壊れたとしか判断できません。
幸い、ネットやメールは普通にできるので時間を見つけて、他のLinuxを試してみる予定です。
貴重な助言をいただき、有難うございました。感謝です。
オフライン
bean による投稿:
インストールメディアはUbuntu12.04なので
構いません。/dev/sda6 のファイルシステムは ext4, ext3, ext2 のいずれかですよね?その場合、12.04 のインストールメディアの「ubuntu を試す」から(インストールメディアに入っている)fsck(あるいは e2fsck)を使って問題なく14.04が入っているファイルシステムの検査・修復の試みができます。大切なのはどのファイルシステムが使われているかであってそのファイルシステムに収められているOSのバージョンは関係ありません。
bean による投稿:
cannotが出て出来ませんでした。
すいません、エラーメッセージは省略せずに書いてもらえますか?(調べてみたら 14.04 の e2fsck のエラーメッセージで大文字小文字を区別せずに cannot を含むものは10個、fsck に2個有りました。)そもそもこれは fsck のエラーメッセージでしょうか?それとも fsck を起動する以前に何か問題が起きたのでしょうか?
オフライン
taka.zoo.n様、いつも貴重な助言有難うございます。
インストールメディアからでは
/dev/sda6: recovering journal
Pass 1: Checking iノードs, blocks, and sizes
Pass 2: Checking ディレクトリ structure
Pass 3: Checking ディレクトリ connectivity
Pass 4: Checking reference counts
Pass 5: Checking グループ summary information
/dev/sda6: 3052923/3055616 files (0.0% non-contiguous), 3951374/12206848 blocks
しかし、リカバリモードからでは
$ sudo fsck -f /dev/sda6
fsck from util-linux 2.20.1
e2fsck 1.42.9 (4-Feb-2014)
/dev/sda6 is mounted.
e2fsck: Cannot continue, aborting.
となりました。
オフライン
順番が前後しますが、recovery mode で fsck を起動する手順で説明が不十分な点がありました。申し訳ございません。
grub から recover mode で ubuntu kernel を起動すると、テキスト画面で先頭の行は Recovery Menu (filesystem state: readonly) となっているとおもいます。最初は
resume Resume normal boot
の項目が選択されていますので、矢印キーか Ctrl-n で
root Drop to root shell prompt
を選択して Enter を押してください。root の shell 設定を変えていなければ
root@マシン名:~#
のようなプロンプトが出ていると思います。この shell から実行するコマンドは(sudo をつけなくても)すべて管理者権限で実行されます。この時点でシングルユーザーモードであり、/dev/sda6 は read only mount されているので
fsck -f /dev/sda6
を実行できるはずです。
fsck が終わった後は /sbin/reboot を実行してリブートするか
/sbin/shutdown -h now
を実行して電源を切ってください。いずれの場合も Recovery Menu が再度表示されますが、何もせずに20秒も待っているとリブートまたはシャットダウンが実行されます。
話を file system の方に戻します。fsck の実行結果から判断すると、check した直前のshutdown 時に問題があったようですが、ファイルシステムは既に fsck の実行で修復されています。#3 と #7 を比べると /dev/sda6 に非常に小さなファイルが本当に 200万個とかあるのだとおもいます。Kernel の破損を示唆するようなことは無いように思えます。単に不要なファイルを100万個位削除して package の依存関係を再構築すれば復旧すると思います。が、この作業、結構大変だと思います。まさか一つづつ手で削除するわけにもいかず、どこかに大量にあるであろう細切れの(もしかするとサイズは0かも)ファイルを探しださねばなりません。
du にファイルサイズの合計ではなくファイルの個数の合計を出力するようなオプションがあれば良いのですが無いようですね。shell 手続きではどれだけ時間がかかるか想像もできません。カレントディレクトリ以下のファイル(正確にはディレクトリエントリー)の個数は、ディレクトリとハードリンクが余計にカウントされますが
ls -1R | grep -c -v '^$'
で分かります。いくつか当たりをつけて(各ユーザーのホームディレクトリとか /var/cache の中のディレクトリとか...)調べるくらいしか思いつきません。
何かいい方法ありますでしょうか>皆様
オフライン
いつもお世話になっています。
ご返答が遅れて申し訳ありません。
突然、ログイン出来なくなりました。
画面はブラックアウト、リカバリーからだとログアウトした画面にしかなりません。
インストールメディアから見るとディスクファイルがいっぱいでログイン出来ないようです。
(約50GBも増え、一番大きいサイズのフォルダーは「lost+found」のようです)
諦めて再インストールにいたします。
親切なアドバイスに感謝です、有難うございました。
オフライン