質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.36%

  • Ubuntu

    1643questions

    Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

[Ubuntu]ソフトウェアアップデートができない不具合の解消

受付中

回答 3

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 2,759

task4233

score 17

解決したいこととそれに至った経緯

Ubuntuのソフトウェアアップデートができない不具合を解消したいです。

まず、Ubuntuでソフトウェアアップデートしている最中にホストOSのエラーでアップデートが中断されてしまいました。
その後、Ubuntuを立ち上げて改めてソフトウェアアップデートをしようとしましたが、upgradeが上手く実行できませんでした。

発生しているエラーとエラーメッセージ

  1. sudo apt-get upgrade
$ sudo apt-get upgrade
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
これらを直すためには 'apt-get -f install' を実行する必要があるかもしれません。
以下のパッケージには満たせない依存関係があります:
 libc6-dev : 依存: libc6 (= 2.23-0ubuntu10) しかし、2.23-0ubuntu3 はインストールされています
E: 未解決の依存関係があります。-f オプションを試してください。


2.sudo apt-get -f install

パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
依存関係を解決しています ... 完了
以下の追加パッケージがインストールされます:
  libc6 libc6-dbg
提案パッケージ:
  glibc-doc
以下のパッケージはアップグレードされます:
  libc6 libc6-dbg
アップグレード: 2 個、新規インストール: 0 個、削除: 0 個、保留: 557 個。
32 個のパッケージが完全にインストールまたは削除されていません。
6,263 kB 中 0 B のアーカイブを取得する必要があります。
この操作後に追加で 14.3 kB のディスク容量が消費されます。
続行しますか? [Y/n] y
パッケージを事前設定しています ...
dpkg: 復旧不可能な致命的なエラーです。中止します:
 パッケージ 'libstdc++6:amd64' のファイル一覧ファイルに最後の改行がありません
E: Sub-process /usr/bin/dpkg returned an error code (2)

3.sudo dpkg --configure -a

dpkg: 依存関係の問題により libc6-dev:amd64 の設定ができません:
 libc6-dev:amd64 は以下に依存 (depends) します: libc6 (= 2.23-0ubuntu10) ...しかし:
  システム上の libc6:amd64 のバージョンは 2.23-0ubuntu3 です。

dpkg: パッケージ libc6-dev:amd64 の処理中にエラーが発生しました (--configure):
 依存関係の問題 - 設定を見送ります
dpkg: 依存関係の問題により libstdc++-5-dev:amd64 の設定ができません:
 libstdc++-5-dev:amd64 は以下に依存 (depends) します: libc6-dev (>= 2.13-0ubuntu6) ...しかし:
  パッケージ libc6-dev:amd64 はまだ設定されていません。

dpkg: パッケージ libstdc++-5-dev:amd64 の処理中にエラーが発生しました (--configure):
 依存関係の問題 - 設定を見送ります
dpkg: 依存関係の問題により g++-5 の設定ができません:
 g++-5 は以下に依存 (depends) します: libstdc++-5-dev (= 5.4.0-6ubuntu1~16.04.9) ...しかし:
  パッケージ libstdc++-5-dev:amd64 はまだ設定されていません。

dpkg: パッケージ g++-5 の処理中にエラーが発生しました (--configure):
 依存関係の問題 - 設定を見送ります
処理中にエラーが発生しました:
 libc6-dev:amd64
 libstdc++-5-dev:amd64
 g++-5

試したこと

  1. 一度再起動をしてから、全てのコマンドをもう一度実行した。
    -> 変化なし。

2.synaptic package managerで破損しているパッケージの情報を見る。
-> synaptic package managerをインストールできない。

3.Ubuntu Softwareからアップデートしようとした。
結果、アップデートできず、以下のような画面が出ました。
エラー

仮想環境

ホストOS: MacOS High Sierra ver10.13.3
ゲストOS: Ubuntu 16.04LTS
VirtuelBox ver5.2.6

追記は可能な限りいたしますので、
足りない情報などあればコメントしていただければ幸いです。
なにとぞ、よろしくお願いいたします。

追記

試したこと

  1. sudo apt-get updateをした後に、改めてsudo apt-get -f install
    -> 変化なし。
$sudo apt-get update
ヒット:1 http://archive.ubuntulinux.jp/ubuntu xenial InRelease                 
無視:2 http://archive.ubuntulinux.jp/ubuntu-ja-non-free xenial InRelease       
ヒット:3 http://archive.ubuntulinux.jp/ubuntu-ja-non-free xenial Release       
ヒット:5 http://ppa.launchpad.net/kelleyk/emacs/ubuntu xenial InRelease        
取得:6 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB]    
取得:7 http://security.ubuntu.com/ubuntu xenial-security/main amd64 DEP-11 Metadata [67.4 kB]
取得:8 http://security.ubuntu.com/ubuntu xenial-security/main DEP-11 64x64 Icons [72.2 kB]
取得:9 http://security.ubuntu.com/ubuntu xenial-security/universe amd64 DEP-11 Metadata [51.4 kB]
取得:10 http://security.ubuntu.com/ubuntu xenial-security/universe DEP-11 64x64 Icons [85.1 kB]
エラー:11 http://jp.archive.ubuntu.com/ubuntu xenial InRelease                 
  jp.archive.ubuntu.com:80 (160.26.2.187) へ接続できませんでした。接続がタイムアウトしました
エラー:12 http://jp.archive.ubuntu.com/ubuntu xenial-updates InRelease
  jp.archive.ubuntu.com:http へ接続できません:
エラー:13 http://jp.archive.ubuntu.com/ubuntu xenial-backports InRelease
  jp.archive.ubuntu.com:http へ接続できません:
378 kB を 20秒 で取得しました (3,130 B/s)                      
パッケージリストを読み込んでいます... 完了
W: http://jp.archive.ubuntu.com/ubuntu/dists/xenial/InRelease の取得に失敗しました  jp.archive.ubuntu.com:80 (160.26.2.187) へ接続できませんでした。接続がタイムアウトしました
W: http://jp.archive.ubuntu.com/ubuntu/dists/xenial-updates/InRelease の取得に失敗しました  jp.archive.ubuntu.com:http へ接続できません:
W: http://jp.archive.ubuntu.com/ubuntu/dists/xenial-backports/InRelease の取得に失敗しました  jp.archive.ubuntu.com:http へ接続できません:
W: いくつかのインデックスファイルのダウンロードに失敗しました。これらは無視されるか、古いものが代わりに使われます。


$ sudo apt-get -f install
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
依存関係を解決しています ... 完了
以下の追加パッケージがインストールされます:
  libc6 libc6-dbg
提案パッケージ:
  glibc-doc
以下のパッケージはアップグレードされます:
  libc6 libc6-dbg
アップグレード: 2 個、新規インストール: 0 個、削除: 0 個、保留: 557 個。
3 個のパッケージが完全にインストールまたは削除されていません。
6,263 kB 中 0 B のアーカイブを取得する必要があります。
この操作後に追加で 14.3 kB のディスク容量が消費されます。
続行しますか? [Y/n] y
パッケージを事前設定しています ...
dpkg: 復旧不可能な致命的なエラーです。中止します:
 パッケージ 'libstdc++6:amd64' のファイル一覧ファイルに最後の改行がありません
E: Sub-process /usr/bin/dpkg returned an error code (2)
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 3

0

ちょっと自己責任とあったので注意してください。(仮想マシンのバックアップなど取ってから試すと良いと思います。)
Ubuntuの「壊れた変更禁止パッケージがあります」エラーにaptitudeで対処する方法
但し、ubuntu 16.04にはaptitudeはデフォルトでインストールされていないようです。
Ubuntu 16.04 LTSではaptitudeがデフォルトでインストールされない 

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/02/21 19:08

    回答ありがとうございます。
    とりあえずバックアップを取ってaptitudeを試してみようと思いましたが、
    aptitudeもsynaptic package managerの時と同様にインストールすらできませんでした……

    キャンセル

0

エラーメッセージをぱっと見た感じでは、パッケージデータベースの中でxenial/mainとxenial-security/mainあたりのバージョン関係が崩れているように見えます。

いちどsudo apt-get updateを実行してパッケージデータベースを更新してから、sudo apt-get -f installあたりを実行すると、状況が変わったりしないでしょうか。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/02/21 18:58

    回答ありがとうございます。
    改めてsudo apt-get upadate && sudo apt-get -f installを行いましたが、上手くいきませんでした。
    ログは追記いたしましたので、ご確認ください。

    キャンセル

  • 2018/02/21 19:07

    libstdc++6:amd64のパッケージエラーについては、sudo apt-get install --reinstall libstdc++6で再インストールすると状況が変わったりしないでしょうか。

    キャンセル

  • 2018/02/21 19:11

    回答ありがとうございます。
    試したことの2つ目に書いてあるように、sudo apt-get install *をしようとすると、
    結局E: 未解決の依存関係です。'apt-get -f install'を実行してみてください
    (または解法を明示してください)。
    と表示されるため、install系は八方塞がりなんです……

    キャンセル

0

バックアップをとっておいてという前提ですが、次のようなコマンドで妨げになっているパッケージの強制削除を試みてはどうでしょうか。

$ sudo dpkg --remove --force-remove-reinstreq libstdc++6
或いは
$ sudo dpkg --remove --force-remove-essential libstdc++6

なお、パッケージのアップデートには、最近はapt-getではなくaptを用いることが推奨されているようです。パラメーターはほぼ同一なので、今後はaptを使ってみてはどうでしょうか。
6.2. aptitude、apt-get、apt コマンド - Debian 管理者ハンドブック

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/02/23 10:07

    回答ありがとうございます。
    $ sudo dpkg --remove --force-remove-reinstreq libstdc++6
    および
    $ sudo dpkg --remove --force-remove-essential libstdc++6
    を実行してみましたが、
    「dpkg: エラー: dpkgステータスデータベース が別のプロセスによってロックされています」
    と表示されてしまいます……

    また、aptの件は初耳でした。
    ありがとうございます。

    キャンセル

  • 2018/02/23 16:32 編集

    ロックされているというのは、Ubuntuが起動したときに走る自動アップデートがdpkgのプロセスを掴んでいるからではないでしょうか。PCの性能や環境にもよりますが結構長い時間掴まれることがあるので、こうした作業の邪魔になったりするんですよね。メニューから「ソフトウェアとアップデート」を選び、「アップデート」タブを選択して、「アップデートの自動確認」を「なし」にして再起動してから、改めて試してみてはどうでしょうか。

    ただ、libstdc++6に依存しているパッケージは多いので、これだけ強制削除はできないかもしれないな・・・。

    キャンセル

  • 2018/02/24 09:02

    回答ありがとうございます。

    やはり、「依存関係の問題により、libstdc++6:amd64の削除ができません」
    と表示されます。

    もう重要ファイルだけ共有フォルダでホストPCに送ってリインストールするしかないんですかね?

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.36%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る

  • Ubuntu

    1643questions

    Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。