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に配置する必要がありました-すべてが完全に機能しました。


Source: https://habr.com/ru/post/J59242/


All Articles