答え1
短い答えは次のとおりです。
aptitude remove '~sX11 ! ~Rbeaglebone'
しかし、この場合(たくさんX11に頼ること! )、インタラクティブパーサーを使用することをお勧めします。これを行うには、--schedule-only
上記のオプションを追加してaptitude
引数なしでやり直してください。 1つまたは2つのコマンドを追加する必要があるかもしれませんが、-o Aptitude::Auto-Fix-Broken=false
(まだ設定にない場合)必要はないようです。g自動解析は、インターフェイスを押したときにのみ発生することがわかります。
ncursesインターフェイスを実行した後、e最初の解決策[OK]をクリックして削除されたエントリを確認します。不要な項目が表示されたら、矢印キーを使用してその項目を選択し、を押して操作をr拒否します。 [次のソリューションのロード]をクリックすると、.拒否されたソリューションを含まないソリューションが提供されます。必要に応じて繰り返し、を押して!解決策を受け入れ、通常どおり続けます。
答え2
次のいずれかの方法で「beaglebone」パッケージを「除外」すると、その依存関係をそのまま維持できると思います。
$ sudo apt-mark hold <package>
または
$ echo <package> hold | sudo dpkg --set-selections
apt-mark
まず、その機能を活用しますhold
。
hold
hold is used to mark a package as held back, which will prevent the
package from being automatically installed, upgraded or removed. The
command is only a wrapper around dpkg --set-selections and the state
is therefore maintained by dpkg(1) and not affected by the --file
option.
2番目は、dpkg
パッケージを「予約済み」とマークするために使用されます。
--set-selections
Set package selections using file read from stdin. This file should
be in the format 'package state', where state is one of install,
hold, deinstall or purge. Blank lines and comment lines beginning
with '#' are also permitted.