Debianのダウングレード:テストから安定版へ

ご存じのように、Debian安定版はレンガのように常に安定しています。 ただし、テストは、テスト期間中の後半にのみそのようになります。 sources.listのお気に入りのDebian Lennyのどこにでもテストが書かれていて、2月14日にLennyが安定したときに、システムがSqueezeにアップグレードされ、小さな不快なバグが大量に発生した場合はどうすればよいですか? ダウングレードは公式にはサポートされていません-しかし、これは不可能だという意味ではありません。 Squeezeでダウングレードの指示を見つけることができなかった(すべての指示はかなり古い)ので、これを書くことにしました。



したがって、まずは/etc/apt/sources.listにアクセスして、テストとスクイーズを安定版に置き換えて、すべてを次のようなものにする必要があります。

deb mirror.yandex.ru/debian stable main contrib non-free

deb security.debian.org stable/updates main contrib non-free






ですから、まず第一に、適切なピン止めに対処する必要があります。 同様の内容のファイル/ etc / apt / preferencesを作成します。

Package: *

Pin: release a=stable

Pin-Priority: 1001

Package: *

Pin: release a=testing

Pin-Priority: 60

Package: *

Pin: release a=unstable

Pin-Priority: 50






したがって、安定したリポジトリからのパッケージが優先されます。

次に、パッケージ情報を更新します。

$ sudo apt-get update





そして、ダウングレードの最初の試みを行います:

$ sudo apt-get dist-upgrade





すべてがうまくいけば、約1,000個のパッケージをダウングレードし、数十個のパッケージを削除する必要があることが示されます(その中には、重要ではないものだけでなく、使用済みのソフトウェアもあります-私の場合はgeditと大洪水です。後で置く)。 特定の数のパッケージがダウングレードされると、最初のエラーが発生します。

dpkg: error processing /var/cache/apt/archives/gstreamer0.10-plugins-good_0.10.8-4.1~lenny1_i386.deb (--unpack):

trying to overwrite `/usr/lib/gstreamer-0.10/libgstcdio.so', which is also in package gstreamer0.10-plugins-ugly

dpkg-deb: subprocess paste killed by signal (Broken pipe)






一般的には、pokeメソッドで処理します。 いくつかの助けを借りて:

$ sudo dpkg -i --force-overwrite /var/cache/apt/archives/gstreamer0.10-plugins-good_0.10.8-4.1~lenny1_i386.deb





一部はSynapticで修復できます。[編集]> [壊れたパッケージ]のいずれか、または[壊れたパッケージ]フィルターを使用して、一度に1つずつ削除または再インストールしてみてください。

多くの場合、-force-overwriteを使用したインストールは、依存関係が満たされていないために失敗します。

$ sudo dpkg -i --force-overwrite /var/cache/apt/archives/gconf2-common_2.22.0-1_all.deb





dpkg - warning: downgrading gconf2-common from 2.26.0-1 to 2.22.0-1.

(Reading database ... 248673 files and directories currently installed.)

Preparing to replace gconf2-common 2.26.0-1 (using .../gconf2-common_2.22.0-1_all.deb) ...

Unpacking replacement gconf2-common ...

dpkg: dependency problems prevent configuration of gconf2-common:

gconf2-common depends on ucf; however:

Package ucf is not configured yet.

dpkg: error processing gconf2-common (--install):

dependency problems - leaving unconfigured

Errors were encountered while processing:

gconf2-common






さて、依存関係を置きます:

$ sudo dpkg -i --force-overwrite /var/cache/apt/archives/ucf_3.0016_all.deb





(Reading database ... 248668 files and directories currently installed.)

Preparing to replace ucf 3.0016 (using .../archives/ucf_3.0016_all.deb) ...

Unpacking replacement ucf ...

Setting up ucf (3.0016) ...

Processing triggers for man-db ...






...また、パッケージ自体を配置します。

$ sudo dpkg -i --force-overwrite /var/cache/apt/archives/gconf2-common_2.22.0-1_all.deb





(Reading database ... 248668 files and directories currently installed.)

Preparing to replace gconf2-common 2.22.0-1 (using .../gconf2-common_2.22.0-1_all.deb) ...

Unpacking replacement gconf2-common ...

Setting up gconf2-common (2.22.0-1) ...

Replacing config file /etc/gconf/2/path with new version






依存関係を満たすことができないパッケージがあります-Squeezeでのみ登場しました。 したがって、単にそれらは必要ありません。

sudo dpkg --remove libnm-util1





何かがそれらに依存している場合-素晴らしい、最初に依存パッケージを削除してから、これに戻ります。

エラーの最初の(最大の)部分を通過した後、更新します

$ sudo apt-get dist-upgrade





そして手順を繰り返します。

その結果、完全に正常なDebian Lennyができました。 もちろん、問題は発生する可能性があります。 私の場合、/ usr / lib / libgssapi_krb5.so.2ライブラリーで問題が発生しました。 それなしでは、ログインすることは不可能で(セーフモードを除く)、一部のプログラムは動作しませんでした。 このライブラリをSqueezeから取得してLennyに配置する必要がありました-すべてが完全に機能しました。



All Articles