インストール後に毎回自動的にクリーニングするようにapt-getを設定するにはどうすればよいですか


12

何か方法はないですapt-get clean後にapt-get install他のディストリビューションのように、自動的に?


@Braiamのおかげで、Ubuntuのバグを発見し、報告します。Debian Braiamのソリューションではうまく動作します。
ティアゴカロンド


1
@TiagoCarrondoバグのリンクを共有してください。
ケンシャープ

Xenialでは、すべてのマシンが自動的にクリーニングされます。これがどこに設定されているかわかりませんが、動作します。
ケンシャープ

回答:


13

apt構成ファイルに追加するだけです。ただ走れ:

sudo sh -c "echo 'DSELECT::Clean "always";' >> /etc/apt/apt.conf.d/99AutomaticClean"

これにより、毎回自動クリーニングがトリガーされますupgrade

manページからこのエントリを説明しましょう:

Clean

キャッシュクリーンモード。この値は、always、prompt、auto、pre-auto、およびneverのいずれかです。alwaysおよびpromptは、アップグレード後にすべてのパッケージをキャッシュから削除します。プロンプト(デフォルト)は条件付きで削除します。autoは、ダウンロードできなくなったパッケージのみを削除します(たとえば、新しいバージョンに置き換えられます)。pre-autoは、新しいパッケージをダウンロードする前にこのアクションを実行します。

より詳しい情報:

https://groups.google.com/d/msg/linux.debian.user/aK2jvfL_tuw/rUd6i6bd4YQJ


最後にセミコロンが必要だと思い;ます!したがって、それは次のようになりますsudo sh -c "echo 'APT::Get::Clean=always;' >> /etc/apt/apt.conf.d/99AutomaticClean"
インド

@ブライアム私はそれを試してみましたが、機能しません。他のファイルと同じように「常に」APT :: Get :: Cleanを試してみましたが、うまくいきませんでした。どんな手掛かり?
ティアゴカロンド

@ブライアムの不運
ティアゴ・カロンド

@TiagoCarrondoはどうですか?このusenetメッセージは、それが勝者であると言っています
ブライアム

あなたの最初の投稿の後、私はすでにそれを試しました。ファイルの場所を変更しようとしています...お待ちください
Tiago Carrondo

2

シェルスクリプトを作成します。

sudo nano /usr/bin/aptinstaller 

このファイルタイプ内:

#!/bin/bash
sudo apt-get install $1
sudo apt-get -y autoclean
sudo apt-get -y autoremove  

保存して終了しnano、次を入力します。

sudo chmod +x /usr/bin/aptinstaller 

今度はタイプするたびに

sudo aptinstaller <package-name> 

インストールしてからクリーンにします。


私はオプションを好むが、プリティーの良いプランBのように聞こえる、thx
Tiago Carrondo

2
/usr/local/bin/より正しいようです。
ケンシャープ

0

実際の解決策ではありませんが、私の回避策は、アーカイブディレクトリをに設定すること/tmpです。インストール後に自動的にクリーニングされることはありませんが、再起動時にクリーニングされます。

私は作成/etc/apt/apt.conf.d/99cleanして追加しました:

Dir::Cache::archives /tmp;

または、を/var/cache/apt/archives使用してマウントすることもできますがtmpfs、それは明らかにRAMを消費するため、このオプションはお勧めしません。

では/etc/fstab、例えば:

tmpfs /var/cache/apt/archives tmpfs size=128m,mode=755 0 0

0

ハックは、例えば/etc/apt/apt.conf.d/cleanvia)に以下を追加しているようです:

DPkg::Post-Invoke {"/bin/rm -f /var/cache/apt/archives/*.deb || true";};

これにより、aptがdpkgを呼び出した後にキャッシュが自動的にクリアされます。

apt-get updateただし、これではキャッシュは消去されませんAPT::Update::Post-Invoke。このためにフックが使用される場合があります。

最善の方法は、まだ呼び出しているように見えるapt-get clean/ aptitude clean手動。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.