web-dev-qa-db-ja.com

preseed / early_commandを介してsquid-deb-proxy-clientをインストールする方法

Lucidを使用して、Lucid mini.isoからインストールします。両方AMD64。

以下では、\、apt-get、apt-install、anna-install、dpkgのすべてとして試しました。

d-i preseed/early_command string <cmd+opt> squid-deb-proxy-client

私も試しました:

d-i preseed/early_command string /usr/bin/wget \
    -O squid-deb-proxy-client_0.3.1_all.deb \
    http://ubuntu.media.mit.edu/ubuntu//pool/universe/s/squid-deb-proxy/squid-deb-proxy-client_0.3.1_all.deb && dpkg -i squid-deb-proxy-client_0.3.1_all.deb

これは可能ですか?また、squid-deb-proxyサーバーを使用するためのインストールを取得できる最古のポイントは何ですか?

6
hedgehog

インストーラーにプロキシサーバーの使用を強制するには、d-i mirror/http/proxyオプションを使用してpreseedを使用して適切に構成します。例:

d-i mirror/http/proxy string http://ip-or-hostname-of-proxy:8000/

Squidプロキシを使用するのにsquid-deb-proxy-clientパッケージは本当に必要ありません。 -clientパッケージの唯一の目的は、ネットワーク内のプロキシサーバーを自動検出できることです。

4
gertvdijk

Early_commandが実行されるとき、あなたはすでに/targetが既にフォーマット/マウントされているとは思わない。たとえば、preseed/early_commandを使用して、インストーラー環境にudebs(ただし、標準のdebsではないことに注意)をインストールできます。

# This first command is run as early as possible, just after
# preseeding is read.
#d-i preseed/early_command string anna-install some-udeb

あなたはlate_commandでこれを実行することができます、それはあなたが実際にターゲットシステムにものをインストールできるときです:

d-i preseed/late_command string \
in-target apt-get install -y --force-yes openssh-server; \
true

システムにプロキシからパッケージを取得させる最良の方法は、Pete Ashdownが提案した方法だと思います。

3
roadmr

バグ# 1183326 により現在は不可能ですが、いつか修正された場合は次のようにしてください:

d-i anna/choose_modules string squid-deb-proxy-client-udeb

プレシードファイルでは、d-i mirror/http/proxyトリックは、バグ# 642159 による限定的なシナリオで機能します

1
Javier López

Post install bashスクリプトを使用してパッケージをインストールできます。preseed/ late_commandは次のとおりです。

d-i preseed/late_command string \
    cp /cdrom/post_install.sh /target/root/; \
    chroot /target chmod +x /root/post_install.sh; \
    chroot /target bash /root/post_install.sh

post_install.sh:

#!/bin/sh

apt-get install -y --force-yes \
    git \
    python-pip \
    ansible
0
feroz