X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=faiserver-setup;h=951ec8812ac609a7cde61911ac4d47bcffb731a2;hb=1885f9677fdf2bfeac95285cf13a7d60273d096a;hp=a48a00c43def737cfe45334657991c0f00ad670b;hpb=708c79e5611549280b988c607e1a1a19fc63e991;p=automated-distro-installer diff --git a/faiserver-setup b/faiserver-setup index a48a00c..951ec88 100755 --- a/faiserver-setup +++ b/faiserver-setup @@ -15,36 +15,49 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# Usage: faiserver-setup -# -# Initial setup of a fai server on debian. works on localhost. -# Set's the current ip as the tftp server. I vaguely remember -# that using a hostname does not work. -# Separate from running this, faiserver needs to be setup in dns -# to point to whatever host this is run on. - set -eE -o pipefail trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR [[ $EUID == 0 ]] || exec sudo "${BASH_SOURCE}" "$@" +usage() { + cat </etc/apt/sources.list.d/fai.list <<'EOF' +if grep -xFq 'VERSION="9 (stretch)"' /etc/os-release; then + # if we use stretch, no need for fai-project repo. + # this will need to be updated when there is a codename + # for stretch+1 + rm -f /etc/apt/sources.list.d/fai.list +else + wget -O - http://fai-project.org/download/074BCDE4.asc | apt-key add - + cat >/etc/apt/sources.list.d/fai.list <<'EOF' deb http://fai-project.org/download jessie koeln EOF -else - # if we use stretch, no need for fai-project repo. - rm -f /etc/apt/sources.list.d/fai.list fi # for ubuntu: @@ -54,19 +67,11 @@ fi apt-get update -# all the dependencies except the dhcp server -deps="$(apt-cache show fai-quickstart | grep ^Depends: |head -n 1|\ - sed -r 's/^Depends:|,|\|[^,]+|isc-dhcp-server//g')" -to_install=(tar) -for pkg in $deps; do - dpkg -s $pkg &>/dev/null && continue ||: - to_install+=($pkg) - # just so we have a record. - echo `date` $pkg >>/var/log/fai-manually-installed-packages.log -done -if [[ $to_install ]]; then - apt-get -y install ${to_install[@]} -fi + +# Relevant packages from fai-quickstart depends and fai-server recommends. +# I especially do not wait isc-dhcp-server or an inetd +apt-get install -y fai-doc nfs-kernel-server tftpd-hpa tar reprepro squashfs-tools binutils +apt-get install --no-install-recommends -y fai-server r=http://http.us.debian.org/debian # like default, but scrap httpredir, and nonfree. @@ -108,7 +113,7 @@ $sed 's/#LOGUSER/LOGUSER/' /etc/fai/fai.conf if ! grep cryptsetup /etc/fai/NFSROOT &>/dev/null; then $sed '/^PACKAGES install$/a cryptsetup' /etc/fai/NFSROOT fi -e fai-setup -vf +e fai-setup -e -vf { head -n 1 /srv/fai/nfsroot/root/.ssh/known_hosts | awk '{print $1}' \ | tr '\n' ' '; ssh-keyscan localhost | grep -o "ecdsa-sha2-nistp256.*"; \ } >>/srv/fai/nfsroot/root/.ssh/known_hosts