Linux で dpkg --set-selections コマンドを使用する方法

Linux で dpkg --set-selections コマンドを使用する方法

私は以下のコマンドを実行しました:

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-selectionsstdin から読み取ったファイルを使用してパッケージ選択を設定します。このファイルは「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

参照:

関連情報