パッケージリストをさらに行きdselect
、Return誤ってダブルクリックして[S]elect
オプションを確認して終了します。
そのオプションに進むと、[I]nstall
私が望んでいないいくつかの新しいパッケージをインストールするように提案されます(元々探していたパッケージとは関係ありません)。
インストール自体を続けていないので、リストを一つずつ見て、各-
パッケージを押さずに新しいパッケージを選択する前の選択項目をリセットする方法はありますか? (dselect
この操作が他の関連コマンドを介して実行されるかどうかは重要ではありません。)
編集:(例を追加)
dselect
インストールされている別のコンピュータで試してみました。パッケージがインストールされていないとしますgnugo
(これは単なる例です)。
- 実行し
delect
、[S]elect
リストのインポートを選択します。 gnugo
このリストから検索してください(/慣れていない場合はこのリストを使用してくださいdselect
)。- それを選択してください+。
- Return[提案の確認]をクリックしてReturnもう一度確認してメインメニューに戻ります(私の間違いです)。
行く
[I]nstall
。それでは、次のように言います。Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed gnugo:i386 libgpm2:i386 libncurses5:i386 libreadline6:i386 libtinfo5:i386 0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded. Need to get 1,926 kB of archives. After this operation, 9,634 kB of additional disk space will be used. Do you want to continue [Y/n]?
ここ(
n
)で続行したくない場合は選択してください。- 辞職する
dselect
。 dpkg --get-selections | grep gnugo
何も生産されません。- 再起動して
dselect
再入力すると、インストール用[I]nstall
にソフトウェアパッケージが選択され続けます。
もちろん、リストに戻って[S]elect
検索してgnugo
タップして_選択を解除することもできますが、より複雑な場合は、新しいパッケージのリストを1つずつ確認する必要があります。
[I]nstall
inはdselect
明らかにのフロントエンドですが、apt-get install
選択項目がどこから出てくるのかよくわかりません。そうでないようですdpkg --get-selection
。dselect
Madeを使用して作成したすべての***
方法でリセットしたいのですが、メニューから提案リストを手動でナビゲートすることなく、専用**
(まだインストールされていない)とマークされたコンテンツが返されます。__
[I]nstall
編集2:
/var/lib/dpkg/status
これは明らかに次の項目を含むの内容に関連しています。
Package: gnugo
Status: install ok not-installed
Priority: optional
Section: games
手動でに変更すると、Status: deinstall ok not-installed
選択項目から消えますdselect
。
私が望むのは、言ったことを(パッケージをそのままにすること)に変えるStatus: install ok not-installed
一般的な方法です。Status: deinstall ok not-installed
Status: install ok installed
答え1
--set-selections
*パラメータを使用してくださいdpkg
。
echo "<package-name> purge" | dpkg --set-selections
apt-get dselect-upgrade
その後、を使用してパッケージ選択を適用できます。
インストール用に選択したがまだインストールされていないパッケージを見つける必要がある場合(選択をキャンセルできるように)、次のコマンドを使用します。
dpkg --get-selections | awk '{ if ($2=="install") print $1}' | grep -vF "$(dpkg -l | awk '/^ii/ {print $2}')"
もう少しカラフルにパイプを再接続して、まだインストールされていない--set-selections
項目を自動的に選択解除できます。
dpkg --get-selections | awk '{ if ($2=="install") print $1,"deinstall"}' | grep -vF "$(dpkg -l | awk '/^ii/ {print $2}')" | dpkg --set-selections
*また、それを使用してすべての明示的な選択dpkg --get-selections
を一覧表示することもできます。これはまたあなたに必要な形式を示しています--set-selections
。
答え2
dpkg --get-selections
インストール済みとしてマークされたアイテムとまだインストールされていないdpkg -l '*'
アイテムをリストするのではなくin
。
したがって、次の行はこれらの選択をリセットします。
dpkg -l '*' | grep '^in ' | awk '{ print $2 " deinstall" }' | dpkg --set-selections