Skip to content

Instantly share code, notes, and snippets.

@lemenkov
Created October 2, 2015 15:32
Show Gist options
  • Save lemenkov/70c46118ef9279d73444 to your computer and use it in GitHub Desktop.
Save lemenkov/70c46118ef9279d73444 to your computer and use it in GitHub Desktop.
A very minimal Fedora kickstart
install
url --url="http://mirror.yandex.ru/fedora/linux/development/23/x86_64/os/"
lang en_US.UTF-8
keyboard us
# python -c "import crypt, getpass, pwd; print crypt.crypt('testpass', '\$6\$86XQ0WSE\$')"
rootpw --iscrypted $6$86XQ0WSE$xFUpTag3yF1sU7gBNpZs2YOgezvTgHx8vVarmM3DVrjJYRFQa6ovpENVtXsMDE2m0avQaL/BpvDEETdzs5gJI1
services --disabled iptables,ip6tables,netfs
services --enabled ntpd
firewall --disabled
authconfig --enableshadow --passalgo=sha512
selinux --enforcing
timezone --utc Europe/Moscow
skipx
text
zerombr
bootloader --location=mbr --driveorder=vda --append="crashkernel=auto rhgb quiet"
clearpart --all --drives=vda --initlabel
part / --fstype xfs --size=100 --grow
repo --name="Fedora" --baseurl=http://mirror.yandex.ru/fedora/linux/development/23/x86_64/os/
repo --name="Updates" --baseurl=http://mirror.yandex.ru/fedora/linux/updates/23/x86_64/
repo --name="Updates Testing" --baseurl=http://mirror.yandex.ru/fedora/linux/updates/testing/23/x86_64/
reboot
%packages --excludedocs
@core
acl
alsa-lib
audit
audit-libs
authconfig
avahi
avahi-autoipd
avahi-libs
basesystem
bash
bind-libs-lite
bind-license
biosdevname
bzip2-libs
ca-certificates
chkconfig
coreutils
cpio
cracklib
cracklib-dicts
cronie
cronie-anacron
crontabs
cryptsetup-libs
curl
cyrus-sasl-lib
dbus
dbus-glib
dbus-libs
dbus-python
device-mapper
device-mapper-libs
dhclient
dhcp-common
dhcp-libs
diffutils
dmidecode
dracut
dracut-config-rescue
dracut-network
e2fsprogs
e2fsprogs-libs
ebtables
elfutils-libelf
elfutils-libs
ethtool
expat
file
file-libs
filesystem
findutils
fipscheck
fipscheck-lib
freetype
gawk
gdbm
gettext
gettext-libs
glib2
glibc
glibc-common
gmp
gnupg2
gpgme
grep
groff-base
grub2
grub2-tools
grubby
gzip
hardlink
hostname
hwdata
info
initscripts
iproute
iprutils
iptables
iputils
jansson
json-c
kernel
kernel-tools
kernel-tools-libs
kexec-tools
keyutils-libs
kmod
kmod-libs
kpartx
krb5-libs
less
libacl
libassuan
libattr
libblkid
libcap
libcap-ng
libcom_err
libcroco
libcurl
libdaemon
libdb
libdb-utils
libdrm
libedit
libestr
libffi
libgcc
libgcrypt
libgomp
libgpg-error
libgudev1
libidn
libmnl
libmount
libnetfilter_conntrack
libnfnetlink
libnl3
libnl3-cli
libpciaccess
libpwquality
libselinux
libselinux-python
libselinux-utils
libsemanage
libsepol
libss
libssh2
libstdc++
libsysfs
libtasn1
libteam
libunistring
libuser
libutempter
libuuid
libverto
libxml2
linux-firmware
logrotate
lua
lzo
make
mozjs17
ncurses
ncurses-base
ncurses-libs
nettle
newt
newt-python
nspr
nss
nss-mdns
nss-softokn
nss-softokn-freebl
nss-sysinit
nss-tools
nss-util
numactl-libs
openldap
openssh
openssh-clients
openssh-server
openssl
openssl-libs
os-prober
p11-kit
p11-kit-trust
pam
passwd
pciutils-libs
pcre
pinentry
pkgconfig
plymouth
plymouth-core-libs
plymouth-scripts
policycoreutils
polkit
polkit-pkla-compat
popt
procps-ng
pth
pygpgme
pyliblzma
python
python-backports
python-backports-ssl_match_hostname
python-configobj
python-decorator
python-iniparse
python-libs
python-pycurl
python-pyudev
python-setuptools
python-slip
python-slip-dbus
python-urlgrabber
pyxattr
qrencode-libs
readline
rootfiles
rpm
rpm-build-libs
rpm-libs
rpm-python
rsyslog
sed
selinux-policy
selinux-policy-targeted
setup
shadow-utils
shared-mime-info
slang
snappy
sqlite
sudo
systemd
systemd-libs
tar
tcp_wrappers-libs
tzdata
ustr
util-linux
vim-minimal
which
xfsprogs
xz
xz-libs
zlib
-@Base
-NetworkManager
-NetworkManager-libnm
-NetworkManager-team
-NetworkManager-tui
-aic94xx-firmware
-alsa-firmware
-alsa-tools-firmware
-btrfs-progs
-dnsmasq
-firewalld
-fxload
-glib-networking
-gnutls
-gobject-introspection
-gsettings-desktop-schemas
-irqbalance
-ivtv-firmware
-iwl100-firmware
-iwl1000-firmware
-iwl105-firmware
-iwl135-firmware
-iwl2000-firmware
-iwl2030-firmware
-iwl3160-firmware
-iwl3945-firmware
-iwl4965-firmware
-iwl5000-firmware
-iwl5150-firmware
-iwl6000-firmware
-iwl6000g2a-firmware
-iwl6000g2b-firmware
-iwl6050-firmware
-iwl7260-firmware
-kbd
-kbd-legacy
-kbd-misc
-libmodman
-libndp
-libpcap
-libpipeline
-libproxy
-libsoup
-man-db
-microcode_ctl
-mariadb-libs
-parted
-postfix
-pygobject3-base
-ppp
-rdma
-systemd-sysv
-teamd
-trousers
-tuned
-virt-what
-wpa_supplicant
%end
%post
/bin/rm -f /etc/rc.d/rc?.d/[KS]*
/bin/mkdir -p /etc/systemd/network/
# Name is likely to be changed
echo "[Match]
Name=eth0
[Network]
DHCP=yes" > /etc/systemd/network/base.network
/bin/ln -s /usr/lib/systemd/system/systemd-networkd.service /etc/systemd/system/multi-user.target.wants/systemd-networkd.service
/bin/ln -s /usr/lib/systemd/system/systemd-networkd.socket /etc/systemd/system/sockets.target.wants/systemd-networkd.socket
/usr/sbin/useradd -m -G wheel,systemd-journal petro -c "Peter Lemenkov"
/usr/bin/sudo -u petro /usr/bin/ssh-keygen -f /home/petro/.ssh/id_rsa -N ""
/bin/chmod 600 /home/petro/.ssh/id_rsa
echo "# Add all known SSH public keys here
" > /home/petro/.ssh/authorized_keys
echo "%wheel ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/wheel
echo "testnode" > /etc/hostname
/bin/curl https://github.com/lemenkov.keys >> /home/petro/.ssh/authorized_keys
/bin/chmod 644 /home/petro/.ssh/authorized_keys
/bin/chown petro:petro /home/petro/.ssh/authorized_keys
/bin/rm -f /etc/resolv.conf
/bin/ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
/bin/ln -s /usr/lib/systemd/system/systemd-resolved.service /etc/systemd/system/multi-user.target.wants/systemd-resolved.service
%end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment