Ubuntuのディストリビューションのアップグレードが失敗(アップグレード作業を見積もれません)・・・だと?

Ubuntu12からUbuntu13へディストリビューションをアップグレードしようとしたところ、エラーになってしまった。

fail-to-upgrade

 

一応、検索エンジンを意識して、内容をテキストに起こしておいた・・

アップグレード作業を見積もれません

アップグレードの見積り中に解決できない問題が発生しました:
パッケージ’postgresql-server-dev-9.2’は「削除」と指定されていますが、削除ブラックリストに入っています。

以下の原因が考えられます:
* Ubuntuのリリース前のバージョンへアップグレードしようとしている。
* Ubuntuのリリース前のバージョンを使っている。
* Ubuntuが提供していない、非公式なパッケージを利用している。

いずれにも当てはまらない場合には、端末から’ubuntu-bug ubuntu-release-upgrade-code’を実行してこのバグを報告してください。

 

私の環境の場合、3番目の「Ubuntuが提供していない、非公式なパッケージを利用している。」という部分が原因だった。

以前Ubuntu+Rails+PostgreSQL環境構築で紹介した記事で、リポジトリを追加してそこからPostgreSQLをインストールしていたため、これをまずは削除する。

 

$ sudo aptitude remove postgresql-server-dev-9.2

$ sudo aptitude remove postgresql-9.2

$ sudo aptitude remove pgadmin

 

 

再びソフトウェアとアップデートを実行すると、うまく進んでくれた。

upgrade1

upgrade2

upgrade3

upgrade4

 

そしてアップグレードが完了。

アップグレードは完了したものの、少し問題が残った・・

Google Chromeが起動しなくなった。

インストールしてあったGoogle Chromeが起動しなくなってしまった。

$ google-chrome
/usr/bin/google-chrome: error while loading shared libraries: libudev.so.0: cannot open shared object file: No such file or directory

 

Ubuntu 13.04にGoogle Chromeをインストールするを参考に、libudev0をインストール。

$ echo ‘# original added libudev0’ | sudo tee -a /etc/apt/sources.list
$ echo ‘deb http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ quantal main’ | sudo tee -a /etc/apt/sources.list
$ sudo aptitude update
$ sudo aptitude install libudev0

これで無事にGoogle Chromeが起動するようになった。

 

この後、Google Chromeがふとした拍子にアンインストールされてしまったため、再度インストールした。

→別記事Ubuntu 13にGoogle Chromeをインストールする

postgreSQLを再度インストール

Ubuntuのアップグレードの妨げになっていて一時的に削除しておいたPostgreSQLを再度インストールする。

 

Ubuntu+Rails+PostgreSQL環境構築をもう一度トレースしてPostgreSQLのインストールを試みればうまくいくはず・・・

(以前すでにapt-key addでhttp://apt.postgresql.org/pub/repos/apt/ACCC4CF8.ascを追加していたため、この手順は今回はとばす)

$ pushd /etc/apt/sources.list.d
$ echo ‘deb http://apt.postgresql.org/pub/repos/apt/ squeeze-pgdg main’ | sudo tee pgdg.list
$ sudo aptitude update
$ sudo aptitude install postgresql

以下の新規パッケージがインストールされます:
postgresql postgresql-9.2{a} postgresql-common{ab}
0 個のパッケージを更新、 3 個を新たにインストール、 0 個を削除予定、0 個が更新されていない。
アーカイブ 3,890 k バイト中 3,688 k バイトを取得する必要があります。 展開後に 18.6 M バイトのディスク領域が新たに消費されます。
以下のパッケージには満たされていない依存関係があります:
postgresql-common : 破壊: logrotate (>= 3.8) [3.8.3-3ubuntu2 が既にインストール済みです]
以下のアクションでこれらの依存関係の問題は解決されます:

以下のパッケージを削除する:
1) logrotate
2) ubuntu-standard

以下の依存関係を未解決のままにする:
3) rsyslog が logrotate を推奨
4) postgresql-common が logrotate を推奨

この解決方法を受け入れますか? [Y/n/q/?] n
以下のアクションでこれらの依存関係の問題は解決されます:

以下のパッケージを現在のバージョンに一時固定する:
1) postgresql [インストールされていません]
2) postgresql-9.2 [インストールされていません]
3) postgresql-common [インストールされていません]

この解決方法を受け入れますか? [Y/n/q/?] y

うまく・・・いかないだと?

 

パッケージを現在のバージョンに一時固定する解決方法を受け入れようとして「y」としてもインストールが成功しないため、aptitude経由でのインストールを断念。

(ちなみに「パッケージを現在のバージョンに一時固定する」というのは、固定化されたパッケージが自動的にバージョンアップされることは無くなる、という意味?)

 

 

ググってひっかかったInstall postgresql. Unmet dependencie “ postgresql-common”を参考にする。

 

$ wget http://get.enterprisedb.com/postgresql/postgresql-9.2.4-1-linux.run

$ chmod 755 postgresql-9.2.4-1-linux.run

$ sudo postgresql-9.2.4-1-linux.run

 

最新バージョンはこちらからダウンロード可。

64bitのUbuntuをお使いの方は「wget http://get.enterprisedb.com/postgresql/postgresql-9.2.4-1-linux-x64.run」で。

 

インストールしたままだと、aptitudeによるインストールではないため、一式が/optにインストールされていて、PATHなどが通っておらず、Railsから使うことができない。

~/.bashrcに次の2行をs追加。

 

これでRailsからPostgreSQLがこれまで通り使えるようになった。

Railsプロジェクトのテストもひと通り合格。

コメントを残す

トラックバック: http://pgnote.net/wp-trackback.php?p=2813