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

無害な 'dpkg --force-conflicts' クラッジを許容するように apt-get オプションを設定しますか?

OPはGillesの回答へのコメントでコマンドのリスト(パッケージの関連するメタデータを変更するためのもの)を要求したので、ここにあります:

# download .deb
apt download parallel
# alternatively: aptitude download parallel

# unpack
dpkg-deb -R parallel_*.deb tmp/

# make changes to the package metadata
sed -i \
  -e '/^Version:/s/$/~nomoreutconfl/' \
  -e '/^Conflicts: moreutils/d' \
  tmp/DEBIAN/control

# pack anew
dpkg-deb -b tmp parallel_custom.deb

# install
dpkg -i parallel_custom.deb

これは、競合行に moreutils しかないという仮定の下にあります 私のインストールの場合と同様に、エントリとして(バージョンの制限なしで)。それ以外の場合は、'/^Conflicts:/s/\(, \)\?moreutils\( [^,]\+\)\?//' を使用します 2 番目の sed として 行の関連部分のみを削除し、バージョン制限をサポートするスクリプト。

インストールされたパッケージは、リポジトリの新しいバージョンによって上書きされることはありません。このパッケージを最新の状態に保ちたい場合は、GNU 並列パッケージを更新するたびに、この手順を手動で繰り返す必要があります。


パッケージ間の競合は、それ自体が有害です。 dpkg を強制すると 競合するパッケージをインストールするため、これによりその他が発生しない可能性があります 正当な理由なく競合が宣言された場合に害を及ぼすが、パッケージはまだ競合している。 APT は、パッケージのインストール時に競合を解決するために懸命に働きますが、無視する競合のリストはありません。 dpkg に別のオプションを渡すようにしても、これを解決することはできません :問題は、競合によって APT 自身の仕事が不可能になることです。

APT が機能しなくなった状況から抜け出すための一時的な状態でない限り、競合するパッケージをインストールしないでください。 dpkg で作業するまで APT を実行しないでください 対立する状況から抜け出すために。

競合するパッケージをインストールする場合は、最初にそれらを変更して Conflict: を削除します 紛争宣言の動機となったあらゆる問題を解決することに加えて、宣言。


Linux
  1. リムーバブルメディアのデフォルトの自動マウントオプションを設定するにはどうすればよいですか?

  2. Bittornadoトラッカーを設定する方法は?

  3. Dpkg:パッケージUbuntu-make(–configure)の処理中にエラーが発生しました:?

  1. メールリレーを設定する

  2. CentOS/RHEL 7 の Gnome でスクリーンセーバー オプションをカスタマイズする方法

  3. grub-install コマンド オプション

  1. debian /ubuntudpkgコマンドで頻繁に使用されるオプション

  2. 特定の時間に 1 回だけファイルを実行するように cron を設定するにはどうすればよいですか?

  3. オプション +FollowSymLinks とは?