解決したいこととそれに至った経緯
Ubuntuのソフトウェアアップデートができない不具合を解消したいです。
まず、Ubuntuでソフトウェアアップデートしている最中にホストOSのエラーでアップデートが中断されてしまいました。
その後、Ubuntuを立ち上げて改めてソフトウェアアップデートをしようとしましたが、upgradeが上手く実行できませんでした。
発生しているエラーとエラーメッセージ
- 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
試したこと
- 一度再起動をしてから、全てのコマンドをもう一度実行した。
-> 変化なし。
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
追記は可能な限りいたしますので、
足りない情報などあればコメントしていただければ幸いです。
なにとぞ、よろしくお願いいたします。
追記
試したこと
- 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 を 2分 0秒 で取得しました (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ページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
check解決した方法
0
今更ですが, /etc/apt/sources.list
を初期のものに書き直して$ apt update
したら直ってました。
書き忘れて申し訳ないです。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
0
ちょっと自己責任とあったので注意してください。(仮想マシンのバックアップなど取ってから試すと良いと思います。)
Ubuntuの「壊れた変更禁止パッケージがあります」エラーにaptitudeで対処する方法
但し、ubuntu 16.04にはaptitudeはデフォルトでインストールされていないようです。
Ubuntu 16.04 LTSではaptitudeがデフォルトでインストールされない
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
0
エラーメッセージをぱっと見た感じでは、パッケージデータベースの中でxenial/mainとxenial-security/mainあたりのバージョン関係が崩れているように見えます。
いちどsudo apt-get updateを実行してパッケージデータベースを更新してから、sudo apt-get -f 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 管理者ハンドブック
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.23%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる