6

作成したdebパッケージがあります。postinst スクリプトから、次を実行したいと思います。

apt-get update

このパッケージは、/etc/apt/apt.conf.d/ にファイルをドロップすることにより、apt システムにプロキシを追加します。apt システムに「apt-get update」と同等の処理を実行させたいと考えています。ただし、このパッケージをインストールしている dpkg によって apt ロック ファイルが既に配置されているため、このコマンドを postinst から直接実行することはできません。これを行うためのdebconfツール/コマンドはありますか?

おまけとして、preinst/postinst 内からパッケージを削除できるようにしたいと思います。

apt-get remove popularitycontest

注 - このパッケージは内部プロジェクト用です。実際にリリースされたり、Debian に提出されたりする deb ではありません。

4

4 に答える 4

3

パッケージ スクリプト (preinst、postinst、prerm、postrm...) 内から APT コマンド (apt-get、aptitude..) を呼び出すことはできません。

これを有効にすると、多くの問題が発生します。特に、パッケージのインストールの依存関係と順序付けが問題になります。

適切なパッケージ (事前) 依存関係を使用するか、ユーザーに使いやすいツール (モジュール アシスタントやその他のツールなど) を提供することにより、さまざまな回避策が使用されています。

あなたの場合、あなたのパッケージはそれをアンインストールするためにpopularcontestと競合する可能性があります. また、ユーザーが「あなたの」パッケージを持っている場合、それはすでに sources.list にエントリを追加していることを意味するため、別のエントリを追加できます!

于 2013-09-05T16:53:09.090 に答える