elnappo.apt_cacher_ng
ansible-role-apt-cacher-ng
apt-cacher-ngをシンプルにインストールし、起動時に開始します。apt-cacher-ngについての詳細は、https://www.unix-ag.uni-kl.de/~bloch/acng/ を参照してください。
要件
Ubuntu または Debian
ロール変数
apt_cacher_ng_port: 3142
apt_cacher_ng_cache_dir: /var/cache/apt-cacher-ng
apt_cacher_ng_setup_ufw: True
apt-cacher-ngを許可するufwルールを追加します。
依存関係
なし。
例プレイブック
- hosts: servers
remote_user: root
roles:
- { role: elnappo.apt_cacher_ng }
クライアント設定
ansibleを使用する場合
ホスト変数としてapt_proxyを設定します。
[host:vars]
apt_proxy=http://apt.example.com:3142/
全システム用:
- name: aptプロキシを設定
template: src=templates/apt_proxy.conf dest=/etc/apt/apt.conf.d/01proxy owner=root group=root mode=0644
when: ansible_os_family == "Debian" and apt_proxy is defined
templates/apt_proxy.conf:
# {{ ansible_managed }}
Acquire::http { Proxy "{{ apt_proxy }}"; };
Acquire::https { Proxy "https://"; };
1つのタスクのみの場合:
- apt: name=ufw state=installed
environment:
http_proxy: "{{ apt_proxy }}"
ansibleを使用しない場合
サーバーのIP/FQDNを置き換えてください。
$ echo 'Acquire::http { Proxy "http://apt.example.com:3142"; };' > /etc/apt/apt.conf.d/01proxy
ローカルキャッシュのインポート
$ echo 'Acquire::http { Proxy "http://localhost:3142"; };' > /etc/apt/apt.conf.d/01proxy
$ apt-get update
$ apt-get autoclean
$ mkdir -p /var/cache/apt-cacher-ng/_import
$ ln -s /var/cache/apt /var/cache/apt-cacher-ng/_import/apt
$ wget "http://localhost:3142/acng-report.html?abortOnErrors=aOe&doImport=Start+Import&calcSize=cs&asNeeded=an#bottom"
インポートが完了したら、シンボリックリンクを削除できます。
$ rm /var/cache/apt-cacher-ng/_import/apt
ライセンス
MIT
作者情報
elnappo elnappo@nerdpol.io