web-dev-qa-db-ja.com

Debianのすべてのバージョンでモノコンプリートが完全に古くなっているのはなぜですか?

現在安定しているDebian 7/Wheezyが私のサーバーで実行されています。
apt-getを使用して入手できる最新のモノバージョンは2.10で、3年前のものです。
最新の安定バージョンが3.6で3.8.1が利用可能な場合、私はモノコンプリートパッケージを検索し、不安定なDebian 9/Sidでもバージョン3.2.8しか取得しませんでした。

2つの質問があります。

  1. apt-getを使用して、モノの最新バージョンを入手する方法はありますか?最新のモノをインストールするためのガイドに従うことは、私にとってかなり不快でした。更新を行います。

  2. 何年も先の新しい安定したバージョンがあるのに、(不安定で将来のバージョンのDebianであっても)恐ろしく古いパッケージしか利用できないのはなぜですか?

7
user81756

2015年2月の時点で、monoプロジェクトは最新のEdgeパッケージと依存関係を提供する独自のAptリポジトリをサポートしています。次の手順を実行します:

  1. Mono Project GPG署名鍵を追加する
  2. パッケージリポジトリを追加する
  3. パッケージキャッシュを更新する
  4. インストールmono-develまたはmono-complete

Rootとして以下のコマンドを実行します。

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb http://download.mono-project.com/repo/debian wheezy main" |    Sudo tee /etc/apt/sources.list.d/mono-xamarin.list
apt-get update
apt-get install mono-complete

技術的な詳細については、このページをご覧ください。 http://www.mono-project.com/docs/getting-started/install/linux/

4

Apt-getを使用して、少なくともある程度最新のモノのバージョンを取得する方法はありますか?最新のモノをインストールするためのガイドに従うことは私にとってかなり不快であり、私は次にアップデートをしたいと思うときを恐れています。

多数のオプションがあります:

  • Debian安定版からDebianテスト版/不安定版に移行できます
  • ディストリビューションを混合し、unstableリポジトリをsources.lstに追加して、混合システム(安定/テスト)にすることができます。これは常に推奨されるわけではないことに注意してください。
  • 最後に重要なことですが、もちろん、ソースをダウンロードして自分でコンパイルすることもできます

何年も先の新しい安定したバージョンがあるのに、どうしてこれらのひどく時代遅れのパッケージしか利用できないのですか(Debianの不安定な将来のバージョンでも)。

Debianは確固たるものであることで知られています。つまり、現在のパッケージがないこと、さらにはEdgeの新しいものを流していることは言うまでもありません。ブランチがフリーズすると、バグ修正のみが行われます。

3
Jan

私はDebianパッケージのソースを確認し、執筆中にwheezyで不安定版をビルドしています。

ここには2つの良いニュースがあります。

  1. 不安定版のモノには依存関係があり、wheezyで非常に簡単に満足できるように見えますが、chrootでビルドすることは試みていません。ビルドするには、1つのパッケージをインストールするだけで済みました。これは、Linuxの主要なパッケージではまれです。多くの場合、依存関係の迷路をナビゲートする必要があります。私が慈悲深くならなかったら、私はそれをネズミの巣と呼ぶかもしれません。
  2. また、Debianのパッチは1つだけですが、これは大きな意味を持つものです。完全に省略するか、リベースしてみることができます。ミプセルの上に構築するためのようです。これが唯一の情報です。

    * [10016c2] Build libmono-2.0-1 and libmono-2.0-dev for mipsel
    Author: Iain Lane <[email protected]>
    

    残念ながら、パッケージャーは、Debianパッチタグ付けガイドラインに従うことに煩わされません。

そのため、最新のMonoリリースのDebianパッケージをビルドするためにDebianパッケージを転用することは難しくありません。もちろん、有名な最後の言葉...

とにかく、自分でパッケージ化することを検討してください。あなたは新しいDebianメンテナになることさえできます!

補遺:最新のソースからDebianパッケージをビルドしたい場合は、次のようにします。

  1. 最新のアップストリームソースを取得します。開梱します。
  2. 最新のDebianソースを入手する

    apt-get source mono-complete
    
  3. Debianソースを上流のソースにDebianディレクトリをコピーします。
  4. debian/patchesにCdし、debian/patches/seriesで言及されているパッチをコメント化します。
  5. 新しいバージョンのdebian/changelogに新しいエントリを追加します。他の場所でパッケージ番号の言及を確認してください。適切に設計されたパッケージシステムでは、ハードコードされた記述はほとんどありません。
  6. debuild -uc -usを実行します
  7. これはおそらく失敗し、欠落している依存関係について不平を言うでしょう。不足している依存関係をインストールします。再試行。成功した場合は、そのパッチを適用してみてください。
  8. 6が機能する場合は、インストールしてみてください。おそらくdpkg i list_of_packages_you_wantを繰り返し実行する必要があります。次に、不足しているランタイムの依存関係をインストールする必要があります。 apt-get installは、システムで必要なバージョンのパッケージが利用可能であれば、ここでうまく機能します。

補遺2:3.2.8はwheezyで正常にビルドされました。うわー、それはたくさんのパッケージです。 Icaza氏の不幸な継続的な企てが邪悪な所有権のある企業の製品を無料のシステムに移植しようとすることには個人的には不賛成ですが、それらがソフトウェアエンジニアリングの印象的な部分によるものであることにお祝いを申し上げます。

1
Faheem Mitha

Debianのすべてのバージョンでモノコンプリートが完全に古くなっているのはなぜですか?

これは誤りです。 Debianで利用可能なmono-completeのバージョンは次のとおりです。

oldstable     2.6.7-5.1 
old-sec       2.6.7-5.1 
stable        2.10.8.1-8 
testing       3.2.8+dfsg-7 
unstable      3.2.8+dfsg-7 

したがって、2.6.7、2.10.8、および3.2.8はすべてのバージョンのMonoであり、Debianのすべてのバージョンにインストールする準備ができています。安定版を参照の唯一のポイントとして使用することにステートメントの基礎を置いています。これは常に安定性のために機能を犠牲にします。 stable is rock solid


最新の安定版が3.6で3.8.1が利用可能な場合、私はmono-completeパッケージを調べ、不安定なDebian 9/Sidでさえ、入手できるのはバージョン3.2.8だけです。

何年も先の新しい安定したバージョンがあるのに、どうしてこれらのひどく時代遅れのパッケージしか利用できないのですか(Debianの不安定な将来のバージョンでも)。

パッケージは移行プロセス中でした。この移行を目的としていないアップロードは強くお勧めしません。

このパッケージは、まもなく自動移行の一部になります。パッケージの準備が整っていることを確認したい場合があります。おそらく、debian-releaseアーカイブまたは対応するrelease.debian.orgバグで補足情報を見つけることができます。

また、メンテナチームはたった2人で構成されており、Monoとは別に、両方とも もっと持っている維持するパッケージ です。 Monoは膨大なパッケージであり、大量のコードを保持するのは困難です。


Apt-getを使用して、少なくともある程度最新のモノのバージョンを取得する方法はありますか?

テストリポジトリを追加し、リポジトリを固定して、安定版を優先することができます。

1
Braiam