
Ubuntu日本語フォーラム

ログインしていません。
使用頻度の低い Windows XP Home がインストールされている Asus N10J に Wubi を使って Ubuntu 12.04 LTS を入れて使っていたのですが
久しぶりに使おうと思って GUI のアップデートマネージャーから更新をしようとしたところアップデートのインストールに失敗しました
アップデートは失敗したようですが再起動を促されたので再起動したところ GUI のログイン画面までは出るのですが、パスワードを入れてログインしても
デスクトップに置かれたアイコンなどは見えるものの
画面上部のメニューや左側のランチャーが表示されなくなってしまいました
Ctrl+Alt+F1 で tty1 で CUI でログオンは出来ましたが
$ sudo apt-get upgrade
としても
linux-headers-generic:Depends:linux-headers-3.2.0-53-generic but it is not installed
E: Unmet dependencies. Try using -f.
と表示されて止まってしまいます
$ sudo apt-get -f install
をするように言われているようなのでして見ましたが
"disk full error"とか"./usr/src/linux-headers-"..."No space left on device"
などのメッセージを含んだエラーが起こって進みません
$ df -h
で空き容量を確認しましたが
"Filesystem Size Used Avail Use% Mounted on"
"/dev/loop2 3.9G 2.8G 881M 77% /usr"
となっており空き容量がないわけではないように思います
881Mでは少ないとするならば何かを捨てたいわけですがどの辺を捨てれば良いのかもわからず
対処方法を指導していただけるとありがたいです
オフライン
まずは下記2つのログを見てみましょう。
1、/var/log/apt/history.log
$ cat '/var/log/apt/history.log' | more
で見られます。
Start-Date や End-Date の行に、年月日と時間があります。
失敗したであろう日時の記録を確認してみましょう。
2、/var/log/apt/term.log
$ sudo cat '/var/log/apt/term.log' | more
こちらはsudoを付けてください。
Log started や Log ended の行に、年月日と時間があります。
アップデートの過程で、何か失敗したようなメッセージや警告などがあれば、手がかりになるはずです。
また、linux-headers-xxx あたりでコケている感じなので、
下記の結果も記載するとよいと思います。
$ uname -a
$ dpkg -l |grep linux-image
$ dpkg -l |grep linux-headers
※ 以上のコマンドは「確認するだけ」なので、実行しても問題ありません。
空き容量についてですが、しばらく
$ sudo apt-get clean
を実行してなければ実行してみてください。
キャッシュを消すだけですが、かなり溜まっているかも知れません。
$ dpkg -l | grep '^rc'
で、不要なものを見つけて
$ sudo apt-get purge xxx(パッケージ名)
すれば多少は空き容量が増えます。
検索してみると、ディスク容量が十分あるのに"No space left on device"が出るのは、inodeが足りないためという記事を多く見ました。
「df -i」で確認できます。
不要ファイルの削除は効果があるようなので、試してみてください。
下記などが参考になるかと思います。
https://forums.ubuntulinux.jp/viewtopic.php?id=15203
http://linux.yebisu.jp/memo/425
オフライン
ありがとうございます
「df -i」で確認したところ98%ぐらいになっていました
/usr/src/linux-headers-
で始まるフォルダが複数あってそれのファイル数がおおすぎるのだと思い
古い方から削除しました
$ sudo apt-get purge xxx(パッケージ名)
で削除しようとしたのですがそれも同じエラーが出てしまうため
$ sudo rm -r /usr/src/linux-headers-xxx(削除したいバージョン)
として強制的にフォルダを削除してそののち
$ sudo apt-get purge xxx(パッケージ名)
としました
(そののち
$ sudo apt-get install linux-headers-3.5.0.47
のようにインストールが詰まってしまったヘッダーを入れました)
それで一時的には問題が解決したように思えたのですが
linux-headers にアップデートがあるたびに同じ現象が繰り返されます
問題が再発しないようにするにはどうしたらよいのでしょうか?
あと若干気になるのは
パージしたバージョンのLinuxがGRUBメニューに残ったままになります
残っている事自体は構わないのですが
「rm -r」で強制的に削除してから「apt-get purge」しているため
正常に削除されていないのかなと心配になったのですが
大丈夫なものなのでしょうか?
オフライン
こんにちは。
tomoyo による投稿:
それで一時的には問題が解決したように思えたのですが
linux-headers にアップデートがあるたびに同じ現象が繰り返されます
問題が再発しないようにするにはどうしたらよいのでしょうか?
古いバージョンのカーネルなど不要になったパッケージを削除するには、
apt-get autoremove
を使用します。
tomoyo による投稿:
パージしたバージョンのLinuxがGRUBメニューに残ったままになります
残っている事自体は構わないのですが
「rm -r」で強制的に削除してから「apt-get purge」しているため
正常に削除されていないのかなと心配になったのですが
大丈夫なものなのでしょうか?
GRUBメニューの更新が自動的になされていないためではないでしょうか。
あるいは、/boot にまだ古いカーネルが残っているからかもしれません。
(もし、いわば「普通に」 apt-get autoremove などで削除をしていたら、
GRUBメニューは自動的に更新されるのではないかと思います。)
また、GRUBメニューを更新するコマンドは update-grub なので、これを実行しても更新ができますが、
もしも /boot の下にカーネルが残っていると、それが自動認識されメニューに登録されますので
「GRUBメニューに残ったまま」は解消されないと思われます。
なお、update-grub を実行するときには、
結果が意図しないものになる可能性もあるので、/boot/grub/grub.cfg をどこかにバックアップして(万が一の時でも書き戻せるようにして)からにすると良いです。
オフライン
説明が足りない点があったので長々と申しわけありませんが、追加で書いておきます。
カーネル関連のパッケージのうち、 linux-headers のほうを削除しても linux-imageのほうが残っていると、
/bootにカーネル本体が残るので、GRUBメニューにも登録されたままであるのだと思います。
まずは apt-get autoremove で依存関係が切れた不要パッケージを削除してディスクの空き領域を増やします。
(カーネル関連以外も不要なものはさくっと削除されますので、apt-getしたときに注意喚起されたら実行するとよいです。)
それでももし、古いカーネルのうち削除されないパッケージがあれば、apt-get purge する(もしくは apt-get remove する)とよいと思います。
つまり、linux-headers だけではなく linux-image のほうも古い(不要な)バージョンを削除します。
ちなみに、古いカーネルでも、直前や2世代前など、apt-get autoremove しても自動的に削除されないパッケージがあります。
これらは「カーネルをアップデートしたら思い通りに動かなくなった」などの不具合を想定して必要な仕様です。
もし明らかに不要だという確信があるならば、自動ではなく直接指定して apt-get purge (apt-get remove)すればよいです。
こうして「普通」に削除した場合には、自動的にGRUBメニューが更新されるようになっており、存在しないカーネルイメージのブートメニューは削除されます。
オフライン
ありがとうございます
GRUBメニューに残ってしまう問題はlinux-imageもpurgeしたことで解消されました
ただ
linux-headers にアップデートがあるたびに同じ現象が繰り返されます
問題が再発しないようにするにはどうしたらよいのでしょうか?
の再発する同じ現象の問題というのは
カーネルのアップデートがあるたびにinodeを使いきってしまう
という問題のつもりで質問しました
こちらは何とかならないものなのでしょうか?
私が操作している時であればここまでの作業を同じようにすれば良いのですが
出来れば家族にもできるようにGUIでアップデートをするだけで済むようにしたいのです
オフライン
inodeの残り容量が足りないという問題ですが
支障の出ている場所が /usr 以下なので、この場所でファイルが多いとするとよくあるのは、
インストールされているソフトウェアが多すぎる、ということが一般的には考えられます。
例えば、複数のデスクトップ環境(GNOMEとKDEの両方だとか)をインストールしていたりすると、容量をずいぶんと消費してしまうでしょうし。
ですので、対処法としては、不要なソフトウェア(パッケージ)の削除がまず考えられます。
それとそもそもの話になってしまいますが、パーティションの総容量が3.9GBということ自体も、用途にはよりますが、いまどきは厳しいです。(ちょうどひと桁多いほうがいいです。)
とりわけいわゆるデスクトップ用としてみると、かなり無理があるように思います。
Wubiの使用も、Ubuntuのお試し用としては便利ですが、常用するとなると、私はお勧めしません。
お試しでさえも近ごろは、Windows上でVirtualBoxやVMwareを使用する人が増えています。
反対に、常用するのであれば、仮想領域ではなく、ちゃんとパーティションを区切ってインストールすることを強くお勧めいたします。
既存のHDD領域を(GPartedなどで)編集して空けるですとか。
新しいHDDを増設したり外付けHDDを利用したりのでも、近ごろも価格はそれほど高くはありませんので。
Wubiの現状で、パーティションを拡張したり移し替えたりする作業をして解消することも可能ではありますが、ちょっと大変で、リスクも高くなります。
オフライン