web-dev-qa-db-ja.com

Preseed Ubiquityの成功コマンドが不完全に実行されました

現在、Ubuntu 16.04デスクトップの自動インストールを構築中です。私のpreseedファイルのカスタムコマンドとして、これを使用しています

# Custom Commands
ubiquity ubiquity/success_command \
     string mkdir /target/install/; \
     cp -R /cdrom/scripts/* /target/install/; \
     chroot /target chmod +x /install/postinstall.sh; \
     chroot /target bash /install/postinstall.sh;

postinstall.shにはこのコンテンツがあります

# Install Chrome
cd /install
wget https://dl.google.com/linux/direct/google-chrome-stable_current_AMD64.deb
dpkg -i google-chrome-stable_current_AMD64.deb
# Delete Chrome install
rm google-chrome-stable_current_AMD64.deb

しかしChromeはインストールされません。スクリプト自体は正常に/installにコピーされ、実行可能としてマークされます

うまくいけば、誰かが私のエラーの場所を知っているでしょう。

1
danielh

多分 :

chroot /target bash /install/postinstall.sh;

代わりに:

chroot /target bash -c "/install/postinstall.sh";

私のために良い(xubuntu 18.04)に従ってください:

bash -c "/cdrom/tools/run.sh";

インストーラーに他のdebファイルを追加したい場合、およびpreseedを使用してシステムを自動的にインストールする場合は、isocreator(cubic)を使用します。

1
Guest

自動的には開始されません。バックグラウンドでの最初のログイン後に開始するには、rc.localに配置する必要があります。

インストールプロセスの一部として使用する場合は、depファイルをcdrom/pool/extrasに追加する必要があります。

簡単な解決策は次のとおりです。

押された:
ubiquity ubiquity/success_command string \
cp -a /cdrom/preseed/install.sh /target/root/install.sh; \
sed -i 's_exit 0_sh /root/install.sh_' /target/etc/rc.local

そして、あなたのスクリプトでそれが終わったらrc.localからそれを削除してください:

スクリプト:
sed -i 's_sh /root/install.sh_exit 0_' /etc/rc.local

私はそれが理にかなっていると思います:)

0
Avraham Cohen

Chromeインストーラが質問をしている可能性があります。インストールコマンドにyesを追加しますか?

はい| dpkg -i google-chrome-stable_current_AMD64.deb

または

apt-get -y install google-chrome-stable_current_AMD64.deb

0