On Tue, 29 Jan 2019 13:22:30 -0500, James Krych <james.w.kr...@gmail.com>
wrote:
>>For Ubuntu / Debian, these default bootstrap scripts do not work. You
have to create your own."

>Is there a source of these scripts for use with Debian clients?

>Very respectfully,

>James

We use something like the script below. You will want to adjust it for
your environment. It has the advantage that you can use it on CentOS or
Ubuntu clients, so you can just put it in /var/www/html/pub/ on your
spacewalk server and have people download and run it.

You will need to customize it to use your activation key names (and set up
the activation keys to add your preferred channels for each distribution).
It also needs a few more files set up on the spacewalk server in the
/var/www/html/pub directory: the packages for Ubuntu 18.04 (in
pub/bionic-debs), and a stub configuration file for the
https://bugzilla.redhat.com/show_bug.cgi?id=1187189 workaround. It might
need a few more tweaks but it should be enough to get you started.

#!/bin/bash
#
# Install the SpaceWalk client on three possible O/S targets, CentOS 7,
Ubuntu 14.04, and Ubuntu 16.04
# Register the client with the Avigilon Spacewalk server
#
spacewalkserver="yourspacewalkserver.yourdomain"

install_centos7_client() {
  echo Installing Spacewalk client for CentOS 7.X
  rpm -Uvh
http://yum.spacewalkproject.org/2.6-client/RHEL/7/x86_64/spacewalk-client-
repo-2.6-0.el7.noarch.rpm
  wget https://muug.ca/mirror/fedora-epel/RPM-GPG-KEY-EPEL-7
  rpm --import ./RPM-GPG-KEY-EPEL-7
  BASEARCH=$(uname -i)
  rpm -Uvh
http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
  yum -y install rhn-client-tools rhn-check rhn-setup rhnsd m2crypto
yum-rhn-plugin
  rpm -Uvh
http://$spacewalkserver/pub/rhn-org-trusted-ssl-cert-1.0-2.noarch.rpm
  rhnreg_ks --serverUrl=https://$spacewalkserver/XMLRPC
--sslCACert=/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT
--activationkey=1-centos7-x86_64
  # enable osad
  yum install osad
  /bin/perl -pi -e "s/osa_ssl_cert =/osa_ssl_cert =
\/usr\/share\/rhn\/RHN-ORG-TRUSTED-SSL-CERT/" /etc/sysconfig/rhn/osad.conf
  /bin/systemctl enable osad
  /bin/systemctl osad start
  # enable openscap
  yum install openscap-scanner spacewalk-oscap
  wget
https://copr-be.cloud.fedoraproject.org/results/openscapmaint/openscap-lat
est/epel-7-x86_64/00482175-scap-security-guide/scap-security-guide-0.1.31
-2.el7.centos.noarch.rpm
  rpm -ivh scap-security-guide-0.1.31-2.el7.centos.noarch.rpm
  yum history sync
}

install_ubuntu14.04_client() {
  echo Installing Spacewalk client for Ubuntu 14.04

  if [ -n "`which rhnreg_ks`" ] ; then echo rhnreg_ks is already
installed. Aborting; exit; fi

  # Install some pre-requisites before our packages
  apt-get -y install python-dbus python-newt python-dmidecode python-gudev
python-dbus-dev python-support python-libxml2 python-gobject python-gi
python-g object-2 python-ethtool python-jabber
  apt-get -y install apt-transport-spacewalk python-rhn rhn-client-tools
rhnsd
  wget "https://$spacewalkserver/pub/spacewalk.gpg.pubkey";
  apt-key add spacewalk.gpg.pubkey
  # Now set up and register with our Spacewalk server
  mkdir /var/lock/subsys
  wget https://$spacewalkserver/pub/RHN-ORG-TRUSTED-SSL-CERT -O
/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT
  rhnreg_ks --force --serverUrl=https://$spacewalkserver/XMLRPC
--sslCACert=/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT
--activationkey=1-avo-ubuntu-trusty-key
  # Take updates and security patches for main and universe from spacewalk
  echo "deb spacewalk://$spacewalkserver/XMLRPC channels: main
trusty-updates trusty-backports trusty-security" >
/etc/apt/sources.list.d/spacewalk.list
  cp /etc/apt/sources.list /etc/apt/sources.list.bak
  # and not from the standard repositories
  perl -pi -e 's/^deb([-src]*) (.*) trusty main/#deb$1 $2 trusty main/'
/etc/apt/sources.list
  perl -pi -e 's/^deb([-src]*) (.*) trusty-updates ([m|u][^u])/#deb$1 $2
trusty-updates $3/' /etc/apt/sources.list
  perl -pi -e 's/^deb([-src]*) (.*) trusty-security ([m|u][^u])/#deb$1 $2
trusty-security $3/' /etc/apt/sources.list
  perl -pi -e 's/^deb([-src]*) (.*) trusty-backports/#deb$1 $2
trusty-backports/' /etc/apt/sources.list

  # Work around https://bugzilla.redhat.com/show_bug.cgi?id=1187189
  wget https://$spacewalkserver/pub/49spacewalk-workaround -O
/etc/apt/apt-conf.d/49spacewalk-workaround

  # clean up and test
  popd
  rm -Rf /tmp/trusty-debs
  apt-get update
}

install_ubuntu16.04_client() {
  echo Installing Spacewalk client for Ubuntu 16.04
  apt-get -y install apt-transport-spacewalk python-rhn python-ethtool
rhnsd rhn-client-tools python-jabber
  if [ `dpkg -l apt-transport-spacewalk  | wc -l` -lt 6 ]; then
     echo "Could not download necessary prerequisites. Aborting"
     exit
  fi
  wget https://$spacewalkserver/pub/RHN-ORG-TRUSTED-SSL-CERT -O
/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT
  rhnreg_ks --force --serverUrl=https://$spacewalkserver/XMLRPC
--sslCACert=/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT
--activationkey=1-avo-ubuntu-xenial-key
  wget "https://$spacewalkserver/pub/spacewalk.gpg.pubkey";
  apt-key add spacewalk.gpg.pubkey
  # Take updates and security patches for main and universe from spacewalk
  echo 'deb spacewalk://$spacewalkserver/XMLRPC channels: main
xenial-updates xenial-backports xenial-security' >
/etc/apt/sources.list.d/spacewalk.list
  cp /etc/apt/sources.list /etc/apt/sources.list.bak
  # and not from the standard repositories
  perl -pi -e 's/^deb([-src]*) (.*) xenial main/#deb$1 $2 xenial main/'
/etc/apt/sources.list
  perl -pi -e 's/^deb([-src]*) (.*) xenial-updates ([m|u][^u])/#deb $2
xenial-updates $3/' /etc/apt/sources.list
  perl -pi -e 's/^deb([-src]*) (.*) xenial-security ([m|u][^u])/#deb$1 $2
xenial-security $3/' /etc/apt/sources.list
  perl -pi -e 's/^deb([-src]*) (.*) xenial-backports/#deb$1 $2
xenial-backports/' /etc/apt/sources.list

  if [ ! -d /var/lib/up2date ]
  then
     mkdir /var/lib/up2date
  fi

  # Work around https://bugzilla.redhat.com/show_bug.cgi?id=1187189
  wget https://$spacewalkserver/pub/49spacewalk-workaround -O
/etc/apt/apt.conf.d/49spacewalk-workaround
  # and test
  apt-get update

}

install_ubuntu18.04_client() {

  echo Installing Spacewalk client for Ubuntu 18.04

  if [ -n "`which rhnreg_ks`" ] ; then echo rhnreg_ks is already
installed. Aborting; exit; fi

  # Install some pre-requisites before our packages
  apt-get -y install gir1.2-gudev-1.0 libgudev-1.0-0 python-dbus
python-newt python-dmidecode python-dbus-dev python-libxml2 python-gobject
python-gi python-gobject-2 python-ethtool python-jabber python-apt
python-openssl
  apt-get -y -f install

  # Download and install our spacewalk packages, which are newer than in
the default 18.04 repo
  mkdir /tmp/bionic-debs
  pushd /tmp/bionic-debs
  wget
https://$spacewalkserver/pub/bionic-debs/apt-transport-spacewalk_1.0.7-1_a
ll.deb
  wget
https://$spacewalkserver/pub/bionic-debs/python-gudev_147.2-3_amd64.deb
  wget
https://$spacewalkserver/pub/bionic-debs/python-rhn_2.5.72-1_all.deb
  wget
https://$spacewalkserver/pub/bionic-debs/rhn-client-tools_2.3.5-1_amd64.de
b
  wget https://$spacewalkserver/pub/bionic-debs/rhnsd_5.0.4-3_amd64.deb
  wget
https://$spacewalkserver/pub/bionic-debs/python-ethtool_0.12-1.1_amd64.deb
  dpkg -i *.deb
  apt-get -y -f install
  wget "https://$spacewalkserver/pub/spacewalk.gpg.pubkey";
  apt-key add spacewalk.gpg.pubkey

  # Now set up and register with our Spacewalk server
  mkdir /var/lock/subsys
  wget https://$spacewalkserver/pub/RHN-ORG-TRUSTED-SSL-CERT -O
/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT
  rhnreg_ks --force --serverUrl=https://$spacewalkserver/XMLRPC
--sslCACert=/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT
--activationkey=1-avo-ubuntu-bionic-key
  # Take updates and security patches for main and universe from spacewalk
  echo "deb spacewalk://$spacewalkserver/XMLRPC channels: main
bionic-updates bionic-backports bionic-security" >
/etc/apt/sources.list.d/spacewalk.list
  cp /etc/apt/sources.list /etc/apt/sources.list.bak
  # and not from the standard repositories
  perl -pi -e 's/^deb([-src]*) (.*) bionic main/#deb$1 $2 bionic main/'
/etc/apt/sources.list
  perl -pi -e 's/^deb([-src]*) (.*) bionic-updates ([m|u][^u])/#deb$1 $2
bionic-updates $3/' /etc/apt/sources.list
  perl -pi -e 's/^deb([-src]*) (.*) bionic-security ([m|u][^u])/#deb$1 $2
bionic-security $3/' /etc/apt/sources.list
  perl -pi -e 's/^deb([-src]*) (.*) bionic-backports/#deb$1 $2
bionic-backports/' /etc/apt/sources.list

  # Work around https://bugzilla.redhat.com/show_bug.cgi?id=1187189
  wget https://$spacewalkserver/pub/49spacewalk-workaround -O
/etc/apt/apt-conf.d/49spacewalk-workaround

  # clean up and test
  popd
  rm -Rf /tmp/bionic-debs
  apt-get update
}


if [ ! -d /usr/local/share/ca-certificates/york.lan ]
then
   mkdir -p /usr/local/share/ca-certificates/york.lan
   wget -P /usr/local/share/ca-certificates/york.lan
"https://$spacewalkserver/pub/cacerts/AVO-IssCA1.crt";
--no-check-certificate
   wget -P /usr/local/share/ca-certificates/york.lan
"https://$spacewalkserver/pub/cacerts/AVO-IssCA2.crt";
--no-check-certificate
   wget -P /usr/local/share/ca-certificates/york.lan
"https://$spacewalkserver/pub/cacerts/AVO-rootca.crt";
--no-check-certificate
   sudo update-ca-certificates
fi

if [ -n "`which rhnreg_ks`" ]
then echo rhnreg_ks is already installed. Aborting
     exit
fi

if [ -e /etc/centos-release ]
then
   CENTOS_RELEASE=`cat /etc/centos-release`
   if [ "`expr substr \"$CENTOS_RELEASE\" 1 23`" = "CentOS Linux release
7." ]
   then install_centos7_client
   fi
elif [ -e `which lsb_release` ]
then
   OTHER_DISTRIB=`lsb_release -a | fgrep "Description:"`
   if [ `expr match "$OTHER_DISTRIB" ".*Ubuntu.*"` -ge 6 ]
   then
      if [ `expr match "$OTHER_DISTRIB" ".*14\.04.*"` -ge 5 ]
      then
          install_ubuntu14.04_client
      elif [ `expr match "$OTHER_DISTRIB" ".*16\.04.*"` -ge 5 ]
      then
          install_ubuntu16.04_client
      elif [ `expr match "$OTHER_DISTRIB" ".*18\.04.*"` -ge 5 ]
      then
          install_ubuntu18.04_client
      fi
   fi
fi

_______________________________________________
Spacewalk-list mailing list
Spacewalk-list@redhat.com
https://www.redhat.com/mailman/listinfo/spacewalk-list

Reply via email to