回答:
多くの人は安定とテストを混ぜることを恐れているように見えますが、率直に言って、テスト自体はかなり安定しており、適切な設定とソリューションチェックにより、コアパッケージを不安定なパスに置く「安定性のドリフト」を回避できます。
「テストはかなり安定していますか?」、 あなたが尋ねる。はい。パッケージが不安定版からテスト版に移行するためには、10日間連続して未解決のバグがゼロでなければなりません。特に人気のあるパッケージでは、何かがおかしい場合は誰かが不安定版のバグレポートを提出する可能性があります。
環境を混在させたくない場合でも、安定版よりも新しいバージョンを必要とするものに遭遇した場合に備えて、そこにオプションがあると便利です。
これを設定するための推奨事項は次のとおりです。
最初に、次のファイルを作成します/etc/apt/preferences.d
:
stable.pref
:
# 500 <= P < 990: causes a version to be installed unless there is a
# version available belonging to the target release or the installed
# version is more recent
Package: *
Pin: release a=stable
Pin-Priority: 900
testing.pref
:
# 100 <= P < 500: causes a version to be installed unless there is a
# version available belonging to some other distribution or the installed
# version is more recent
Package: *
Pin: release a=testing
Pin-Priority: 400
unstable.pref
:
# 0 < P < 100: causes a version to be installed only if there is no
# installed version of the package
Package: *
Pin: release a=unstable
Pin-Priority: 50
experimental.pref
:
# 0 < P < 100: causes a version to be installed only if there is no
# installed version of the package
Package: *
Pin: release a=experimental
Pin-Priority: 1
(ここで不安定な/実験的なものを恐れてはいけません。優先順位が低いので、そのようなものは自動的にインストールされません。テストブランチでも動作します。テスト中。)
次に、の一致セットを作成します/etc/apt/sources.list.d
。
stable.list
:オリジナルからコピーします/etc/apt/sources.list
。古いファイルの名前をのようなものに変更しsources.list.orig
ます。
testing.list
:と同じですがstable.list
、testing
。
unstable.list
:と同じですがstable.list
、unstable
セキュリティリストを削除します。
experimental.list
:と同じですがunstable.list
、experimental
。
oldstable
in sources.lists.d
とpreferences.d
(優先度1を使用)を追加することもできますが、このモニカは次の安定したサイクルの前に期限切れになり、消える傾向があります。そのような場合http://archive.debian.org/debian/
、Debianバージョン(etch、lennyなど)を使用して「ハードコード」できます。
パッケージのテストバージョンをインストールするには、単にを使用するaptitude install lib-foobar-package/testing
か、単にaptitudeのGUIにジャンプして、パッケージの詳細内のバージョンを選択します(表示しているパッケージに入力します)。
パッケージの競合について苦情を受け取った場合は、最初に解決策を確認してください。ほとんどの場合、最初のものは「このバージョンをインストールしないでください」です。パッケージごとの受け入れ/拒否リゾルバーの選択の使用方法を学びます。たとえば、foobar-package / testingをインストールしていて、最初の解決策が「foobar-package / testingをインストールしない」である場合、その選択を拒否としてマークすると、他のソリューションは再びそのパスに進まなくなります。このような場合、おそらく他のいくつかのテストパッケージをインストールする必要があります。
毛むくじゃらになった場合(libc、カーネル、または他の巨大なコアシステムをアップグレードしようとしている場合)、それらのアップグレードパスを拒否するか、最初のアップグレードから完全に戻すことができます。許可した場合のみ、テスト/不安定にアップグレードすることを忘れないでください。
編集:いくつかの優先ピンを修正し、リストを更新しました。
apt-get update
ファイルを作成した後に実行しましたか?
sudo apt-get update
更新エラーが発生しました。その後Xsession error
、再起動しましたが、再起動しましたが、今はGUIがありません。これ/dev/sda1/
でいっぱいです。すばらしいです。
中には、/etc/apt/apt.conf.d
次のファイルを追加します
99defaultrelease
:
APT::Default-Release "stable";
中/etc/apt/sources.list.d
-テスト/不安定なソースのURLを追加
stable.list
:
deb http://ftp.de.debian.org/debian/ stable main contrib non-free
deb-src http://ftp.de.debian.org/debian/ stable main contrib non-free
deb http://security.debian.org/ stable/updates main contrib non-free
testing.list
:
deb http://ftp.de.debian.org/debian/ testing main contrib non-free
deb-src http://ftp.de.debian.org/debian/ testing main contrib non-free
deb http://security.debian.org/ testing/updates main contrib non-free
走る
apt-get update
そして、必要なものをインストールします
apt-get -t testing install something
依存関係の多いものをインストールする場合は、非常に注意してください。できれば本番環境でこれを行わないでください。
バックポートまたは同様のリポジトリで運を試すこともできます。
apt_preferences
/ etc / apt / preferencesファイルで、システムが「安全にアップグレード」するデフォルトレベルを定義します
。man apt_preferences
apt_preferencesでできることはたくさんありますが、簡単にするために...
テストでのみ使用可能な単一のパッケージ(autoMysqlBackup)をインストールする必要がありました。解決策は、次を/ etc / apt / preferencesに追加することでした。
Explanation: Uninstall or do not install any Debian-originated
Explanation: package versions other than those in the stable distro
Package: *
Pin: release a=stable
Pin-Priority: 900
Package: *
Pin: release o=Debian
Pin-Priority: -10
複数のリポジトリを/etc/apt/sources.listに追加すると、aptitudeは、後のリリースのリポジトリ(この場合は「安定」)がリストされていても、指定したリリースにのみアップグレードします。
deb http://mirror.aarnet.edu.au/debian/ lenny main
deb-src http://mirror.aarnet.edu.au/debian/ lenny main
deb http://mirror.aarnet.edu.au/debian/ squeeze main
deb-src http://mirror.aarnet.edu.au/debian/ squeeze main
したがって、そのパッケージをインストールするには、あなたがしなければならないことは次のとおりです。
$ aptitude install -t testing packageName
価値のあることについては、私がいつも見てきた一般的なアドバイスは「安定したものと混ぜないでください」です。混合システムのチュートリアルのほとんどは、テストと不安定版を混合するためのものです。
理由は、安定版とテスト版を混在させると、非常に基本的なパッケージ(libc6など)が(テスト版からソフトウェアをインストールするために)更新を必要とし、これらの基本的なパッケージがテスト版に移行すると、システム全体がそのようにドリフトする可能性があるためです。
次の2つの選択肢があります。
debianのドキュメンテーションは主題について広範囲に渡り、debianシステムの美しさを明らかにするので、掘り下げることを強くお勧めします。
見てい混合系を維持するためにどのように、それはあなたが知っているTIO必要なすべてを説明しますが。
TestingまたはSidから多くの依存関係をインストールすることを防ぐことができる別の方法は、これです:apt-getにTestingまたはSidからパッケージのソースを取得し、Debianツールを使用してシステムのパッケージを作成するように指示します(手動で調整する必要はありません)ソースで)。
ここから引用:https :
//wiki.debian.org/DebianUnstable#How_do_I_backport_a_sid_package_to_testing_or_stable.3F
sidパッケージをテストまたは安定版にバックポートするにはどうすればよいですか?
Debianソース(および開発ツール、特にdebhelper、devscripts、build-essential)をインストールしてから、パッケージをビルドします。
ステップバイステップ:
add a deb-src line for sid to your sources.list apt-get update apt-get build-dep PACKAGE_NAME apt-get -b source PACKAGE_NAME
結果のdebsは現在のディレクトリにあり、dpkg -i the.debでインストールできます。
私はそれが十分に安全で便利にできると自信を持って言うために長い間やっています。以下のセットアップでは、安定バージョンがデフォルトでインストールされますが、Aptitudeでは、必要に応じてバックポートバージョンまたは不安定バージョンを選択することもできます。
編集が必要なものは4つあります。デフォルトのピン留めリリースを設定する必要があります。ソースにバックポートと不安定版を追加する必要があり、バックポート/不安定なパッケージのピン留め優先度を下げます。
Apt :: default-Release "stable";
#deb cdrom:[Debian GNU / Linux 6.0.0 _Squeeze_-公式マルチアーキテクチャamd64 / i386 NETINST#1 20110205-14:45] / squeeze main deb http://ftp.us.debian.org/debian/ squeeze main deb-src http://ftp.us.debian.org/debian/ squeeze main deb http://security.debian.org/ squeeze / updates main deb-src http://security.debian.org/ squeeze / updates main #squeeze-update、以前は「volatile」として知られていました deb http://ftp.us.debian.org/debian/ squeeze-updates main deb-src http://ftp.us.debian.org/debian/ squeeze-updates main #バックポートを絞る #http://backports.debian.org/Instructions/ deb http://backports.debian.org/debian-backports squeeze-backports main #不安定 #http://wiki.debian.org/AptPreferences deb http://ftp.us.debian.org/debian/不安定なメイン deb-src http://ftp.us.debian.org/debian/不安定なメイン #無料 サンジャワ #deb http://ftp.us.debian.org/debian/ squeeze non-free #deb-src http://ftp.us.debian.org/debian/ squeeze non-free
etc/apt/preferences
ピン留めファイルの編集-ファイルが存在しない場合は作成してください。#パッケージの固定優先順位 #http://wiki.debian.org/AptPreferencesおよびhttp://manpages.debian.net/cgi-bin/man.cgi?query=apt_preferencesを参照 # #ナットシェルに最高のPINがインストールされます # #デフォルト設定は次のとおりで、設定に追加されます: #990-インストールされていないが、 `APT :: Default-Relase" stable "`設定に属しているバージョンの場合。 #500-インストールされておらず、ターゲットリリースに属していないバージョンの場合 #100-既にインストールされているパッケージの場合、これは同じパッケージの他のバージョンも意味する #1-実験パッケージ用。「NotAutomatic:yes」のパッケージ # #私たちのピニング #400-他のパッケージを更新する必要なく安全にインストールできるバックポート #50-不安定なパッケージ、詳細画面で強制的にインストールすると、競合が発生する可能性がある パッケージ: * ピン:リリースn = squeeze-backports ピン優先順位:400 パッケージ: * ピン:リリースa =不安定
Aptitude :: UI :: Package-Display-Format "%c%a%M%p%Z%v%V%i";
source.list
コード名を言う必要があります。Debianのポリシーはほぼ安定しており、パッケージはリポジトリのものとほぼ同じくらい新しいものです。私はそうで見てください、ここでスペースが不足しています:wiki.debian.org/DebianReleases、wiki.debian.org/StableUpdates、およびwiki.debian.org/StableProposedUpdates。最後の2つは追加のリポジトリソースです。jessie
squeeze
testing
unstable
パッケージの選択がより複雑である場合、またはインストールが複数のマシンで繰り返される場合は、公式リポジトリのサブセットをミラー化するプライベートリポジトリのセットアップを検討できます。これにはリポジトリを設定するのに少しの作業が必要ですが、報酬は各クライアントの最低限の設定と数十のインストールを実行したときに再現可能な結果で維持しやすいです。これは、1つまたは2つのパッケージのみがインストールされている場合でも役立ちます。この方法を使用して、クラウドインストールを自動化および保守します。安価なVPS上の単一のサーバーは、数十のプライベートリポジトリを処理できます。
プライベートリポジトリサーバーを構成するには:
# Install aptly.
apt-get install aptly
# Create local mirror (choose a source mirror near you).
aptly mirror create -filter="mirror-contains-no-packages" stretch-roundcube http://httpredir.debian.org/debian stretch main
# Configure filters for local mirror.
aptly mirror edit -filter="Name (% roundcube*)" stretch-roundcube
# Update local mirror.
aptly mirror update stretch-roundcube
# Drop previously published repositories and mirrors, if running these commands in a script.
aptly publish drop stretch
# Drop snapshot, if running these commands in a script.
aptly snapshot drop stretch-roundcube
# Create new snapshot.
aptly snapshot create stretch-roundcube from mirror stretch-roundcube
# Publish snapshot.
aptly publish snapshot -architectures=i386,amd64 -distribution=stretch -component=roundcube -label="Your Name" -origin="Your Name" stretch-roundcube
次に、選択したWebサーバーを構成して、静的リポジトリファイルを提供します。セキュリティ証明書と基本認証でリポジトリを保護する可能性があります。
プライベートリポジトリを自動的に維持し、アップストリームから更新を取り込むには、上記をスクリプトに入れてcronジョブから実行します。
クライアントマシンでクライアントマシンを設定するには:
# Configure private repository without authentication.
echo 'deb http://private.repository.example.com/ stretch roundcube' > /etc/apt/sources.list.d/private.repository.example.com.list
# Configure private repository with authentication.
echo 'deb https://hostname:password@private.repository.example.com/ stretch roundcube' > /etc/apt/sources.list.d/private.repository.example.com.list
apt-get install apt-transport-https
# Update.
apt-get update
# Install package.
apt-get install roundcube
クライアントマシンを保守し、クライアントマシンでプライベートリポジトリの更新をすべて取り込むには:
# Update.
apt-get update
# Upgrade.
apt-get upgrade
別のオプションは、テストからソースパッケージを代わりにダウンロードすることです。APTは、ダウンロード後にソースパッケージを自動ビルドできます。このようにして、安定版パッケージはテストアップデートの影響を受けません。唯一のトレードオフは、バイナリパッケージをダウンロードしてインストールするよりも時間がかかることです。
テストからソースパッケージをダウンロードするようにAPTを構成するには、次を追加します。
deb-src http://<your debian mirror here> testing main
将来のテストではなく現在のテストのみを行いたい場合は、「testing」を現在のコード名に置き換えます(この記事の執筆時点では「buster」です)。