機能的なPerlなしでDebianでPerlを完全に再インストールする方法は?

機能的なPerlなしでDebianでPerlを完全に再インストールする方法は?

簡単に言うと:CPANを設定しようとしている間に不当な愚かなミスを犯しました。その結果、2つのバージョンのPerlが作成され、両方とも重要なパッケージがありませんでした。特に、これらのセミリリースには、apt-getまたはCPANが正しく機能するために必要な機能はありません。これは通常、私がPerlを実行するためのパッケージを入手する方法だと思います。

現在、この問題を解決するために私が考えることができる唯一の方法は、私が台無しにしていない(したがってPerlを深刻に損なわない)Debian VMがあるという事実に依存しているため、理論的には次のことを排除できます。 2つの部分を分割して、ホストコンピュータのバージョンからPerlをインストールし、仮想マシンで動作しているPerlのコピーを貼り付けます。この種の仕事に対する他の合理的なアプローチはありますか?

答え1

DebianのPerlはいくつかの部分に分かれています。セクションの1つ(perl-baseパッケージ)は、「基本」パッケージコレクションの一部です。 Debian はこれらのデフォルトパッケージを「Debian システムに常にインストールされる」と定義します。パッケージは、どのような依存関係も宣言しなくても使用可能であると仮定できます。これらのいずれかを削除すると、状況が非常に間違っている可能性があります。したがって、これを試みると、システムは大声でdpkg文句を言い、フレーズ、句読点などをそのまま入力してシス​​テムを中断するかどうかを確認するように要求します。Yes, do as I say!決してこれをしないでください。システム自体が回復する可能性がほとんどない状態になります。

これにより、システムが破損しています。しかし、絶望しないでください。それでも修正できます。

  • まず、実際にパッケージをdpkg -l perl-base紛失したことを確認してください。perl-baseコマンドの出力をii含む行から。で始めるとperl-base問題にならず、他の問題があるのです。この場合、特定のaptコマンドを実行しようとしたときに表示される正確なエラーメッセージを投稿してください。。そうしないと、デバッグが修正ビーズの問題になります。
  • ダウンロードperl-base実行中のDebianバージョンのパッケージ。
  • 次に実行すると、現在ar x perl-base*debの作業ディレクトリに3つのファイルが作成されます。注:data.tar.gzはdata.tar.xzでもあります。システムにインストールされていない場合は、他のシステムでこの手順を実行し、結果ファイルを破損したシステムにコピーすることができます(すべてのUNIX様システムが動作し、Debianシステムである必要はありません)。debian-binarydata.tar.gzcontrol.tar.gzar
  • tarball には、dataパッケージがファイルシステムに入れたいファイルが含まれています。次のコマンドを使用して正しい場所に解凍します。tar xvaf data.tar.* -C /。ここで、ドリルビットは、抽出するファイルシステムに関連するルートディレクトリを-C /知らせる重要な部分です。tar
  • ここに到着すると、失われたファイルがシステムに保存され、再び機能しdpkgますapt。しかし、まだ完了していません。ファイルはそこにありますが、「インストール」方式のためにファイルがないと思い、perl-base奇妙dpkgな作業を始めることができます。したがって、を実行して「再」インストールする必要がありますdpkg -i perl-base*deb

今、すべてが修正されなければなりません。次に、dpkgそのフレーズを入力するように求められたら、賢明に「いいえ」と言ってください。

関連情報