Save ubuntu packages inside image
This commit is contained in:
parent
ffa6f74f32
commit
d1689ae911
15
Dockerfile
15
Dockerfile
|
@ -16,7 +16,7 @@
|
||||||
|
|
||||||
FROM ubuntu:xenial
|
FROM ubuntu:xenial
|
||||||
|
|
||||||
LABEL maintainer="urpylka@gmail.com"
|
LABEL maintainer="airship-team@att.com"
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND noninteractive
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
|
@ -50,8 +50,15 @@ RUN rm /etc/nginx/sites-enabled/*
|
||||||
COPY assets/supervisord.nginx.conf /etc/supervisor/conf.d/nginx.conf
|
COPY assets/supervisord.nginx.conf /etc/supervisor/conf.d/nginx.conf
|
||||||
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
|
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
|
||||||
|
|
||||||
# Bind mount location
|
ENV FULL_NAME="First Last"
|
||||||
VOLUME [ "/opt/aptly" ]
|
ENV EMAIL_ADDRESS="youremail@example.com"
|
||||||
|
ENV GPG_PASSWORD="PickAPassword"
|
||||||
|
ENV HOSTNAME=localhost
|
||||||
|
|
||||||
|
COPY assets/packages /opt/packages
|
||||||
|
|
||||||
|
RUN /opt/startup.sh
|
||||||
|
|
||||||
# Execute Startup script when container starts
|
# Execute Startup script when container starts
|
||||||
ENTRYPOINT [ "/opt/startup.sh" ]
|
|
||||||
|
CMD [ "/opt/run.sh" ]
|
||||||
|
|
|
@ -0,0 +1,596 @@
|
||||||
|
accountsservice
|
||||||
|
acl
|
||||||
|
acpid
|
||||||
|
adduser
|
||||||
|
amd64-microcode
|
||||||
|
apparmor
|
||||||
|
apport
|
||||||
|
apport-symptoms
|
||||||
|
apt
|
||||||
|
apt-transport-https
|
||||||
|
apt-utils
|
||||||
|
arping
|
||||||
|
at
|
||||||
|
base-files
|
||||||
|
base-passwd
|
||||||
|
bash
|
||||||
|
bash-completion
|
||||||
|
bc
|
||||||
|
bcache-tools
|
||||||
|
bind9-host
|
||||||
|
binfmt-support
|
||||||
|
binutils
|
||||||
|
bsdmainutils
|
||||||
|
bsdutils
|
||||||
|
btrfs-tools
|
||||||
|
build-essential
|
||||||
|
busybox-initramfs
|
||||||
|
busybox-static
|
||||||
|
byobu
|
||||||
|
bzip2
|
||||||
|
ca-certificates
|
||||||
|
ceph-common
|
||||||
|
cloud-guest-utils
|
||||||
|
cloud-init
|
||||||
|
cloud-initramfs-copymods
|
||||||
|
cloud-initramfs-dyn-netconf
|
||||||
|
command-not-found
|
||||||
|
command-not-found-data
|
||||||
|
console-setup
|
||||||
|
console-setup-linux
|
||||||
|
coreutils
|
||||||
|
cpio
|
||||||
|
cpp
|
||||||
|
cpp-5
|
||||||
|
crda
|
||||||
|
cron
|
||||||
|
cryptsetup
|
||||||
|
cryptsetup-bin
|
||||||
|
curl
|
||||||
|
dash
|
||||||
|
dbus
|
||||||
|
debconf
|
||||||
|
debconf-i18n
|
||||||
|
debianutils
|
||||||
|
dh-python
|
||||||
|
diffutils
|
||||||
|
distro-info-data
|
||||||
|
dkms
|
||||||
|
dmeventd
|
||||||
|
dmidecode
|
||||||
|
dmsetup
|
||||||
|
dnsmasq-base
|
||||||
|
dns-root-data
|
||||||
|
dnsutils
|
||||||
|
docker.io
|
||||||
|
docker-engine
|
||||||
|
dosfstools
|
||||||
|
dpkg
|
||||||
|
dpkg-dev
|
||||||
|
dstat
|
||||||
|
e2fslibs
|
||||||
|
e2fsprogs
|
||||||
|
eatmydata
|
||||||
|
ed
|
||||||
|
eject
|
||||||
|
ethtool
|
||||||
|
fakeroot
|
||||||
|
file
|
||||||
|
findutils
|
||||||
|
fonts-ubuntu-font-family-console
|
||||||
|
freeipmi-common
|
||||||
|
friendly-recovery
|
||||||
|
ftp
|
||||||
|
fuse
|
||||||
|
g++
|
||||||
|
g++-5
|
||||||
|
gawk
|
||||||
|
gcc
|
||||||
|
gcc-5
|
||||||
|
gcc-5-base
|
||||||
|
gcc-6-base
|
||||||
|
gdisk
|
||||||
|
geoip-database
|
||||||
|
gettext-base
|
||||||
|
gir1.2-glib-2.0
|
||||||
|
git
|
||||||
|
git-man
|
||||||
|
gnupg
|
||||||
|
gpgv
|
||||||
|
grep
|
||||||
|
groff-base
|
||||||
|
grub2-common
|
||||||
|
grub-common
|
||||||
|
grub-gfxpayload-lists
|
||||||
|
grub-legacy-ec2
|
||||||
|
grub-pc
|
||||||
|
grub-pc-bin
|
||||||
|
gzip
|
||||||
|
hdparm
|
||||||
|
heirloom-mailx
|
||||||
|
hostname
|
||||||
|
ifenslave
|
||||||
|
ifupdown
|
||||||
|
info
|
||||||
|
init
|
||||||
|
initramfs-tools
|
||||||
|
initramfs-tools-bin
|
||||||
|
initramfs-tools-core
|
||||||
|
initscripts
|
||||||
|
init-system-helpers
|
||||||
|
insserv
|
||||||
|
installation-report
|
||||||
|
install-info
|
||||||
|
intel-microcode
|
||||||
|
iotop
|
||||||
|
iperf
|
||||||
|
ipmitool
|
||||||
|
iproute2
|
||||||
|
iptables
|
||||||
|
iputils-arping
|
||||||
|
iputils-ping
|
||||||
|
iputils-tracepath
|
||||||
|
irqbalance
|
||||||
|
isc-dhcp-client
|
||||||
|
isc-dhcp-common
|
||||||
|
iso-codes
|
||||||
|
iucode-tool
|
||||||
|
iw
|
||||||
|
jq
|
||||||
|
kbd
|
||||||
|
keyboard-configuration
|
||||||
|
klibc-utils
|
||||||
|
kmod
|
||||||
|
krb5-locales
|
||||||
|
ksh
|
||||||
|
language-selector-common
|
||||||
|
laptop-detect
|
||||||
|
ldap-utils
|
||||||
|
less
|
||||||
|
libaccountsservice0
|
||||||
|
libacl1
|
||||||
|
libalgorithm-diff-perl
|
||||||
|
libalgorithm-diff-xs-perl
|
||||||
|
libalgorithm-merge-perl
|
||||||
|
libapparmor1
|
||||||
|
libapparmor-perl
|
||||||
|
libapt-inst2.0
|
||||||
|
libapt-pkg5.0
|
||||||
|
libasan2
|
||||||
|
libasn1-8-heimdal
|
||||||
|
libasprintf0v5
|
||||||
|
libatm1
|
||||||
|
libatomic1
|
||||||
|
libattr1
|
||||||
|
libaudit1
|
||||||
|
libaudit-common
|
||||||
|
libbabeltrace1
|
||||||
|
libbabeltrace-ctf1
|
||||||
|
libbind9-140
|
||||||
|
libblas3
|
||||||
|
libblas-common
|
||||||
|
libblkid1
|
||||||
|
libboost-iostreams1.58.0
|
||||||
|
libboost-program-options1.58.0
|
||||||
|
libboost-random1.58.0
|
||||||
|
libboost-regex1.58.0
|
||||||
|
libboost-system1.58.0
|
||||||
|
libboost-thread1.58.0
|
||||||
|
libbsd0
|
||||||
|
libbz2-1.0
|
||||||
|
libc6
|
||||||
|
libc6-dev
|
||||||
|
libcap2
|
||||||
|
libcap2-bin
|
||||||
|
libcap-ng0
|
||||||
|
libc-bin
|
||||||
|
libcc1-0
|
||||||
|
libc-dev-bin
|
||||||
|
libcephfs1
|
||||||
|
libcilkrts5
|
||||||
|
libcomerr2
|
||||||
|
libcryptsetup4
|
||||||
|
libcurl3-gnutls
|
||||||
|
libdb5.3
|
||||||
|
libdbus-1-3
|
||||||
|
libdbus-glib-1-2
|
||||||
|
libdebconfclient0
|
||||||
|
libdevmapper1.02.1
|
||||||
|
libdevmapper-event1.02.1
|
||||||
|
libdns162
|
||||||
|
libdns-export162
|
||||||
|
libdpkg-perl
|
||||||
|
libdrm2
|
||||||
|
libdrm-common
|
||||||
|
libdumbnet1
|
||||||
|
libdw1
|
||||||
|
libeatmydata1
|
||||||
|
libedit2
|
||||||
|
libelf1
|
||||||
|
liberror-perl
|
||||||
|
libestr0
|
||||||
|
libevent-2.0-5
|
||||||
|
libexpat1
|
||||||
|
libfakeroot
|
||||||
|
libfcgi0ldbl
|
||||||
|
libfdisk1
|
||||||
|
libffi6
|
||||||
|
libfile-fcntllock-perl
|
||||||
|
libfreeipmi16
|
||||||
|
libfreetype6
|
||||||
|
libfribidi0
|
||||||
|
libfuse2
|
||||||
|
libgcc1
|
||||||
|
libgcc-5-dev
|
||||||
|
libgcrypt20
|
||||||
|
libgdbm3
|
||||||
|
libgeoip1
|
||||||
|
libgirepository-1.0-1
|
||||||
|
libglib2.0-0
|
||||||
|
libglib2.0-data
|
||||||
|
libgmp10
|
||||||
|
libgnutls30
|
||||||
|
libgnutls-openssl27
|
||||||
|
libgomp1
|
||||||
|
libgpg-error0
|
||||||
|
libgpm2
|
||||||
|
libgssapi3-heimdal
|
||||||
|
libgssapi-krb5-2
|
||||||
|
libhcrypto4-heimdal
|
||||||
|
libheimbase1-heimdal
|
||||||
|
libheimntlm0-heimdal
|
||||||
|
libhogweed4
|
||||||
|
libhx509-5-heimdal
|
||||||
|
libicu55
|
||||||
|
libidn11
|
||||||
|
libisc160
|
||||||
|
libisccc140
|
||||||
|
libisccfg140
|
||||||
|
libisc-export160
|
||||||
|
libisl15
|
||||||
|
libitm1
|
||||||
|
libjansson4
|
||||||
|
libjson-c2
|
||||||
|
libk5crypto3
|
||||||
|
libkeyutils1
|
||||||
|
libklibc
|
||||||
|
libkmod2
|
||||||
|
libkrb5-26-heimdal
|
||||||
|
libkrb5-3
|
||||||
|
libkrb5support0
|
||||||
|
libldap-2.4-2
|
||||||
|
liblinear3
|
||||||
|
liblocale-gettext-perl
|
||||||
|
liblsan0
|
||||||
|
libltdl7
|
||||||
|
liblua5.2-0
|
||||||
|
liblvm2app2.2
|
||||||
|
liblvm2cmd2.02
|
||||||
|
liblwres141
|
||||||
|
liblxc1
|
||||||
|
liblz4-1
|
||||||
|
liblzma5
|
||||||
|
liblzo2-2
|
||||||
|
libmagic1
|
||||||
|
libmnl0
|
||||||
|
libmount1
|
||||||
|
libmpc3
|
||||||
|
libmpdec2
|
||||||
|
libmpfr4
|
||||||
|
libmpx0
|
||||||
|
libmspack0
|
||||||
|
libncurses5
|
||||||
|
libncursesw5
|
||||||
|
libnet1
|
||||||
|
libnetfilter-conntrack3
|
||||||
|
libnettle6
|
||||||
|
libnewt0.52
|
||||||
|
libnfnetlink0
|
||||||
|
libnih1
|
||||||
|
libnl-3-200
|
||||||
|
libnl-genl-3-200
|
||||||
|
libnspr4
|
||||||
|
libnss3
|
||||||
|
libnss3-nssdb
|
||||||
|
libnuma1
|
||||||
|
libonig2
|
||||||
|
libopenipmi0
|
||||||
|
libopts25
|
||||||
|
libp11-kit0
|
||||||
|
libpam0g
|
||||||
|
libpam-modules
|
||||||
|
libpam-modules-bin
|
||||||
|
libpam-runtime
|
||||||
|
libpam-systemd
|
||||||
|
libparted2
|
||||||
|
libpcap0.8
|
||||||
|
libpci3
|
||||||
|
libpcre3
|
||||||
|
libperl5.22
|
||||||
|
libpipeline1
|
||||||
|
libplymouth4
|
||||||
|
libpng12-0
|
||||||
|
libpolkit-agent-1-0
|
||||||
|
libpolkit-backend-1-0
|
||||||
|
libpolkit-gobject-1-0
|
||||||
|
libpopt0
|
||||||
|
libprocps4
|
||||||
|
libprotobuf9v5
|
||||||
|
libpython2.7-minimal
|
||||||
|
libpython2.7-stdlib
|
||||||
|
libpython3.5
|
||||||
|
libpython3.5-minimal
|
||||||
|
libpython3.5-stdlib
|
||||||
|
libpython3-stdlib
|
||||||
|
libpython-stdlib
|
||||||
|
libquadmath0
|
||||||
|
librados2
|
||||||
|
libradosstriper1
|
||||||
|
librbd1
|
||||||
|
libreadline5
|
||||||
|
libreadline6
|
||||||
|
librgw2
|
||||||
|
libroken18-heimdal
|
||||||
|
librtmp1
|
||||||
|
libsasl2-2
|
||||||
|
libsasl2-modules
|
||||||
|
libsasl2-modules-db
|
||||||
|
libseccomp2
|
||||||
|
libselinux1
|
||||||
|
libsemanage1
|
||||||
|
libsemanage-common
|
||||||
|
libsensors4
|
||||||
|
libsepol1
|
||||||
|
libsigsegv2
|
||||||
|
libslang2
|
||||||
|
libsmartcols1
|
||||||
|
libsnmp30
|
||||||
|
libsnmp-base
|
||||||
|
libsqlite3-0
|
||||||
|
libss2
|
||||||
|
libssl1.0.0
|
||||||
|
libstdc++-5-dev
|
||||||
|
libstdc++6
|
||||||
|
libsystemd0
|
||||||
|
libtasn1-6
|
||||||
|
libtext-charwidth-perl
|
||||||
|
libtext-iconv-perl
|
||||||
|
libtext-wrapi18n-perl
|
||||||
|
libtinfo5
|
||||||
|
libtsan0
|
||||||
|
libubsan0
|
||||||
|
libudev1
|
||||||
|
libunwind8
|
||||||
|
libusb-0.1-4
|
||||||
|
libusb-1.0-0
|
||||||
|
libustr-1.0-1
|
||||||
|
libutempter0
|
||||||
|
libuuid1
|
||||||
|
libuv1
|
||||||
|
libwind0-heimdal
|
||||||
|
libwrap0
|
||||||
|
libx11-6
|
||||||
|
libx11-data
|
||||||
|
libxau6
|
||||||
|
libxcb1
|
||||||
|
libxdmcp6
|
||||||
|
libxext6
|
||||||
|
libxml2
|
||||||
|
libxmlsec1
|
||||||
|
libxmlsec1-openssl
|
||||||
|
libxmuu1
|
||||||
|
libxslt1.1
|
||||||
|
libxtables11
|
||||||
|
libyaml-0-2
|
||||||
|
linux-base
|
||||||
|
linux-cloud-tools-common
|
||||||
|
linux-firmware
|
||||||
|
linux-generic-hwe-16.04
|
||||||
|
linux-headers-4.15.0-34
|
||||||
|
linux-headers-4.15.0-34-generic
|
||||||
|
linux-headers-generic-hwe-16.04
|
||||||
|
linux-image-4.15.0-34-generic
|
||||||
|
linux-image-extra-4.13.0-45-generic
|
||||||
|
linux-image-generic-hwe-16.04
|
||||||
|
linux-libc-dev
|
||||||
|
linux-modules-4.15.0-34-generic
|
||||||
|
linux-modules-extra-4.15.0-34-generic
|
||||||
|
linux-signed-generic-hwe-16.04
|
||||||
|
linux-signed-image-4.13.0-45-generic
|
||||||
|
linux-tools-common
|
||||||
|
lldpd
|
||||||
|
locales
|
||||||
|
login
|
||||||
|
logrotate
|
||||||
|
lsb-base
|
||||||
|
lsb-release
|
||||||
|
lshw
|
||||||
|
lsof
|
||||||
|
ltrace
|
||||||
|
lua-lpeg
|
||||||
|
lvm2
|
||||||
|
lxc-common
|
||||||
|
lxcfs
|
||||||
|
lxd
|
||||||
|
lxd-client
|
||||||
|
make
|
||||||
|
makedev
|
||||||
|
man-db
|
||||||
|
manpages
|
||||||
|
manpages-dev
|
||||||
|
mawk
|
||||||
|
mdadm
|
||||||
|
mime-support
|
||||||
|
mlocate
|
||||||
|
mosh
|
||||||
|
mount
|
||||||
|
mtr-tiny
|
||||||
|
multiarch-support
|
||||||
|
nano
|
||||||
|
ncurses-base
|
||||||
|
ncurses-bin
|
||||||
|
ncurses-term
|
||||||
|
ndiff
|
||||||
|
netbase
|
||||||
|
netcat-openbsd
|
||||||
|
net-tools
|
||||||
|
nmap
|
||||||
|
node-commander
|
||||||
|
nodejs
|
||||||
|
node-nan
|
||||||
|
node-tinycolor
|
||||||
|
node-ws
|
||||||
|
ntfs-3g
|
||||||
|
ntp
|
||||||
|
openipmi
|
||||||
|
open-iscsi
|
||||||
|
openssh-client
|
||||||
|
openssh-server
|
||||||
|
openssh-sftp-server
|
||||||
|
openssl
|
||||||
|
open-vm-tools
|
||||||
|
os-prober
|
||||||
|
overlayroot
|
||||||
|
parted
|
||||||
|
passwd
|
||||||
|
pastebinit
|
||||||
|
patch
|
||||||
|
pciutils
|
||||||
|
perl
|
||||||
|
perl-base
|
||||||
|
perl-modules-5.22
|
||||||
|
plymouth
|
||||||
|
plymouth-theme-ubuntu-text
|
||||||
|
policykit-1
|
||||||
|
pollinate
|
||||||
|
popularity-contest
|
||||||
|
powermgmt-base
|
||||||
|
procps
|
||||||
|
psmisc
|
||||||
|
python
|
||||||
|
python2.7
|
||||||
|
python2.7-minimal
|
||||||
|
python3
|
||||||
|
python3.5
|
||||||
|
python3.5-minimal
|
||||||
|
python3-apport
|
||||||
|
python3-apt
|
||||||
|
python3-blinker
|
||||||
|
python3-cffi-backend
|
||||||
|
python3-chardet
|
||||||
|
python3-commandnotfound
|
||||||
|
python3-configobj
|
||||||
|
python3-cryptography
|
||||||
|
python3-dbus
|
||||||
|
python3-debian
|
||||||
|
python3-distupgrade
|
||||||
|
python3-gdbm
|
||||||
|
python3-gi
|
||||||
|
python3-idna
|
||||||
|
python3-jinja2
|
||||||
|
python3-jsonpatch
|
||||||
|
python3-json-pointer
|
||||||
|
python3-jwt
|
||||||
|
python3-markupsafe
|
||||||
|
python3-minimal
|
||||||
|
python3-newt
|
||||||
|
python3-oauthlib
|
||||||
|
python3-pkg-resources
|
||||||
|
python3-prettytable
|
||||||
|
python3-problem-report
|
||||||
|
python3-pyasn1
|
||||||
|
python3-pycurl
|
||||||
|
python3-requests
|
||||||
|
python3-serial
|
||||||
|
python3-six
|
||||||
|
python3-software-properties
|
||||||
|
python3-systemd
|
||||||
|
python3-update-manager
|
||||||
|
python3-urllib3
|
||||||
|
python3-yaml
|
||||||
|
python-apt
|
||||||
|
python-apt-common
|
||||||
|
python-bs4
|
||||||
|
python-cephfs
|
||||||
|
python-chardet
|
||||||
|
python-html5lib
|
||||||
|
python-lxml
|
||||||
|
python-minimal
|
||||||
|
python-pkg-resources
|
||||||
|
python-rados
|
||||||
|
python-rbd
|
||||||
|
python-requests
|
||||||
|
python-six
|
||||||
|
python-urllib3
|
||||||
|
readline-common
|
||||||
|
rename
|
||||||
|
resolvconf
|
||||||
|
rsync
|
||||||
|
rsyslog
|
||||||
|
run-one
|
||||||
|
sbsigntool
|
||||||
|
screen
|
||||||
|
sed
|
||||||
|
sensible-utils
|
||||||
|
sgml-base
|
||||||
|
shared-mime-info
|
||||||
|
s-nail
|
||||||
|
snapd
|
||||||
|
socat
|
||||||
|
software-properties-common
|
||||||
|
sosreport
|
||||||
|
squashfs-tools
|
||||||
|
ssh-import-id
|
||||||
|
ssmtp
|
||||||
|
strace
|
||||||
|
sudo
|
||||||
|
sysstat
|
||||||
|
systemd
|
||||||
|
systemd-sysv
|
||||||
|
sysvinit-utils
|
||||||
|
sysv-rc
|
||||||
|
tar
|
||||||
|
tasksel
|
||||||
|
tasksel-data
|
||||||
|
tcpd
|
||||||
|
tcpdump
|
||||||
|
telnet
|
||||||
|
thermald
|
||||||
|
time
|
||||||
|
tmux
|
||||||
|
traceroute
|
||||||
|
tzdata
|
||||||
|
ubuntu-cloudimage-keyring
|
||||||
|
ubuntu-core-launcher
|
||||||
|
ubuntu-keyring
|
||||||
|
ubuntu-minimal
|
||||||
|
ubuntu-release-upgrader-core
|
||||||
|
ubuntu-standard
|
||||||
|
ucf
|
||||||
|
udev
|
||||||
|
ufw
|
||||||
|
uidmap
|
||||||
|
unattended-upgrades
|
||||||
|
unzip
|
||||||
|
update-manager-core
|
||||||
|
update-notifier-common
|
||||||
|
ureadahead
|
||||||
|
usbutils
|
||||||
|
util-linux
|
||||||
|
uuid-runtime
|
||||||
|
vim
|
||||||
|
vim-common
|
||||||
|
vim-runtime
|
||||||
|
vim-tiny
|
||||||
|
vlan
|
||||||
|
wget
|
||||||
|
whiptail
|
||||||
|
wireless-regdb
|
||||||
|
xauth
|
||||||
|
xdg-user-dirs
|
||||||
|
xfsprogs
|
||||||
|
xkb-data
|
||||||
|
xml-core
|
||||||
|
xz-utils
|
||||||
|
zerofree
|
||||||
|
zlib1g
|
|
@ -0,0 +1,7 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -o pipefail
|
||||||
|
set -o errexit
|
||||||
|
# set -o xtrace
|
||||||
|
|
||||||
|
/usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf
|
|
@ -5,6 +5,8 @@
|
||||||
# Copyright 2016 Bryan J. Hong
|
# Copyright 2016 Bryan J. Hong
|
||||||
# Licensed under the Apache License, Version 2.0
|
# Licensed under the Apache License, Version 2.0
|
||||||
|
|
||||||
|
set -o xtrace
|
||||||
|
|
||||||
if [[ ! -f /root/.gnupg/gpg.conf ]]; then
|
if [[ ! -f /root/.gnupg/gpg.conf ]]; then
|
||||||
/opt/gpg.conf.sh
|
/opt/gpg.conf.sh
|
||||||
fi
|
fi
|
||||||
|
@ -14,19 +16,15 @@ if [[ ! -f /opt/aptly/aptly.sec ]] || [[ ! -f /opt/aptly/aptly.pub ]]; then
|
||||||
echo "Generating new gpg keys"
|
echo "Generating new gpg keys"
|
||||||
cp -a /dev/urandom /dev/random
|
cp -a /dev/urandom /dev/random
|
||||||
/opt/gpg_batch.sh
|
/opt/gpg_batch.sh
|
||||||
|
mkdir -p /opt/aptly
|
||||||
# If your system doesn't have a lot of entropy this may, take a long time
|
# If your system doesn't have a lot of entropy this may, take a long time
|
||||||
# Google how-to create "artificial" entropy if this gets stuck
|
# Google how-to create "artificial" entropy if this gets stuck
|
||||||
gpg --batch --gen-key /opt/gpg_batch
|
gpg -v --batch --gen-key /opt/gpg_batch
|
||||||
|
|
||||||
else
|
else
|
||||||
echo "No need to generate new gpg keys"
|
echo "No need to generate new gpg keys"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Export the GPG Public key
|
|
||||||
if [[ ! -f /opt/aptly/public/aptly_repo_signing.key ]]; then
|
|
||||||
mkdir -p /opt/aptly/public
|
|
||||||
gpg --export --armor > /opt/aptly/public/aptly_repo_signing.key
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Import Ubuntu keyrings if they exist
|
# Import Ubuntu keyrings if they exist
|
||||||
if [[ -f /usr/share/keyrings/ubuntu-archive-keyring.gpg ]]; then
|
if [[ -f /usr/share/keyrings/ubuntu-archive-keyring.gpg ]]; then
|
||||||
gpg --list-keys
|
gpg --list-keys
|
||||||
|
@ -56,5 +54,4 @@ ln -sf /opt/aptly/aptly.pub /root/.gnupg/pubring.gpg
|
||||||
# Generate Nginx Config
|
# Generate Nginx Config
|
||||||
/opt/nginx.conf.sh
|
/opt/nginx.conf.sh
|
||||||
|
|
||||||
# Start Supervisor
|
/opt/update_mirror_ubuntu.sh
|
||||||
/usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf
|
|
||||||
|
|
|
@ -1,19 +1,26 @@
|
||||||
#! /usr/bin/env bash
|
#! /usr/bin/env bash
|
||||||
set -e
|
set -e
|
||||||
|
set -x
|
||||||
|
|
||||||
# Automate the initial creation and update of an Ubuntu package mirror in aptly
|
# Automate the initial creation and update of an Ubuntu package mirror in aptly
|
||||||
|
|
||||||
# The variables (as set below) will create a mirror of the Ubuntu Trusty repo
|
# The variables (as set below) will create a mirror of the Ubuntu repo
|
||||||
# with the main & universe components, you can add other components like restricted
|
# with the main & universe components, you can add other components like restricted
|
||||||
# multiverse etc by adding to the array (separated by spaces).
|
# multiverse etc by adding to the array (separated by spaces).
|
||||||
|
|
||||||
# For more detail about each of the variables below refer to:
|
# For more detail about each of the variables below refer to:
|
||||||
# https://help.ubuntu.com/community/Repositories/CommandLine
|
# https://help.ubuntu.com/community/Repositories/CommandLine
|
||||||
|
|
||||||
UBUNTU_RELEASE=bionic
|
UBUNTU_RELEASE=xenial
|
||||||
UPSTREAM_URL="http://archive.ubuntu.com/ubuntu/"
|
UPSTREAM_URL="http://archive.ubuntu.com/ubuntu/"
|
||||||
COMPONENTS=( main universe )
|
COMPONENTS=( main universe )
|
||||||
REPOS=( ${UBUNTU_RELEASE} ${UBUNTU_RELEASE}-updates ${UBUNTU_RELEASE}-security )
|
REPOS=( ${UBUNTU_RELEASE} ${UBUNTU_RELEASE}-updates ${UBUNTU_RELEASE}-security )
|
||||||
|
MODE='packages' # packages - mirror specified packages or all
|
||||||
|
if [ "$MODE" = "packages" ]; then
|
||||||
|
FILTER_OPTS=(-filter="$(cat /opt/packages | paste -sd \| -)" -filter-with-deps)
|
||||||
|
else
|
||||||
|
FILTER_OPTS=()
|
||||||
|
fi
|
||||||
|
|
||||||
# Create repository mirrors if they don't exist
|
# Create repository mirrors if they don't exist
|
||||||
set +e
|
set +e
|
||||||
|
@ -23,7 +30,7 @@ for component in ${COMPONENTS[@]}; do
|
||||||
if [[ $? -ne 0 ]]; then
|
if [[ $? -ne 0 ]]; then
|
||||||
echo "Creating mirror of ${repo}-${component} repository."
|
echo "Creating mirror of ${repo}-${component} repository."
|
||||||
aptly mirror create \
|
aptly mirror create \
|
||||||
-architectures=amd64 ${repo}-${component} ${UPSTREAM_URL} ${repo} ${component}
|
-architectures=amd64 "${FILTER_OPTS[@]}" ${repo}-${component} ${UPSTREAM_URL} ${repo} ${component}
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
@ -49,7 +56,7 @@ done
|
||||||
echo ${SNAPSHOTARRAY[@]}
|
echo ${SNAPSHOTARRAY[@]}
|
||||||
|
|
||||||
# Merge snapshots into a single snapshot with updates applied
|
# Merge snapshots into a single snapshot with updates applied
|
||||||
echo "Merging snapshots into one.."
|
echo "Merging snapshots into one.."
|
||||||
aptly snapshot merge -latest \
|
aptly snapshot merge -latest \
|
||||||
${UBUNTU_RELEASE}-merged-`date +%Y%m%d%H` \
|
${UBUNTU_RELEASE}-merged-`date +%Y%m%d%H` \
|
||||||
${SNAPSHOTARRAY[@]}
|
${SNAPSHOTARRAY[@]}
|
||||||
|
|
Loading…
Reference in New Issue