GNU/Linux >> Linux の 問題 >  >> Linux

Kali は今後の Python 2 のサポート終了にどのように対処するか

5 年前、Python 開発者は、2020 年に Python 2 のサポートを終了すると発表しました。長い間、誰も気にかけず、Python 3 の採用は遅かったです。しかし、締め切りが間近に迫っているため (1 月 1 日)、状況は最近大きく変わりました。

Debian は Python 2 サポートを削除しています

Debian は、次の安定版リリースで Python 2 を完全に削除することを計画しているため、Python 2 コードを徐々に削除しています。彼らは、リーフ パッケージ (つまり、逆依存関係のないパッケージ) のリリース クリティカル バグを報告し、Python 3 への移植を求めました。 Kali のベース) .

カーリーの帰結

アプリケーションが消える

Kali はローリング ディストリビューションであるため、Debian Testing から継続的に更新を受け取ります。これには、Debian から削除されたためにパッケージが「なくなる」場合も含まれます。ただし、誰かがそれらを Python 3 に移植すれば、後でいつでも元に戻すことができます。

これは zenmap の場合に既に経験済みです。 これは、nmap 開発者によって維持されなくなりました。したがって、Debian の nmap ソース パッケージによってビルドされなくなり、その結果、Kali には表示されなくなりました。

破損したアプリケーション

Kali には、Debian でパッケージ化されたモジュールを使用する多くの Python 2 アプリケーションがあります。 Debian がそのようなモジュールの Python 2 バージョンをドロップすると、アプリケーションは kali-dev で壊れます。 kali-rolling はその管理方法により影響を受けませんが、kali-dev と kali-rolling の間の相違が拡大しているため、私たちの仕事はより困難になっています:そのようなパッケージの更新を取得できず、他の (recent/) アプリケーションがこれらのパッケージの新しいバージョンが必要になる可能性があります!

Kali も Python 2 コードを削除する必要があります

このエコシステムの変化により、Kali は Debian の先導に従って Python 2 コードも削除する以外に選択肢がありません。この巨大な取り組みは、何らかの方法で Python 2 に依存しているすべてのパッケージに対する多くの GitLab の問題で追跡されています。 Python 3 がまだサポートされていないすべてのパッケージについて、アップストリームのバグ レポートを既に提出しています。

各ケースの処理方法は、多くの要因によって異なります:

  • アップストリームが Python 3 のサポートに取り組んでいる場合は、準備が整うまで待ちます。
  • アップストリームが非アクティブであるか、そのコードを Python 3 に移植することに関心がない場合、選択肢はほとんどありません:
    • パッケージを削除します。
    • または、Python 3 のサポートを追加する fork/patch を見つける;
    • または、自分たちで移植作業を行います (単純なスクリプトを除いて、可能性は低いです)。

また、パッケージの種類にも依存します:

  • Python ライブラリの場合、これは 2 段階のプロセスです。最初に Python 3 サポートを追加します。すべての逆依存関係が Python 3 を使用するように更新された後、Python 2 のサポートは削除されます。
  • Python アプリケーションの場合、1 回の更新で十分かもしれませんが、その更新は依存関係を最初に Python 3 に移植することに依存する場合があります。

ソフトウェアを削除するのは好きではありませんが、メンテナンスが行われなくなった場合、他に選択肢がない場合があります。重要なパッケージについては、コミュニティが必要な Python 3 サポートを追加するためにより多くの時間を与えているため、より長く待っています。パッチを適用して、ユーザーに貢献を呼びかける警告を表示するか、少なくともアプリケーションが近い将来削除される可能性があることを理解するようにします。

価値がなくなったパッケージ、または Kali で実行可能な代替手段があるパッケージについては、いつでも削除する可能性があります。

貢献できる方法

影響を受ける Kali パッケージまたは Debian の pkg-security チームからの影響を受けるパッケージの中にお気に入りのアプリケーションの 1 つが表示された場合は、その状況を確認し、Python 3 サポートを追加するプル リクエストを送信して上流の開発者を支援する必要があります。アップストリームがあまりアクティブでない場合でも、変更を Kali にマージして、アップストリームが再びアクティブになるまでパッケージを長期間保持できます。

これに必要なコーディング スキルがない場合でも、他の誰かが作成した Python 3 フォーク/パッチを見つけて、対応する GitLab の問題または Debian バグ レポートで指摘することができます。または、開発者にアプリケーションがどれだけ気に入っており、引き続き使用したいので、Python 3 に移植する必要があることを伝えてください。


Linux
  1. Pythonで(MB)ファイルのtar.gzのサイズを取得する方法

  2. Python でオペレーティング システムを確認するにはどうすればよいですか?

  3. シェルで PYTHONPATH を取得するには?

  1. Minicondaを使用してPythonアプリケーションをDocker化する方法

  2. C ランタイム ライブラリを 'ld' とリンクするには?

  3. Raspberry Pi で Python Selenium を使用するために PhantomJS をインストールするにはどうすればよいですか?

  1. Linux 上の Python で export を使用する方法

  2. Python でキーボードとマウスを制御するにはどうすればよいですか?

  3. Pythonのmatplotlibで「バックエンド」を設定するにはどうすればよいですか?