UbuntuはおもにデスクトップLinuxの初心者ユーザーをターゲットにした使いやすさを重視して開発,
今回はそんな
Aptをプロキシ内部で使うときに注意すべきこと
Ubuntuはシステム設定の
サーバー環境での設定
システム設定はデスクトップ環境のみ存在し,
/etc/
http_proxy="http://proxy.example.com:8080/"
https_proxy="https://proxy.example.com:8080/"
ftp_proxy="ftp://proxy.example.com:8080/"
socks_proxy="socks://proxy.example.com:1080/"
/etc/
Acquire::http::proxy "http://proxy.example.com:8080/";
Acquire::https::proxy "https://proxy.example.com:8080/";
Acquire::ftp::proxy "ftp://proxy.example.com:8080/";
Acquire::socks::proxy "socks://proxy.example.com:1080/";
ちなみに,
- 注1)
- apt.
confについては, /etc/ apt/ apt. conf. d/以下にプロキシ用の設定ファイルを置く形でもかまいません。システム設定から変更した場合は, apt. confが変更されます。 - 注2)
- 設定値については各環境に合わせてください。上記すべてを設定する必要はなく,
大抵の場合はhttpとhttpsだけで事足ります。
sudoコマンド実行時のプロキシ設定
sudoコマンドを使って何かコマンドを実行した場合,
一番手っ取り早いのは,
$ sudo -E env (http_proxyなどが引き継がれていることがわかる)
http_
$ sudo visudo -f /etc/sudoers.d/proxy (以下を追加する) Defaults env_keep="http_proxy" Defaults env_keep+="https_proxy" Defaults env_keep+="ftp_proxy" Defaults env_keep+="socks_proxy"
wgetなら/etc/
- 注3)
- たとえばadd-apt-repositoryコマンドは,
pycurlを使ってLaunchpadにアクセスするため, https_ proxyが設定されていないと失敗します。
プロキシのユーザー名とパスワード
これまで説明したいずれのケースにおいても,
http_proxy="http://user:password@proxy.example.com:8080/"
ただし/etc/
apt-get update時に「ハッシュサムが適合しません」と出る
プロキシ環境の内部から
プロキシ内部からアップデートする場合は,
Acquire::http::No-Cache "true";
Acquire::https::No-Cache "true";
No-Cache以外にも,
パッケージを再インストールしたい
パッケージ管理されているファイルの一部を誤って消してしまった場合,
$ sudo apt install --reinstall パッケージ名
設定ファイルも含めて元に戻したい場合は,
$ sudo apt remove --purge パッケージ名 $ sudo apt install パッケージ名
この場合,
ここでいう
$ dpkg-query --control-show パッケージ名 conffiles
ここにリストアップされていない設定ファイル,