Advertisement
Guest User

Untitled

a guest
Oct 16th, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.70 KB | None | 0 0
  1. # Installs base Debian system using debootstrap
  2.  
  3. ARG suite=sid
  4. ARG mirror_debootstrap=149.156.96.11
  5. ARG mirror_persistent=ftp.agh.edu.pl
  6.  
  7. ARG will_run_in_machiner=1
  8.  
  9. IF will_run_in_machiner:
  10. ARG autologin=1
  11. ARG shrink=1
  12.  
  13. ENV TEST0=VAL0
  14. ENV TEST1=VAL1
  15. ENV TEST2=VAL2
  16.  
  17. STAGE premount:
  18. RUN:
  19. mkfs.ext4 $ROOT
  20.  
  21. STAGE postmount:
  22. ADD /usr/sbin/debootstrap
  23. ADD /usr/share/debootstrap
  24. RUN:
  25. debootstrap --arch=amd64 --include=linux-image-amd64,libnss-systemd,wget @{suite} $rootmnt http://@{mirror_debootstrap}/debian
  26. rm -f $rootmnt/var/cache/apt/archives/*.deb $rootmnt/var/cache/apt/archives/partial/*.deb
  27. rm -f $rootmnt/var/lib/apt/lists/@{mirror_debootstrap}_* $rootmnt/var/lib/apt/lists/partial/@{mirror_debootstrap}_*
  28. sed -i 's/@{mirror_debootstrap}/@{mirror_persistent}/' $rootmnt/etc/apt/sources.list
  29. sed -i 's/root:\*:/root::/' $rootmnt/etc/shadow
  30. extlinux -i $rootmnt/boot
  31. echo "DEFAULT /vmlinuz initrd=/initrd.img root=/dev/sda rootflags=discard rw console=ttyS0 net.ifnames=0 pti=off spectre_v2=off quiet" > $rootmnt/boot/syslinux.cfg
  32. echo "LANG=C.UTF-8" > $rootmnt/etc/default/locale
  33.  
  34. ADD etc/network/interfaces.d/eth0
  35.  
  36. IF autologin:
  37. ADD etc/systemd/system/getty@tty1.service.d/autologin.conf
  38. ADD etc/systemd/system/serial-getty@ttyS0.service.d/autologin.conf
  39.  
  40. IF shrink:
  41. ADD etc/apt/apt.conf.d/no-cache-lists
  42. ADD etc/apt/apt.conf.d/no-cache-debs
  43. ADD etc/apt/apt.conf.d/no-languages
  44.  
  45. ADD etc/apt/apt.conf.d/gzip-indexes
  46.  
  47. ADD etc/apt/apt.conf.d/autoremove-suggests
  48.  
  49. ADD etc/apt/apt.conf.d/no-recommends
  50. ADD etc/apt/apt.conf.d/autoremove-recommends
  51.  
  52. ADD etc/dpkg/dpkg.cfg.d/exclude-doc
  53. RUN find /usr/share/doc -depth ! -name 'copyright' -delete || true
  54. RUN rm -rf /usr/share/groff /usr/share/info /usr/share/lintian /usr/share/linda
  55.  
  56. ADD etc/dpkg/dpkg.cfg.d/exclude-locale
  57. RUN cd /usr/share/locale
  58. RUN find -depth ! -path './locale.alias' ! -path './en/*' ! -path './en_US/*' -delete || true
  59. RUN cd /
  60.  
  61. ADD etc/dpkg/dpkg.cfg.d/exclude-man
  62. RUN cd /usr/share/man
  63. RUN find -depth ! -path './man[0-9]/*' ! -path './en*/*' -delete || true
  64. RUN cd /
  65.  
  66. IF will_run_in_machiner:
  67. ADD etc/dpkg/dpkg.cfg.d/no-sync
  68. ADD etc/profile.d/zzz_machiner_run.sh
  69. ADD etc/sysctl.d/no-printk-warnings.conf
  70. RUN:
  71. apt-get update
  72. apt-get -y install ssh build-essential ca-certificates
  73. sed -i 's/#StrictModes yes/StrictModes no/' /etc/ssh/sshd_config
  74. mkdir -p /root/.ssh
  75. ln -s /run/machiner/internal_dir/authorized_keys /root/.ssh/authorized_keys
  76. systemctl disable rsyslog.service
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement