
私は以下のコマンドを実行しました:
sudo dpkg --clear-selections
sudo dpkg --set-selections < [Path to packages_list ]>
sudo apt-get autoremove
ファイルpackages_listは次のようになります
acpi-support install
acpid install
adduser install
adium-theme-ubuntu install
adobereader-enu install
aisleriot install
akonadi-server install
alacarte install
alsa-base install
alsa-utils install
anacron install
上記の 2 番目のコマンドを使用しているときに、これらのエラーが発生しました。
dpkg: --set-selections takes no arguments
Type dpkg --help for help about installing and deinstalling packages [*];
Use `dselect' or `aptitude' for user-friendly package management;
Type dpkg -Dhelp for a list of dpkg debug flag values;
Type dpkg --force-help for a list of forcing options;
Type dpkg-deb --help for help about manipulating *.deb files;
Type dpkg --license for copyright license and lack of warranty (GNU GPL) [*].
誰か助けてくれませんか。
答え1
これをどこからコピーしたか:
sudo dpkg --set-selections < [Path to packages_list ]>
あなたはそれを壊し、結果を誤解しています。余分な括弧のペアを配置しているので、それがわかります。<>
あなたが見つけた手順に実際にあったとしても、それは不要です(そして間隔が不均一です)。
stdin を受け取るため引数を受け取らないというエラーが表示されます。<
ファイル名の前に stdin リダイレクト演算子を使用する必要があります。どこにも使用されていません>
。
答え2
dpkg: --set-selections は引数を必要としません
引数は使用しませんが、標準入力 (stdin)その代わり。
に従ってman dpkg
:
--set-selections
stdin から読み取ったファイルを使用してパッケージ選択を設定します。このファイルは「package state」の形式である必要があります。ここで、state は install、hold、deinstall、purge のいずれかです。
複数選択の場合は、次のファイルを使用します。
dpkg: --set-selections < myfile
1つのパッケージの場合は、次のように使用できますecho
。
echo "acpid hold" | dpkg: --set-selections
複数のパッケージの場合は、printf
(行は で区切って\n
)を使用することができます。例:
echo "alsa-base hold\nalsa-utils\n" | dpkg: --set-selections
参照: