From f0dcea0089a22a4b734233976d273c3e8aa6d027 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 7 Apr 2021 20:49:20 +0200 Subject: [PATCH] Initial commit --- .etckeeper | 614 +++ .gitignore | 54 + .../cloud-init-hook-network-manager | 26 + X11/Xsession.d/90gpg-agent | 22 + adduser.conf | 85 + alternatives/README | 2 + alternatives/aptitude | 1 + alternatives/aptitude.8.gz | 1 + alternatives/aptitude.cs.8.gz | 1 + alternatives/aptitude.de.8.gz | 1 + alternatives/aptitude.es.8.gz | 1 + alternatives/aptitude.fi.8.gz | 1 + alternatives/aptitude.fr.8.gz | 1 + alternatives/aptitude.gl.8.gz | 1 + alternatives/aptitude.it.8.gz | 1 + alternatives/aptitude.ja.8.gz | 1 + alternatives/aptitude.pl.8.gz | 1 + alternatives/arptables | 1 + alternatives/arptables-restore | 1 + alternatives/arptables-save | 1 + alternatives/awk | 1 + alternatives/awk.1.gz | 1 + alternatives/builtins.7.gz | 1 + alternatives/ebtables | 1 + alternatives/ebtables-restore | 1 + alternatives/ebtables-save | 1 + alternatives/editor | 1 + alternatives/editor.1.gz | 1 + alternatives/ex | 1 + alternatives/ex.1.gz | 1 + alternatives/ex.da.1.gz | 1 + alternatives/ex.de.1.gz | 1 + alternatives/ex.fr.1.gz | 1 + alternatives/ex.it.1.gz | 1 + alternatives/ex.ja.1.gz | 1 + alternatives/ex.pl.1.gz | 1 + alternatives/ex.ru.1.gz | 1 + alternatives/from | 1 + alternatives/from.1.gz | 1 + alternatives/ip6tables | 1 + alternatives/ip6tables-restore | 1 + alternatives/ip6tables-save | 1 + alternatives/iptables | 1 + alternatives/iptables-restore | 1 + alternatives/iptables-save | 1 + alternatives/jsondiff | 1 + alternatives/jsonpatch | 1 + alternatives/jsonpointer | 1 + alternatives/jsonschema | 1 + alternatives/lft | 1 + alternatives/lft.1.gz | 1 + alternatives/lzcat | 1 + alternatives/lzcat.1.gz | 1 + alternatives/lzcmp | 1 + alternatives/lzcmp.1.gz | 1 + alternatives/lzdiff | 1 + alternatives/lzdiff.1.gz | 1 + alternatives/lzegrep | 1 + alternatives/lzegrep.1.gz | 1 + alternatives/lzfgrep | 1 + alternatives/lzfgrep.1.gz | 1 + alternatives/lzgrep | 1 + alternatives/lzgrep.1.gz | 1 + alternatives/lzless | 1 + alternatives/lzless.1.gz | 1 + alternatives/lzma | 1 + alternatives/lzma.1.gz | 1 + alternatives/lzmore | 1 + alternatives/lzmore.1.gz | 1 + alternatives/mt | 1 + alternatives/mt.1.gz | 1 + alternatives/nawk | 1 + alternatives/nawk.1.gz | 1 + alternatives/nc | 1 + alternatives/nc.1.gz | 1 + alternatives/netcat | 1 + alternatives/netcat.1.gz | 1 + alternatives/pager | 1 + alternatives/pager.1.gz | 1 + alternatives/pico | 1 + alternatives/pico.1.gz | 1 + alternatives/pinentry | 1 + alternatives/pinentry.1.gz | 1 + alternatives/rcp | 1 + alternatives/rcp.1.gz | 1 + alternatives/rlogin | 1 + alternatives/rlogin.1.gz | 1 + alternatives/rmt | 1 + alternatives/rmt.8.gz | 1 + alternatives/rsh | 1 + alternatives/rsh.1.gz | 1 + alternatives/rview | 1 + alternatives/rvim | 1 + alternatives/tcptraceroute | 1 + alternatives/tcptraceroute.8.gz | 1 + alternatives/traceproto | 1 + alternatives/traceproto.1.gz | 1 + alternatives/traceroute | 1 + alternatives/traceroute.1.gz | 1 + alternatives/traceroute.sbin | 1 + alternatives/traceroute6 | 1 + alternatives/traceroute6.1.gz | 1 + alternatives/unlzma | 1 + alternatives/unlzma.1.gz | 1 + alternatives/vi | 1 + alternatives/vi.1.gz | 1 + alternatives/vi.da.1.gz | 1 + alternatives/vi.de.1.gz | 1 + alternatives/vi.fr.1.gz | 1 + alternatives/vi.it.1.gz | 1 + alternatives/vi.ja.1.gz | 1 + alternatives/vi.pl.1.gz | 1 + alternatives/vi.ru.1.gz | 1 + alternatives/view | 1 + alternatives/view.1.gz | 1 + alternatives/view.da.1.gz | 1 + alternatives/view.de.1.gz | 1 + alternatives/view.fr.1.gz | 1 + alternatives/view.it.1.gz | 1 + alternatives/view.ja.1.gz | 1 + alternatives/view.pl.1.gz | 1 + alternatives/view.ru.1.gz | 1 + alternatives/vim | 1 + alternatives/vimdiff | 1 + alternatives/w | 1 + alternatives/w.1.gz | 1 + alternatives/write | 1 + alternatives/write.1.gz | 1 + apm/event.d/20hdparm | 82 + apparmor.d/local/usr.bin.man | 0 apparmor.d/usr.bin.man | 101 + apt/SALTSTACK-GPG-KEY.pub | 31 + apt/apt.conf.d/00CDMountPoint | 4 + apt/apt.conf.d/00InstallRecommends | 1 + apt/apt.conf.d/00recommends | 2 + apt/apt.conf.d/00trustcdrom | 1 + apt/apt.conf.d/01autoremove | 59 + apt/apt.conf.d/01autoremove-kernels | 62 + apt/apt.conf.d/05etckeeper | 5 + apt/apt.conf.d/70debconf | 3 + apt/apt.conf.d/99hetzner | 2 + apt/repo.uhu-banane.de.gpg-key2.pub | 52 + apt/sources.list | 21 + apt/sources.list.d/fbrehm.list | 6 + apt/sources.list.d/hetzner-mirror.list | 3 + .../hetzner-security-updates.list | 1 + apt/sources.list.d/salt.list | 1 + apt/trusted.gpg | Bin 0 -> 3479 bytes .../debian-archive-bullseye-automatic.gpg | Bin 0 -> 8700 bytes ...an-archive-bullseye-security-automatic.gpg | Bin 0 -> 8709 bytes .../debian-archive-bullseye-stable.gpg | Bin 0 -> 2453 bytes .../debian-archive-buster-automatic.gpg | Bin 0 -> 8132 bytes ...bian-archive-buster-security-automatic.gpg | Bin 0 -> 8141 bytes .../debian-archive-buster-stable.gpg | Bin 0 -> 2332 bytes .../debian-archive-stretch-automatic.gpg | Bin 0 -> 7443 bytes ...ian-archive-stretch-security-automatic.gpg | Bin 0 -> 7452 bytes .../debian-archive-stretch-stable.gpg | Bin 0 -> 2263 bytes at.deny | 24 + bash.bashrc | 58 + bash_completion | 1 + bash_completion.d/git-prompt | 11 + bindresvport.blacklist | 15 + ca-certificates.conf | 148 + calendar/default | 15 + cloud/cloud.cfg | 106 + cloud/cloud.cfg.d/00_debian.cfg | 2 + cloud/cloud.cfg.d/05_logging.cfg | 71 + cloud/cloud.cfg.d/90-hetznercloud.cfg | 99 + cloud/cloud.cfg.d/99-hetznercloud.cfg | 4 + cloud/cloud.cfg.d/README | 3 + cloud/templates/chef_client.rb.tmpl | 61 + cloud/templates/chrony.conf.debian.tmpl | 39 + cloud/templates/chrony.conf.fedora.tmpl | 48 + cloud/templates/chrony.conf.opensuse.tmpl | 38 + cloud/templates/chrony.conf.rhel.tmpl | 45 + cloud/templates/chrony.conf.sles.tmpl | 38 + cloud/templates/chrony.conf.ubuntu.tmpl | 42 + cloud/templates/hosts.debian.tmpl | 26 + cloud/templates/hosts.freebsd.tmpl | 24 + cloud/templates/hosts.redhat.tmpl | 24 + cloud/templates/hosts.suse.tmpl | 32 + cloud/templates/ntp.conf.debian.tmpl | 64 + cloud/templates/ntp.conf.fedora.tmpl | 66 + cloud/templates/ntp.conf.opensuse.tmpl | 88 + cloud/templates/ntp.conf.rhel.tmpl | 61 + cloud/templates/ntp.conf.sles.tmpl | 88 + cloud/templates/ntp.conf.ubuntu.tmpl | 75 + cloud/templates/resolv.conf.tmpl | 38 + cloud/templates/sources.list.debian.tmpl | 30 + cloud/templates/sources.list.ubuntu.tmpl | 58 + cloud/templates/timesyncd.conf.tmpl | 8 + console-setup/cached_Lat15-Fixed16.psf.gz | Bin 0 -> 2429 bytes console-setup/cached_UTF-8_del.kmap.gz | Bin 0 -> 4359 bytes console-setup/cached_Uni2-Fixed16.psf.gz | Bin 0 -> 4151 bytes console-setup/cached_setup_font.sh | 19 + console-setup/cached_setup_keyboard.sh | 13 + console-setup/cached_setup_terminal.sh | 5 + console-setup/compose.ARMSCII-8.inc | 1 + console-setup/compose.CP1251.inc | 1 + console-setup/compose.CP1255.inc | 1 + console-setup/compose.CP1256.inc | 1 + console-setup/compose.GEORGIAN-ACADEMY.inc | 1 + console-setup/compose.GEORGIAN-PS.inc | 1 + console-setup/compose.IBM1133.inc | 1 + console-setup/compose.ISIRI-3342.inc | 1 + console-setup/compose.ISO-8859-1.inc | 155 + console-setup/compose.ISO-8859-10.inc | 1 + console-setup/compose.ISO-8859-11.inc | 1 + console-setup/compose.ISO-8859-13.inc | 161 + console-setup/compose.ISO-8859-14.inc | 130 + console-setup/compose.ISO-8859-15.inc | 153 + console-setup/compose.ISO-8859-16.inc | 1 + console-setup/compose.ISO-8859-2.inc | 124 + console-setup/compose.ISO-8859-3.inc | 146 + console-setup/compose.ISO-8859-4.inc | 121 + console-setup/compose.ISO-8859-5.inc | 1 + console-setup/compose.ISO-8859-6.inc | 1 + console-setup/compose.ISO-8859-7.inc | 52 + console-setup/compose.ISO-8859-8.inc | 1 + console-setup/compose.ISO-8859-9.inc | 156 + console-setup/compose.KOI8-R.inc | 1 + console-setup/compose.KOI8-U.inc | 1 + console-setup/compose.TIS-620.inc | 1 + console-setup/compose.VISCII.inc | 1 + console-setup/remap.inc | 32 + cron.d/.placeholder | 2 + cron.d/mdadm | 12 + cron.daily/.placeholder | 2 + cron.daily/apt-compat | 55 + cron.daily/aptitude | 11 + cron.daily/bsdmainutils | 16 + cron.daily/dpkg | 36 + cron.daily/etckeeper | 8 + cron.daily/logrotate | 18 + cron.daily/man-db | 43 + cron.daily/mdadm | 18 + cron.daily/passwd | 9 + cron.hourly/.placeholder | 2 + cron.monthly/.placeholder | 2 + cron.weekly/.placeholder | 2 + cron.weekly/man-db | 34 + crontab | 22 + cruft/filters-unex/etckeeper | 13 + cryptsetup-initramfs/conf-hook | 39 + crypttab | 1 + debconf.conf | 83 + debian_version | 1 + default/acpid | 11 + default/bsdmainutils | 4 + default/console-setup | 16 + default/cron | 28 + default/cryptdisks | 12 + default/dbus | 7 + default/grub | 32 + default/grub.d/init-select.cfg | 7 + default/hwclock | 19 + default/keyboard | 10 + default/locale | 2 + default/mdadm | 25 + default/networking | 31 + default/nss | 37 + default/rsync | 47 + default/rsyslog | 4 + default/ssh | 5 + default/useradd | 37 + deluser.conf | 20 + dhcp/debug | 38 + dhcp/dhclient-enter-hooks.d/debug | 1 + dhcp/dhclient-exit-hooks.d/debug | 1 + dhcp/dhclient-exit-hooks.d/hook-dhclient | 27 + .../rfc3442-classless-routes | 78 + dhcp/dhclient-exit-hooks.d/timesyncd | 42 + dhcp/dhclient.conf | 54 + dpkg/dpkg.cfg | 13 + dpkg/origins/debian | 3 + dpkg/origins/default | 1 + environment | 0 etckeeper/commit.d/10vcs-test | 17 + etckeeper/commit.d/20store-metadata | 1 + etckeeper/commit.d/30bzr-add | 8 + etckeeper/commit.d/30darcs-add | 14 + etckeeper/commit.d/30git-add | 8 + etckeeper/commit.d/30hg-addremove | 8 + etckeeper/commit.d/50vcs-commit | 135 + etckeeper/commit.d/99push | 14 + etckeeper/commit.d/README | 3 + etckeeper/daily | 17 + etckeeper/etckeeper.conf | 45 + etckeeper/init.d/10restore-metadata | 14 + etckeeper/init.d/20restore-etckeeper | 22 + etckeeper/init.d/40vcs-init | 17 + etckeeper/init.d/50vcs-ignore | 4 + etckeeper/init.d/50vcs-perm | 12 + etckeeper/init.d/50vcs-pre-commit-hook | 49 + etckeeper/init.d/60darcs-deleted-symlinks | 48 + etckeeper/init.d/70vcs-add | 27 + etckeeper/init.d/README | 13 + etckeeper/list-installed.d/50list-installed | 27 + etckeeper/post-install.d/50vcs-commit | 43 + etckeeper/post-install.d/README | 2 + etckeeper/pre-commit.d/20warn-problem-files | 30 + etckeeper/pre-commit.d/30store-metadata | 175 + etckeeper/pre-commit.d/README | 2 + etckeeper/pre-install.d/10packagelist | 5 + etckeeper/pre-install.d/50uncommitted-changes | 15 + etckeeper/pre-install.d/README | 3 + etckeeper/unclean.d/50test | 12 + etckeeper/unclean.d/README | 2 + etckeeper/uninit.d/01prompt | 20 + etckeeper/uninit.d/50remove-metadata | 6 + etckeeper/uninit.d/50vcs-uninit | 54 + etckeeper/uninit.d/README | 2 + etckeeper/update-ignore.d/01update-ignore | 209 + etckeeper/update-ignore.d/README | 2 + etckeeper/vcs.d/50vcs-cmd | 11 + fstab | 17 + gai.conf | 65 + groff/man.local | 33 + groff/mdoc.local | 33 + group | 51 + group- | 50 + grub.d/00_header | 409 ++ grub.d/05_debian_theme | 197 + grub.d/10_linux | 371 ++ grub.d/20_linux_xen | 299 ++ grub.d/30_os-prober | 376 ++ grub.d/30_uefi-firmware | 46 + grub.d/40_custom | 5 + grub.d/41_custom | 9 + grub.d/README | 11 + gshadow | 51 + gshadow- | 50 + hdparm.conf | 142 + host.conf | 1 + hostname | 1 + hosts | 18 + hosts.allow | 10 + hosts.deny | 17 + init.d/acpid | 83 + init.d/atd | 48 + init.d/cloud-config | 64 + init.d/cloud-final | 66 + init.d/cloud-init | 64 + init.d/cloud-init-local | 63 + init.d/console-setup.sh | 46 + init.d/cron | 92 + init.d/cryptdisks | 53 + init.d/cryptdisks-early | 53 + init.d/dbus | 122 + init.d/hwclock.sh | 120 + init.d/keyboard-setup.sh | 50 + init.d/kmod | 92 + init.d/lvm2 | 33 + init.d/lvm2-lvmpolld | 22 + init.d/mdadm | 100 + init.d/mdadm-waitidle | 56 + init.d/networking | 195 + init.d/procps | 34 + init.d/qemu-guest-agent | 131 + init.d/rsync | 156 + init.d/rsyslog | 129 + init.d/ssh | 162 + init.d/sudo | 44 + init.d/udev | 256 ++ initramfs-tools/conf.d/resume | 1 + initramfs-tools/initramfs.conf | 72 + initramfs-tools/modules | 11 + initramfs-tools/update-initramfs.conf | 20 + inputrc | 67 + iproute2/bpf_pinning | 6 + iproute2/ematch_map | 8 + iproute2/group | 2 + iproute2/nl_protos | 23 + iproute2/rt_dsfield | 26 + iproute2/rt_protos | 23 + iproute2/rt_protos.d/README | 2 + iproute2/rt_realms | 13 + iproute2/rt_scopes | 11 + iproute2/rt_tables | 11 + iproute2/rt_tables.d/README | 2 + issue | 2 + issue.net | 1 + kernel-img.conf | 6 + kernel/postinst.d/apt-auto-removal | 83 + kernel/postinst.d/initramfs-tools | 36 + kernel/postinst.d/zz-update-grub | 26 + kernel/postrm.d/initramfs-tools | 36 + kernel/postrm.d/zz-update-grub | 26 + ld.so.conf | 2 + ld.so.conf.d/libc.conf | 2 + ld.so.conf.d/x86_64-linux-gnu.conf | 4 + ldap/ldap.conf | 17 + libaudit.conf | 7 + locale.alias | 82 + locale.gen | 502 +++ localtime | 1 + logcheck/ignore.d.server/gpg-agent | 11 + logcheck/ignore.d.server/libsasl2-modules | 1 + logcheck/ignore.d.server/mdadm | 23 + logcheck/ignore.d.server/rsyslog | 5 + logcheck/violations.d/mdadm | 3 + login.defs | 340 ++ logrotate.conf | 22 + logrotate.d/alternatives | 10 + logrotate.d/apt | 18 + logrotate.d/aptitude | 9 + logrotate.d/btmp | 8 + logrotate.d/dpkg | 10 + logrotate.d/rsyslog | 60 + logrotate.d/wtmp | 9 + lvm/backup/data | 144 + lvm/lvm.conf | 2190 ++++++++++ lvm/lvmlocal.conf | 57 + lvm/profile/cache-mq.profile | 20 + lvm/profile/cache-smq.profile | 14 + lvm/profile/command_profile_template.profile | 74 + lvm/profile/lvmdbusd.profile | 50 + lvm/profile/metadata_profile_template.profile | 24 + lvm/profile/thin-generic.profile | 4 + lvm/profile/thin-performance.profile | 4 + lvm/profile/vdo-small.profile | 25 + machine-id | 1 + magic | 3 + magic.mime | 3 + mailcap | 63 + mailcap.order | 10 + manpath.config | 131 + mdadm/mdadm.conf | 22 + mime.types | 845 ++++ mke2fs.conf | 47 + modprobe.d/mdadm.conf | 8 + modules | 5 + modules-load.d/modules.conf | 1 + motd | 7 + nanorc | 272 ++ network/if-pre-up.d/ethtool | 14 + network/if-up.d/ethtool | 55 + network/interfaces | 11 + network/interfaces.d/50-cloud-init | 16 + networks | 4 + nsswitch.conf | 20 + os-release | 1 + pam.conf | 15 + pam.d/atd | 10 + pam.d/chfn | 16 + pam.d/chpasswd | 5 + pam.d/chsh | 20 + pam.d/common-account | 25 + pam.d/common-auth | 25 + pam.d/common-password | 33 + pam.d/common-session | 26 + pam.d/common-session-noninteractive | 25 + pam.d/cron | 21 + pam.d/login | 116 + pam.d/newusers | 5 + pam.d/other | 16 + pam.d/passwd | 6 + pam.d/runuser | 5 + pam.d/runuser-l | 5 + pam.d/sshd | 55 + pam.d/su | 61 + pam.d/su-l | 6 + pam.d/sudo | 5 + pam.d/systemd-user | 12 + passwd | 25 + passwd- | 24 + perl/Net/libnet.cfg | 21 + profile | 34 + profile.d/Z99-cloud-locale-test.sh | 75 + profile.d/bash_completion.sh | 15 + profile.d/fbrehm.sh | 183 + protocols | 64 + python/debian_config | 3 + python2.7/sitecustomize.py | 7 + python3.7/sitecustomize.py | 7 + python3/debian_config | 3 + qemu/fsfreeze-hook | 33 + rc0.d/K01atd | 1 + rc0.d/K01cloud-config | 1 + rc0.d/K01cloud-final | 1 + rc0.d/K01cloud-init | 1 + rc0.d/K01cloud-init-local | 1 + rc0.d/K01cryptdisks | 1 + rc0.d/K01cryptdisks-early | 1 + rc0.d/K01hwclock.sh | 1 + rc0.d/K01lvm2-lvmpolld | 1 + rc0.d/K01mdadm | 1 + rc0.d/K01mdadm-waitidle | 1 + rc0.d/K01networking | 1 + rc0.d/K01qemu-guest-agent | 1 + rc0.d/K01rsyslog | 1 + rc0.d/K01udev | 1 + rc1.d/K01atd | 1 + rc1.d/K01cloud-config | 1 + rc1.d/K01cloud-final | 1 + rc1.d/K01cloud-init | 1 + rc1.d/K01cloud-init-local | 1 + rc1.d/K01lvm2-lvmpolld | 1 + rc1.d/K01mdadm | 1 + rc1.d/K01qemu-guest-agent | 1 + rc1.d/K01rsyslog | 1 + rc2.d/S01acpid | 1 + rc2.d/S01atd | 1 + rc2.d/S01cloud-config | 1 + rc2.d/S01cloud-final | 1 + rc2.d/S01cloud-init | 1 + rc2.d/S01cloud-init-local | 1 + rc2.d/S01console-setup.sh | 1 + rc2.d/S01cron | 1 + rc2.d/S01dbus | 1 + rc2.d/S01lvm2-lvmpolld | 1 + rc2.d/S01mdadm | 1 + rc2.d/S01qemu-guest-agent | 1 + rc2.d/S01rsync | 1 + rc2.d/S01rsyslog | 1 + rc2.d/S01ssh | 1 + rc2.d/S01sudo | 1 + rc3.d/S01acpid | 1 + rc3.d/S01atd | 1 + rc3.d/S01cloud-config | 1 + rc3.d/S01cloud-final | 1 + rc3.d/S01cloud-init | 1 + rc3.d/S01cloud-init-local | 1 + rc3.d/S01console-setup.sh | 1 + rc3.d/S01cron | 1 + rc3.d/S01dbus | 1 + rc3.d/S01lvm2-lvmpolld | 1 + rc3.d/S01mdadm | 1 + rc3.d/S01qemu-guest-agent | 1 + rc3.d/S01rsync | 1 + rc3.d/S01rsyslog | 1 + rc3.d/S01ssh | 1 + rc3.d/S01sudo | 1 + rc4.d/S01acpid | 1 + rc4.d/S01atd | 1 + rc4.d/S01cloud-config | 1 + rc4.d/S01cloud-final | 1 + rc4.d/S01cloud-init | 1 + rc4.d/S01cloud-init-local | 1 + rc4.d/S01console-setup.sh | 1 + rc4.d/S01cron | 1 + rc4.d/S01dbus | 1 + rc4.d/S01lvm2-lvmpolld | 1 + rc4.d/S01mdadm | 1 + rc4.d/S01qemu-guest-agent | 1 + rc4.d/S01rsync | 1 + rc4.d/S01rsyslog | 1 + rc4.d/S01ssh | 1 + rc4.d/S01sudo | 1 + rc5.d/S01acpid | 1 + rc5.d/S01atd | 1 + rc5.d/S01cloud-config | 1 + rc5.d/S01cloud-final | 1 + rc5.d/S01cloud-init | 1 + rc5.d/S01cloud-init-local | 1 + rc5.d/S01console-setup.sh | 1 + rc5.d/S01cron | 1 + rc5.d/S01dbus | 1 + rc5.d/S01lvm2-lvmpolld | 1 + rc5.d/S01mdadm | 1 + rc5.d/S01qemu-guest-agent | 1 + rc5.d/S01rsync | 1 + rc5.d/S01rsyslog | 1 + rc5.d/S01ssh | 1 + rc5.d/S01sudo | 1 + rc6.d/K01atd | 1 + rc6.d/K01cloud-config | 1 + rc6.d/K01cloud-final | 1 + rc6.d/K01cloud-init | 1 + rc6.d/K01cloud-init-local | 1 + rc6.d/K01cryptdisks | 1 + rc6.d/K01cryptdisks-early | 1 + rc6.d/K01hwclock.sh | 1 + rc6.d/K01lvm2-lvmpolld | 1 + rc6.d/K01mdadm | 1 + rc6.d/K01mdadm-waitidle | 1 + rc6.d/K01networking | 1 + rc6.d/K01qemu-guest-agent | 1 + rc6.d/K01rsyslog | 1 + rc6.d/K01udev | 1 + rcS.d/S01cryptdisks | 1 + rcS.d/S01cryptdisks-early | 1 + rcS.d/S01hwclock.sh | 1 + rcS.d/S01keyboard-setup.sh | 1 + rcS.d/S01kmod | 1 + rcS.d/S01lvm2 | 1 + rcS.d/S01networking | 1 + rcS.d/S01procps | 1 + rcS.d/S01udev | 1 + reportbug.conf | 130 + resolv.conf | 3 + rmt | 1 + rpc | 40 + rsyslog.conf | 92 + rsyslog.d/21-cloudinit.conf | 6 + rsyslog.d/60-default.conf | 36 + rsyslog.d/60-mail.conf | 32 + rsyslog.d/70-fb.conf | 31 + securetty | 412 ++ security/access.conf | 122 + security/group.conf | 106 + security/limits.conf | 56 + security/namespace.conf | 28 + security/namespace.init | 25 + security/opasswd | 0 security/pam_env.conf | 73 + security/sepermit.conf | 11 + security/time.conf | 65 + selinux/semanage.conf | 45 + services | 578 +++ shadow | 25 + shadow- | 25 + shells | 8 + skel/.bash_logout | 7 + skel/.bashrc | 113 + skel/.cloud-locale-test.skip | 0 skel/.profile | 27 + ssh/moduli | 427 ++ ssh/ssh_config | 51 + ssh/ssh_host_dsa_key | 21 + ssh/ssh_host_dsa_key.pub | 1 + ssh/ssh_host_ecdsa_key | 9 + ssh/ssh_host_ecdsa_key.pub | 1 + ssh/ssh_host_ed25519_key | 7 + ssh/ssh_host_ed25519_key.pub | 1 + ssh/ssh_host_rsa_key | 27 + ssh/ssh_host_rsa_key.pub | 1 + ssh/sshd_config | 121 + ssl/certs/02265526.0 | 1 + ssl/certs/03179a64.0 | 1 + ssl/certs/062cdee6.0 | 1 + ssl/certs/064e0aa9.0 | 1 + ssl/certs/06dc52d5.0 | 1 + ssl/certs/080911ac.0 | 1 + ssl/certs/09789157.0 | 1 + ssl/certs/0a775a30.0 | 1 + ssl/certs/0b1b94ef.0 | 1 + ssl/certs/0bf05006.0 | 1 + ssl/certs/0c4c9b6c.0 | 1 + ssl/certs/0f5dc4f3.0 | 1 + ssl/certs/0f6fa695.0 | 1 + ssl/certs/1001acf7.0 | 1 + ssl/certs/106f3e4d.0 | 1 + ssl/certs/116bf586.0 | 1 + ssl/certs/128805a3.0 | 1 + ssl/certs/14bc7599.0 | 1 + ssl/certs/1636090b.0 | 1 + ssl/certs/18856ac4.0 | 1 + ssl/certs/1d3472b9.0 | 1 + ssl/certs/1e08bfd1.0 | 1 + ssl/certs/1e09d511.0 | 1 + ssl/certs/244b5494.0 | 1 + ssl/certs/2923b3f9.0 | 1 + ssl/certs/2ae6433e.0 | 1 + ssl/certs/2b349938.0 | 1 + ssl/certs/2c543cd1.0 | 1 + ssl/certs/2e4eed3c.0 | 1 + ssl/certs/2e5ac55d.0 | 1 + ssl/certs/32888f65.0 | 1 + ssl/certs/349f2832.0 | 1 + ssl/certs/3513523f.0 | 1 + ssl/certs/3bde41ac.0 | 1 + ssl/certs/3e44d2f7.0 | 1 + ssl/certs/3e45d192.0 | 1 + ssl/certs/40193066.0 | 1 + ssl/certs/4042bcee.0 | 1 + ssl/certs/40547a79.0 | 1 + ssl/certs/406c9bb1.0 | 1 + ssl/certs/4304c5e5.0 | 1 + ssl/certs/480720ec.0 | 1 + ssl/certs/48bec511.0 | 1 + ssl/certs/4a6481c9.0 | 1 + ssl/certs/4b718d9b.0 | 1 + ssl/certs/4bfab552.0 | 1 + ssl/certs/4f316efb.0 | 1 + ssl/certs/5273a94c.0 | 1 + ssl/certs/5443e9e3.0 | 1 + ssl/certs/54657681.0 | 1 + ssl/certs/57bcb2da.0 | 1 + ssl/certs/5a4d6896.0 | 1 + ssl/certs/5ad8a5d6.0 | 1 + ssl/certs/5c44d531.0 | 1 + ssl/certs/5cd81ad7.0 | 1 + ssl/certs/5d3033c5.0 | 1 + ssl/certs/5e98733a.0 | 1 + ssl/certs/5f15c80c.0 | 1 + ssl/certs/607986c7.0 | 1 + ssl/certs/626dceaf.0 | 1 + ssl/certs/6410666e.0 | 1 + ssl/certs/653b494a.0 | 1 + ssl/certs/68dd7389.0 | 1 + ssl/certs/6b99d060.0 | 1 + ssl/certs/6d41d539.0 | 1 + ssl/certs/6fa5da56.0 | 1 + ssl/certs/706f604c.0 | 1 + ssl/certs/749e9e03.0 | 1 + ssl/certs/75d1b2ed.0 | 1 + ssl/certs/76cb8f92.0 | 1 + ssl/certs/76faf6c0.0 | 1 + ssl/certs/7719f463.0 | 1 + ssl/certs/773e07ad.0 | 1 + ssl/certs/7aaf71c0.0 | 1 + ssl/certs/7d0b38bd.0 | 1 + ssl/certs/7f3d5d1d.0 | 1 + ssl/certs/8160b96c.0 | 1 + ssl/certs/8867006a.0 | 1 + ssl/certs/8cb5ee0f.0 | 1 + ssl/certs/8d86cdd1.0 | 1 + ssl/certs/930ac5d2.0 | 1 + ssl/certs/93bc0acc.0 | 1 + ssl/certs/988a38cb.0 | 1 + ssl/certs/9c2e7d30.0 | 1 + ssl/certs/9c8dfbd4.0 | 1 + ssl/certs/9d04f354.0 | 1 + ssl/certs/ACCVRAIZ1.pem | 1 + ssl/certs/AC_RAIZ_FNMT-RCM.pem | 1 + ssl/certs/Actalis_Authentication_Root_CA.pem | 1 + ssl/certs/AffirmTrust_Commercial.pem | 1 + ssl/certs/AffirmTrust_Networking.pem | 1 + ssl/certs/AffirmTrust_Premium.pem | 1 + ssl/certs/AffirmTrust_Premium_ECC.pem | 1 + ssl/certs/Amazon_Root_CA_1.pem | 1 + ssl/certs/Amazon_Root_CA_2.pem | 1 + ssl/certs/Amazon_Root_CA_3.pem | 1 + ssl/certs/Amazon_Root_CA_4.pem | 1 + ssl/certs/Atos_TrustedRoot_2011.pem | 1 + ...icacion_Firmaprofesional_CIF_A62634068.pem | 1 + ssl/certs/Baltimore_CyberTrust_Root.pem | 1 + ssl/certs/Buypass_Class_2_Root_CA.pem | 1 + ssl/certs/Buypass_Class_3_Root_CA.pem | 1 + ssl/certs/CA_Disig_Root_R2.pem | 1 + ssl/certs/CFCA_EV_ROOT.pem | 1 + ssl/certs/COMODO_Certification_Authority.pem | 1 + .../COMODO_ECC_Certification_Authority.pem | 1 + .../COMODO_RSA_Certification_Authority.pem | 1 + ssl/certs/Certigna.pem | 1 + ssl/certs/Certigna_Root_CA.pem | 1 + ssl/certs/Certum_Trusted_Network_CA.pem | 1 + ssl/certs/Certum_Trusted_Network_CA_2.pem | 1 + .../Chambers_of_Commerce_Root_-_2008.pem | 1 + ssl/certs/Comodo_AAA_Services_root.pem | 1 + ssl/certs/Cybertrust_Global_Root.pem | 1 + ssl/certs/D-TRUST_Root_Class_3_CA_2_2009.pem | 1 + .../D-TRUST_Root_Class_3_CA_2_EV_2009.pem | 1 + ssl/certs/DST_Root_CA_X3.pem | 1 + ssl/certs/DigiCert_Assured_ID_Root_CA.pem | 1 + ssl/certs/DigiCert_Assured_ID_Root_G2.pem | 1 + ssl/certs/DigiCert_Assured_ID_Root_G3.pem | 1 + ssl/certs/DigiCert_Global_Root_CA.pem | 1 + ssl/certs/DigiCert_Global_Root_G2.pem | 1 + ssl/certs/DigiCert_Global_Root_G3.pem | 1 + .../DigiCert_High_Assurance_EV_Root_CA.pem | 1 + ssl/certs/DigiCert_Trusted_Root_G4.pem | 1 + ssl/certs/E-Tugra_Certification_Authority.pem | 1 + ssl/certs/EC-ACC.pem | 1 + ssl/certs/EE_Certification_Centre_Root_CA.pem | 1 + ...rust.net_Premium_2048_Secure_Server_CA.pem | 1 + .../Entrust_Root_Certification_Authority.pem | 1 + ...ust_Root_Certification_Authority_-_EC1.pem | 1 + ...rust_Root_Certification_Authority_-_G2.pem | 1 + ...rust_Root_Certification_Authority_-_G4.pem | 1 + ssl/certs/GDCA_TrustAUTH_R5_ROOT.pem | 1 + ssl/certs/GTS_Root_R1.pem | 1 + ssl/certs/GTS_Root_R2.pem | 1 + ssl/certs/GTS_Root_R3.pem | 1 + ssl/certs/GTS_Root_R4.pem | 1 + ssl/certs/GeoTrust_Global_CA.pem | 1 + ...oTrust_Primary_Certification_Authority.pem | 1 + ...t_Primary_Certification_Authority_-_G2.pem | 1 + ...t_Primary_Certification_Authority_-_G3.pem | 1 + ssl/certs/GeoTrust_Universal_CA.pem | 1 + ssl/certs/GeoTrust_Universal_CA_2.pem | 1 + ssl/certs/GlobalSign_ECC_Root_CA_-_R4.pem | 1 + ssl/certs/GlobalSign_ECC_Root_CA_-_R5.pem | 1 + ssl/certs/GlobalSign_Root_CA.pem | 1 + ssl/certs/GlobalSign_Root_CA_-_R2.pem | 1 + ssl/certs/GlobalSign_Root_CA_-_R3.pem | 1 + ssl/certs/GlobalSign_Root_CA_-_R6.pem | 1 + ssl/certs/Global_Chambersign_Root_-_2008.pem | 1 + ssl/certs/Go_Daddy_Class_2_CA.pem | 1 + ..._Daddy_Root_Certificate_Authority_-_G2.pem | 1 + ..._Research_Institutions_ECC_RootCA_2015.pem | 1 + ..._and_Research_Institutions_RootCA_2011.pem | 1 + ..._and_Research_Institutions_RootCA_2015.pem | 1 + ssl/certs/Hongkong_Post_Root_CA_1.pem | 1 + ssl/certs/Hongkong_Post_Root_CA_3.pem | 1 + ssl/certs/ISRG_Root_X1.pem | 1 + ssl/certs/IdenTrust_Commercial_Root_CA_1.pem | 1 + .../IdenTrust_Public_Sector_Root_CA_1.pem | 1 + ssl/certs/Izenpe.com.pem | 1 + ssl/certs/LuxTrust_Global_Root_2.pem | 1 + ssl/certs/Microsec_e-Szigno_Root_CA_2009.pem | 1 + ...5\221tan\303\272s\303\255tv\303\241ny.pem" | 1 + ...etwork_Solutions_Certificate_Authority.pem | 1 + ssl/certs/OISTE_WISeKey_Global_Root_GA_CA.pem | 1 + ssl/certs/OISTE_WISeKey_Global_Root_GB_CA.pem | 1 + ssl/certs/OISTE_WISeKey_Global_Root_GC_CA.pem | 1 + ssl/certs/QuoVadis_Root_CA.pem | 1 + ssl/certs/QuoVadis_Root_CA_1_G3.pem | 1 + ssl/certs/QuoVadis_Root_CA_2.pem | 1 + ssl/certs/QuoVadis_Root_CA_2_G3.pem | 1 + ssl/certs/QuoVadis_Root_CA_3.pem | 1 + ssl/certs/QuoVadis_Root_CA_3_G3.pem | 1 + ...om_EV_Root_Certification_Authority_ECC.pem | 1 + ...EV_Root_Certification_Authority_RSA_R2.pem | 1 + ...L.com_Root_Certification_Authority_ECC.pem | 1 + ...L.com_Root_Certification_Authority_RSA.pem | 1 + ssl/certs/SZAFIR_ROOT_CA2.pem | 1 + ssl/certs/SecureSign_RootCA11.pem | 1 + ssl/certs/SecureTrust_CA.pem | 1 + ssl/certs/Secure_Global_CA.pem | 1 + ssl/certs/Security_Communication_RootCA2.pem | 1 + ssl/certs/Security_Communication_Root_CA.pem | 1 + ssl/certs/Sonera_Class_2_Root_CA.pem | 1 + .../Staat_der_Nederlanden_EV_Root_CA.pem | 1 + .../Staat_der_Nederlanden_Root_CA_-_G2.pem | 1 + .../Staat_der_Nederlanden_Root_CA_-_G3.pem | 1 + ssl/certs/Starfield_Class_2_CA.pem | 1 + ...rfield_Root_Certificate_Authority_-_G2.pem | 1 + ...rvices_Root_Certificate_Authority_-_G2.pem | 1 + ssl/certs/SwissSign_Gold_CA_-_G2.pem | 1 + ssl/certs/SwissSign_Silver_CA_-_G2.pem | 1 + ssl/certs/T-TeleSec_GlobalRoot_Class_2.pem | 1 + ssl/certs/T-TeleSec_GlobalRoot_Class_3.pem | 1 + ..._Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem | 1 + ssl/certs/TWCA_Global_Root_CA.pem | 1 + .../TWCA_Root_Certification_Authority.pem | 1 + ssl/certs/Taiwan_GRCA.pem | 1 + ssl/certs/TeliaSonera_Root_CA_v1.pem | 1 + ssl/certs/TrustCor_ECA-1.pem | 1 + ssl/certs/TrustCor_RootCert_CA-1.pem | 1 + ssl/certs/TrustCor_RootCert_CA-2.pem | 1 + ssl/certs/Trustis_FPS_Root_CA.pem | 1 + ssl/certs/UCA_Extended_Validation_Root.pem | 1 + ssl/certs/UCA_Global_G2_Root.pem | 1 + .../USERTrust_ECC_Certification_Authority.pem | 1 + .../USERTrust_RSA_Certification_Authority.pem | 1 + ...c_Primary_Certification_Authority_-_G4.pem | 1 + ...c_Primary_Certification_Authority_-_G5.pem | 1 + ...Universal_Root_Certification_Authority.pem | 1 + ...c_Primary_Certification_Authority_-_G3.pem | 1 + ssl/certs/XRamp_Global_CA_Root.pem | 1 + ssl/certs/a3418fda.0 | 1 + ssl/certs/a94d09e5.0 | 1 + ssl/certs/ad088e1d.0 | 1 + ssl/certs/aee5f10d.0 | 1 + ssl/certs/b0e59380.0 | 1 + ssl/certs/b1159c4c.0 | 1 + ssl/certs/b1b8a7f3.0 | 1 + ssl/certs/b204d74a.0 | 1 + ssl/certs/b66938e9.0 | 1 + ssl/certs/b727005e.0 | 1 + ssl/certs/b7a5b843.0 | 1 + ssl/certs/ba89ed3b.0 | 1 + ssl/certs/c01cdfa2.0 | 1 + ssl/certs/c01eb047.0 | 1 + ssl/certs/c089bbbd.0 | 1 + ssl/certs/c0ff1f52.0 | 1 + ssl/certs/c28a8a30.0 | 1 + ssl/certs/c47d9980.0 | 1 + ssl/certs/ca-certificates.crt | 3512 +++++++++++++++++ ssl/certs/ca6e4ad9.0 | 1 + ssl/certs/cbf06781.0 | 1 + ssl/certs/cc450945.0 | 1 + ssl/certs/cd58d51e.0 | 1 + ssl/certs/cd8c0d63.0 | 1 + ssl/certs/ce5e74ef.0 | 1 + ssl/certs/certSIGN_ROOT_CA.pem | 1 + ssl/certs/d4dae3dd.0 | 1 + ssl/certs/d6325660.0 | 1 + ssl/certs/d7e8dc79.0 | 1 + ssl/certs/d853d49e.0 | 1 + ssl/certs/dc4d6a89.0 | 1 + ssl/certs/dd8e9d41.0 | 1 + ssl/certs/de6d66f3.0 | 1 + ssl/certs/def36a68.0 | 1 + ssl/certs/e113c810.0 | 1 + ssl/certs/e18bfb83.0 | 1 + ssl/certs/e2799e36.0 | 1 + ssl/certs/e36a6752.0 | 1 + ssl/certs/e73d606e.0 | 1 + ssl/certs/e8de2f56.0 | 1 + .../ePKI_Root_Certification_Authority.pem | 1 + ssl/certs/ee64a828.0 | 1 + ssl/certs/eed8c118.0 | 1 + ssl/certs/ef954a4e.0 | 1 + ssl/certs/emSign_ECC_Root_CA_-_C3.pem | 1 + ssl/certs/emSign_ECC_Root_CA_-_G3.pem | 1 + ssl/certs/emSign_Root_CA_-_C1.pem | 1 + ssl/certs/emSign_Root_CA_-_G1.pem | 1 + ssl/certs/f081611a.0 | 1 + ssl/certs/f0c70a8d.0 | 1 + ssl/certs/f30dd6ad.0 | 1 + ssl/certs/f3377b1b.0 | 1 + ssl/certs/f387163d.0 | 1 + ssl/certs/f39fc864.0 | 1 + ssl/certs/f51bb24c.0 | 1 + ssl/certs/fc5a8f99.0 | 1 + ssl/certs/fe8a2cd8.0 | 1 + ssl/certs/ff34af3f.0 | 1 + ssl/certs/thawte_Primary_Root_CA.pem | 1 + ssl/certs/thawte_Primary_Root_CA_-_G2.pem | 1 + ssl/certs/thawte_Primary_Root_CA_-_G3.pem | 1 + ssl/openssl.cnf | 362 ++ subgid | 0 subuid | 0 sudoers | 27 + sudoers.d/90-cloud-init-users | 4 + sudoers.d/README | 21 + sysctl.conf | 68 + sysctl.d/99-sysctl.conf | 1 + sysctl.d/README.sysctl | 13 + sysctl.d/protect-links.conf | 8 + systemd/journald.conf | 43 + systemd/logind.conf | 37 + systemd/networkd.conf | 16 + systemd/resolved.conf | 24 + systemd/sleep.conf | 25 + systemd/system.conf | 64 + .../cloud-config.service | 1 + .../cloud-final.service | 1 + .../cloud-init-local.service | 1 + .../cloud-init.service | 1 + .../dbus-org.freedesktop.timesync1.service | 1 + .../getty.target.wants/getty@tty1.service | 1 + .../multi-user.target.wants/atd.service | 1 + .../console-setup.service | 1 + .../multi-user.target.wants/cron.service | 1 + .../multi-user.target.wants/etckeeper.timer | 1 + .../hc-net-scan.service | 1 + .../networking.service | 1 + .../multi-user.target.wants/remote-fs.target | 1 + .../multi-user.target.wants/rsync.service | 1 + .../multi-user.target.wants/rsyslog.service | 1 + .../multi-user.target.wants/ssh.service | 1 + .../networking.service | 1 + .../sockets.target.wants/dm-event.socket | 1 + systemd/system/sshd.service | 1 + .../blk-availability.service | 1 + .../keyboard-setup.service | 1 + .../sysinit.target.wants/lvm2-lvmpolld.socket | 1 + .../sysinit.target.wants/lvm2-monitor.service | 1 + .../systemd-timesyncd.service | 1 + systemd/system/syslog.service | 1 + .../apt-daily-upgrade.timer | 1 + .../timers.target.wants/apt-daily.timer | 1 + .../system/timers.target.wants/fstrim.timer | 1 + .../timers.target.wants/logrotate.timer | 1 + .../system/timers.target.wants/man-db.timer | 1 + systemd/timesyncd.conf | 19 + systemd/user.conf | 44 + terminfo/README | 3 + timezone | 1 + ucf.conf | 39 + udev/rules.d/70-persistent-net.rules | 1 + udev/udev.conf | 10 + ufw/applications.d/openssh-server | 4 + update-motd.d/10-uname | 2 + vim/vimrc | 55 + vim/vimrc.local | 47 + vim/vimrc.tiny | 13 + wgetrc | 138 + xattr.conf | 21 + xdg/systemd/user | 1 + 964 files changed, 25545 insertions(+) create mode 100755 .etckeeper create mode 100644 .gitignore create mode 100755 NetworkManager/dispatcher.d/cloud-init-hook-network-manager create mode 100644 X11/Xsession.d/90gpg-agent create mode 100644 adduser.conf create mode 100644 alternatives/README create mode 120000 alternatives/aptitude create mode 120000 alternatives/aptitude.8.gz create mode 120000 alternatives/aptitude.cs.8.gz create mode 120000 alternatives/aptitude.de.8.gz create mode 120000 alternatives/aptitude.es.8.gz create mode 120000 alternatives/aptitude.fi.8.gz create mode 120000 alternatives/aptitude.fr.8.gz create mode 120000 alternatives/aptitude.gl.8.gz create mode 120000 alternatives/aptitude.it.8.gz create mode 120000 alternatives/aptitude.ja.8.gz create mode 120000 alternatives/aptitude.pl.8.gz create mode 120000 alternatives/arptables create mode 120000 alternatives/arptables-restore create mode 120000 alternatives/arptables-save create mode 120000 alternatives/awk create mode 120000 alternatives/awk.1.gz create mode 120000 alternatives/builtins.7.gz create mode 120000 alternatives/ebtables create mode 120000 alternatives/ebtables-restore create mode 120000 alternatives/ebtables-save create mode 120000 alternatives/editor create mode 120000 alternatives/editor.1.gz create mode 120000 alternatives/ex create mode 120000 alternatives/ex.1.gz create mode 120000 alternatives/ex.da.1.gz create mode 120000 alternatives/ex.de.1.gz create mode 120000 alternatives/ex.fr.1.gz create mode 120000 alternatives/ex.it.1.gz create mode 120000 alternatives/ex.ja.1.gz create mode 120000 alternatives/ex.pl.1.gz create mode 120000 alternatives/ex.ru.1.gz create mode 120000 alternatives/from create mode 120000 alternatives/from.1.gz create mode 120000 alternatives/ip6tables create mode 120000 alternatives/ip6tables-restore create mode 120000 alternatives/ip6tables-save create mode 120000 alternatives/iptables create mode 120000 alternatives/iptables-restore create mode 120000 alternatives/iptables-save create mode 120000 alternatives/jsondiff create mode 120000 alternatives/jsonpatch create mode 120000 alternatives/jsonpointer create mode 120000 alternatives/jsonschema create mode 120000 alternatives/lft create mode 120000 alternatives/lft.1.gz create mode 120000 alternatives/lzcat create mode 120000 alternatives/lzcat.1.gz create mode 120000 alternatives/lzcmp create mode 120000 alternatives/lzcmp.1.gz create mode 120000 alternatives/lzdiff create mode 120000 alternatives/lzdiff.1.gz create mode 120000 alternatives/lzegrep create mode 120000 alternatives/lzegrep.1.gz create mode 120000 alternatives/lzfgrep create mode 120000 alternatives/lzfgrep.1.gz create mode 120000 alternatives/lzgrep create mode 120000 alternatives/lzgrep.1.gz create mode 120000 alternatives/lzless create mode 120000 alternatives/lzless.1.gz create mode 120000 alternatives/lzma create mode 120000 alternatives/lzma.1.gz create mode 120000 alternatives/lzmore create mode 120000 alternatives/lzmore.1.gz create mode 120000 alternatives/mt create mode 120000 alternatives/mt.1.gz create mode 120000 alternatives/nawk create mode 120000 alternatives/nawk.1.gz create mode 120000 alternatives/nc create mode 120000 alternatives/nc.1.gz create mode 120000 alternatives/netcat create mode 120000 alternatives/netcat.1.gz create mode 120000 alternatives/pager create mode 120000 alternatives/pager.1.gz create mode 120000 alternatives/pico create mode 120000 alternatives/pico.1.gz create mode 120000 alternatives/pinentry create mode 120000 alternatives/pinentry.1.gz create mode 120000 alternatives/rcp create mode 120000 alternatives/rcp.1.gz create mode 120000 alternatives/rlogin create mode 120000 alternatives/rlogin.1.gz create mode 120000 alternatives/rmt create mode 120000 alternatives/rmt.8.gz create mode 120000 alternatives/rsh create mode 120000 alternatives/rsh.1.gz create mode 120000 alternatives/rview create mode 120000 alternatives/rvim create mode 120000 alternatives/tcptraceroute create mode 120000 alternatives/tcptraceroute.8.gz create mode 120000 alternatives/traceproto create mode 120000 alternatives/traceproto.1.gz create mode 120000 alternatives/traceroute create mode 120000 alternatives/traceroute.1.gz create mode 120000 alternatives/traceroute.sbin create mode 120000 alternatives/traceroute6 create mode 120000 alternatives/traceroute6.1.gz create mode 120000 alternatives/unlzma create mode 120000 alternatives/unlzma.1.gz create mode 120000 alternatives/vi create mode 120000 alternatives/vi.1.gz create mode 120000 alternatives/vi.da.1.gz create mode 120000 alternatives/vi.de.1.gz create mode 120000 alternatives/vi.fr.1.gz create mode 120000 alternatives/vi.it.1.gz create mode 120000 alternatives/vi.ja.1.gz create mode 120000 alternatives/vi.pl.1.gz create mode 120000 alternatives/vi.ru.1.gz create mode 120000 alternatives/view create mode 120000 alternatives/view.1.gz create mode 120000 alternatives/view.da.1.gz create mode 120000 alternatives/view.de.1.gz create mode 120000 alternatives/view.fr.1.gz create mode 120000 alternatives/view.it.1.gz create mode 120000 alternatives/view.ja.1.gz create mode 120000 alternatives/view.pl.1.gz create mode 120000 alternatives/view.ru.1.gz create mode 120000 alternatives/vim create mode 120000 alternatives/vimdiff create mode 120000 alternatives/w create mode 120000 alternatives/w.1.gz create mode 120000 alternatives/write create mode 120000 alternatives/write.1.gz create mode 100755 apm/event.d/20hdparm create mode 100644 apparmor.d/local/usr.bin.man create mode 100644 apparmor.d/usr.bin.man create mode 100644 apt/SALTSTACK-GPG-KEY.pub create mode 100644 apt/apt.conf.d/00CDMountPoint create mode 100644 apt/apt.conf.d/00InstallRecommends create mode 100644 apt/apt.conf.d/00recommends create mode 100644 apt/apt.conf.d/00trustcdrom create mode 100644 apt/apt.conf.d/01autoremove create mode 100644 apt/apt.conf.d/01autoremove-kernels create mode 100644 apt/apt.conf.d/05etckeeper create mode 100644 apt/apt.conf.d/70debconf create mode 100644 apt/apt.conf.d/99hetzner create mode 100644 apt/repo.uhu-banane.de.gpg-key2.pub create mode 100644 apt/sources.list create mode 100644 apt/sources.list.d/fbrehm.list create mode 100644 apt/sources.list.d/hetzner-mirror.list create mode 100644 apt/sources.list.d/hetzner-security-updates.list create mode 100644 apt/sources.list.d/salt.list create mode 100644 apt/trusted.gpg create mode 100644 apt/trusted.gpg.d/debian-archive-bullseye-automatic.gpg create mode 100644 apt/trusted.gpg.d/debian-archive-bullseye-security-automatic.gpg create mode 100644 apt/trusted.gpg.d/debian-archive-bullseye-stable.gpg create mode 100644 apt/trusted.gpg.d/debian-archive-buster-automatic.gpg create mode 100644 apt/trusted.gpg.d/debian-archive-buster-security-automatic.gpg create mode 100644 apt/trusted.gpg.d/debian-archive-buster-stable.gpg create mode 100644 apt/trusted.gpg.d/debian-archive-stretch-automatic.gpg create mode 100644 apt/trusted.gpg.d/debian-archive-stretch-security-automatic.gpg create mode 100644 apt/trusted.gpg.d/debian-archive-stretch-stable.gpg create mode 100644 at.deny create mode 100644 bash.bashrc create mode 100644 bash_completion create mode 100644 bash_completion.d/git-prompt create mode 100644 bindresvport.blacklist create mode 100644 ca-certificates.conf create mode 100644 calendar/default create mode 100644 cloud/cloud.cfg create mode 100644 cloud/cloud.cfg.d/00_debian.cfg create mode 100644 cloud/cloud.cfg.d/05_logging.cfg create mode 100644 cloud/cloud.cfg.d/90-hetznercloud.cfg create mode 100644 cloud/cloud.cfg.d/99-hetznercloud.cfg create mode 100644 cloud/cloud.cfg.d/README create mode 100644 cloud/templates/chef_client.rb.tmpl create mode 100644 cloud/templates/chrony.conf.debian.tmpl create mode 100644 cloud/templates/chrony.conf.fedora.tmpl create mode 100644 cloud/templates/chrony.conf.opensuse.tmpl create mode 100644 cloud/templates/chrony.conf.rhel.tmpl create mode 100644 cloud/templates/chrony.conf.sles.tmpl create mode 100644 cloud/templates/chrony.conf.ubuntu.tmpl create mode 100644 cloud/templates/hosts.debian.tmpl create mode 100644 cloud/templates/hosts.freebsd.tmpl create mode 100644 cloud/templates/hosts.redhat.tmpl create mode 100644 cloud/templates/hosts.suse.tmpl create mode 100644 cloud/templates/ntp.conf.debian.tmpl create mode 100644 cloud/templates/ntp.conf.fedora.tmpl create mode 100644 cloud/templates/ntp.conf.opensuse.tmpl create mode 100644 cloud/templates/ntp.conf.rhel.tmpl create mode 100644 cloud/templates/ntp.conf.sles.tmpl create mode 100644 cloud/templates/ntp.conf.ubuntu.tmpl create mode 100644 cloud/templates/resolv.conf.tmpl create mode 100644 cloud/templates/sources.list.debian.tmpl create mode 100644 cloud/templates/sources.list.ubuntu.tmpl create mode 100644 cloud/templates/timesyncd.conf.tmpl create mode 100644 console-setup/cached_Lat15-Fixed16.psf.gz create mode 100644 console-setup/cached_UTF-8_del.kmap.gz create mode 100644 console-setup/cached_Uni2-Fixed16.psf.gz create mode 100755 console-setup/cached_setup_font.sh create mode 100755 console-setup/cached_setup_keyboard.sh create mode 100755 console-setup/cached_setup_terminal.sh create mode 100644 console-setup/compose.ARMSCII-8.inc create mode 100644 console-setup/compose.CP1251.inc create mode 100644 console-setup/compose.CP1255.inc create mode 100644 console-setup/compose.CP1256.inc create mode 100644 console-setup/compose.GEORGIAN-ACADEMY.inc create mode 100644 console-setup/compose.GEORGIAN-PS.inc create mode 100644 console-setup/compose.IBM1133.inc create mode 100644 console-setup/compose.ISIRI-3342.inc create mode 100644 console-setup/compose.ISO-8859-1.inc create mode 100644 console-setup/compose.ISO-8859-10.inc create mode 100644 console-setup/compose.ISO-8859-11.inc create mode 100644 console-setup/compose.ISO-8859-13.inc create mode 100644 console-setup/compose.ISO-8859-14.inc create mode 100644 console-setup/compose.ISO-8859-15.inc create mode 100644 console-setup/compose.ISO-8859-16.inc create mode 100644 console-setup/compose.ISO-8859-2.inc create mode 100644 console-setup/compose.ISO-8859-3.inc create mode 100644 console-setup/compose.ISO-8859-4.inc create mode 100644 console-setup/compose.ISO-8859-5.inc create mode 100644 console-setup/compose.ISO-8859-6.inc create mode 100644 console-setup/compose.ISO-8859-7.inc create mode 100644 console-setup/compose.ISO-8859-8.inc create mode 100644 console-setup/compose.ISO-8859-9.inc create mode 100644 console-setup/compose.KOI8-R.inc create mode 100644 console-setup/compose.KOI8-U.inc create mode 100644 console-setup/compose.TIS-620.inc create mode 100644 console-setup/compose.VISCII.inc create mode 100644 console-setup/remap.inc create mode 100644 cron.d/.placeholder create mode 100644 cron.d/mdadm create mode 100644 cron.daily/.placeholder create mode 100755 cron.daily/apt-compat create mode 100755 cron.daily/aptitude create mode 100755 cron.daily/bsdmainutils create mode 100755 cron.daily/dpkg create mode 100755 cron.daily/etckeeper create mode 100755 cron.daily/logrotate create mode 100755 cron.daily/man-db create mode 100755 cron.daily/mdadm create mode 100755 cron.daily/passwd create mode 100644 cron.hourly/.placeholder create mode 100644 cron.monthly/.placeholder create mode 100644 cron.weekly/.placeholder create mode 100755 cron.weekly/man-db create mode 100644 crontab create mode 100644 cruft/filters-unex/etckeeper create mode 100644 cryptsetup-initramfs/conf-hook create mode 100644 crypttab create mode 100644 debconf.conf create mode 100644 debian_version create mode 100644 default/acpid create mode 100644 default/bsdmainutils create mode 100644 default/console-setup create mode 100644 default/cron create mode 100644 default/cryptdisks create mode 100644 default/dbus create mode 100644 default/grub create mode 100644 default/grub.d/init-select.cfg create mode 100644 default/hwclock create mode 100644 default/keyboard create mode 100644 default/locale create mode 100644 default/mdadm create mode 100644 default/networking create mode 100644 default/nss create mode 100644 default/rsync create mode 100644 default/rsyslog create mode 100644 default/ssh create mode 100644 default/useradd create mode 100644 deluser.conf create mode 100644 dhcp/debug create mode 120000 dhcp/dhclient-enter-hooks.d/debug create mode 120000 dhcp/dhclient-exit-hooks.d/debug create mode 100755 dhcp/dhclient-exit-hooks.d/hook-dhclient create mode 100644 dhcp/dhclient-exit-hooks.d/rfc3442-classless-routes create mode 100644 dhcp/dhclient-exit-hooks.d/timesyncd create mode 100644 dhcp/dhclient.conf create mode 100644 dpkg/dpkg.cfg create mode 100644 dpkg/origins/debian create mode 120000 dpkg/origins/default create mode 100644 environment create mode 100755 etckeeper/commit.d/10vcs-test create mode 120000 etckeeper/commit.d/20store-metadata create mode 100755 etckeeper/commit.d/30bzr-add create mode 100755 etckeeper/commit.d/30darcs-add create mode 100755 etckeeper/commit.d/30git-add create mode 100755 etckeeper/commit.d/30hg-addremove create mode 100755 etckeeper/commit.d/50vcs-commit create mode 100755 etckeeper/commit.d/99push create mode 100644 etckeeper/commit.d/README create mode 100755 etckeeper/daily create mode 100644 etckeeper/etckeeper.conf create mode 100755 etckeeper/init.d/10restore-metadata create mode 100755 etckeeper/init.d/20restore-etckeeper create mode 100755 etckeeper/init.d/40vcs-init create mode 100755 etckeeper/init.d/50vcs-ignore create mode 100755 etckeeper/init.d/50vcs-perm create mode 100755 etckeeper/init.d/50vcs-pre-commit-hook create mode 100755 etckeeper/init.d/60darcs-deleted-symlinks create mode 100755 etckeeper/init.d/70vcs-add create mode 100644 etckeeper/init.d/README create mode 100755 etckeeper/list-installed.d/50list-installed create mode 100755 etckeeper/post-install.d/50vcs-commit create mode 100644 etckeeper/post-install.d/README create mode 100755 etckeeper/pre-commit.d/20warn-problem-files create mode 100755 etckeeper/pre-commit.d/30store-metadata create mode 100644 etckeeper/pre-commit.d/README create mode 100755 etckeeper/pre-install.d/10packagelist create mode 100755 etckeeper/pre-install.d/50uncommitted-changes create mode 100644 etckeeper/pre-install.d/README create mode 100755 etckeeper/unclean.d/50test create mode 100644 etckeeper/unclean.d/README create mode 100755 etckeeper/uninit.d/01prompt create mode 100755 etckeeper/uninit.d/50remove-metadata create mode 100755 etckeeper/uninit.d/50vcs-uninit create mode 100644 etckeeper/uninit.d/README create mode 100755 etckeeper/update-ignore.d/01update-ignore create mode 100644 etckeeper/update-ignore.d/README create mode 100755 etckeeper/vcs.d/50vcs-cmd create mode 100644 fstab create mode 100644 gai.conf create mode 100644 groff/man.local create mode 100644 groff/mdoc.local create mode 100644 group create mode 100644 group- create mode 100755 grub.d/00_header create mode 100755 grub.d/05_debian_theme create mode 100755 grub.d/10_linux create mode 100755 grub.d/20_linux_xen create mode 100755 grub.d/30_os-prober create mode 100755 grub.d/30_uefi-firmware create mode 100755 grub.d/40_custom create mode 100755 grub.d/41_custom create mode 100644 grub.d/README create mode 100644 gshadow create mode 100644 gshadow- create mode 100644 hdparm.conf create mode 100644 host.conf create mode 100644 hostname create mode 100644 hosts create mode 100644 hosts.allow create mode 100644 hosts.deny create mode 100755 init.d/acpid create mode 100755 init.d/atd create mode 100755 init.d/cloud-config create mode 100755 init.d/cloud-final create mode 100755 init.d/cloud-init create mode 100755 init.d/cloud-init-local create mode 100755 init.d/console-setup.sh create mode 100755 init.d/cron create mode 100755 init.d/cryptdisks create mode 100755 init.d/cryptdisks-early create mode 100755 init.d/dbus create mode 100755 init.d/hwclock.sh create mode 100755 init.d/keyboard-setup.sh create mode 100755 init.d/kmod create mode 100755 init.d/lvm2 create mode 100755 init.d/lvm2-lvmpolld create mode 100755 init.d/mdadm create mode 100755 init.d/mdadm-waitidle create mode 100755 init.d/networking create mode 100755 init.d/procps create mode 100755 init.d/qemu-guest-agent create mode 100755 init.d/rsync create mode 100755 init.d/rsyslog create mode 100755 init.d/ssh create mode 100755 init.d/sudo create mode 100755 init.d/udev create mode 100644 initramfs-tools/conf.d/resume create mode 100644 initramfs-tools/initramfs.conf create mode 100644 initramfs-tools/modules create mode 100644 initramfs-tools/update-initramfs.conf create mode 100644 inputrc create mode 100644 iproute2/bpf_pinning create mode 100644 iproute2/ematch_map create mode 100644 iproute2/group create mode 100644 iproute2/nl_protos create mode 100644 iproute2/rt_dsfield create mode 100644 iproute2/rt_protos create mode 100644 iproute2/rt_protos.d/README create mode 100644 iproute2/rt_realms create mode 100644 iproute2/rt_scopes create mode 100644 iproute2/rt_tables create mode 100644 iproute2/rt_tables.d/README create mode 100644 issue create mode 100644 issue.net create mode 100644 kernel-img.conf create mode 100755 kernel/postinst.d/apt-auto-removal create mode 100755 kernel/postinst.d/initramfs-tools create mode 100755 kernel/postinst.d/zz-update-grub create mode 100755 kernel/postrm.d/initramfs-tools create mode 100755 kernel/postrm.d/zz-update-grub create mode 100644 ld.so.conf create mode 100644 ld.so.conf.d/libc.conf create mode 100644 ld.so.conf.d/x86_64-linux-gnu.conf create mode 100644 ldap/ldap.conf create mode 100644 libaudit.conf create mode 100644 locale.alias create mode 100644 locale.gen create mode 120000 localtime create mode 100644 logcheck/ignore.d.server/gpg-agent create mode 100644 logcheck/ignore.d.server/libsasl2-modules create mode 100644 logcheck/ignore.d.server/mdadm create mode 100644 logcheck/ignore.d.server/rsyslog create mode 100644 logcheck/violations.d/mdadm create mode 100644 login.defs create mode 100644 logrotate.conf create mode 100644 logrotate.d/alternatives create mode 100644 logrotate.d/apt create mode 100644 logrotate.d/aptitude create mode 100644 logrotate.d/btmp create mode 100644 logrotate.d/dpkg create mode 100644 logrotate.d/rsyslog create mode 100644 logrotate.d/wtmp create mode 100644 lvm/backup/data create mode 100644 lvm/lvm.conf create mode 100644 lvm/lvmlocal.conf create mode 100644 lvm/profile/cache-mq.profile create mode 100644 lvm/profile/cache-smq.profile create mode 100644 lvm/profile/command_profile_template.profile create mode 100644 lvm/profile/lvmdbusd.profile create mode 100644 lvm/profile/metadata_profile_template.profile create mode 100644 lvm/profile/thin-generic.profile create mode 100644 lvm/profile/thin-performance.profile create mode 100644 lvm/profile/vdo-small.profile create mode 100644 machine-id create mode 100644 magic create mode 100644 magic.mime create mode 100644 mailcap create mode 100644 mailcap.order create mode 100644 manpath.config create mode 100644 mdadm/mdadm.conf create mode 100644 mime.types create mode 100644 mke2fs.conf create mode 100644 modprobe.d/mdadm.conf create mode 100644 modules create mode 120000 modules-load.d/modules.conf create mode 100644 motd create mode 100644 nanorc create mode 100755 network/if-pre-up.d/ethtool create mode 100755 network/if-up.d/ethtool create mode 100644 network/interfaces create mode 100644 network/interfaces.d/50-cloud-init create mode 100644 networks create mode 100644 nsswitch.conf create mode 120000 os-release create mode 100644 pam.conf create mode 100644 pam.d/atd create mode 100644 pam.d/chfn create mode 100644 pam.d/chpasswd create mode 100644 pam.d/chsh create mode 100644 pam.d/common-account create mode 100644 pam.d/common-auth create mode 100644 pam.d/common-password create mode 100644 pam.d/common-session create mode 100644 pam.d/common-session-noninteractive create mode 100644 pam.d/cron create mode 100644 pam.d/login create mode 100644 pam.d/newusers create mode 100644 pam.d/other create mode 100644 pam.d/passwd create mode 100644 pam.d/runuser create mode 100644 pam.d/runuser-l create mode 100644 pam.d/sshd create mode 100644 pam.d/su create mode 100644 pam.d/su-l create mode 100644 pam.d/sudo create mode 100644 pam.d/systemd-user create mode 100644 passwd create mode 100644 passwd- create mode 100644 perl/Net/libnet.cfg create mode 100644 profile create mode 100644 profile.d/Z99-cloud-locale-test.sh create mode 100644 profile.d/bash_completion.sh create mode 100644 profile.d/fbrehm.sh create mode 100644 protocols create mode 100644 python/debian_config create mode 100644 python2.7/sitecustomize.py create mode 100644 python3.7/sitecustomize.py create mode 100644 python3/debian_config create mode 100755 qemu/fsfreeze-hook create mode 120000 rc0.d/K01atd create mode 120000 rc0.d/K01cloud-config create mode 120000 rc0.d/K01cloud-final create mode 120000 rc0.d/K01cloud-init create mode 120000 rc0.d/K01cloud-init-local create mode 120000 rc0.d/K01cryptdisks create mode 120000 rc0.d/K01cryptdisks-early create mode 120000 rc0.d/K01hwclock.sh create mode 120000 rc0.d/K01lvm2-lvmpolld create mode 120000 rc0.d/K01mdadm create mode 120000 rc0.d/K01mdadm-waitidle create mode 120000 rc0.d/K01networking create mode 120000 rc0.d/K01qemu-guest-agent create mode 120000 rc0.d/K01rsyslog create mode 120000 rc0.d/K01udev create mode 120000 rc1.d/K01atd create mode 120000 rc1.d/K01cloud-config create mode 120000 rc1.d/K01cloud-final create mode 120000 rc1.d/K01cloud-init create mode 120000 rc1.d/K01cloud-init-local create mode 120000 rc1.d/K01lvm2-lvmpolld create mode 120000 rc1.d/K01mdadm create mode 120000 rc1.d/K01qemu-guest-agent create mode 120000 rc1.d/K01rsyslog create mode 120000 rc2.d/S01acpid create mode 120000 rc2.d/S01atd create mode 120000 rc2.d/S01cloud-config create mode 120000 rc2.d/S01cloud-final create mode 120000 rc2.d/S01cloud-init create mode 120000 rc2.d/S01cloud-init-local create mode 120000 rc2.d/S01console-setup.sh create mode 120000 rc2.d/S01cron create mode 120000 rc2.d/S01dbus create mode 120000 rc2.d/S01lvm2-lvmpolld create mode 120000 rc2.d/S01mdadm create mode 120000 rc2.d/S01qemu-guest-agent create mode 120000 rc2.d/S01rsync create mode 120000 rc2.d/S01rsyslog create mode 120000 rc2.d/S01ssh create mode 120000 rc2.d/S01sudo create mode 120000 rc3.d/S01acpid create mode 120000 rc3.d/S01atd create mode 120000 rc3.d/S01cloud-config create mode 120000 rc3.d/S01cloud-final create mode 120000 rc3.d/S01cloud-init create mode 120000 rc3.d/S01cloud-init-local create mode 120000 rc3.d/S01console-setup.sh create mode 120000 rc3.d/S01cron create mode 120000 rc3.d/S01dbus create mode 120000 rc3.d/S01lvm2-lvmpolld create mode 120000 rc3.d/S01mdadm create mode 120000 rc3.d/S01qemu-guest-agent create mode 120000 rc3.d/S01rsync create mode 120000 rc3.d/S01rsyslog create mode 120000 rc3.d/S01ssh create mode 120000 rc3.d/S01sudo create mode 120000 rc4.d/S01acpid create mode 120000 rc4.d/S01atd create mode 120000 rc4.d/S01cloud-config create mode 120000 rc4.d/S01cloud-final create mode 120000 rc4.d/S01cloud-init create mode 120000 rc4.d/S01cloud-init-local create mode 120000 rc4.d/S01console-setup.sh create mode 120000 rc4.d/S01cron create mode 120000 rc4.d/S01dbus create mode 120000 rc4.d/S01lvm2-lvmpolld create mode 120000 rc4.d/S01mdadm create mode 120000 rc4.d/S01qemu-guest-agent create mode 120000 rc4.d/S01rsync create mode 120000 rc4.d/S01rsyslog create mode 120000 rc4.d/S01ssh create mode 120000 rc4.d/S01sudo create mode 120000 rc5.d/S01acpid create mode 120000 rc5.d/S01atd create mode 120000 rc5.d/S01cloud-config create mode 120000 rc5.d/S01cloud-final create mode 120000 rc5.d/S01cloud-init create mode 120000 rc5.d/S01cloud-init-local create mode 120000 rc5.d/S01console-setup.sh create mode 120000 rc5.d/S01cron create mode 120000 rc5.d/S01dbus create mode 120000 rc5.d/S01lvm2-lvmpolld create mode 120000 rc5.d/S01mdadm create mode 120000 rc5.d/S01qemu-guest-agent create mode 120000 rc5.d/S01rsync create mode 120000 rc5.d/S01rsyslog create mode 120000 rc5.d/S01ssh create mode 120000 rc5.d/S01sudo create mode 120000 rc6.d/K01atd create mode 120000 rc6.d/K01cloud-config create mode 120000 rc6.d/K01cloud-final create mode 120000 rc6.d/K01cloud-init create mode 120000 rc6.d/K01cloud-init-local create mode 120000 rc6.d/K01cryptdisks create mode 120000 rc6.d/K01cryptdisks-early create mode 120000 rc6.d/K01hwclock.sh create mode 120000 rc6.d/K01lvm2-lvmpolld create mode 120000 rc6.d/K01mdadm create mode 120000 rc6.d/K01mdadm-waitidle create mode 120000 rc6.d/K01networking create mode 120000 rc6.d/K01qemu-guest-agent create mode 120000 rc6.d/K01rsyslog create mode 120000 rc6.d/K01udev create mode 120000 rcS.d/S01cryptdisks create mode 120000 rcS.d/S01cryptdisks-early create mode 120000 rcS.d/S01hwclock.sh create mode 120000 rcS.d/S01keyboard-setup.sh create mode 120000 rcS.d/S01kmod create mode 120000 rcS.d/S01lvm2 create mode 120000 rcS.d/S01networking create mode 120000 rcS.d/S01procps create mode 120000 rcS.d/S01udev create mode 100644 reportbug.conf create mode 100644 resolv.conf create mode 120000 rmt create mode 100644 rpc create mode 100644 rsyslog.conf create mode 100644 rsyslog.d/21-cloudinit.conf create mode 100644 rsyslog.d/60-default.conf create mode 100644 rsyslog.d/60-mail.conf create mode 100644 rsyslog.d/70-fb.conf create mode 100644 securetty create mode 100644 security/access.conf create mode 100644 security/group.conf create mode 100644 security/limits.conf create mode 100644 security/namespace.conf create mode 100755 security/namespace.init create mode 100644 security/opasswd create mode 100644 security/pam_env.conf create mode 100644 security/sepermit.conf create mode 100644 security/time.conf create mode 100644 selinux/semanage.conf create mode 100644 services create mode 100644 shadow create mode 100644 shadow- create mode 100644 shells create mode 100644 skel/.bash_logout create mode 100644 skel/.bashrc create mode 100644 skel/.cloud-locale-test.skip create mode 100644 skel/.profile create mode 100644 ssh/moduli create mode 100644 ssh/ssh_config create mode 100644 ssh/ssh_host_dsa_key create mode 100644 ssh/ssh_host_dsa_key.pub create mode 100644 ssh/ssh_host_ecdsa_key create mode 100644 ssh/ssh_host_ecdsa_key.pub create mode 100644 ssh/ssh_host_ed25519_key create mode 100644 ssh/ssh_host_ed25519_key.pub create mode 100644 ssh/ssh_host_rsa_key create mode 100644 ssh/ssh_host_rsa_key.pub create mode 100644 ssh/sshd_config create mode 120000 ssl/certs/02265526.0 create mode 120000 ssl/certs/03179a64.0 create mode 120000 ssl/certs/062cdee6.0 create mode 120000 ssl/certs/064e0aa9.0 create mode 120000 ssl/certs/06dc52d5.0 create mode 120000 ssl/certs/080911ac.0 create mode 120000 ssl/certs/09789157.0 create mode 120000 ssl/certs/0a775a30.0 create mode 120000 ssl/certs/0b1b94ef.0 create mode 120000 ssl/certs/0bf05006.0 create mode 120000 ssl/certs/0c4c9b6c.0 create mode 120000 ssl/certs/0f5dc4f3.0 create mode 120000 ssl/certs/0f6fa695.0 create mode 120000 ssl/certs/1001acf7.0 create mode 120000 ssl/certs/106f3e4d.0 create mode 120000 ssl/certs/116bf586.0 create mode 120000 ssl/certs/128805a3.0 create mode 120000 ssl/certs/14bc7599.0 create mode 120000 ssl/certs/1636090b.0 create mode 120000 ssl/certs/18856ac4.0 create mode 120000 ssl/certs/1d3472b9.0 create mode 120000 ssl/certs/1e08bfd1.0 create mode 120000 ssl/certs/1e09d511.0 create mode 120000 ssl/certs/244b5494.0 create mode 120000 ssl/certs/2923b3f9.0 create mode 120000 ssl/certs/2ae6433e.0 create mode 120000 ssl/certs/2b349938.0 create mode 120000 ssl/certs/2c543cd1.0 create mode 120000 ssl/certs/2e4eed3c.0 create mode 120000 ssl/certs/2e5ac55d.0 create mode 120000 ssl/certs/32888f65.0 create mode 120000 ssl/certs/349f2832.0 create mode 120000 ssl/certs/3513523f.0 create mode 120000 ssl/certs/3bde41ac.0 create mode 120000 ssl/certs/3e44d2f7.0 create mode 120000 ssl/certs/3e45d192.0 create mode 120000 ssl/certs/40193066.0 create mode 120000 ssl/certs/4042bcee.0 create mode 120000 ssl/certs/40547a79.0 create mode 120000 ssl/certs/406c9bb1.0 create mode 120000 ssl/certs/4304c5e5.0 create mode 120000 ssl/certs/480720ec.0 create mode 120000 ssl/certs/48bec511.0 create mode 120000 ssl/certs/4a6481c9.0 create mode 120000 ssl/certs/4b718d9b.0 create mode 120000 ssl/certs/4bfab552.0 create mode 120000 ssl/certs/4f316efb.0 create mode 120000 ssl/certs/5273a94c.0 create mode 120000 ssl/certs/5443e9e3.0 create mode 120000 ssl/certs/54657681.0 create mode 120000 ssl/certs/57bcb2da.0 create mode 120000 ssl/certs/5a4d6896.0 create mode 120000 ssl/certs/5ad8a5d6.0 create mode 120000 ssl/certs/5c44d531.0 create mode 120000 ssl/certs/5cd81ad7.0 create mode 120000 ssl/certs/5d3033c5.0 create mode 120000 ssl/certs/5e98733a.0 create mode 120000 ssl/certs/5f15c80c.0 create mode 120000 ssl/certs/607986c7.0 create mode 120000 ssl/certs/626dceaf.0 create mode 120000 ssl/certs/6410666e.0 create mode 120000 ssl/certs/653b494a.0 create mode 120000 ssl/certs/68dd7389.0 create mode 120000 ssl/certs/6b99d060.0 create mode 120000 ssl/certs/6d41d539.0 create mode 120000 ssl/certs/6fa5da56.0 create mode 120000 ssl/certs/706f604c.0 create mode 120000 ssl/certs/749e9e03.0 create mode 120000 ssl/certs/75d1b2ed.0 create mode 120000 ssl/certs/76cb8f92.0 create mode 120000 ssl/certs/76faf6c0.0 create mode 120000 ssl/certs/7719f463.0 create mode 120000 ssl/certs/773e07ad.0 create mode 120000 ssl/certs/7aaf71c0.0 create mode 120000 ssl/certs/7d0b38bd.0 create mode 120000 ssl/certs/7f3d5d1d.0 create mode 120000 ssl/certs/8160b96c.0 create mode 120000 ssl/certs/8867006a.0 create mode 120000 ssl/certs/8cb5ee0f.0 create mode 120000 ssl/certs/8d86cdd1.0 create mode 120000 ssl/certs/930ac5d2.0 create mode 120000 ssl/certs/93bc0acc.0 create mode 120000 ssl/certs/988a38cb.0 create mode 120000 ssl/certs/9c2e7d30.0 create mode 120000 ssl/certs/9c8dfbd4.0 create mode 120000 ssl/certs/9d04f354.0 create mode 120000 ssl/certs/ACCVRAIZ1.pem create mode 120000 ssl/certs/AC_RAIZ_FNMT-RCM.pem create mode 120000 ssl/certs/Actalis_Authentication_Root_CA.pem create mode 120000 ssl/certs/AffirmTrust_Commercial.pem create mode 120000 ssl/certs/AffirmTrust_Networking.pem create mode 120000 ssl/certs/AffirmTrust_Premium.pem create mode 120000 ssl/certs/AffirmTrust_Premium_ECC.pem create mode 120000 ssl/certs/Amazon_Root_CA_1.pem create mode 120000 ssl/certs/Amazon_Root_CA_2.pem create mode 120000 ssl/certs/Amazon_Root_CA_3.pem create mode 120000 ssl/certs/Amazon_Root_CA_4.pem create mode 120000 ssl/certs/Atos_TrustedRoot_2011.pem create mode 120000 ssl/certs/Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem create mode 120000 ssl/certs/Baltimore_CyberTrust_Root.pem create mode 120000 ssl/certs/Buypass_Class_2_Root_CA.pem create mode 120000 ssl/certs/Buypass_Class_3_Root_CA.pem create mode 120000 ssl/certs/CA_Disig_Root_R2.pem create mode 120000 ssl/certs/CFCA_EV_ROOT.pem create mode 120000 ssl/certs/COMODO_Certification_Authority.pem create mode 120000 ssl/certs/COMODO_ECC_Certification_Authority.pem create mode 120000 ssl/certs/COMODO_RSA_Certification_Authority.pem create mode 120000 ssl/certs/Certigna.pem create mode 120000 ssl/certs/Certigna_Root_CA.pem create mode 120000 ssl/certs/Certum_Trusted_Network_CA.pem create mode 120000 ssl/certs/Certum_Trusted_Network_CA_2.pem create mode 120000 ssl/certs/Chambers_of_Commerce_Root_-_2008.pem create mode 120000 ssl/certs/Comodo_AAA_Services_root.pem create mode 120000 ssl/certs/Cybertrust_Global_Root.pem create mode 120000 ssl/certs/D-TRUST_Root_Class_3_CA_2_2009.pem create mode 120000 ssl/certs/D-TRUST_Root_Class_3_CA_2_EV_2009.pem create mode 120000 ssl/certs/DST_Root_CA_X3.pem create mode 120000 ssl/certs/DigiCert_Assured_ID_Root_CA.pem create mode 120000 ssl/certs/DigiCert_Assured_ID_Root_G2.pem create mode 120000 ssl/certs/DigiCert_Assured_ID_Root_G3.pem create mode 120000 ssl/certs/DigiCert_Global_Root_CA.pem create mode 120000 ssl/certs/DigiCert_Global_Root_G2.pem create mode 120000 ssl/certs/DigiCert_Global_Root_G3.pem create mode 120000 ssl/certs/DigiCert_High_Assurance_EV_Root_CA.pem create mode 120000 ssl/certs/DigiCert_Trusted_Root_G4.pem create mode 120000 ssl/certs/E-Tugra_Certification_Authority.pem create mode 120000 ssl/certs/EC-ACC.pem create mode 120000 ssl/certs/EE_Certification_Centre_Root_CA.pem create mode 120000 ssl/certs/Entrust.net_Premium_2048_Secure_Server_CA.pem create mode 120000 ssl/certs/Entrust_Root_Certification_Authority.pem create mode 120000 ssl/certs/Entrust_Root_Certification_Authority_-_EC1.pem create mode 120000 ssl/certs/Entrust_Root_Certification_Authority_-_G2.pem create mode 120000 ssl/certs/Entrust_Root_Certification_Authority_-_G4.pem create mode 120000 ssl/certs/GDCA_TrustAUTH_R5_ROOT.pem create mode 120000 ssl/certs/GTS_Root_R1.pem create mode 120000 ssl/certs/GTS_Root_R2.pem create mode 120000 ssl/certs/GTS_Root_R3.pem create mode 120000 ssl/certs/GTS_Root_R4.pem create mode 120000 ssl/certs/GeoTrust_Global_CA.pem create mode 120000 ssl/certs/GeoTrust_Primary_Certification_Authority.pem create mode 120000 ssl/certs/GeoTrust_Primary_Certification_Authority_-_G2.pem create mode 120000 ssl/certs/GeoTrust_Primary_Certification_Authority_-_G3.pem create mode 120000 ssl/certs/GeoTrust_Universal_CA.pem create mode 120000 ssl/certs/GeoTrust_Universal_CA_2.pem create mode 120000 ssl/certs/GlobalSign_ECC_Root_CA_-_R4.pem create mode 120000 ssl/certs/GlobalSign_ECC_Root_CA_-_R5.pem create mode 120000 ssl/certs/GlobalSign_Root_CA.pem create mode 120000 ssl/certs/GlobalSign_Root_CA_-_R2.pem create mode 120000 ssl/certs/GlobalSign_Root_CA_-_R3.pem create mode 120000 ssl/certs/GlobalSign_Root_CA_-_R6.pem create mode 120000 ssl/certs/Global_Chambersign_Root_-_2008.pem create mode 120000 ssl/certs/Go_Daddy_Class_2_CA.pem create mode 120000 ssl/certs/Go_Daddy_Root_Certificate_Authority_-_G2.pem create mode 120000 ssl/certs/Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.pem create mode 120000 ssl/certs/Hellenic_Academic_and_Research_Institutions_RootCA_2011.pem create mode 120000 ssl/certs/Hellenic_Academic_and_Research_Institutions_RootCA_2015.pem create mode 120000 ssl/certs/Hongkong_Post_Root_CA_1.pem create mode 120000 ssl/certs/Hongkong_Post_Root_CA_3.pem create mode 120000 ssl/certs/ISRG_Root_X1.pem create mode 120000 ssl/certs/IdenTrust_Commercial_Root_CA_1.pem create mode 120000 ssl/certs/IdenTrust_Public_Sector_Root_CA_1.pem create mode 120000 ssl/certs/Izenpe.com.pem create mode 120000 ssl/certs/LuxTrust_Global_Root_2.pem create mode 120000 ssl/certs/Microsec_e-Szigno_Root_CA_2009.pem create mode 120000 "ssl/certs/NetLock_Arany_=Class_Gold=_F\305\221tan\303\272s\303\255tv\303\241ny.pem" create mode 120000 ssl/certs/Network_Solutions_Certificate_Authority.pem create mode 120000 ssl/certs/OISTE_WISeKey_Global_Root_GA_CA.pem create mode 120000 ssl/certs/OISTE_WISeKey_Global_Root_GB_CA.pem create mode 120000 ssl/certs/OISTE_WISeKey_Global_Root_GC_CA.pem create mode 120000 ssl/certs/QuoVadis_Root_CA.pem create mode 120000 ssl/certs/QuoVadis_Root_CA_1_G3.pem create mode 120000 ssl/certs/QuoVadis_Root_CA_2.pem create mode 120000 ssl/certs/QuoVadis_Root_CA_2_G3.pem create mode 120000 ssl/certs/QuoVadis_Root_CA_3.pem create mode 120000 ssl/certs/QuoVadis_Root_CA_3_G3.pem create mode 120000 ssl/certs/SSL.com_EV_Root_Certification_Authority_ECC.pem create mode 120000 ssl/certs/SSL.com_EV_Root_Certification_Authority_RSA_R2.pem create mode 120000 ssl/certs/SSL.com_Root_Certification_Authority_ECC.pem create mode 120000 ssl/certs/SSL.com_Root_Certification_Authority_RSA.pem create mode 120000 ssl/certs/SZAFIR_ROOT_CA2.pem create mode 120000 ssl/certs/SecureSign_RootCA11.pem create mode 120000 ssl/certs/SecureTrust_CA.pem create mode 120000 ssl/certs/Secure_Global_CA.pem create mode 120000 ssl/certs/Security_Communication_RootCA2.pem create mode 120000 ssl/certs/Security_Communication_Root_CA.pem create mode 120000 ssl/certs/Sonera_Class_2_Root_CA.pem create mode 120000 ssl/certs/Staat_der_Nederlanden_EV_Root_CA.pem create mode 120000 ssl/certs/Staat_der_Nederlanden_Root_CA_-_G2.pem create mode 120000 ssl/certs/Staat_der_Nederlanden_Root_CA_-_G3.pem create mode 120000 ssl/certs/Starfield_Class_2_CA.pem create mode 120000 ssl/certs/Starfield_Root_Certificate_Authority_-_G2.pem create mode 120000 ssl/certs/Starfield_Services_Root_Certificate_Authority_-_G2.pem create mode 120000 ssl/certs/SwissSign_Gold_CA_-_G2.pem create mode 120000 ssl/certs/SwissSign_Silver_CA_-_G2.pem create mode 120000 ssl/certs/T-TeleSec_GlobalRoot_Class_2.pem create mode 120000 ssl/certs/T-TeleSec_GlobalRoot_Class_3.pem create mode 120000 ssl/certs/TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem create mode 120000 ssl/certs/TWCA_Global_Root_CA.pem create mode 120000 ssl/certs/TWCA_Root_Certification_Authority.pem create mode 120000 ssl/certs/Taiwan_GRCA.pem create mode 120000 ssl/certs/TeliaSonera_Root_CA_v1.pem create mode 120000 ssl/certs/TrustCor_ECA-1.pem create mode 120000 ssl/certs/TrustCor_RootCert_CA-1.pem create mode 120000 ssl/certs/TrustCor_RootCert_CA-2.pem create mode 120000 ssl/certs/Trustis_FPS_Root_CA.pem create mode 120000 ssl/certs/UCA_Extended_Validation_Root.pem create mode 120000 ssl/certs/UCA_Global_G2_Root.pem create mode 120000 ssl/certs/USERTrust_ECC_Certification_Authority.pem create mode 120000 ssl/certs/USERTrust_RSA_Certification_Authority.pem create mode 120000 ssl/certs/VeriSign_Class_3_Public_Primary_Certification_Authority_-_G4.pem create mode 120000 ssl/certs/VeriSign_Class_3_Public_Primary_Certification_Authority_-_G5.pem create mode 120000 ssl/certs/VeriSign_Universal_Root_Certification_Authority.pem create mode 120000 ssl/certs/Verisign_Class_3_Public_Primary_Certification_Authority_-_G3.pem create mode 120000 ssl/certs/XRamp_Global_CA_Root.pem create mode 120000 ssl/certs/a3418fda.0 create mode 120000 ssl/certs/a94d09e5.0 create mode 120000 ssl/certs/ad088e1d.0 create mode 120000 ssl/certs/aee5f10d.0 create mode 120000 ssl/certs/b0e59380.0 create mode 120000 ssl/certs/b1159c4c.0 create mode 120000 ssl/certs/b1b8a7f3.0 create mode 120000 ssl/certs/b204d74a.0 create mode 120000 ssl/certs/b66938e9.0 create mode 120000 ssl/certs/b727005e.0 create mode 120000 ssl/certs/b7a5b843.0 create mode 120000 ssl/certs/ba89ed3b.0 create mode 120000 ssl/certs/c01cdfa2.0 create mode 120000 ssl/certs/c01eb047.0 create mode 120000 ssl/certs/c089bbbd.0 create mode 120000 ssl/certs/c0ff1f52.0 create mode 120000 ssl/certs/c28a8a30.0 create mode 120000 ssl/certs/c47d9980.0 create mode 100644 ssl/certs/ca-certificates.crt create mode 120000 ssl/certs/ca6e4ad9.0 create mode 120000 ssl/certs/cbf06781.0 create mode 120000 ssl/certs/cc450945.0 create mode 120000 ssl/certs/cd58d51e.0 create mode 120000 ssl/certs/cd8c0d63.0 create mode 120000 ssl/certs/ce5e74ef.0 create mode 120000 ssl/certs/certSIGN_ROOT_CA.pem create mode 120000 ssl/certs/d4dae3dd.0 create mode 120000 ssl/certs/d6325660.0 create mode 120000 ssl/certs/d7e8dc79.0 create mode 120000 ssl/certs/d853d49e.0 create mode 120000 ssl/certs/dc4d6a89.0 create mode 120000 ssl/certs/dd8e9d41.0 create mode 120000 ssl/certs/de6d66f3.0 create mode 120000 ssl/certs/def36a68.0 create mode 120000 ssl/certs/e113c810.0 create mode 120000 ssl/certs/e18bfb83.0 create mode 120000 ssl/certs/e2799e36.0 create mode 120000 ssl/certs/e36a6752.0 create mode 120000 ssl/certs/e73d606e.0 create mode 120000 ssl/certs/e8de2f56.0 create mode 120000 ssl/certs/ePKI_Root_Certification_Authority.pem create mode 120000 ssl/certs/ee64a828.0 create mode 120000 ssl/certs/eed8c118.0 create mode 120000 ssl/certs/ef954a4e.0 create mode 120000 ssl/certs/emSign_ECC_Root_CA_-_C3.pem create mode 120000 ssl/certs/emSign_ECC_Root_CA_-_G3.pem create mode 120000 ssl/certs/emSign_Root_CA_-_C1.pem create mode 120000 ssl/certs/emSign_Root_CA_-_G1.pem create mode 120000 ssl/certs/f081611a.0 create mode 120000 ssl/certs/f0c70a8d.0 create mode 120000 ssl/certs/f30dd6ad.0 create mode 120000 ssl/certs/f3377b1b.0 create mode 120000 ssl/certs/f387163d.0 create mode 120000 ssl/certs/f39fc864.0 create mode 120000 ssl/certs/f51bb24c.0 create mode 120000 ssl/certs/fc5a8f99.0 create mode 120000 ssl/certs/fe8a2cd8.0 create mode 120000 ssl/certs/ff34af3f.0 create mode 120000 ssl/certs/thawte_Primary_Root_CA.pem create mode 120000 ssl/certs/thawte_Primary_Root_CA_-_G2.pem create mode 120000 ssl/certs/thawte_Primary_Root_CA_-_G3.pem create mode 100644 ssl/openssl.cnf create mode 100644 subgid create mode 100644 subuid create mode 100644 sudoers create mode 100644 sudoers.d/90-cloud-init-users create mode 100644 sudoers.d/README create mode 100644 sysctl.conf create mode 120000 sysctl.d/99-sysctl.conf create mode 100644 sysctl.d/README.sysctl create mode 100644 sysctl.d/protect-links.conf create mode 100644 systemd/journald.conf create mode 100644 systemd/logind.conf create mode 100644 systemd/networkd.conf create mode 100644 systemd/resolved.conf create mode 100644 systemd/sleep.conf create mode 100644 systemd/system.conf create mode 120000 systemd/system/cloud-init.target.wants/cloud-config.service create mode 120000 systemd/system/cloud-init.target.wants/cloud-final.service create mode 120000 systemd/system/cloud-init.target.wants/cloud-init-local.service create mode 120000 systemd/system/cloud-init.target.wants/cloud-init.service create mode 120000 systemd/system/dbus-org.freedesktop.timesync1.service create mode 120000 systemd/system/getty.target.wants/getty@tty1.service create mode 120000 systemd/system/multi-user.target.wants/atd.service create mode 120000 systemd/system/multi-user.target.wants/console-setup.service create mode 120000 systemd/system/multi-user.target.wants/cron.service create mode 120000 systemd/system/multi-user.target.wants/etckeeper.timer create mode 120000 systemd/system/multi-user.target.wants/hc-net-scan.service create mode 120000 systemd/system/multi-user.target.wants/networking.service create mode 120000 systemd/system/multi-user.target.wants/remote-fs.target create mode 120000 systemd/system/multi-user.target.wants/rsync.service create mode 120000 systemd/system/multi-user.target.wants/rsyslog.service create mode 120000 systemd/system/multi-user.target.wants/ssh.service create mode 120000 systemd/system/network-online.target.wants/networking.service create mode 120000 systemd/system/sockets.target.wants/dm-event.socket create mode 120000 systemd/system/sshd.service create mode 120000 systemd/system/sysinit.target.wants/blk-availability.service create mode 120000 systemd/system/sysinit.target.wants/keyboard-setup.service create mode 120000 systemd/system/sysinit.target.wants/lvm2-lvmpolld.socket create mode 120000 systemd/system/sysinit.target.wants/lvm2-monitor.service create mode 120000 systemd/system/sysinit.target.wants/systemd-timesyncd.service create mode 120000 systemd/system/syslog.service create mode 120000 systemd/system/timers.target.wants/apt-daily-upgrade.timer create mode 120000 systemd/system/timers.target.wants/apt-daily.timer create mode 120000 systemd/system/timers.target.wants/fstrim.timer create mode 120000 systemd/system/timers.target.wants/logrotate.timer create mode 120000 systemd/system/timers.target.wants/man-db.timer create mode 100644 systemd/timesyncd.conf create mode 100644 systemd/user.conf create mode 100644 terminfo/README create mode 100644 timezone create mode 100644 ucf.conf create mode 100644 udev/rules.d/70-persistent-net.rules create mode 100644 udev/udev.conf create mode 100644 ufw/applications.d/openssh-server create mode 100755 update-motd.d/10-uname create mode 100644 vim/vimrc create mode 100644 vim/vimrc.local create mode 100644 vim/vimrc.tiny create mode 100644 wgetrc create mode 100644 xattr.conf create mode 120000 xdg/systemd/user diff --git a/.etckeeper b/.etckeeper new file mode 100755 index 0000000..644a0ff --- /dev/null +++ b/.etckeeper @@ -0,0 +1,614 @@ +# Generated by etckeeper. Do not edit. + +mkdir -p './X11/xkb' +mkdir -p './acpi/events' +mkdir -p './apt/auth.conf.d' +mkdir -p './apt/preferences.d' +mkdir -p './binfmt.d' +mkdir -p './ca-certificates/update.d' +mkdir -p './dbus-1/session.d' +mkdir -p './dbus-1/system.d' +mkdir -p './dpkg/dpkg.cfg.d' +mkdir -p './gss/mech.d' +mkdir -p './initramfs-tools/hooks' +mkdir -p './initramfs-tools/scripts/init-bottom' +mkdir -p './initramfs-tools/scripts/init-premount' +mkdir -p './initramfs-tools/scripts/init-top' +mkdir -p './initramfs-tools/scripts/local-bottom' +mkdir -p './initramfs-tools/scripts/local-premount' +mkdir -p './initramfs-tools/scripts/local-top' +mkdir -p './initramfs-tools/scripts/nfs-bottom' +mkdir -p './initramfs-tools/scripts/nfs-premount' +mkdir -p './initramfs-tools/scripts/nfs-top' +mkdir -p './initramfs-tools/scripts/panic' +mkdir -p './kernel/install.d' +mkdir -p './network/if-down.d' +mkdir -p './network/if-post-down.d' +mkdir -p './opt' +mkdir -p './perl/CPAN' +mkdir -p './qemu/fsfreeze-hook.d' +mkdir -p './security/limits.d' +mkdir -p './security/namespace.d' +mkdir -p './ssl/private' +mkdir -p './systemd/network' +mkdir -p './systemd/user' +mkdir -p './tmpfiles.d' +mkdir -p './udev/hwdb.d' +maybe chmod 0755 '.' +maybe chmod 0700 '.etckeeper' +maybe chmod 0644 '.gitignore' +maybe chmod 0755 'NetworkManager' +maybe chmod 0755 'NetworkManager/dispatcher.d' +maybe chmod 0755 'NetworkManager/dispatcher.d/cloud-init-hook-network-manager' +maybe chmod 0755 'X11' +maybe chmod 0755 'X11/Xsession.d' +maybe chmod 0644 'X11/Xsession.d/90gpg-agent' +maybe chmod 0755 'X11/xkb' +maybe chmod 0755 'acpi' +maybe chmod 0755 'acpi/events' +maybe chmod 0644 'adduser.conf' +maybe chmod 0755 'alternatives' +maybe chmod 0644 'alternatives/README' +maybe chmod 0755 'apm' +maybe chmod 0755 'apm/event.d' +maybe chmod 0755 'apm/event.d/20hdparm' +maybe chmod 0755 'apparmor.d' +maybe chmod 0755 'apparmor.d/local' +maybe chmod 0644 'apparmor.d/local/usr.bin.man' +maybe chmod 0644 'apparmor.d/usr.bin.man' +maybe chmod 0755 'apt' +maybe chmod 0644 'apt/SALTSTACK-GPG-KEY.pub' +maybe chmod 0755 'apt/apt.conf.d' +maybe chmod 0644 'apt/apt.conf.d/00CDMountPoint' +maybe chmod 0644 'apt/apt.conf.d/00InstallRecommends' +maybe chmod 0644 'apt/apt.conf.d/00recommends' +maybe chmod 0644 'apt/apt.conf.d/00trustcdrom' +maybe chmod 0644 'apt/apt.conf.d/01autoremove' +maybe chmod 0444 'apt/apt.conf.d/01autoremove-kernels' +maybe chmod 0644 'apt/apt.conf.d/05etckeeper' +maybe chmod 0644 'apt/apt.conf.d/70debconf' +maybe chmod 0644 'apt/apt.conf.d/99hetzner' +maybe chmod 0755 'apt/auth.conf.d' +maybe chmod 0755 'apt/preferences.d' +maybe chmod 0644 'apt/repo.uhu-banane.de.gpg-key2.pub' +maybe chmod 0644 'apt/sources.list' +maybe chmod 0755 'apt/sources.list.d' +maybe chmod 0644 'apt/sources.list.d/fbrehm.list' +maybe chmod 0644 'apt/sources.list.d/hetzner-mirror.list' +maybe chmod 0644 'apt/sources.list.d/hetzner-security-updates.list' +maybe chmod 0644 'apt/sources.list.d/salt.list' +maybe chmod 0644 'apt/trusted.gpg' +maybe chmod 0755 'apt/trusted.gpg.d' +maybe chmod 0644 'apt/trusted.gpg.d/debian-archive-bullseye-automatic.gpg' +maybe chmod 0644 'apt/trusted.gpg.d/debian-archive-bullseye-security-automatic.gpg' +maybe chmod 0644 'apt/trusted.gpg.d/debian-archive-bullseye-stable.gpg' +maybe chmod 0644 'apt/trusted.gpg.d/debian-archive-buster-automatic.gpg' +maybe chmod 0644 'apt/trusted.gpg.d/debian-archive-buster-security-automatic.gpg' +maybe chmod 0644 'apt/trusted.gpg.d/debian-archive-buster-stable.gpg' +maybe chmod 0644 'apt/trusted.gpg.d/debian-archive-stretch-automatic.gpg' +maybe chmod 0644 'apt/trusted.gpg.d/debian-archive-stretch-security-automatic.gpg' +maybe chmod 0644 'apt/trusted.gpg.d/debian-archive-stretch-stable.gpg' +maybe chgrp 'daemon' 'at.deny' +maybe chmod 0640 'at.deny' +maybe chmod 0644 'bash.bashrc' +maybe chmod 0644 'bash_completion' +maybe chmod 0755 'bash_completion.d' +maybe chmod 0644 'bash_completion.d/git-prompt' +maybe chmod 0644 'bindresvport.blacklist' +maybe chmod 0755 'binfmt.d' +maybe chmod 0755 'ca-certificates' +maybe chmod 0644 'ca-certificates.conf' +maybe chmod 0755 'ca-certificates/update.d' +maybe chmod 0755 'calendar' +maybe chmod 0644 'calendar/default' +maybe chmod 0755 'cloud' +maybe chmod 0644 'cloud/cloud.cfg' +maybe chmod 0755 'cloud/cloud.cfg.d' +maybe chmod 0644 'cloud/cloud.cfg.d/00_debian.cfg' +maybe chmod 0644 'cloud/cloud.cfg.d/05_logging.cfg' +maybe chmod 0644 'cloud/cloud.cfg.d/90-hetznercloud.cfg' +maybe chmod 0644 'cloud/cloud.cfg.d/99-hetznercloud.cfg' +maybe chmod 0644 'cloud/cloud.cfg.d/README' +maybe chmod 0755 'cloud/templates' +maybe chmod 0644 'cloud/templates/chef_client.rb.tmpl' +maybe chmod 0644 'cloud/templates/chrony.conf.debian.tmpl' +maybe chmod 0644 'cloud/templates/chrony.conf.fedora.tmpl' +maybe chmod 0644 'cloud/templates/chrony.conf.opensuse.tmpl' +maybe chmod 0644 'cloud/templates/chrony.conf.rhel.tmpl' +maybe chmod 0644 'cloud/templates/chrony.conf.sles.tmpl' +maybe chmod 0644 'cloud/templates/chrony.conf.ubuntu.tmpl' +maybe chmod 0644 'cloud/templates/hosts.debian.tmpl' +maybe chmod 0644 'cloud/templates/hosts.freebsd.tmpl' +maybe chmod 0644 'cloud/templates/hosts.redhat.tmpl' +maybe chmod 0644 'cloud/templates/hosts.suse.tmpl' +maybe chmod 0644 'cloud/templates/ntp.conf.debian.tmpl' +maybe chmod 0644 'cloud/templates/ntp.conf.fedora.tmpl' +maybe chmod 0644 'cloud/templates/ntp.conf.opensuse.tmpl' +maybe chmod 0644 'cloud/templates/ntp.conf.rhel.tmpl' +maybe chmod 0644 'cloud/templates/ntp.conf.sles.tmpl' +maybe chmod 0644 'cloud/templates/ntp.conf.ubuntu.tmpl' +maybe chmod 0644 'cloud/templates/resolv.conf.tmpl' +maybe chmod 0644 'cloud/templates/sources.list.debian.tmpl' +maybe chmod 0644 'cloud/templates/sources.list.ubuntu.tmpl' +maybe chmod 0644 'cloud/templates/timesyncd.conf.tmpl' +maybe chmod 0755 'console-setup' +maybe chmod 0644 'console-setup/cached_Lat15-Fixed16.psf.gz' +maybe chmod 0644 'console-setup/cached_UTF-8_del.kmap.gz' +maybe chmod 0644 'console-setup/cached_Uni2-Fixed16.psf.gz' +maybe chmod 0755 'console-setup/cached_setup_font.sh' +maybe chmod 0755 'console-setup/cached_setup_keyboard.sh' +maybe chmod 0755 'console-setup/cached_setup_terminal.sh' +maybe chmod 0644 'console-setup/compose.ARMSCII-8.inc' +maybe chmod 0644 'console-setup/compose.CP1251.inc' +maybe chmod 0644 'console-setup/compose.CP1255.inc' +maybe chmod 0644 'console-setup/compose.CP1256.inc' +maybe chmod 0644 'console-setup/compose.GEORGIAN-ACADEMY.inc' +maybe chmod 0644 'console-setup/compose.GEORGIAN-PS.inc' +maybe chmod 0644 'console-setup/compose.IBM1133.inc' +maybe chmod 0644 'console-setup/compose.ISIRI-3342.inc' +maybe chmod 0644 'console-setup/compose.ISO-8859-1.inc' +maybe chmod 0644 'console-setup/compose.ISO-8859-10.inc' +maybe chmod 0644 'console-setup/compose.ISO-8859-11.inc' +maybe chmod 0644 'console-setup/compose.ISO-8859-13.inc' +maybe chmod 0644 'console-setup/compose.ISO-8859-14.inc' +maybe chmod 0644 'console-setup/compose.ISO-8859-15.inc' +maybe chmod 0644 'console-setup/compose.ISO-8859-16.inc' +maybe chmod 0644 'console-setup/compose.ISO-8859-2.inc' +maybe chmod 0644 'console-setup/compose.ISO-8859-3.inc' +maybe chmod 0644 'console-setup/compose.ISO-8859-4.inc' +maybe chmod 0644 'console-setup/compose.ISO-8859-5.inc' +maybe chmod 0644 'console-setup/compose.ISO-8859-6.inc' +maybe chmod 0644 'console-setup/compose.ISO-8859-7.inc' +maybe chmod 0644 'console-setup/compose.ISO-8859-8.inc' +maybe chmod 0644 'console-setup/compose.ISO-8859-9.inc' +maybe chmod 0644 'console-setup/compose.KOI8-R.inc' +maybe chmod 0644 'console-setup/compose.KOI8-U.inc' +maybe chmod 0644 'console-setup/compose.TIS-620.inc' +maybe chmod 0644 'console-setup/compose.VISCII.inc' +maybe chmod 0644 'console-setup/remap.inc' +maybe chmod 0755 'cron.d' +maybe chmod 0644 'cron.d/.placeholder' +maybe chmod 0644 'cron.d/mdadm' +maybe chmod 0755 'cron.daily' +maybe chmod 0644 'cron.daily/.placeholder' +maybe chmod 0755 'cron.daily/apt-compat' +maybe chmod 0755 'cron.daily/aptitude' +maybe chmod 0755 'cron.daily/bsdmainutils' +maybe chmod 0755 'cron.daily/dpkg' +maybe chmod 0755 'cron.daily/etckeeper' +maybe chmod 0755 'cron.daily/logrotate' +maybe chmod 0755 'cron.daily/man-db' +maybe chmod 0755 'cron.daily/mdadm' +maybe chmod 0755 'cron.daily/passwd' +maybe chmod 0755 'cron.hourly' +maybe chmod 0644 'cron.hourly/.placeholder' +maybe chmod 0755 'cron.monthly' +maybe chmod 0644 'cron.monthly/.placeholder' +maybe chmod 0755 'cron.weekly' +maybe chmod 0644 'cron.weekly/.placeholder' +maybe chmod 0755 'cron.weekly/man-db' +maybe chmod 0644 'crontab' +maybe chmod 0755 'cruft' +maybe chmod 0755 'cruft/filters-unex' +maybe chmod 0644 'cruft/filters-unex/etckeeper' +maybe chmod 0755 'cryptsetup-initramfs' +maybe chmod 0644 'cryptsetup-initramfs/conf-hook' +maybe chmod 0644 'crypttab' +maybe chmod 0755 'dbus-1' +maybe chmod 0755 'dbus-1/session.d' +maybe chmod 0755 'dbus-1/system.d' +maybe chmod 0644 'debconf.conf' +maybe chmod 0644 'debian_version' +maybe chmod 0755 'default' +maybe chmod 0644 'default/acpid' +maybe chmod 0644 'default/bsdmainutils' +maybe chmod 0644 'default/console-setup' +maybe chmod 0644 'default/cron' +maybe chmod 0644 'default/cryptdisks' +maybe chmod 0644 'default/dbus' +maybe chmod 0644 'default/grub' +maybe chmod 0755 'default/grub.d' +maybe chmod 0644 'default/grub.d/init-select.cfg' +maybe chmod 0644 'default/hwclock' +maybe chmod 0644 'default/keyboard' +maybe chmod 0644 'default/locale' +maybe chmod 0644 'default/mdadm' +maybe chmod 0644 'default/networking' +maybe chmod 0644 'default/nss' +maybe chmod 0644 'default/rsync' +maybe chmod 0644 'default/rsyslog' +maybe chmod 0644 'default/ssh' +maybe chmod 0644 'default/useradd' +maybe chmod 0644 'deluser.conf' +maybe chmod 0755 'dhcp' +maybe chmod 0644 'dhcp/debug' +maybe chmod 0755 'dhcp/dhclient-enter-hooks.d' +maybe chmod 0755 'dhcp/dhclient-exit-hooks.d' +maybe chmod 0755 'dhcp/dhclient-exit-hooks.d/hook-dhclient' +maybe chmod 0644 'dhcp/dhclient-exit-hooks.d/rfc3442-classless-routes' +maybe chmod 0644 'dhcp/dhclient-exit-hooks.d/timesyncd' +maybe chmod 0644 'dhcp/dhclient.conf' +maybe chmod 0755 'dpkg' +maybe chmod 0644 'dpkg/dpkg.cfg' +maybe chmod 0755 'dpkg/dpkg.cfg.d' +maybe chmod 0755 'dpkg/origins' +maybe chmod 0644 'dpkg/origins/debian' +maybe chmod 0644 'environment' +maybe chmod 0755 'etckeeper' +maybe chmod 0755 'etckeeper/commit.d' +maybe chmod 0755 'etckeeper/commit.d/10vcs-test' +maybe chmod 0755 'etckeeper/commit.d/30bzr-add' +maybe chmod 0755 'etckeeper/commit.d/30darcs-add' +maybe chmod 0755 'etckeeper/commit.d/30git-add' +maybe chmod 0755 'etckeeper/commit.d/30hg-addremove' +maybe chmod 0755 'etckeeper/commit.d/50vcs-commit' +maybe chmod 0755 'etckeeper/commit.d/99push' +maybe chmod 0644 'etckeeper/commit.d/README' +maybe chmod 0755 'etckeeper/daily' +maybe chmod 0644 'etckeeper/etckeeper.conf' +maybe chmod 0755 'etckeeper/init.d' +maybe chmod 0755 'etckeeper/init.d/10restore-metadata' +maybe chmod 0755 'etckeeper/init.d/20restore-etckeeper' +maybe chmod 0755 'etckeeper/init.d/40vcs-init' +maybe chmod 0755 'etckeeper/init.d/50vcs-ignore' +maybe chmod 0755 'etckeeper/init.d/50vcs-perm' +maybe chmod 0755 'etckeeper/init.d/50vcs-pre-commit-hook' +maybe chmod 0755 'etckeeper/init.d/60darcs-deleted-symlinks' +maybe chmod 0755 'etckeeper/init.d/70vcs-add' +maybe chmod 0644 'etckeeper/init.d/README' +maybe chmod 0755 'etckeeper/list-installed.d' +maybe chmod 0755 'etckeeper/list-installed.d/50list-installed' +maybe chmod 0755 'etckeeper/post-install.d' +maybe chmod 0755 'etckeeper/post-install.d/50vcs-commit' +maybe chmod 0644 'etckeeper/post-install.d/README' +maybe chmod 0755 'etckeeper/pre-commit.d' +maybe chmod 0755 'etckeeper/pre-commit.d/20warn-problem-files' +maybe chmod 0755 'etckeeper/pre-commit.d/30store-metadata' +maybe chmod 0644 'etckeeper/pre-commit.d/README' +maybe chmod 0755 'etckeeper/pre-install.d' +maybe chmod 0755 'etckeeper/pre-install.d/10packagelist' +maybe chmod 0755 'etckeeper/pre-install.d/50uncommitted-changes' +maybe chmod 0644 'etckeeper/pre-install.d/README' +maybe chmod 0755 'etckeeper/unclean.d' +maybe chmod 0755 'etckeeper/unclean.d/50test' +maybe chmod 0644 'etckeeper/unclean.d/README' +maybe chmod 0755 'etckeeper/uninit.d' +maybe chmod 0755 'etckeeper/uninit.d/01prompt' +maybe chmod 0755 'etckeeper/uninit.d/50remove-metadata' +maybe chmod 0755 'etckeeper/uninit.d/50vcs-uninit' +maybe chmod 0644 'etckeeper/uninit.d/README' +maybe chmod 0755 'etckeeper/update-ignore.d' +maybe chmod 0755 'etckeeper/update-ignore.d/01update-ignore' +maybe chmod 0644 'etckeeper/update-ignore.d/README' +maybe chmod 0755 'etckeeper/vcs.d' +maybe chmod 0755 'etckeeper/vcs.d/50vcs-cmd' +maybe chmod 0644 'fstab' +maybe chmod 0644 'gai.conf' +maybe chmod 0755 'groff' +maybe chmod 0644 'groff/man.local' +maybe chmod 0644 'groff/mdoc.local' +maybe chmod 0644 'group' +maybe chmod 0644 'group-' +maybe chmod 0755 'grub.d' +maybe chmod 0755 'grub.d/00_header' +maybe chmod 0755 'grub.d/05_debian_theme' +maybe chmod 0755 'grub.d/10_linux' +maybe chmod 0755 'grub.d/20_linux_xen' +maybe chmod 0755 'grub.d/30_os-prober' +maybe chmod 0755 'grub.d/30_uefi-firmware' +maybe chmod 0755 'grub.d/40_custom' +maybe chmod 0755 'grub.d/41_custom' +maybe chmod 0644 'grub.d/README' +maybe chgrp 'shadow' 'gshadow' +maybe chmod 0640 'gshadow' +maybe chgrp 'shadow' 'gshadow-' +maybe chmod 0640 'gshadow-' +maybe chmod 0755 'gss' +maybe chmod 0755 'gss/mech.d' +maybe chmod 0644 'hdparm.conf' +maybe chmod 0644 'host.conf' +maybe chmod 0644 'hostname' +maybe chmod 0644 'hosts' +maybe chmod 0644 'hosts.allow' +maybe chmod 0644 'hosts.deny' +maybe chmod 0755 'init.d' +maybe chmod 0755 'init.d/acpid' +maybe chmod 0755 'init.d/atd' +maybe chmod 0755 'init.d/cloud-config' +maybe chmod 0755 'init.d/cloud-final' +maybe chmod 0755 'init.d/cloud-init' +maybe chmod 0755 'init.d/cloud-init-local' +maybe chmod 0755 'init.d/console-setup.sh' +maybe chmod 0755 'init.d/cron' +maybe chmod 0755 'init.d/cryptdisks' +maybe chmod 0755 'init.d/cryptdisks-early' +maybe chmod 0755 'init.d/dbus' +maybe chmod 0755 'init.d/hwclock.sh' +maybe chmod 0755 'init.d/keyboard-setup.sh' +maybe chmod 0755 'init.d/kmod' +maybe chmod 0755 'init.d/lvm2' +maybe chmod 0755 'init.d/lvm2-lvmpolld' +maybe chmod 0755 'init.d/mdadm' +maybe chmod 0755 'init.d/mdadm-waitidle' +maybe chmod 0755 'init.d/networking' +maybe chmod 0755 'init.d/procps' +maybe chmod 0755 'init.d/qemu-guest-agent' +maybe chmod 0755 'init.d/rsync' +maybe chmod 0755 'init.d/rsyslog' +maybe chmod 0755 'init.d/ssh' +maybe chmod 0755 'init.d/sudo' +maybe chmod 0755 'init.d/udev' +maybe chmod 0755 'initramfs-tools' +maybe chmod 0755 'initramfs-tools/conf.d' +maybe chmod 0644 'initramfs-tools/conf.d/resume' +maybe chmod 0755 'initramfs-tools/hooks' +maybe chmod 0644 'initramfs-tools/initramfs.conf' +maybe chmod 0644 'initramfs-tools/modules' +maybe chmod 0755 'initramfs-tools/scripts' +maybe chmod 0755 'initramfs-tools/scripts/init-bottom' +maybe chmod 0755 'initramfs-tools/scripts/init-premount' +maybe chmod 0755 'initramfs-tools/scripts/init-top' +maybe chmod 0755 'initramfs-tools/scripts/local-bottom' +maybe chmod 0755 'initramfs-tools/scripts/local-premount' +maybe chmod 0755 'initramfs-tools/scripts/local-top' +maybe chmod 0755 'initramfs-tools/scripts/nfs-bottom' +maybe chmod 0755 'initramfs-tools/scripts/nfs-premount' +maybe chmod 0755 'initramfs-tools/scripts/nfs-top' +maybe chmod 0755 'initramfs-tools/scripts/panic' +maybe chmod 0644 'initramfs-tools/update-initramfs.conf' +maybe chmod 0644 'inputrc' +maybe chmod 0755 'iproute2' +maybe chmod 0644 'iproute2/bpf_pinning' +maybe chmod 0644 'iproute2/ematch_map' +maybe chmod 0644 'iproute2/group' +maybe chmod 0644 'iproute2/nl_protos' +maybe chmod 0644 'iproute2/rt_dsfield' +maybe chmod 0644 'iproute2/rt_protos' +maybe chmod 0755 'iproute2/rt_protos.d' +maybe chmod 0644 'iproute2/rt_protos.d/README' +maybe chmod 0644 'iproute2/rt_realms' +maybe chmod 0644 'iproute2/rt_scopes' +maybe chmod 0644 'iproute2/rt_tables' +maybe chmod 0755 'iproute2/rt_tables.d' +maybe chmod 0644 'iproute2/rt_tables.d/README' +maybe chmod 0644 'issue' +maybe chmod 0644 'issue.net' +maybe chmod 0755 'kernel' +maybe chmod 0644 'kernel-img.conf' +maybe chmod 0755 'kernel/install.d' +maybe chmod 0755 'kernel/postinst.d' +maybe chmod 0755 'kernel/postinst.d/apt-auto-removal' +maybe chmod 0755 'kernel/postinst.d/initramfs-tools' +maybe chmod 0755 'kernel/postinst.d/zz-update-grub' +maybe chmod 0755 'kernel/postrm.d' +maybe chmod 0755 'kernel/postrm.d/initramfs-tools' +maybe chmod 0755 'kernel/postrm.d/zz-update-grub' +maybe chmod 0644 'ld.so.conf' +maybe chmod 0755 'ld.so.conf.d' +maybe chmod 0644 'ld.so.conf.d/libc.conf' +maybe chmod 0644 'ld.so.conf.d/x86_64-linux-gnu.conf' +maybe chmod 0755 'ldap' +maybe chmod 0644 'ldap/ldap.conf' +maybe chmod 0644 'libaudit.conf' +maybe chmod 0644 'locale.alias' +maybe chmod 0644 'locale.gen' +maybe chmod 0755 'logcheck' +maybe chmod 0755 'logcheck/ignore.d.server' +maybe chmod 0644 'logcheck/ignore.d.server/gpg-agent' +maybe chmod 0644 'logcheck/ignore.d.server/libsasl2-modules' +maybe chmod 0644 'logcheck/ignore.d.server/mdadm' +maybe chmod 0644 'logcheck/ignore.d.server/rsyslog' +maybe chmod 0755 'logcheck/violations.d' +maybe chmod 0644 'logcheck/violations.d/mdadm' +maybe chmod 0644 'login.defs' +maybe chmod 0644 'logrotate.conf' +maybe chmod 0755 'logrotate.d' +maybe chmod 0644 'logrotate.d/alternatives' +maybe chmod 0644 'logrotate.d/apt' +maybe chmod 0644 'logrotate.d/aptitude' +maybe chmod 0644 'logrotate.d/btmp' +maybe chmod 0644 'logrotate.d/dpkg' +maybe chmod 0644 'logrotate.d/rsyslog' +maybe chmod 0644 'logrotate.d/wtmp' +maybe chmod 0755 'lvm' +maybe chmod 0700 'lvm/archive' +maybe chmod 0700 'lvm/backup' +maybe chmod 0600 'lvm/backup/data' +maybe chmod 0644 'lvm/lvm.conf' +maybe chmod 0644 'lvm/lvmlocal.conf' +maybe chmod 0755 'lvm/profile' +maybe chmod 0644 'lvm/profile/cache-mq.profile' +maybe chmod 0644 'lvm/profile/cache-smq.profile' +maybe chmod 0644 'lvm/profile/command_profile_template.profile' +maybe chmod 0644 'lvm/profile/lvmdbusd.profile' +maybe chmod 0644 'lvm/profile/metadata_profile_template.profile' +maybe chmod 0644 'lvm/profile/thin-generic.profile' +maybe chmod 0644 'lvm/profile/thin-performance.profile' +maybe chmod 0644 'lvm/profile/vdo-small.profile' +maybe chmod 0444 'machine-id' +maybe chmod 0644 'magic' +maybe chmod 0644 'magic.mime' +maybe chmod 0644 'mailcap' +maybe chmod 0644 'mailcap.order' +maybe chmod 0644 'manpath.config' +maybe chmod 0755 'mdadm' +maybe chmod 0644 'mdadm/mdadm.conf' +maybe chmod 0644 'mime.types' +maybe chmod 0644 'mke2fs.conf' +maybe chmod 0755 'modprobe.d' +maybe chmod 0644 'modprobe.d/mdadm.conf' +maybe chmod 0644 'modules' +maybe chmod 0755 'modules-load.d' +maybe chmod 0644 'motd' +maybe chmod 0644 'nanorc' +maybe chmod 0755 'network' +maybe chmod 0755 'network/if-down.d' +maybe chmod 0755 'network/if-post-down.d' +maybe chmod 0755 'network/if-pre-up.d' +maybe chmod 0755 'network/if-pre-up.d/ethtool' +maybe chmod 0755 'network/if-up.d' +maybe chmod 0755 'network/if-up.d/ethtool' +maybe chmod 0644 'network/interfaces' +maybe chmod 0755 'network/interfaces.d' +maybe chmod 0644 'network/interfaces.d/50-cloud-init' +maybe chmod 0644 'networks' +maybe chmod 0644 'nsswitch.conf' +maybe chmod 0755 'opt' +maybe chmod 0644 'pam.conf' +maybe chmod 0755 'pam.d' +maybe chmod 0644 'pam.d/atd' +maybe chmod 0644 'pam.d/chfn' +maybe chmod 0644 'pam.d/chpasswd' +maybe chmod 0644 'pam.d/chsh' +maybe chmod 0644 'pam.d/common-account' +maybe chmod 0644 'pam.d/common-auth' +maybe chmod 0644 'pam.d/common-password' +maybe chmod 0644 'pam.d/common-session' +maybe chmod 0644 'pam.d/common-session-noninteractive' +maybe chmod 0644 'pam.d/cron' +maybe chmod 0644 'pam.d/login' +maybe chmod 0644 'pam.d/newusers' +maybe chmod 0644 'pam.d/other' +maybe chmod 0644 'pam.d/passwd' +maybe chmod 0644 'pam.d/runuser' +maybe chmod 0644 'pam.d/runuser-l' +maybe chmod 0644 'pam.d/sshd' +maybe chmod 0644 'pam.d/su' +maybe chmod 0644 'pam.d/su-l' +maybe chmod 0644 'pam.d/sudo' +maybe chmod 0644 'pam.d/systemd-user' +maybe chmod 0644 'passwd' +maybe chmod 0644 'passwd-' +maybe chmod 0755 'perl' +maybe chmod 0755 'perl/CPAN' +maybe chmod 0755 'perl/Net' +maybe chmod 0644 'perl/Net/libnet.cfg' +maybe chmod 0644 'profile' +maybe chmod 0755 'profile.d' +maybe chmod 0644 'profile.d/Z99-cloud-locale-test.sh' +maybe chmod 0644 'profile.d/bash_completion.sh' +maybe chmod 0644 'profile.d/fbrehm.sh' +maybe chmod 0644 'protocols' +maybe chmod 0755 'python' +maybe chmod 0644 'python/debian_config' +maybe chmod 0755 'python2.7' +maybe chmod 0644 'python2.7/sitecustomize.py' +maybe chmod 0755 'python3' +maybe chmod 0755 'python3.7' +maybe chmod 0644 'python3.7/sitecustomize.py' +maybe chmod 0644 'python3/debian_config' +maybe chmod 0755 'qemu' +maybe chmod 0755 'qemu/fsfreeze-hook' +maybe chmod 0755 'qemu/fsfreeze-hook.d' +maybe chmod 0755 'rc0.d' +maybe chmod 0755 'rc1.d' +maybe chmod 0755 'rc2.d' +maybe chmod 0755 'rc3.d' +maybe chmod 0755 'rc4.d' +maybe chmod 0755 'rc5.d' +maybe chmod 0755 'rc6.d' +maybe chmod 0755 'rcS.d' +maybe chmod 0644 'reportbug.conf' +maybe chmod 0644 'resolv.conf' +maybe chmod 0644 'rpc' +maybe chmod 0644 'rsyslog.conf' +maybe chmod 0755 'rsyslog.d' +maybe chmod 0644 'rsyslog.d/21-cloudinit.conf' +maybe chmod 0644 'rsyslog.d/60-default.conf' +maybe chmod 0644 'rsyslog.d/60-mail.conf' +maybe chmod 0644 'rsyslog.d/70-fb.conf' +maybe chmod 0644 'securetty' +maybe chmod 0755 'security' +maybe chmod 0644 'security/access.conf' +maybe chmod 0644 'security/group.conf' +maybe chmod 0644 'security/limits.conf' +maybe chmod 0755 'security/limits.d' +maybe chmod 0644 'security/namespace.conf' +maybe chmod 0755 'security/namespace.d' +maybe chmod 0755 'security/namespace.init' +maybe chmod 0600 'security/opasswd' +maybe chmod 0644 'security/pam_env.conf' +maybe chmod 0644 'security/sepermit.conf' +maybe chmod 0644 'security/time.conf' +maybe chmod 0755 'selinux' +maybe chmod 0644 'selinux/semanage.conf' +maybe chmod 0644 'services' +maybe chgrp 'shadow' 'shadow' +maybe chmod 0640 'shadow' +maybe chgrp 'shadow' 'shadow-' +maybe chmod 0640 'shadow-' +maybe chmod 0644 'shells' +maybe chmod 0755 'skel' +maybe chmod 0644 'skel/.bash_logout' +maybe chmod 0644 'skel/.bashrc' +maybe chmod 0644 'skel/.cloud-locale-test.skip' +maybe chmod 0644 'skel/.profile' +maybe chmod 0755 'ssh' +maybe chmod 0644 'ssh/moduli' +maybe chmod 0644 'ssh/ssh_config' +maybe chmod 0600 'ssh/ssh_host_dsa_key' +maybe chmod 0644 'ssh/ssh_host_dsa_key.pub' +maybe chmod 0600 'ssh/ssh_host_ecdsa_key' +maybe chmod 0644 'ssh/ssh_host_ecdsa_key.pub' +maybe chmod 0600 'ssh/ssh_host_ed25519_key' +maybe chmod 0644 'ssh/ssh_host_ed25519_key.pub' +maybe chmod 0600 'ssh/ssh_host_rsa_key' +maybe chmod 0644 'ssh/ssh_host_rsa_key.pub' +maybe chmod 0644 'ssh/sshd_config' +maybe chmod 0755 'ssl' +maybe chmod 0755 'ssl/certs' +maybe chmod 0644 'ssl/certs/ca-certificates.crt' +maybe chmod 0644 'ssl/openssl.cnf' +maybe chmod 0700 'ssl/private' +maybe chmod 0644 'subgid' +maybe chmod 0644 'subuid' +maybe chmod 0440 'sudoers' +maybe chmod 0750 'sudoers.d' +maybe chmod 0440 'sudoers.d/90-cloud-init-users' +maybe chmod 0440 'sudoers.d/README' +maybe chmod 0644 'sysctl.conf' +maybe chmod 0755 'sysctl.d' +maybe chmod 0644 'sysctl.d/README.sysctl' +maybe chmod 0644 'sysctl.d/protect-links.conf' +maybe chmod 0755 'systemd' +maybe chmod 0644 'systemd/journald.conf' +maybe chmod 0644 'systemd/logind.conf' +maybe chmod 0755 'systemd/network' +maybe chmod 0644 'systemd/networkd.conf' +maybe chmod 0644 'systemd/resolved.conf' +maybe chmod 0644 'systemd/sleep.conf' +maybe chmod 0755 'systemd/system' +maybe chmod 0644 'systemd/system.conf' +maybe chmod 0755 'systemd/system/cloud-init.target.wants' +maybe chmod 0755 'systemd/system/getty.target.wants' +maybe chmod 0755 'systemd/system/multi-user.target.wants' +maybe chmod 0755 'systemd/system/network-online.target.wants' +maybe chmod 0755 'systemd/system/sockets.target.wants' +maybe chmod 0755 'systemd/system/sysinit.target.wants' +maybe chmod 0755 'systemd/system/timers.target.wants' +maybe chmod 0644 'systemd/timesyncd.conf' +maybe chmod 0755 'systemd/user' +maybe chmod 0644 'systemd/user.conf' +maybe chmod 0755 'terminfo' +maybe chmod 0644 'terminfo/README' +maybe chmod 0644 'timezone' +maybe chmod 0755 'tmpfiles.d' +maybe chmod 0644 'ucf.conf' +maybe chmod 0755 'udev' +maybe chmod 0755 'udev/hwdb.d' +maybe chmod 0755 'udev/rules.d' +maybe chmod 0644 'udev/rules.d/70-persistent-net.rules' +maybe chmod 0644 'udev/udev.conf' +maybe chmod 0755 'ufw' +maybe chmod 0755 'ufw/applications.d' +maybe chmod 0644 'ufw/applications.d/openssh-server' +maybe chmod 0755 'update-motd.d' +maybe chmod 0755 'update-motd.d/10-uname' +maybe chmod 0755 'vim' +maybe chmod 0644 'vim/vimrc' +maybe chmod 0644 'vim/vimrc.local' +maybe chmod 0644 'vim/vimrc.tiny' +maybe chmod 0644 'wgetrc' +maybe chmod 0644 'xattr.conf' +maybe chmod 0755 'xdg' +maybe chmod 0755 'xdg/systemd' diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9196cf5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,54 @@ +# begin section managed by etckeeper (do not edit this section by hand) + +# new and old versions of conffiles, stored by dpkg +*.dpkg-* +# new and old versions of conffiles, stored by ucf +*.ucf-* + +# old versions of files +*.old + +# mount(8) records system state here, no need to store these +blkid.tab +blkid.tab.old + +# some other files in /etc that typically do not need to be tracked +nologin +ld.so.cache +prelink.cache +mtab +mtab.fuselock +.pwd.lock +*.LOCK +network/run +adjtime +lvm/cache +lvm/archive +X11/xdm/authdir/authfiles/* +ntp.conf.dhcp +.initctl +webmin/fsdump/*.status +webmin/webmin/oscache +apparmor.d/cache/* +service/*/supervise/* +service/*/log/supervise/* +sv/*/supervise/* +sv/*/log/supervise/* +*.elc +*.pyc +*.pyo +init.d/.depend.* +openvpn/openvpn-status.log +cups/subscriptions.conf +cups/subscriptions.conf.O +fake-hwclock.data +check_mk/logwatch.state + +# editor temp files +*~ +.*.sw? +.sw? +\#*\# +DEADJOE + +# end section managed by etckeeper diff --git a/NetworkManager/dispatcher.d/cloud-init-hook-network-manager b/NetworkManager/dispatcher.d/cloud-init-hook-network-manager new file mode 100755 index 0000000..67d9044 --- /dev/null +++ b/NetworkManager/dispatcher.d/cloud-init-hook-network-manager @@ -0,0 +1,26 @@ +#!/bin/sh +# This file is part of cloud-init. See LICENSE file for license information. + +# This script hooks into NetworkManager(8) via its scripts +# arguments are 'interface-name' and 'action' +# +is_azure() { + local dmi_path="/sys/class/dmi/id/board_vendor" vendor="" + if [ -e "$dmi_path" ] && read vendor < "$dmi_path"; then + [ "$vendor" = "Microsoft Corporation" ] && return 0 + fi + return 1 +} + +is_enabled() { + # only execute hooks if cloud-init is enabled and on azure + [ -e /run/cloud-init/enabled ] || return 1 + is_azure +} + +if is_enabled; then + case "$1:$2" in + *:up) exec cloud-init dhclient-hook up "$1";; + *:down) exec cloud-init dhclient-hook down "$1";; + esac +fi diff --git a/X11/Xsession.d/90gpg-agent b/X11/Xsession.d/90gpg-agent new file mode 100644 index 0000000..8b45b05 --- /dev/null +++ b/X11/Xsession.d/90gpg-agent @@ -0,0 +1,22 @@ +# On systems with systemd running, we expect the agent to be launched +# via systemd's user mode (see +# /usr/lib/systemd/user/gpg-agent.{socket,service} and +# systemd.unit(5)). This allows systemd to clean up the agent +# automatically at logout. + +# If systemd is absent from your system, or you do not permit it to +# run in user mode, then you may need to manually launch gpg-agent +# from your session initialization with something like "gpgconf +# --launch gpg-agent" + +# Nonetheless, ssh and older versions of gpg require environment +# variables to be set in order to find the agent, so we will set those +# here. + +agent_sock=$(gpgconf --list-dirs agent-socket) +export GPG_AGENT_INFO=${agent_sock}:0:1 +if [ -n "$(gpgconf --list-options gpg-agent | \ + awk -F: '/^enable-ssh-support:/{ print $10 }')" ]; then + export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket) +fi + diff --git a/adduser.conf b/adduser.conf new file mode 100644 index 0000000..d045994 --- /dev/null +++ b/adduser.conf @@ -0,0 +1,85 @@ +# /etc/adduser.conf: `adduser' configuration. +# See adduser(8) and adduser.conf(5) for full documentation. + +# The DSHELL variable specifies the default login shell on your +# system. +DSHELL=/bin/bash + +# The DHOME variable specifies the directory containing users' home +# directories. +DHOME=/home + +# If GROUPHOMES is "yes", then the home directories will be created as +# /home/groupname/user. +GROUPHOMES=no + +# If LETTERHOMES is "yes", then the created home directories will have +# an extra directory - the first letter of the user name. For example: +# /home/u/user. +LETTERHOMES=no + +# The SKEL variable specifies the directory containing "skeletal" user +# files; in other words, files such as a sample .profile that will be +# copied to the new user's home directory when it is created. +SKEL=/etc/skel + +# FIRST_SYSTEM_[GU]ID to LAST_SYSTEM_[GU]ID inclusive is the range for UIDs +# for dynamically allocated administrative and system accounts/groups. +# Please note that system software, such as the users allocated by the base-passwd +# package, may assume that UIDs less than 100 are unallocated. +FIRST_SYSTEM_UID=100 +LAST_SYSTEM_UID=999 + +FIRST_SYSTEM_GID=100 +LAST_SYSTEM_GID=999 + +# FIRST_[GU]ID to LAST_[GU]ID inclusive is the range of UIDs of dynamically +# allocated user accounts/groups. +FIRST_UID=1000 +LAST_UID=59999 + +FIRST_GID=1000 +LAST_GID=59999 + +# The USERGROUPS variable can be either "yes" or "no". If "yes" each +# created user will be given their own group to use as a default. If +# "no", each created user will be placed in the group whose gid is +# USERS_GID (see below). +USERGROUPS=yes + +# If USERGROUPS is "no", then USERS_GID should be the GID of the group +# `users' (or the equivalent group) on your system. +USERS_GID=100 + +# If DIR_MODE is set, directories will be created with the specified +# mode. Otherwise the default mode 0755 will be used. +DIR_MODE=0755 + +# If SETGID_HOME is "yes" home directories for users with their own +# group the setgid bit will be set. This was the default for +# versions << 3.13 of adduser. Because it has some bad side effects we +# no longer do this per default. If you want it nevertheless you can +# still set it here. +SETGID_HOME=no + +# If QUOTAUSER is set, a default quota will be set from that user with +# `edquota -p QUOTAUSER newuser' +QUOTAUSER="" + +# If SKEL_IGNORE_REGEX is set, adduser will ignore files matching this +# regular expression when creating a new home directory +SKEL_IGNORE_REGEX="dpkg-(old|new|dist|save)" + +# Set this if you want the --add_extra_groups option to adduser to add +# new users to other groups. +# This is the list of groups that new non-system users will be added to +# Default: +#EXTRA_GROUPS="dialout cdrom floppy audio video plugdev users" + +# If ADD_EXTRA_GROUPS is set to something non-zero, the EXTRA_GROUPS +# option above will be default behavior for adding new, non-system users +#ADD_EXTRA_GROUPS=1 + + +# check user and group names also against this regular expression. +#NAME_REGEX="^[a-z][-a-z0-9_]*\$" diff --git a/alternatives/README b/alternatives/README new file mode 100644 index 0000000..4c4d215 --- /dev/null +++ b/alternatives/README @@ -0,0 +1,2 @@ +Please read the update-alternatives(1) man page for information on this +directory and its contents. diff --git a/alternatives/aptitude b/alternatives/aptitude new file mode 120000 index 0000000..92636dd --- /dev/null +++ b/alternatives/aptitude @@ -0,0 +1 @@ +/usr/bin/aptitude-curses \ No newline at end of file diff --git a/alternatives/aptitude.8.gz b/alternatives/aptitude.8.gz new file mode 120000 index 0000000..7640372 --- /dev/null +++ b/alternatives/aptitude.8.gz @@ -0,0 +1 @@ +/usr/share/man/man8/aptitude-curses.8.gz \ No newline at end of file diff --git a/alternatives/aptitude.cs.8.gz b/alternatives/aptitude.cs.8.gz new file mode 120000 index 0000000..3d3cfd8 --- /dev/null +++ b/alternatives/aptitude.cs.8.gz @@ -0,0 +1 @@ +/usr/share/man/cs/man8/aptitude-curses.8.gz \ No newline at end of file diff --git a/alternatives/aptitude.de.8.gz b/alternatives/aptitude.de.8.gz new file mode 120000 index 0000000..677c423 --- /dev/null +++ b/alternatives/aptitude.de.8.gz @@ -0,0 +1 @@ +/usr/share/man/de/man8/aptitude-curses.8.gz \ No newline at end of file diff --git a/alternatives/aptitude.es.8.gz b/alternatives/aptitude.es.8.gz new file mode 120000 index 0000000..e9553a1 --- /dev/null +++ b/alternatives/aptitude.es.8.gz @@ -0,0 +1 @@ +/usr/share/man/es/man8/aptitude-curses.8.gz \ No newline at end of file diff --git a/alternatives/aptitude.fi.8.gz b/alternatives/aptitude.fi.8.gz new file mode 120000 index 0000000..7527ff1 --- /dev/null +++ b/alternatives/aptitude.fi.8.gz @@ -0,0 +1 @@ +/usr/share/man/fi/man8/aptitude-curses.8.gz \ No newline at end of file diff --git a/alternatives/aptitude.fr.8.gz b/alternatives/aptitude.fr.8.gz new file mode 120000 index 0000000..8732b80 --- /dev/null +++ b/alternatives/aptitude.fr.8.gz @@ -0,0 +1 @@ +/usr/share/man/fr/man8/aptitude-curses.8.gz \ No newline at end of file diff --git a/alternatives/aptitude.gl.8.gz b/alternatives/aptitude.gl.8.gz new file mode 120000 index 0000000..1be1613 --- /dev/null +++ b/alternatives/aptitude.gl.8.gz @@ -0,0 +1 @@ +/usr/share/man/gl/man8/aptitude-curses.8.gz \ No newline at end of file diff --git a/alternatives/aptitude.it.8.gz b/alternatives/aptitude.it.8.gz new file mode 120000 index 0000000..aa24c32 --- /dev/null +++ b/alternatives/aptitude.it.8.gz @@ -0,0 +1 @@ +/usr/share/man/it/man8/aptitude-curses.8.gz \ No newline at end of file diff --git a/alternatives/aptitude.ja.8.gz b/alternatives/aptitude.ja.8.gz new file mode 120000 index 0000000..0fadf14 --- /dev/null +++ b/alternatives/aptitude.ja.8.gz @@ -0,0 +1 @@ +/usr/share/man/ja/man8/aptitude-curses.8.gz \ No newline at end of file diff --git a/alternatives/aptitude.pl.8.gz b/alternatives/aptitude.pl.8.gz new file mode 120000 index 0000000..1370bf5 --- /dev/null +++ b/alternatives/aptitude.pl.8.gz @@ -0,0 +1 @@ +/usr/share/man/pl/man8/aptitude-curses.8.gz \ No newline at end of file diff --git a/alternatives/arptables b/alternatives/arptables new file mode 120000 index 0000000..f8fcc7b --- /dev/null +++ b/alternatives/arptables @@ -0,0 +1 @@ +/usr/sbin/arptables-nft \ No newline at end of file diff --git a/alternatives/arptables-restore b/alternatives/arptables-restore new file mode 120000 index 0000000..95e87dc --- /dev/null +++ b/alternatives/arptables-restore @@ -0,0 +1 @@ +/usr/sbin/arptables-nft-restore \ No newline at end of file diff --git a/alternatives/arptables-save b/alternatives/arptables-save new file mode 120000 index 0000000..9bb1596 --- /dev/null +++ b/alternatives/arptables-save @@ -0,0 +1 @@ +/usr/sbin/arptables-nft-save \ No newline at end of file diff --git a/alternatives/awk b/alternatives/awk new file mode 120000 index 0000000..6190dcb --- /dev/null +++ b/alternatives/awk @@ -0,0 +1 @@ +/usr/bin/mawk \ No newline at end of file diff --git a/alternatives/awk.1.gz b/alternatives/awk.1.gz new file mode 120000 index 0000000..5d8f19b --- /dev/null +++ b/alternatives/awk.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/mawk.1.gz \ No newline at end of file diff --git a/alternatives/builtins.7.gz b/alternatives/builtins.7.gz new file mode 120000 index 0000000..96d1b74 --- /dev/null +++ b/alternatives/builtins.7.gz @@ -0,0 +1 @@ +/usr/share/man/man7/bash-builtins.7.gz \ No newline at end of file diff --git a/alternatives/ebtables b/alternatives/ebtables new file mode 120000 index 0000000..8d5f660 --- /dev/null +++ b/alternatives/ebtables @@ -0,0 +1 @@ +/usr/sbin/ebtables-nft \ No newline at end of file diff --git a/alternatives/ebtables-restore b/alternatives/ebtables-restore new file mode 120000 index 0000000..c2e5813 --- /dev/null +++ b/alternatives/ebtables-restore @@ -0,0 +1 @@ +/usr/sbin/ebtables-nft-restore \ No newline at end of file diff --git a/alternatives/ebtables-save b/alternatives/ebtables-save new file mode 120000 index 0000000..600f8c2 --- /dev/null +++ b/alternatives/ebtables-save @@ -0,0 +1 @@ +/usr/sbin/ebtables-nft-save \ No newline at end of file diff --git a/alternatives/editor b/alternatives/editor new file mode 120000 index 0000000..7a06612 --- /dev/null +++ b/alternatives/editor @@ -0,0 +1 @@ +/bin/nano \ No newline at end of file diff --git a/alternatives/editor.1.gz b/alternatives/editor.1.gz new file mode 120000 index 0000000..bb2d082 --- /dev/null +++ b/alternatives/editor.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/nano.1.gz \ No newline at end of file diff --git a/alternatives/ex b/alternatives/ex new file mode 120000 index 0000000..1d112da --- /dev/null +++ b/alternatives/ex @@ -0,0 +1 @@ +/usr/bin/vim.basic \ No newline at end of file diff --git a/alternatives/ex.1.gz b/alternatives/ex.1.gz new file mode 120000 index 0000000..e02a6af --- /dev/null +++ b/alternatives/ex.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/ex.da.1.gz b/alternatives/ex.da.1.gz new file mode 120000 index 0000000..c90068f --- /dev/null +++ b/alternatives/ex.da.1.gz @@ -0,0 +1 @@ +/usr/share/man/da/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/ex.de.1.gz b/alternatives/ex.de.1.gz new file mode 120000 index 0000000..d89833a --- /dev/null +++ b/alternatives/ex.de.1.gz @@ -0,0 +1 @@ +/usr/share/man/de/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/ex.fr.1.gz b/alternatives/ex.fr.1.gz new file mode 120000 index 0000000..af52858 --- /dev/null +++ b/alternatives/ex.fr.1.gz @@ -0,0 +1 @@ +/usr/share/man/fr/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/ex.it.1.gz b/alternatives/ex.it.1.gz new file mode 120000 index 0000000..4498a3d --- /dev/null +++ b/alternatives/ex.it.1.gz @@ -0,0 +1 @@ +/usr/share/man/it/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/ex.ja.1.gz b/alternatives/ex.ja.1.gz new file mode 120000 index 0000000..071acfb --- /dev/null +++ b/alternatives/ex.ja.1.gz @@ -0,0 +1 @@ +/usr/share/man/ja/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/ex.pl.1.gz b/alternatives/ex.pl.1.gz new file mode 120000 index 0000000..345590a --- /dev/null +++ b/alternatives/ex.pl.1.gz @@ -0,0 +1 @@ +/usr/share/man/pl/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/ex.ru.1.gz b/alternatives/ex.ru.1.gz new file mode 120000 index 0000000..ea9aa16 --- /dev/null +++ b/alternatives/ex.ru.1.gz @@ -0,0 +1 @@ +/usr/share/man/ru/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/from b/alternatives/from new file mode 120000 index 0000000..3ee6643 --- /dev/null +++ b/alternatives/from @@ -0,0 +1 @@ +/usr/bin/bsd-from \ No newline at end of file diff --git a/alternatives/from.1.gz b/alternatives/from.1.gz new file mode 120000 index 0000000..9c0d8d3 --- /dev/null +++ b/alternatives/from.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/bsd-from.1.gz \ No newline at end of file diff --git a/alternatives/ip6tables b/alternatives/ip6tables new file mode 120000 index 0000000..4c913e2 --- /dev/null +++ b/alternatives/ip6tables @@ -0,0 +1 @@ +/usr/sbin/ip6tables-nft \ No newline at end of file diff --git a/alternatives/ip6tables-restore b/alternatives/ip6tables-restore new file mode 120000 index 0000000..46918a9 --- /dev/null +++ b/alternatives/ip6tables-restore @@ -0,0 +1 @@ +/usr/sbin/ip6tables-nft-restore \ No newline at end of file diff --git a/alternatives/ip6tables-save b/alternatives/ip6tables-save new file mode 120000 index 0000000..04525f0 --- /dev/null +++ b/alternatives/ip6tables-save @@ -0,0 +1 @@ +/usr/sbin/ip6tables-nft-save \ No newline at end of file diff --git a/alternatives/iptables b/alternatives/iptables new file mode 120000 index 0000000..c55fd50 --- /dev/null +++ b/alternatives/iptables @@ -0,0 +1 @@ +/usr/sbin/iptables-nft \ No newline at end of file diff --git a/alternatives/iptables-restore b/alternatives/iptables-restore new file mode 120000 index 0000000..9553657 --- /dev/null +++ b/alternatives/iptables-restore @@ -0,0 +1 @@ +/usr/sbin/iptables-nft-restore \ No newline at end of file diff --git a/alternatives/iptables-save b/alternatives/iptables-save new file mode 120000 index 0000000..051d68b --- /dev/null +++ b/alternatives/iptables-save @@ -0,0 +1 @@ +/usr/sbin/iptables-nft-save \ No newline at end of file diff --git a/alternatives/jsondiff b/alternatives/jsondiff new file mode 120000 index 0000000..8dff8c1 --- /dev/null +++ b/alternatives/jsondiff @@ -0,0 +1 @@ +/usr/bin/python3-jsondiff \ No newline at end of file diff --git a/alternatives/jsonpatch b/alternatives/jsonpatch new file mode 120000 index 0000000..eeba936 --- /dev/null +++ b/alternatives/jsonpatch @@ -0,0 +1 @@ +/usr/bin/python3-jsonpatch \ No newline at end of file diff --git a/alternatives/jsonpointer b/alternatives/jsonpointer new file mode 120000 index 0000000..3697e90 --- /dev/null +++ b/alternatives/jsonpointer @@ -0,0 +1 @@ +/usr/bin/python3-jsonpointer \ No newline at end of file diff --git a/alternatives/jsonschema b/alternatives/jsonschema new file mode 120000 index 0000000..959b7e5 --- /dev/null +++ b/alternatives/jsonschema @@ -0,0 +1 @@ +/usr/bin/python3-jsonschema \ No newline at end of file diff --git a/alternatives/lft b/alternatives/lft new file mode 120000 index 0000000..cbc6006 --- /dev/null +++ b/alternatives/lft @@ -0,0 +1 @@ +/usr/bin/lft.db \ No newline at end of file diff --git a/alternatives/lft.1.gz b/alternatives/lft.1.gz new file mode 120000 index 0000000..c1cf08c --- /dev/null +++ b/alternatives/lft.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/lft.db.1.gz \ No newline at end of file diff --git a/alternatives/lzcat b/alternatives/lzcat new file mode 120000 index 0000000..1482e0d --- /dev/null +++ b/alternatives/lzcat @@ -0,0 +1 @@ +/usr/bin/xzcat \ No newline at end of file diff --git a/alternatives/lzcat.1.gz b/alternatives/lzcat.1.gz new file mode 120000 index 0000000..c078545 --- /dev/null +++ b/alternatives/lzcat.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/xzcat.1.gz \ No newline at end of file diff --git a/alternatives/lzcmp b/alternatives/lzcmp new file mode 120000 index 0000000..5cdef99 --- /dev/null +++ b/alternatives/lzcmp @@ -0,0 +1 @@ +/usr/bin/xzcmp \ No newline at end of file diff --git a/alternatives/lzcmp.1.gz b/alternatives/lzcmp.1.gz new file mode 120000 index 0000000..f0bafbe --- /dev/null +++ b/alternatives/lzcmp.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/xzcmp.1.gz \ No newline at end of file diff --git a/alternatives/lzdiff b/alternatives/lzdiff new file mode 120000 index 0000000..0e42921 --- /dev/null +++ b/alternatives/lzdiff @@ -0,0 +1 @@ +/usr/bin/xzdiff \ No newline at end of file diff --git a/alternatives/lzdiff.1.gz b/alternatives/lzdiff.1.gz new file mode 120000 index 0000000..5687b0a --- /dev/null +++ b/alternatives/lzdiff.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/xzdiff.1.gz \ No newline at end of file diff --git a/alternatives/lzegrep b/alternatives/lzegrep new file mode 120000 index 0000000..5fee024 --- /dev/null +++ b/alternatives/lzegrep @@ -0,0 +1 @@ +/usr/bin/xzegrep \ No newline at end of file diff --git a/alternatives/lzegrep.1.gz b/alternatives/lzegrep.1.gz new file mode 120000 index 0000000..c9ad6de --- /dev/null +++ b/alternatives/lzegrep.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/xzegrep.1.gz \ No newline at end of file diff --git a/alternatives/lzfgrep b/alternatives/lzfgrep new file mode 120000 index 0000000..1b64c1b --- /dev/null +++ b/alternatives/lzfgrep @@ -0,0 +1 @@ +/usr/bin/xzfgrep \ No newline at end of file diff --git a/alternatives/lzfgrep.1.gz b/alternatives/lzfgrep.1.gz new file mode 120000 index 0000000..b292ba9 --- /dev/null +++ b/alternatives/lzfgrep.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/xzfgrep.1.gz \ No newline at end of file diff --git a/alternatives/lzgrep b/alternatives/lzgrep new file mode 120000 index 0000000..05ef59b --- /dev/null +++ b/alternatives/lzgrep @@ -0,0 +1 @@ +/usr/bin/xzgrep \ No newline at end of file diff --git a/alternatives/lzgrep.1.gz b/alternatives/lzgrep.1.gz new file mode 120000 index 0000000..8ccd2c5 --- /dev/null +++ b/alternatives/lzgrep.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/xzgrep.1.gz \ No newline at end of file diff --git a/alternatives/lzless b/alternatives/lzless new file mode 120000 index 0000000..5415736 --- /dev/null +++ b/alternatives/lzless @@ -0,0 +1 @@ +/usr/bin/xzless \ No newline at end of file diff --git a/alternatives/lzless.1.gz b/alternatives/lzless.1.gz new file mode 120000 index 0000000..bc81750 --- /dev/null +++ b/alternatives/lzless.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/xzless.1.gz \ No newline at end of file diff --git a/alternatives/lzma b/alternatives/lzma new file mode 120000 index 0000000..cdc9bb5 --- /dev/null +++ b/alternatives/lzma @@ -0,0 +1 @@ +/usr/bin/xz \ No newline at end of file diff --git a/alternatives/lzma.1.gz b/alternatives/lzma.1.gz new file mode 120000 index 0000000..16e4bcc --- /dev/null +++ b/alternatives/lzma.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/xz.1.gz \ No newline at end of file diff --git a/alternatives/lzmore b/alternatives/lzmore new file mode 120000 index 0000000..1fad361 --- /dev/null +++ b/alternatives/lzmore @@ -0,0 +1 @@ +/usr/bin/xzmore \ No newline at end of file diff --git a/alternatives/lzmore.1.gz b/alternatives/lzmore.1.gz new file mode 120000 index 0000000..e79dfa4 --- /dev/null +++ b/alternatives/lzmore.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/xzmore.1.gz \ No newline at end of file diff --git a/alternatives/mt b/alternatives/mt new file mode 120000 index 0000000..46c2596 --- /dev/null +++ b/alternatives/mt @@ -0,0 +1 @@ +/bin/mt-gnu \ No newline at end of file diff --git a/alternatives/mt.1.gz b/alternatives/mt.1.gz new file mode 120000 index 0000000..cac0e18 --- /dev/null +++ b/alternatives/mt.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/mt-gnu.1.gz \ No newline at end of file diff --git a/alternatives/nawk b/alternatives/nawk new file mode 120000 index 0000000..6190dcb --- /dev/null +++ b/alternatives/nawk @@ -0,0 +1 @@ +/usr/bin/mawk \ No newline at end of file diff --git a/alternatives/nawk.1.gz b/alternatives/nawk.1.gz new file mode 120000 index 0000000..5d8f19b --- /dev/null +++ b/alternatives/nawk.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/mawk.1.gz \ No newline at end of file diff --git a/alternatives/nc b/alternatives/nc new file mode 120000 index 0000000..242a418 --- /dev/null +++ b/alternatives/nc @@ -0,0 +1 @@ +/bin/nc.traditional \ No newline at end of file diff --git a/alternatives/nc.1.gz b/alternatives/nc.1.gz new file mode 120000 index 0000000..c8fdfa9 --- /dev/null +++ b/alternatives/nc.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/nc.traditional.1.gz \ No newline at end of file diff --git a/alternatives/netcat b/alternatives/netcat new file mode 120000 index 0000000..242a418 --- /dev/null +++ b/alternatives/netcat @@ -0,0 +1 @@ +/bin/nc.traditional \ No newline at end of file diff --git a/alternatives/netcat.1.gz b/alternatives/netcat.1.gz new file mode 120000 index 0000000..c8fdfa9 --- /dev/null +++ b/alternatives/netcat.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/nc.traditional.1.gz \ No newline at end of file diff --git a/alternatives/pager b/alternatives/pager new file mode 120000 index 0000000..cbce297 --- /dev/null +++ b/alternatives/pager @@ -0,0 +1 @@ +/bin/less \ No newline at end of file diff --git a/alternatives/pager.1.gz b/alternatives/pager.1.gz new file mode 120000 index 0000000..c1430af --- /dev/null +++ b/alternatives/pager.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/less.1.gz \ No newline at end of file diff --git a/alternatives/pico b/alternatives/pico new file mode 120000 index 0000000..7a06612 --- /dev/null +++ b/alternatives/pico @@ -0,0 +1 @@ +/bin/nano \ No newline at end of file diff --git a/alternatives/pico.1.gz b/alternatives/pico.1.gz new file mode 120000 index 0000000..bb2d082 --- /dev/null +++ b/alternatives/pico.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/nano.1.gz \ No newline at end of file diff --git a/alternatives/pinentry b/alternatives/pinentry new file mode 120000 index 0000000..01990a3 --- /dev/null +++ b/alternatives/pinentry @@ -0,0 +1 @@ +/usr/bin/pinentry-curses \ No newline at end of file diff --git a/alternatives/pinentry.1.gz b/alternatives/pinentry.1.gz new file mode 120000 index 0000000..8e9ab4f --- /dev/null +++ b/alternatives/pinentry.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/pinentry-curses.1.gz \ No newline at end of file diff --git a/alternatives/rcp b/alternatives/rcp new file mode 120000 index 0000000..594df9e --- /dev/null +++ b/alternatives/rcp @@ -0,0 +1 @@ +/usr/bin/scp \ No newline at end of file diff --git a/alternatives/rcp.1.gz b/alternatives/rcp.1.gz new file mode 120000 index 0000000..63bfff3 --- /dev/null +++ b/alternatives/rcp.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/scp.1.gz \ No newline at end of file diff --git a/alternatives/rlogin b/alternatives/rlogin new file mode 120000 index 0000000..8db89a8 --- /dev/null +++ b/alternatives/rlogin @@ -0,0 +1 @@ +/usr/bin/slogin \ No newline at end of file diff --git a/alternatives/rlogin.1.gz b/alternatives/rlogin.1.gz new file mode 120000 index 0000000..be0c6db --- /dev/null +++ b/alternatives/rlogin.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/slogin.1.gz \ No newline at end of file diff --git a/alternatives/rmt b/alternatives/rmt new file mode 120000 index 0000000..82958a9 --- /dev/null +++ b/alternatives/rmt @@ -0,0 +1 @@ +/usr/sbin/rmt-tar \ No newline at end of file diff --git a/alternatives/rmt.8.gz b/alternatives/rmt.8.gz new file mode 120000 index 0000000..8c87e21 --- /dev/null +++ b/alternatives/rmt.8.gz @@ -0,0 +1 @@ +/usr/share/man/man8/rmt-tar.8.gz \ No newline at end of file diff --git a/alternatives/rsh b/alternatives/rsh new file mode 120000 index 0000000..50a1cff --- /dev/null +++ b/alternatives/rsh @@ -0,0 +1 @@ +/usr/bin/ssh \ No newline at end of file diff --git a/alternatives/rsh.1.gz b/alternatives/rsh.1.gz new file mode 120000 index 0000000..b3b36c0 --- /dev/null +++ b/alternatives/rsh.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/ssh.1.gz \ No newline at end of file diff --git a/alternatives/rview b/alternatives/rview new file mode 120000 index 0000000..1d112da --- /dev/null +++ b/alternatives/rview @@ -0,0 +1 @@ +/usr/bin/vim.basic \ No newline at end of file diff --git a/alternatives/rvim b/alternatives/rvim new file mode 120000 index 0000000..1d112da --- /dev/null +++ b/alternatives/rvim @@ -0,0 +1 @@ +/usr/bin/vim.basic \ No newline at end of file diff --git a/alternatives/tcptraceroute b/alternatives/tcptraceroute new file mode 120000 index 0000000..c828cd9 --- /dev/null +++ b/alternatives/tcptraceroute @@ -0,0 +1 @@ +/usr/sbin/tcptraceroute.db \ No newline at end of file diff --git a/alternatives/tcptraceroute.8.gz b/alternatives/tcptraceroute.8.gz new file mode 120000 index 0000000..815a50c --- /dev/null +++ b/alternatives/tcptraceroute.8.gz @@ -0,0 +1 @@ +/usr/share/man/man8/tcptraceroute.db.8.gz \ No newline at end of file diff --git a/alternatives/traceproto b/alternatives/traceproto new file mode 120000 index 0000000..d6973c9 --- /dev/null +++ b/alternatives/traceproto @@ -0,0 +1 @@ +/usr/bin/traceproto.db \ No newline at end of file diff --git a/alternatives/traceproto.1.gz b/alternatives/traceproto.1.gz new file mode 120000 index 0000000..3353595 --- /dev/null +++ b/alternatives/traceproto.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/traceproto.db.1.gz \ No newline at end of file diff --git a/alternatives/traceroute b/alternatives/traceroute new file mode 120000 index 0000000..fd69632 --- /dev/null +++ b/alternatives/traceroute @@ -0,0 +1 @@ +/usr/bin/traceroute.db \ No newline at end of file diff --git a/alternatives/traceroute.1.gz b/alternatives/traceroute.1.gz new file mode 120000 index 0000000..e9586f9 --- /dev/null +++ b/alternatives/traceroute.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/traceroute.db.1.gz \ No newline at end of file diff --git a/alternatives/traceroute.sbin b/alternatives/traceroute.sbin new file mode 120000 index 0000000..fd69632 --- /dev/null +++ b/alternatives/traceroute.sbin @@ -0,0 +1 @@ +/usr/bin/traceroute.db \ No newline at end of file diff --git a/alternatives/traceroute6 b/alternatives/traceroute6 new file mode 120000 index 0000000..7958fcf --- /dev/null +++ b/alternatives/traceroute6 @@ -0,0 +1 @@ +/usr/bin/traceroute6.db \ No newline at end of file diff --git a/alternatives/traceroute6.1.gz b/alternatives/traceroute6.1.gz new file mode 120000 index 0000000..7977291 --- /dev/null +++ b/alternatives/traceroute6.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/traceroute6.db.1.gz \ No newline at end of file diff --git a/alternatives/unlzma b/alternatives/unlzma new file mode 120000 index 0000000..c730a4a --- /dev/null +++ b/alternatives/unlzma @@ -0,0 +1 @@ +/usr/bin/unxz \ No newline at end of file diff --git a/alternatives/unlzma.1.gz b/alternatives/unlzma.1.gz new file mode 120000 index 0000000..c772f41 --- /dev/null +++ b/alternatives/unlzma.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/unxz.1.gz \ No newline at end of file diff --git a/alternatives/vi b/alternatives/vi new file mode 120000 index 0000000..1d112da --- /dev/null +++ b/alternatives/vi @@ -0,0 +1 @@ +/usr/bin/vim.basic \ No newline at end of file diff --git a/alternatives/vi.1.gz b/alternatives/vi.1.gz new file mode 120000 index 0000000..e02a6af --- /dev/null +++ b/alternatives/vi.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/vi.da.1.gz b/alternatives/vi.da.1.gz new file mode 120000 index 0000000..c90068f --- /dev/null +++ b/alternatives/vi.da.1.gz @@ -0,0 +1 @@ +/usr/share/man/da/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/vi.de.1.gz b/alternatives/vi.de.1.gz new file mode 120000 index 0000000..d89833a --- /dev/null +++ b/alternatives/vi.de.1.gz @@ -0,0 +1 @@ +/usr/share/man/de/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/vi.fr.1.gz b/alternatives/vi.fr.1.gz new file mode 120000 index 0000000..af52858 --- /dev/null +++ b/alternatives/vi.fr.1.gz @@ -0,0 +1 @@ +/usr/share/man/fr/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/vi.it.1.gz b/alternatives/vi.it.1.gz new file mode 120000 index 0000000..4498a3d --- /dev/null +++ b/alternatives/vi.it.1.gz @@ -0,0 +1 @@ +/usr/share/man/it/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/vi.ja.1.gz b/alternatives/vi.ja.1.gz new file mode 120000 index 0000000..071acfb --- /dev/null +++ b/alternatives/vi.ja.1.gz @@ -0,0 +1 @@ +/usr/share/man/ja/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/vi.pl.1.gz b/alternatives/vi.pl.1.gz new file mode 120000 index 0000000..345590a --- /dev/null +++ b/alternatives/vi.pl.1.gz @@ -0,0 +1 @@ +/usr/share/man/pl/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/vi.ru.1.gz b/alternatives/vi.ru.1.gz new file mode 120000 index 0000000..ea9aa16 --- /dev/null +++ b/alternatives/vi.ru.1.gz @@ -0,0 +1 @@ +/usr/share/man/ru/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/view b/alternatives/view new file mode 120000 index 0000000..1d112da --- /dev/null +++ b/alternatives/view @@ -0,0 +1 @@ +/usr/bin/vim.basic \ No newline at end of file diff --git a/alternatives/view.1.gz b/alternatives/view.1.gz new file mode 120000 index 0000000..e02a6af --- /dev/null +++ b/alternatives/view.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/view.da.1.gz b/alternatives/view.da.1.gz new file mode 120000 index 0000000..c90068f --- /dev/null +++ b/alternatives/view.da.1.gz @@ -0,0 +1 @@ +/usr/share/man/da/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/view.de.1.gz b/alternatives/view.de.1.gz new file mode 120000 index 0000000..d89833a --- /dev/null +++ b/alternatives/view.de.1.gz @@ -0,0 +1 @@ +/usr/share/man/de/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/view.fr.1.gz b/alternatives/view.fr.1.gz new file mode 120000 index 0000000..af52858 --- /dev/null +++ b/alternatives/view.fr.1.gz @@ -0,0 +1 @@ +/usr/share/man/fr/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/view.it.1.gz b/alternatives/view.it.1.gz new file mode 120000 index 0000000..4498a3d --- /dev/null +++ b/alternatives/view.it.1.gz @@ -0,0 +1 @@ +/usr/share/man/it/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/view.ja.1.gz b/alternatives/view.ja.1.gz new file mode 120000 index 0000000..071acfb --- /dev/null +++ b/alternatives/view.ja.1.gz @@ -0,0 +1 @@ +/usr/share/man/ja/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/view.pl.1.gz b/alternatives/view.pl.1.gz new file mode 120000 index 0000000..345590a --- /dev/null +++ b/alternatives/view.pl.1.gz @@ -0,0 +1 @@ +/usr/share/man/pl/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/view.ru.1.gz b/alternatives/view.ru.1.gz new file mode 120000 index 0000000..ea9aa16 --- /dev/null +++ b/alternatives/view.ru.1.gz @@ -0,0 +1 @@ +/usr/share/man/ru/man1/vim.1.gz \ No newline at end of file diff --git a/alternatives/vim b/alternatives/vim new file mode 120000 index 0000000..1d112da --- /dev/null +++ b/alternatives/vim @@ -0,0 +1 @@ +/usr/bin/vim.basic \ No newline at end of file diff --git a/alternatives/vimdiff b/alternatives/vimdiff new file mode 120000 index 0000000..1d112da --- /dev/null +++ b/alternatives/vimdiff @@ -0,0 +1 @@ +/usr/bin/vim.basic \ No newline at end of file diff --git a/alternatives/w b/alternatives/w new file mode 120000 index 0000000..11c34c4 --- /dev/null +++ b/alternatives/w @@ -0,0 +1 @@ +/usr/bin/w.procps \ No newline at end of file diff --git a/alternatives/w.1.gz b/alternatives/w.1.gz new file mode 120000 index 0000000..7391b64 --- /dev/null +++ b/alternatives/w.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/w.procps.1.gz \ No newline at end of file diff --git a/alternatives/write b/alternatives/write new file mode 120000 index 0000000..121ab03 --- /dev/null +++ b/alternatives/write @@ -0,0 +1 @@ +/usr/bin/bsd-write \ No newline at end of file diff --git a/alternatives/write.1.gz b/alternatives/write.1.gz new file mode 120000 index 0000000..9bcde45 --- /dev/null +++ b/alternatives/write.1.gz @@ -0,0 +1 @@ +/usr/share/man/man1/bsd-write.1.gz \ No newline at end of file diff --git a/apm/event.d/20hdparm b/apm/event.d/20hdparm new file mode 100755 index 0000000..951d869 --- /dev/null +++ b/apm/event.d/20hdparm @@ -0,0 +1,82 @@ +#!/bin/sh + +# Copyright (c) 2000-2002 Massachusetts Institute of Technology +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or (at +# your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +set -e + +# The APMD_DRIVES setting specifies the drives to be changed. Set +# this to an empty string to disable any changes. +#APMD_DRIVES= + +# The spindown timeout is set to the value of APMD_SPINDOWN when the +# computer is running on battery power. When the computer is on AC +# power, the spindown timeout is disabled. The number specified here +# is encoded in a complicated way. See the man page for hdparm(8) for +# details. For small timeouts, numbers between 1 and 240 specify +# multiples of 5 seconds. So the default value of 18 means 18*5=90 +# seconds, or 1.5 minutes. +APMD_SPINDOWN=18 + +HDPARM=/sbin/hdparm +[ -x "${HDPARM}" ] || exit 0 + +[ -n "${APMD_DRIVES}" ] || exit 0 + +for DRIVE in $APMD_DRIVES; do + [ -b "${DRIVE}" ] || exit 0 +done + +[ "${APMD_SPINDOWN}" -gt 0 ] || exit 0 + +power_conserve () +{ + # Set IDE hard disk spindown time to a short time. + for DRIVE in $APMD_DRIVES; do + "${HDPARM}" -q -S "${APMD_SPINDOWN}" "${DRIVE}" || true + done +} + +power_performance () +{ + # Disable IDE hard disk spindown. + for DRIVE in $APMD_DRIVES; do + "${HDPARM}" -q -S 0 "${DRIVE}" || true + done +} + +choose_power () +{ + if on_ac_power > /dev/null + then + power_performance + else + power_conserve + fi +} + +if [ "${1}" = "start" ]; then + choose_power +elif [ "${1}" = "resume" ] && [ "${2}" != "standby" ]; then + choose_power +elif [ "${1},${2}" = "change,power" ]; then + choose_power +elif [ "${1}" = "stop" ]; then + power_performance +fi + +exit 0 diff --git a/apparmor.d/local/usr.bin.man b/apparmor.d/local/usr.bin.man new file mode 100644 index 0000000..e69de29 diff --git a/apparmor.d/usr.bin.man b/apparmor.d/usr.bin.man new file mode 100644 index 0000000..569aec9 --- /dev/null +++ b/apparmor.d/usr.bin.man @@ -0,0 +1,101 @@ +# vim:syntax=apparmor + +#include + +/usr/bin/man { + #include + + # Use a special profile when man calls anything groff-related. We only + # include the programs that actually parse input data in a non-trivial + # way, not wrappers such as groff and nroff, since the latter would need a + # broader profile. + /usr/bin/eqn rmCx -> &man_groff, + /usr/bin/grap rmCx -> &man_groff, + /usr/bin/pic rmCx -> &man_groff, + /usr/bin/preconv rmCx -> &man_groff, + /usr/bin/refer rmCx -> &man_groff, + /usr/bin/tbl rmCx -> &man_groff, + /usr/bin/troff rmCx -> &man_groff, + /usr/bin/vgrind rmCx -> &man_groff, + + # Similarly, use a special profile when man calls decompressors and other + # simple filters. + /{,usr/}bin/bzip2 rmCx -> &man_filter, + /{,usr/}bin/gzip rmCx -> &man_filter, + /usr/bin/col rmCx -> &man_filter, + /usr/bin/compress rmCx -> &man_filter, + /usr/bin/iconv rmCx -> &man_filter, + /usr/bin/lzip.lzip rmCx -> &man_filter, + /usr/bin/tr rmCx -> &man_filter, + /usr/bin/xz rmCx -> &man_filter, + + # Allow basically anything in terms of file system access, subject to DAC. + # The purpose of this profile isn't to confine man itself (that might be + # nice in the future, but is tricky since it's quite configurable), but to + # confine the processes it calls that parse untrusted data. + /** mrixwlk, + unix, + + capability setuid, + capability setgid, + + signal peer=@{profile_name}, + signal peer=/usr/bin/man//&man_groff, + signal peer=/usr/bin/man//&man_filter, + + # Site-specific additions and overrides. See local/README for details. + #include +} + +profile man_groff { + #include + # Recent kernels revalidate open FDs, and there are often some still + # open on TTYs. This is temporary until man learns to close irrelevant + # open FDs before execve. + #include + # man always runs its groff pipeline with the input file open on stdin, + # so we can skip . + + /usr/bin/eqn rm, + /usr/bin/grap rm, + /usr/bin/pic rm, + /usr/bin/preconv rm, + /usr/bin/refer rm, + /usr/bin/tbl rm, + /usr/bin/troff rm, + /usr/bin/vgrind rm, + + /etc/groff/** r, + /usr/lib/groff/site-tmac/** r, + /usr/share/groff/** r, + + signal peer=/usr/bin/man, + # @{profile_name} doesn't seem to work here. + signal peer=/usr/bin/man//&man_groff, +} + +profile man_filter { + #include + # Recent kernels revalidate open FDs, and there are often some still + # open on TTYs. This is temporary until man learns to close irrelevant + # open FDs before execve. + #include + + /{,usr/}bin/bzip2 rm, + /{,usr/}bin/gzip rm, + /usr/bin/col rm, + /usr/bin/compress rm, + /usr/bin/iconv rm, + /usr/bin/lzip.lzip rm, + /usr/bin/tr rm, + /usr/bin/xz rm, + + # Manual pages can be more or less anywhere, especially with "man -l", and + # there's no harm in allowing wide read access here since the worst it can + # do is feed data to the invoking man process. + /** r, + + signal peer=/usr/bin/man, + # @{profile_name} doesn't seem to work here. + signal peer=/usr/bin/man//&man_filter, +} diff --git a/apt/SALTSTACK-GPG-KEY.pub b/apt/SALTSTACK-GPG-KEY.pub new file mode 100644 index 0000000..919f272 --- /dev/null +++ b/apt/SALTSTACK-GPG-KEY.pub @@ -0,0 +1,31 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v2.0.22 (GNU/Linux) + +mQENBFOpvpgBCADkP656H41i8fpplEEB8IeLhugyC2rTEwwSclb8tQNYtUiGdna9 +m38kb0OS2DDrEdtdQb2hWCnswxaAkUunb2qq18vd3dBvlnI+C4/xu5ksZZkRj+fW +tArNR18V+2jkwcG26m8AxIrT+m4M6/bgnSfHTBtT5adNfVcTHqiT1JtCbQcXmwVw +WbqS6v/LhcsBE//SHne4uBCK/GHxZHhQ5jz5h+3vWeV4gvxS3Xu6v1IlIpLDwUts +kT1DumfynYnnZmWTGc6SYyIFXTPJLtnoWDb9OBdWgZxXfHEcBsKGha+bXO+m2tHA +gNneN9i5f8oNxo5njrL8jkCckOpNpng18BKXABEBAAG0MlNhbHRTdGFjayBQYWNr +YWdpbmcgVGVhbSA8cGFja2FnaW5nQHNhbHRzdGFjay5jb20+iQE4BBMBAgAiBQJT +qb6YAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRAOCKFJ3le/vhkqB/0Q +WzELZf4d87WApzolLG+zpsJKtt/ueXL1W1KA7JILhXB1uyvVORt8uA9FjmE083o1 +yE66wCya7V8hjNn2lkLXboOUd1UTErlRg1GYbIt++VPscTxHxwpjDGxDB1/fiX2o +nK5SEpuj4IeIPJVE/uLNAwZyfX8DArLVJ5h8lknwiHlQLGlnOu9ulEAejwAKt9CU +4oYTszYM4xrbtjB/fR+mPnYh2fBoQO4d/NQiejIEyd9IEEMd/03AJQBuMux62tjA +/NwvQ9eqNgLw9NisFNHRWtP4jhAOsshv1WW+zPzu3ozoO+lLHixUIz7fqRk38q8Q +9oNR31KvrkSNrFbA3D89uQENBFOpvpgBCADJ79iH10AfAfpTBEQwa6vzUI3Eltqb +9aZ0xbZV8V/8pnuU7rqM7Z+nJgldibFk4gFG2bHCG1C5aEH/FmcOMvTKDhJSFQUx +uhgxttMArXm2c22OSy1hpsnVG68G32Nag/QFEJ++3hNnbyGZpHnPiYgej3FrerQJ +zv456wIsxRDMvJ1NZQB3twoCqwapC6FJE2hukSdWB5yCYpWlZJXBKzlYz/gwD/Fr +GL578WrLhKw3UvnJmlpqQaDKwmV2s7MsoZogC6wkHE92kGPG2GmoRD3ALjmCvN1E +PsIsQGnwpcXsRpYVCoW7e2nW4wUf7IkFZ94yOCmUq6WreWI4NggRcFC5ABEBAAGJ +AR8EGAECAAkFAlOpvpgCGwwACgkQDgihSd5Xv74/NggA08kEdBkiWWwJZUZEy7cK +WWcgjnRuOHd4rPeT+vQbOWGu6x4bxuVf9aTiYkf7ZjVF2lPn97EXOEGFWPZeZbH4 +vdRFH9jMtP+rrLt6+3c9j0M8SIJYwBL1+CNpEC/BuHj/Ra/cmnG5ZNhYebm76h5f +T9iPW9fFww36FzFka4VPlvA4oB7ebBtquFg3sdQNU/MmTVV4jPFWXxh4oRDDR+8N +1bcPnbB11b5ary99F/mqr7RgQ+YFF0uKRE3SKa7a+6cIuHEZ7Za+zhPaQlzAOZlx +fuBmScum8uQTrEF5+Um5zkwC7EXTdH1co/+/V/fpOtxIg4XO4kcugZefVm5ERfVS +MA== +=dtMN +-----END PGP PUBLIC KEY BLOCK----- diff --git a/apt/apt.conf.d/00CDMountPoint b/apt/apt.conf.d/00CDMountPoint new file mode 100644 index 0000000..6a2c664 --- /dev/null +++ b/apt/apt.conf.d/00CDMountPoint @@ -0,0 +1,4 @@ +Acquire::cdrom { + mount "/media/cdrom"; +}; +Dir::Media::MountPath "/media/cdrom"; diff --git a/apt/apt.conf.d/00InstallRecommends b/apt/apt.conf.d/00InstallRecommends new file mode 100644 index 0000000..96d6728 --- /dev/null +++ b/apt/apt.conf.d/00InstallRecommends @@ -0,0 +1 @@ +APT::Install-Recommends "false"; diff --git a/apt/apt.conf.d/00recommends b/apt/apt.conf.d/00recommends new file mode 100644 index 0000000..7fecedc --- /dev/null +++ b/apt/apt.conf.d/00recommends @@ -0,0 +1,2 @@ +APT::Install-Recommends "false"; +Aptitude::Recommends-Important "false"; diff --git a/apt/apt.conf.d/00trustcdrom b/apt/apt.conf.d/00trustcdrom new file mode 100644 index 0000000..c7588cb --- /dev/null +++ b/apt/apt.conf.d/00trustcdrom @@ -0,0 +1 @@ +APT::Authentication::TrustCDROM "true"; diff --git a/apt/apt.conf.d/01autoremove b/apt/apt.conf.d/01autoremove new file mode 100644 index 0000000..f9d9e85 --- /dev/null +++ b/apt/apt.conf.d/01autoremove @@ -0,0 +1,59 @@ +APT +{ + NeverAutoRemove + { + "^firmware-linux.*"; + "^linux-firmware$"; + "^linux-image-[a-z0-9]*$"; + "^linux-image-[a-z0-9]*-[a-z0-9]*$"; + }; + + VersionedKernelPackages + { + # linux kernels + "linux-image"; + "linux-headers"; + "linux-image-extra"; + "linux-modules"; + "linux-modules-extra"; + "linux-signed-image"; + "linux-image-unsigned"; + # kfreebsd kernels + "kfreebsd-image"; + "kfreebsd-headers"; + # hurd kernels + "gnumach-image"; + # (out-of-tree) modules + ".*-modules"; + ".*-kernel"; + "linux-backports-modules-.*"; + "linux-modules-.*"; + # tools + "linux-tools"; + "linux-cloud-tools"; + # build info + "linux-buildinfo"; + # source code + "linux-source"; + }; + + Never-MarkAuto-Sections + { + "metapackages"; + "contrib/metapackages"; + "non-free/metapackages"; + "restricted/metapackages"; + "universe/metapackages"; + "multiverse/metapackages"; + }; + + Move-Autobit-Sections + { + "oldlibs"; + "contrib/oldlibs"; + "non-free/oldlibs"; + "restricted/oldlibs"; + "universe/oldlibs"; + "multiverse/oldlibs"; + }; +}; diff --git a/apt/apt.conf.d/01autoremove-kernels b/apt/apt.conf.d/01autoremove-kernels new file mode 100644 index 0000000..bc3c808 --- /dev/null +++ b/apt/apt.conf.d/01autoremove-kernels @@ -0,0 +1,62 @@ +// DO NOT EDIT! File autogenerated by /etc/kernel/postinst.d/apt-auto-removal +APT::NeverAutoRemove +{ + "^linux-image-4\.19\.0-14-amd64$"; + "^linux-image-4\.19\.0-16-amd64$"; + "^linux-headers-4\.19\.0-14-amd64$"; + "^linux-headers-4\.19\.0-16-amd64$"; + "^linux-image-extra-4\.19\.0-14-amd64$"; + "^linux-image-extra-4\.19\.0-16-amd64$"; + "^linux-modules-4\.19\.0-14-amd64$"; + "^linux-modules-4\.19\.0-16-amd64$"; + "^linux-modules-extra-4\.19\.0-14-amd64$"; + "^linux-modules-extra-4\.19\.0-16-amd64$"; + "^linux-signed-image-4\.19\.0-14-amd64$"; + "^linux-signed-image-4\.19\.0-16-amd64$"; + "^linux-image-unsigned-4\.19\.0-14-amd64$"; + "^linux-image-unsigned-4\.19\.0-16-amd64$"; + "^kfreebsd-image-4\.19\.0-14-amd64$"; + "^kfreebsd-image-4\.19\.0-16-amd64$"; + "^kfreebsd-headers-4\.19\.0-14-amd64$"; + "^kfreebsd-headers-4\.19\.0-16-amd64$"; + "^gnumach-image-4\.19\.0-14-amd64$"; + "^gnumach-image-4\.19\.0-16-amd64$"; + "^.*-modules-4\.19\.0-14-amd64$"; + "^.*-modules-4\.19\.0-16-amd64$"; + "^.*-kernel-4\.19\.0-14-amd64$"; + "^.*-kernel-4\.19\.0-16-amd64$"; + "^linux-backports-modules-.*-4\.19\.0-14-amd64$"; + "^linux-backports-modules-.*-4\.19\.0-16-amd64$"; + "^linux-modules-.*-4\.19\.0-14-amd64$"; + "^linux-modules-.*-4\.19\.0-16-amd64$"; + "^linux-tools-4\.19\.0-14-amd64$"; + "^linux-tools-4\.19\.0-16-amd64$"; + "^linux-cloud-tools-4\.19\.0-14-amd64$"; + "^linux-cloud-tools-4\.19\.0-16-amd64$"; + "^linux-buildinfo-4\.19\.0-14-amd64$"; + "^linux-buildinfo-4\.19\.0-16-amd64$"; + "^linux-source-4\.19\.0-14-amd64$"; + "^linux-source-4\.19\.0-16-amd64$"; +}; +/* Debug information: +# dpkg list: +ii linux-image-4.19.0-14-amd64 4.19.171-2 amd64 Linux 4.19 for 64-bit PCs (signed) +iF linux-image-4.19.0-16-amd64 4.19.181-1 amd64 Linux 4.19 for 64-bit PCs (signed) +iU linux-image-amd64 4.19+105+deb10u11 amd64 Linux for 64-bit PCs (meta-package) +# list of installed kernel packages: +4.19.0-14-amd64 4.19.171-2 +4.19.0-16-amd64 4.19.181-1 +# list of different kernel versions: +4.19.181-1 +4.19.171-2 +# Installing kernel: 4.19.181-1 (4.19.0-16-amd64) +# Running kernel: 4.19.171-2 (4.19.0-14-amd64) +# Last kernel: 4.19.181-1 +# Previous kernel: 4.19.171-2 +# Kernel versions list to keep: +4.19.171-2 +4.19.181-1 +# Kernel packages (version part) to protect: +4\.19\.0-14-amd64 +4\.19\.0-16-amd64 +*/ diff --git a/apt/apt.conf.d/05etckeeper b/apt/apt.conf.d/05etckeeper new file mode 100644 index 0000000..5e690a2 --- /dev/null +++ b/apt/apt.conf.d/05etckeeper @@ -0,0 +1,5 @@ +DPkg::Pre-Invoke { "if [ -x /usr/bin/etckeeper ]; then etckeeper pre-install; fi"; }; +DPkg::Post-Invoke { "if [ -x /usr/bin/etckeeper ]; then etckeeper post-install; fi"; }; + +RPM::Pre-Invoke { "if [ -x /usr/bin/etckeeper ]; then etckeeper pre-install; fi"; }; +RPM::Post-Invoke { "if [ -x /usr/bin/etckeeper ]; then etckeeper post-install; fi"; }; diff --git a/apt/apt.conf.d/70debconf b/apt/apt.conf.d/70debconf new file mode 100644 index 0000000..0c8b4ca --- /dev/null +++ b/apt/apt.conf.d/70debconf @@ -0,0 +1,3 @@ +// Pre-configure all packages with debconf before they are installed. +// If you don't like it, comment it out. +DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt || true";}; diff --git a/apt/apt.conf.d/99hetzner b/apt/apt.conf.d/99hetzner new file mode 100644 index 0000000..960d97e --- /dev/null +++ b/apt/apt.conf.d/99hetzner @@ -0,0 +1,2 @@ +Acquire::PDiffs "false"; +Acquire::Languages "en"; diff --git a/apt/repo.uhu-banane.de.gpg-key2.pub b/apt/repo.uhu-banane.de.gpg-key2.pub new file mode 100644 index 0000000..c873eb4 --- /dev/null +++ b/apt/repo.uhu-banane.de.gpg-key2.pub @@ -0,0 +1,52 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1 + +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 +og4IHx4/ewCHpZw0I5gSrvEl8ClADzV82g8= +=XuBr +-----END PGP PUBLIC KEY BLOCK----- diff --git a/apt/sources.list b/apt/sources.list new file mode 100644 index 0000000..6ea2870 --- /dev/null +++ b/apt/sources.list @@ -0,0 +1,21 @@ +# deb http://deb.debian.org/debian buster main contrib non-free +# deb-src http://deb.debian.org/debian buster main contrib non-free +deb http://ftp-stud.hs-esslingen.de/debian buster main contrib non-free +deb-src http://ftp-stud.hs-esslingen.de/debian buster main contrib non-free + +# deb http://deb.debian.org/debian buster-updates main contrib non-free +# deb-src http://deb.debian.org/debian buster-updates main contrib non-free +deb http://security.debian.org/ buster/updates main contrib non-free +deb-src http://security.debian.org/ buster/updates main contrib non-free + +# deb http://deb.debian.org/debian buster-backports main contrib non-free +# deb-src http://deb.debian.org/debian buster-backports main contrib non-free +deb http://ftp-stud.hs-esslingen.de/debian buster-updates main contrib non-free +deb-src http://ftp-stud.hs-esslingen.de/debian buster-updates main contrib non-free + +# deb http://security.debian.org/ buster/updates main contrib non-free +# deb-src http://security.debian.org/ buster/updates main contrib non-free +deb http://ftp-stud.hs-esslingen.de/debian/ buster-backports main contrib non-free +deb-src http://ftp-stud.hs-esslingen.de/debian/ buster-backports main contrib non-free + +# vim: noet ts=8 list diff --git a/apt/sources.list.d/fbrehm.list b/apt/sources.list.d/fbrehm.list new file mode 100644 index 0000000..537b479 --- /dev/null +++ b/apt/sources.list.d/fbrehm.list @@ -0,0 +1,6 @@ +# Packages Frank Brehm +# --------------------- + +deb http://repo.uhu-banane.de/Debian/buster ./ +deb-src http://repo.uhu-banane.de/Sources ./ + diff --git a/apt/sources.list.d/hetzner-mirror.list b/apt/sources.list.d/hetzner-mirror.list new file mode 100644 index 0000000..ba02be3 --- /dev/null +++ b/apt/sources.list.d/hetzner-mirror.list @@ -0,0 +1,3 @@ +deb http://mirror.hetzner.de/debian/packages buster main contrib non-free +deb http://mirror.hetzner.de/debian/packages buster-updates main contrib non-free +deb http://mirror.hetzner.de/debian/packages buster-backports main contrib non-free diff --git a/apt/sources.list.d/hetzner-security-updates.list b/apt/sources.list.d/hetzner-security-updates.list new file mode 100644 index 0000000..8229e75 --- /dev/null +++ b/apt/sources.list.d/hetzner-security-updates.list @@ -0,0 +1 @@ +deb http://mirror.hetzner.de/debian/security buster/updates main contrib non-free diff --git a/apt/sources.list.d/salt.list b/apt/sources.list.d/salt.list new file mode 100644 index 0000000..d299a18 --- /dev/null +++ b/apt/sources.list.d/salt.list @@ -0,0 +1 @@ +#deb http://repo.saltstack.com/apt/debian/9/amd64/latest stretch main diff --git a/apt/trusted.gpg b/apt/trusted.gpg new file mode 100644 index 0000000000000000000000000000000000000000..c527c76eb12017324f09b3375e45d673ded81d7f GIT binary patch literal 3479 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 Wc;CFH=;PFEQ;eEA#YpTw$@v$o=4TK9 literal 0 HcmV?d00001 diff --git a/apt/trusted.gpg.d/debian-archive-bullseye-automatic.gpg b/apt/trusted.gpg.d/debian-archive-bullseye-automatic.gpg new file mode 100644 index 0000000000000000000000000000000000000000..dd04cb139c81d96561209030014ca9ff766affff GIT binary patch literal 8700 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 literal 0 HcmV?d00001 diff --git a/apt/trusted.gpg.d/debian-archive-bullseye-security-automatic.gpg b/apt/trusted.gpg.d/debian-archive-bullseye-security-automatic.gpg new file mode 100644 index 0000000000000000000000000000000000000000..1c10c2a1dad390fd1d94486824652c72b27c7378 GIT binary patch literal 8709 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 literal 0 HcmV?d00001 diff --git a/apt/trusted.gpg.d/debian-archive-bullseye-stable.gpg b/apt/trusted.gpg.d/debian-archive-bullseye-stable.gpg new file mode 100644 index 0000000000000000000000000000000000000000..8ecabc7d2d689ce33591e59920f3ecb2cdcd1fbe GIT binary patch literal 2453 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 literal 0 HcmV?d00001 diff --git a/apt/trusted.gpg.d/debian-archive-buster-automatic.gpg b/apt/trusted.gpg.d/debian-archive-buster-automatic.gpg new file mode 100644 index 0000000000000000000000000000000000000000..9ff7af7e5af79cd54df619dcf8314a3cbb7767c5 GIT binary patch literal 8132 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 R`!gQAys!_>qtHC>e*ta^ayI|~ literal 0 HcmV?d00001 diff --git a/apt/trusted.gpg.d/debian-archive-buster-security-automatic.gpg b/apt/trusted.gpg.d/debian-archive-buster-security-automatic.gpg new file mode 100644 index 0000000000000000000000000000000000000000..81afdb705f68c8df95ba9e6d4c15bc52ee5c3162 GIT binary patch literal 8141 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 aPy2fjM|%0RB7(z@>?-c(X_@*Q=YIhorh*dy literal 0 HcmV?d00001 diff --git a/apt/trusted.gpg.d/debian-archive-buster-stable.gpg b/apt/trusted.gpg.d/debian-archive-buster-stable.gpg new file mode 100644 index 0000000000000000000000000000000000000000..6990f456dadf250ce586435329d07c37ce2c161f GIT binary patch literal 2332 zcmV+%3FG#e0u2OQS@ci=5CG2*HE;n(b<;N;odQMfNm|6MW^pkTckEv@0)dVj&+FCQ z0seUG^t@gteayfL{E!jMyBUv^lgm|5LbJv?M5;WXK7lG$@F|2_2h06b-#}4oC)pd- z;48Jg#THHKcGBX9e=X#dA)78Oi&A65Da-X*7gcK7KUjT^p4?|2{on70ds zs`=5buw~ZAJ$Vz_fC@IZi~9E8+ov3>-w;)oK~9Ls)+Eo$KZI}Ooe-A|FiLMSt>6Ls zEdgjQ$9|~a12sh>#Dy8iH1Q>;IZbrdDkzR#%yUv_AY>E16+as{9esYUWq69Qa1otd zO;b-~lflR&yVNZpr)KjCv?94%E-@OiX{mTjdRPK4X_xU+Xhk5XSS5R&*tG814Dl-Q;HJsCKv%w7adi&0&qU@}nrP54?)F{k`Yo@P&KX>7h6l`-*9)Uyw zqJbs~LDSZ6v0L@=E>6a^lAmO9q)aeuPhiw61pB^+L&z|}#9@wBIL3;eF545iU&SX} zoH4phyFkl~+(Q5n0RRECM?_^}X<=?4Q*>csY-J!)Wo%_(b7de)WqBYdF)%M;b#ruO zaw#A@WMyJ$VQwvQWo%_(b7eqmX>)XQE@Wk5X<=?IZ*pfoi2_sv69EbUJ{BPaZ8L^$ z-H-Y~z!W;|+{y31ci|Nm1p-`I^iTpD0|f~W37h~03ke7Z0|gZd2?z@X76JnS00JHX z0vCV)3JDP0$?v~+;T0GE3J?H*s-2Rcz7}g?Pw0SMN^c!#J%ymuJp2;0EnTr{aVL}{ z8wT0pMIJq*xVOVfaF&y7$U&y^s#V?t@g|x#HE8Ge9+Y$rw#aNX36}D&*`ElF2 zw|tlLaAAOg+a+8PDq&YL2L6gs2|st^g713W6aoI{aBf&q&?^(g5v}D@vEpiIDceR|AuVgs{gf$DKdaJA4o!L7E6A#g|&KH?tRFz zE6?I=9cb{A*;o~ZXK@I7FJtz zqecdCl!tEy?)>--3X44_qK3f!oDZphEiz^|gde;D=9pn?@H}$T#_Nu`L^_qv4I*SibTCj&gEQXiw|K&RxRALd{tP0$f@5cK`|r z5XH`2!o@<(S*s`z0F($82{<~j-w_|(Yz9#BMcolCzA77fwK)ixO63=cqTgmiWX=|r zw`%NsG>bzbhGE_G`hjQ%pFE~=d@R-x(g$IbAm%@raPu;dxoz<5G$s7UH_eocKWX-1 z#GO>JGI5>|-l4P>-3wkI=$G8jd&lEV0=xsZ(bl~JyZA^V8`bc5;Y$j6vB=u4{XdS~ zY4{M}DaRatNc_FkhKSrP=89_e^b1-C)f*Vq1U1H%yh(#}FEg{7pxrjm<*fAM=gfp5 zE&31Ncib?pMRF}y)7e^(ZOXoz$p;hi%l8pshl+%~ynVjN-|YC2;Or}ZK5zKMKH}%& zC;#T}J!Jtn6mXDstKIM${S>WyQm_pljY}$`@D9S`DIi#9pmk)b^2)6U#fmpgykGWB zKx`5WLW@|7V@1u4K8vx{s}ky6fc6XJ?xBuq;57(svpwXoMshClGyGQ1uEyRF8P9iU z%I?h;^oas91P}oV038+~1PWER#S$YqLWb;g!&8(;ozqfGQ3V2Awbdg43JDNXlt-P@ zQcO|W%n$nnN;J;?58bsaCsGoLA1V3jG=WDtgT72@yp*@5PK_Z|zey@(O=e%i-sI#v zXPEDSQBhIK#I;K;LnrE|RfTi9yACHOsE2DpXAqJm|Aa&9XA;DdHb-> zvnCYrEY(V}G?t!7&)g3oPQV&J7UZ9ltbH?%N?<>=gv0IpY(ZNC!=1BV}I@*Unsc?Kteq&lbFUD0(qj2+pO_sB)CK0m&to1^#S?`U(%YrRo&}!p$_=c z+}nKn1LDsxMN({~&VoS8O?%pEtodn)_OtBUEDnYTXzQ4diV~uzv8&pYt8#1!+`Gr5 zC=iv{>SghLc49!O+79_(*ac1LO#zjO*z52ijd}Oe$>RxaDdHL{20BP$U)0NQKQ4dM CB3l&z literal 0 HcmV?d00001 diff --git a/apt/trusted.gpg.d/debian-archive-stretch-automatic.gpg b/apt/trusted.gpg.d/debian-archive-stretch-automatic.gpg new file mode 100644 index 0000000000000000000000000000000000000000..81b99e4ae183d10725028430b5c955c1b8e94c23 GIT binary patch literal 7443 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 LdA@C8JpA7P-OJ>b literal 0 HcmV?d00001 diff --git a/apt/trusted.gpg.d/debian-archive-stretch-security-automatic.gpg b/apt/trusted.gpg.d/debian-archive-stretch-security-automatic.gpg new file mode 100644 index 0000000000000000000000000000000000000000..fd24510b596c00969384005a6f255cf2944e5b94 GIT binary patch literal 7452 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 literal 0 HcmV?d00001 diff --git a/apt/trusted.gpg.d/debian-archive-stretch-stable.gpg b/apt/trusted.gpg.d/debian-archive-stretch-stable.gpg new file mode 100644 index 0000000000000000000000000000000000000000..046cf38bc2aa775c633eb5b19e23722e16ab2551 GIT binary patch literal 2263 zcmV;|2q^cN0u2ONAc@@p5CG30Fki)pHEYrlV~=+aX%E^Vr6AyZA0=qw$|AUHhj+Ab zqqA`Y0sOl!bra4BVoLFZZXJ**n|C0n>uElr1|H+;07dIOS z$Mir)$kDmb=bmGmqH$3{7Rq|2AzV7bQ=`c$53f0)jzWaWAG`s&enu=?{Q+}WvZIMR z^|g0pB(hL4+ANV=UTveJox_48)fWLj3Ys!-yi+zzwuVw;t|$AGWw0U41HsDx$!0Rl zMO}HFoWDsi>crhQ2ySUA#=TLmEEd%MXY+~6Q)rqCkxb+eF!`FZk$cs#zE%mqb?a!k z+NNE`Y6D}5Y<8-1Z|=a{KFU-Z%Gkdaf_-pU>b96i+OU;BtTrKf$p&`|OhJ1{C zlih-cctJ$!-D_03!Cx$;akoe_K+uqKqK?l~DY(n7%v$nl?BHrhcI>88baFoie^%EV zhwmiUi7e|>R+9h`0RRECM?_^}X<=?4Q*>csY-J!)Wo%_(b7de)WqBYdIWKc`a%FU5 zXel5(WMyJ$VQwvQWo%_(b7eqmX>)XQE@Wk5X<=?IZ*pfoi2^+Y69EVSCj|moAc@@q z8v_Li4+)$A1q%rX2LlBa3JC}c1r`DW0RRFX0Rk6*0162Z?+-XC8hd2`k3A3mBC?pE z`*FYG27Zqc)Xhjx;t+_?rDk+aVtTDp2};_gF|qW>xyICXo^$DmXQcFt<5xSN;0;0W zFU}kRk*bXCM`E#LULI;XW4v`15R-#|?A|RjDi64=jxD3cLtZQpX@=Gp!Y7 z{QwS&FboPPV3|t;>R0e=Cno)gdv8^1%dI>DjAWVXypw}=p>%U>NZa|KSeUph6p~k8 zM_8od9sa+V22w3UGVLq2Tk=DegX}M%q|mGUU`1T1nw!rkj{zVr7TF$Z=Mw|J$%M=> zCjIYM(ydC_iGd0F)@2Nmz3zy9dTYEQr+EWZN@|=wmLo&Xzl=r9$eNUiZAbM+DZ=(2 zg82pA(nCR`iZHv;Mc(^FJ3)C*IDuLlyVmmZ%X+Wu(i2V67YE#f#9&)>9Q>WG2`Une zfvJ6*1r-?BceJLdbtX##sn4tcA!`385)m1qhmra^50-vwVJazN_Zw6-FAi2@u15CI4P1_c6H zCHg-A3JDM~0e}Sw1>_8oI1m8i-jTyh=xO*9w+6f&(lco2G<2(MWQC5o$RvEE!$6Bl2@9OpnQiL-6(rKm?-nE#I zCebq&<>uB8zGY7n4@q=kqbg=i9=Ql#-~Tv{99n!^PFkAzHmjP5JH|NIPGB)lhn&|O1ZCj*8sm0;oy^g_E=nJ|U z`>z|t8!T5XctXZ%PNSw?u)P(6@diPa{Ha#*V+;MMeqe-cBs%y2idhyUhK?y(p-${Q zYHgmWV8}7X5p?oTc@H93rvz_xmReZacB;^SS@6%ydKR4Uig+jHBbJc!sGZCzpv#qs zmQLj{2c?5$2S}NT0vrSo0SEvF1p-+o7W)7S2@u83UBbme%~_AZ5C2@b832iZbT2L<%2*=Mq6BqjDQ^Ndgk(5cYHR!|t2S08!- z5!z+gtT2NQ#I;A`QJ_|g6_ld8v~Qqlo??r6=?o*1SDi@9hYMuP=!)R5%TjXv&T4FX z*h6iM@SGF@ab47c-Uwvt3KMB7IKecqR4(|yJjNtLCBK_)Jc}sum8D#+4IV3q=&OO5 z$F!5`*n_a0b5t*jeW&aKULN*@4dJ9Vfd`KW5yBNS!Ee6imrk@k8$aG!U*svdTc1IRiKF5(}o30vTG zl{;*;W#;a|>1S5FgZhU_BE_>#QZFHv96J-KI71PfQM?6OD9!k(o*7wJSkjaNs>Q-6 lL51!sIRW-*@Uv0iG^w%#p06`x`}%gF>-*mv*6h%KZQ`!jEQ$aC literal 0 HcmV?d00001 diff --git a/at.deny b/at.deny new file mode 100644 index 0000000..0d5a382 --- /dev/null +++ b/at.deny @@ -0,0 +1,24 @@ +alias +backup +bin +daemon +ftp +games +gnats +guest +irc +lp +mail +man +nobody +operator +proxy +qmaild +qmaill +qmailp +qmailq +qmailr +qmails +sync +sys +www-data diff --git a/bash.bashrc b/bash.bashrc new file mode 100644 index 0000000..7fabe82 --- /dev/null +++ b/bash.bashrc @@ -0,0 +1,58 @@ +# System-wide .bashrc file for interactive bash(1) shells. + +# To enable the settings / commands in this file for login shells as well, +# this file has to be sourced in /etc/profile. + +# If not running interactively, don't do anything +[ -z "$PS1" ] && return + +# check the window size after each command and, if necessary, +# update the values of LINES and COLUMNS. +shopt -s checkwinsize + +# set variable identifying the chroot you work in (used in the prompt below) +if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then + debian_chroot=$(cat /etc/debian_chroot) +fi + +# set a fancy prompt (non-color, overwrite the one in /etc/profile) +# but only if not SUDOing and have SUDO_PS1 set; then assume smart user. +if ! [ -n "${SUDO_USER}" -a -n "${SUDO_PS1}" ]; then + PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' +fi + +# Commented out, don't overwrite xterm -T "title" -n "icontitle" by default. +# If this is an xterm set the title to user@host:dir +#case "$TERM" in +#xterm*|rxvt*) +# PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"' +# ;; +#*) +# ;; +#esac + +# enable bash completion in interactive shells +#if ! shopt -oq posix; then +# if [ -f /usr/share/bash-completion/bash_completion ]; then +# . /usr/share/bash-completion/bash_completion +# elif [ -f /etc/bash_completion ]; then +# . /etc/bash_completion +# fi +#fi + +# if the command-not-found package is installed, use it +if [ -x /usr/lib/command-not-found -o -x /usr/share/command-not-found/command-not-found ]; then + function command_not_found_handle { + # check because c-n-f could've been removed in the meantime + if [ -x /usr/lib/command-not-found ]; then + /usr/lib/command-not-found -- "$1" + return $? + elif [ -x /usr/share/command-not-found/command-not-found ]; then + /usr/share/command-not-found/command-not-found -- "$1" + return $? + else + printf "%s: command not found\n" "$1" >&2 + return 127 + fi + } +fi diff --git a/bash_completion b/bash_completion new file mode 100644 index 0000000..41ffe59 --- /dev/null +++ b/bash_completion @@ -0,0 +1 @@ +. /usr/share/bash-completion/bash_completion diff --git a/bash_completion.d/git-prompt b/bash_completion.d/git-prompt new file mode 100644 index 0000000..8b5852a --- /dev/null +++ b/bash_completion.d/git-prompt @@ -0,0 +1,11 @@ +# In git versions < 1.7.12, this shell library was part of the +# git completion script. +# +# Some users rely on the __git_ps1 function becoming available +# when bash-completion is loaded. Continue to load this library +# at bash-completion startup for now, to ease the transition to a +# world order where the prompt function is requested separately. +# +if [[ -e /usr/lib/git-core/git-sh-prompt ]]; then + . /usr/lib/git-core/git-sh-prompt +fi diff --git a/bindresvport.blacklist b/bindresvport.blacklist new file mode 100644 index 0000000..1dc056e --- /dev/null +++ b/bindresvport.blacklist @@ -0,0 +1,15 @@ +# +# This file contains a list of port numbers between 600 and 1024, +# which should not be used by bindresvport. bindresvport is mostly +# called by RPC services. This mostly solves the problem, that a +# RPC service uses a well known port of another service. +# +631 # cups +636 # ldaps +655 # tinc +774 # rpasswd +783 # spamd +873 # rsync +921 # lwresd +993 # imaps +995 # pops diff --git a/ca-certificates.conf b/ca-certificates.conf new file mode 100644 index 0000000..ec3de36 --- /dev/null +++ b/ca-certificates.conf @@ -0,0 +1,148 @@ +# This file lists certificates that you wish to use or to ignore to be +# installed in /etc/ssl/certs. +# update-ca-certificates(8) will update /etc/ssl/certs by reading this file. +# +# This is autogenerated by dpkg-reconfigure ca-certificates. +# Certificates should be installed under /usr/share/ca-certificates +# and files with extension '.crt' is recognized as available certs. +# +# line begins with # is comment. +# line begins with ! is certificate filename to be deselected. +# +mozilla/ACCVRAIZ1.crt +mozilla/AC_RAIZ_FNMT-RCM.crt +mozilla/Actalis_Authentication_Root_CA.crt +mozilla/AffirmTrust_Commercial.crt +mozilla/AffirmTrust_Networking.crt +mozilla/AffirmTrust_Premium.crt +mozilla/AffirmTrust_Premium_ECC.crt +mozilla/Amazon_Root_CA_1.crt +mozilla/Amazon_Root_CA_2.crt +mozilla/Amazon_Root_CA_3.crt +mozilla/Amazon_Root_CA_4.crt +mozilla/Atos_TrustedRoot_2011.crt +mozilla/Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.crt +mozilla/Baltimore_CyberTrust_Root.crt +mozilla/Buypass_Class_2_Root_CA.crt +mozilla/Buypass_Class_3_Root_CA.crt +mozilla/CA_Disig_Root_R2.crt +mozilla/Certigna.crt +mozilla/Certigna_Root_CA.crt +mozilla/certSIGN_ROOT_CA.crt +mozilla/Certum_Trusted_Network_CA_2.crt +mozilla/Certum_Trusted_Network_CA.crt +mozilla/CFCA_EV_ROOT.crt +mozilla/Chambers_of_Commerce_Root_-_2008.crt +mozilla/Comodo_AAA_Services_root.crt +mozilla/COMODO_Certification_Authority.crt +mozilla/COMODO_ECC_Certification_Authority.crt +mozilla/COMODO_RSA_Certification_Authority.crt +mozilla/Cybertrust_Global_Root.crt +mozilla/DigiCert_Assured_ID_Root_CA.crt +mozilla/DigiCert_Assured_ID_Root_G2.crt +mozilla/DigiCert_Assured_ID_Root_G3.crt +mozilla/DigiCert_Global_Root_CA.crt +mozilla/DigiCert_Global_Root_G2.crt +mozilla/DigiCert_Global_Root_G3.crt +mozilla/DigiCert_High_Assurance_EV_Root_CA.crt +mozilla/DigiCert_Trusted_Root_G4.crt +mozilla/DST_Root_CA_X3.crt +mozilla/D-TRUST_Root_Class_3_CA_2_2009.crt +mozilla/D-TRUST_Root_Class_3_CA_2_EV_2009.crt +mozilla/EC-ACC.crt +mozilla/EE_Certification_Centre_Root_CA.crt +mozilla/emSign_ECC_Root_CA_-_C3.crt +mozilla/emSign_ECC_Root_CA_-_G3.crt +mozilla/emSign_Root_CA_-_C1.crt +mozilla/emSign_Root_CA_-_G1.crt +mozilla/Entrust.net_Premium_2048_Secure_Server_CA.crt +mozilla/Entrust_Root_Certification_Authority.crt +mozilla/Entrust_Root_Certification_Authority_-_EC1.crt +mozilla/Entrust_Root_Certification_Authority_-_G2.crt +mozilla/Entrust_Root_Certification_Authority_-_G4.crt +mozilla/ePKI_Root_Certification_Authority.crt +mozilla/E-Tugra_Certification_Authority.crt +mozilla/GDCA_TrustAUTH_R5_ROOT.crt +mozilla/GeoTrust_Global_CA.crt +mozilla/GeoTrust_Primary_Certification_Authority.crt +mozilla/GeoTrust_Primary_Certification_Authority_-_G2.crt +mozilla/GeoTrust_Primary_Certification_Authority_-_G3.crt +mozilla/GeoTrust_Universal_CA_2.crt +mozilla/GeoTrust_Universal_CA.crt +mozilla/Global_Chambersign_Root_-_2008.crt +mozilla/GlobalSign_ECC_Root_CA_-_R4.crt +mozilla/GlobalSign_ECC_Root_CA_-_R5.crt +mozilla/GlobalSign_Root_CA.crt +mozilla/GlobalSign_Root_CA_-_R2.crt +mozilla/GlobalSign_Root_CA_-_R3.crt +mozilla/GlobalSign_Root_CA_-_R6.crt +mozilla/Go_Daddy_Class_2_CA.crt +mozilla/Go_Daddy_Root_Certificate_Authority_-_G2.crt +mozilla/GTS_Root_R1.crt +mozilla/GTS_Root_R2.crt +mozilla/GTS_Root_R3.crt +mozilla/GTS_Root_R4.crt +mozilla/Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.crt +mozilla/Hellenic_Academic_and_Research_Institutions_RootCA_2011.crt +mozilla/Hellenic_Academic_and_Research_Institutions_RootCA_2015.crt +mozilla/Hongkong_Post_Root_CA_1.crt +mozilla/Hongkong_Post_Root_CA_3.crt +mozilla/IdenTrust_Commercial_Root_CA_1.crt +mozilla/IdenTrust_Public_Sector_Root_CA_1.crt +mozilla/ISRG_Root_X1.crt +mozilla/Izenpe.com.crt +mozilla/LuxTrust_Global_Root_2.crt +mozilla/Microsec_e-Szigno_Root_CA_2009.crt +mozilla/NetLock_Arany_=Class_Gold=_Főtanúsítvány.crt +mozilla/Network_Solutions_Certificate_Authority.crt +mozilla/OISTE_WISeKey_Global_Root_GA_CA.crt +mozilla/OISTE_WISeKey_Global_Root_GB_CA.crt +mozilla/OISTE_WISeKey_Global_Root_GC_CA.crt +mozilla/QuoVadis_Root_CA_1_G3.crt +mozilla/QuoVadis_Root_CA_2.crt +mozilla/QuoVadis_Root_CA_2_G3.crt +mozilla/QuoVadis_Root_CA_3.crt +mozilla/QuoVadis_Root_CA_3_G3.crt +mozilla/QuoVadis_Root_CA.crt +mozilla/Secure_Global_CA.crt +mozilla/SecureSign_RootCA11.crt +mozilla/SecureTrust_CA.crt +mozilla/Security_Communication_RootCA2.crt +mozilla/Security_Communication_Root_CA.crt +mozilla/Sonera_Class_2_Root_CA.crt +mozilla/SSL.com_EV_Root_Certification_Authority_ECC.crt +mozilla/SSL.com_EV_Root_Certification_Authority_RSA_R2.crt +mozilla/SSL.com_Root_Certification_Authority_ECC.crt +mozilla/SSL.com_Root_Certification_Authority_RSA.crt +mozilla/Staat_der_Nederlanden_EV_Root_CA.crt +mozilla/Staat_der_Nederlanden_Root_CA_-_G2.crt +mozilla/Staat_der_Nederlanden_Root_CA_-_G3.crt +mozilla/Starfield_Class_2_CA.crt +mozilla/Starfield_Root_Certificate_Authority_-_G2.crt +mozilla/Starfield_Services_Root_Certificate_Authority_-_G2.crt +mozilla/SwissSign_Gold_CA_-_G2.crt +mozilla/SwissSign_Silver_CA_-_G2.crt +mozilla/SZAFIR_ROOT_CA2.crt +mozilla/Taiwan_GRCA.crt +mozilla/TeliaSonera_Root_CA_v1.crt +mozilla/thawte_Primary_Root_CA.crt +mozilla/thawte_Primary_Root_CA_-_G2.crt +mozilla/thawte_Primary_Root_CA_-_G3.crt +mozilla/TrustCor_ECA-1.crt +mozilla/TrustCor_RootCert_CA-1.crt +mozilla/TrustCor_RootCert_CA-2.crt +mozilla/Trustis_FPS_Root_CA.crt +mozilla/T-TeleSec_GlobalRoot_Class_2.crt +mozilla/T-TeleSec_GlobalRoot_Class_3.crt +mozilla/TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.crt +mozilla/TWCA_Global_Root_CA.crt +mozilla/TWCA_Root_Certification_Authority.crt +mozilla/UCA_Extended_Validation_Root.crt +mozilla/UCA_Global_G2_Root.crt +mozilla/USERTrust_ECC_Certification_Authority.crt +mozilla/USERTrust_RSA_Certification_Authority.crt +mozilla/Verisign_Class_3_Public_Primary_Certification_Authority_-_G3.crt +mozilla/VeriSign_Class_3_Public_Primary_Certification_Authority_-_G4.crt +mozilla/VeriSign_Class_3_Public_Primary_Certification_Authority_-_G5.crt +mozilla/VeriSign_Universal_Root_Certification_Authority.crt +mozilla/XRamp_Global_CA_Root.crt diff --git a/calendar/default b/calendar/default new file mode 100644 index 0000000..fa52180 --- /dev/null +++ b/calendar/default @@ -0,0 +1,15 @@ +/* This is the system-wide default calendar file, used if calendar(1) + * is invoked by a user without a ~/calendar or ~/.calendar/calendar file. + * It may be edited or even deleted to reflect local policy. + * + * In the standard setup, we simply include the default calendar + * definitions from /usr/share/calendar/calendar.all. If you want + * only some of those definitions, copy calendar.all to /etc/calendar + * and edit it there. That way, your changes will be kept next time + * you upgrade. + * + * The search path for include files is: + * /etc/calendar + * /usr/share/calendar + */ +#include "calendar.all" diff --git a/cloud/cloud.cfg b/cloud/cloud.cfg new file mode 100644 index 0000000..df2ce21 --- /dev/null +++ b/cloud/cloud.cfg @@ -0,0 +1,106 @@ +# The top level settings are used as module +# and system configuration. + +# A set of users which may be applied and/or used by various modules +# when a 'default' entry is found it will reference the 'default_user' +# from the distro configuration specified below +users: + - default + +# If this is set, 'root' will not be able to ssh in and they +# will get a message to login instead as the above $user (debian) +disable_root: true + +# This will cause the set+update hostname module to not operate (if true) +preserve_hostname: false + +# This preverts apt/sources.list to be updated at boot time, which +# may be annoying. +apt_preserve_sources_list: true + +# Example datasource config +# datasource: +# Ec2: +# metadata_urls: [ 'blah.com' ] +# timeout: 5 # (defaults to 50 seconds) +# max_wait: 10 # (defaults to 120 seconds) + +# The modules that run in the 'init' stage +cloud_init_modules: + - migrator + - seed_random + - bootcmd + - write-files + - growpart + - resizefs + - disk_setup + - mounts + - set_hostname + - update_hostname + - update_etc_hosts + - ca-certs + - rsyslog + - users-groups + - ssh + +# The modules that run in the 'config' stage +cloud_config_modules: +# Emit the cloud config ready event +# this can be used by upstart jobs for 'start on cloud-config'. + - emit_upstart + - ssh-import-id + - locale + - set-passwords + - grub-dpkg + - apt-pipelining + - apt-configure + - ntp + - timezone + - disable-ec2-metadata + - runcmd + - byobu + +# The modules that run in the 'final' stage +cloud_final_modules: + - package-update-upgrade-install + - fan + - puppet + - chef + - salt-minion + - mcollective + - rightscale_userdata + - scripts-vendor + - scripts-per-once + - scripts-per-boot + - scripts-per-instance + - scripts-user + - ssh-authkey-fingerprints + - keys-to-console + - phone-home + - final-message + - power-state-change + +# System and/or distro specific settings +# (not accessible to handlers/transforms) +system_info: + # This will affect which distro class gets used + distro: debian + # Default user name + that default users groups (if added/used) + default_user: + name: debian + lock_passwd: True + gecos: Debian + groups: [adm, audio, cdrom, dialout, dip, floppy, netdev, plugdev, sudo, video] + sudo: ["ALL=(ALL) NOPASSWD:ALL"] + shell: /bin/bash + # Other config here will be given to the distro class and/or path classes + paths: + cloud_dir: /var/lib/cloud/ + templates_dir: /etc/cloud/templates/ + upstart_dir: /etc/init/ + package_mirrors: + - arches: [default] + failsafe: + primary: http://deb.debian.org/debian + security: http://security.debian.org/ + ssh_svcname: ssh diff --git a/cloud/cloud.cfg.d/00_debian.cfg b/cloud/cloud.cfg.d/00_debian.cfg new file mode 100644 index 0000000..ad36cef --- /dev/null +++ b/cloud/cloud.cfg.d/00_debian.cfg @@ -0,0 +1,2 @@ +syslog_fix_perms: root:adm +mount_default_fields: [~, ~, 'auto', 'defaults,nofail', '0', '2'] diff --git a/cloud/cloud.cfg.d/05_logging.cfg b/cloud/cloud.cfg.d/05_logging.cfg new file mode 100644 index 0000000..937b07f --- /dev/null +++ b/cloud/cloud.cfg.d/05_logging.cfg @@ -0,0 +1,71 @@ +## This yaml formated config file handles setting +## logger information. The values that are necessary to be set +## are seen at the bottom. The top '_log' are only used to remove +## redundency in a syslog and fallback-to-file case. +## +## The 'log_cfgs' entry defines a list of logger configs +## Each entry in the list is tried, and the first one that +## works is used. If a log_cfg list entry is an array, it will +## be joined with '\n'. +_log: + - &log_base | + [loggers] + keys=root,cloudinit + + [handlers] + keys=consoleHandler,cloudLogHandler + + [formatters] + keys=simpleFormatter,arg0Formatter + + [logger_root] + level=DEBUG + handlers=consoleHandler,cloudLogHandler + + [logger_cloudinit] + level=DEBUG + qualname=cloudinit + handlers= + propagate=1 + + [handler_consoleHandler] + class=StreamHandler + level=WARNING + formatter=arg0Formatter + args=(sys.stderr,) + + [formatter_arg0Formatter] + format=%(asctime)s - %(filename)s[%(levelname)s]: %(message)s + + [formatter_simpleFormatter] + format=[CLOUDINIT] %(filename)s[%(levelname)s]: %(message)s + - &log_file | + [handler_cloudLogHandler] + class=FileHandler + level=DEBUG + formatter=arg0Formatter + args=('/var/log/cloud-init.log',) + - &log_syslog | + [handler_cloudLogHandler] + class=handlers.SysLogHandler + level=DEBUG + formatter=simpleFormatter + args=("/dev/log", handlers.SysLogHandler.LOG_USER) + +log_cfgs: +# Array entries in this list will be joined into a string +# that defines the configuration. +# +# If you want logs to go to syslog, uncomment the following line. +# - [ *log_base, *log_syslog ] +# +# The default behavior is to just log to a file. +# This mechanism that does not depend on a system service to operate. + - [ *log_base, *log_file ] +# A file path can also be used. +# - /etc/log.conf + +# This tells cloud-init to redirect its stdout and stderr to +# 'tee -a /var/log/cloud-init-output.log' so the user can see output +# there without needing to look on the console. +output: {all: '| tee -a /var/log/cloud-init-output.log'} diff --git a/cloud/cloud.cfg.d/90-hetznercloud.cfg b/cloud/cloud.cfg.d/90-hetznercloud.cfg new file mode 100644 index 0000000..121aa6b --- /dev/null +++ b/cloud/cloud.cfg.d/90-hetznercloud.cfg @@ -0,0 +1,99 @@ +# The top level settings are used as module +# and system configuration. + +# A set of users which may be applied and/or used by various modules +# when a 'default' entry is found it will reference the 'default_user' +# from the distro configuration specified below +users: + - default + +# If this is set, 'root' will not be able to ssh in and they +# will get a message to login instead as the above $user (debian) +disable_root: false + +# This will cause the set+update hostname module to not operate (if true) +preserve_hostname: false + +# Example datasource config +# datasource: +# Ec2: +# metadata_urls: [ 'blah.com' ] +# timeout: 5 # (defaults to 50 seconds) +# max_wait: 10 # (defaults to 120 seconds) + +# The modules that run in the 'init' stage +cloud_init_modules: + - migrator + - seed_random + - bootcmd + - write-files + - [ growpart, always ] + - [ resizefs, always ] + - disk_setup + - mounts + - set_hostname + - update_hostname + - [ update_etc_hosts, once-per-instance ] + - ca-certs + - rsyslog + - users-groups + - ssh + +# The modules that run in the 'config' stage +cloud_config_modules: +# Emit the cloud config ready event +# this can be used by upstart jobs for 'start on cloud-config'. + - emit_upstart + - ssh-import-id + - locale + - set-passwords + - grub-dpkg + - apt-pipelining + - apt-configure + - ntp + - timezone + - disable-ec2-metadata + - runcmd + - byobu + +# The modules that run in the 'final' stage +cloud_final_modules: + - package-update-upgrade-install + - fan + - puppet + - chef + - salt-minion + - mcollective + - rightscale_userdata + - scripts-vendor + - scripts-per-once + - scripts-per-boot + - scripts-per-instance + - scripts-user + - ssh-authkey-fingerprints + - keys-to-console + - phone-home + - final-message + - power-state-change + +# System and/or distro specific settings +# (not accessible to handlers/transforms) +system_info: + # This will affect which distro class gets used + distro: debian + # Default user name + that default users groups (if added/used) + default_user: + name: root + lock_passwd: True + shell: /bin/bash + # Other config here will be given to the distro class and/or path classes + paths: + cloud_dir: /var/lib/cloud/ + templates_dir: /etc/cloud/templates/ + upstart_dir: /etc/init/ + package_mirrors: + - arches: [default] + failsafe: + primary: http://deb.debian.org/debian + security: http://security.debian.org/ + ssh_svcname: ssh diff --git a/cloud/cloud.cfg.d/99-hetznercloud.cfg b/cloud/cloud.cfg.d/99-hetznercloud.cfg new file mode 100644 index 0000000..eae1138 --- /dev/null +++ b/cloud/cloud.cfg.d/99-hetznercloud.cfg @@ -0,0 +1,4 @@ +# Hetzner cloud-init defaults +# This file was written during the Hetzner image generation process + +datasource_list: [ Hetzner, None ] diff --git a/cloud/cloud.cfg.d/README b/cloud/cloud.cfg.d/README new file mode 100644 index 0000000..036b80b --- /dev/null +++ b/cloud/cloud.cfg.d/README @@ -0,0 +1,3 @@ +# All files with the '.cfg' extension in this directory will be read by +# cloud-init. They are read in lexical order. Later files overwrite values in +# earlier files. diff --git a/cloud/templates/chef_client.rb.tmpl b/cloud/templates/chef_client.rb.tmpl new file mode 100644 index 0000000..99978d3 --- /dev/null +++ b/cloud/templates/chef_client.rb.tmpl @@ -0,0 +1,61 @@ +## template:jinja +{# +This file is only utilized if the module 'cc_chef' is enabled in +cloud-config. Specifically, in order to enable it +you need to add the following to config: + chef: + validation_key: XYZ + validation_cert: XYZ + validation_name: XYZ + server_url: XYZ +-#} +{{generated_by}} +{# +The reason these are not in quotes is because they are ruby +symbols that will be placed inside here, and not actual strings... +#} +{% if log_level %} +log_level {{log_level}} +{% endif %} +{% if ssl_verify_mode %} +ssl_verify_mode {{ssl_verify_mode}} +{% endif %} +{% if log_location %} +log_location "{{log_location}}" +{% endif %} +{% if validation_name %} +validation_client_name "{{validation_name}}" +{% endif %} +{% if validation_cert %} +validation_key "{{validation_key}}" +{% endif %} +{% if client_key %} +client_key "{{client_key}}" +{% endif %} +{% if server_url %} +chef_server_url "{{server_url}}" +{% endif %} +{% if environment %} +environment "{{environment}}" +{% endif %} +{% if node_name %} +node_name "{{node_name}}" +{% endif %} +{% if json_attribs %} +json_attribs "{{json_attribs}}" +{% endif %} +{% if file_cache_path %} +file_cache_path "{{file_cache_path}}" +{% endif %} +{% if file_backup_path %} +file_backup_path "{{file_backup_path}}" +{% endif %} +{% if pid_file %} +pid_file "{{pid_file}}" +{% endif %} +{% if show_time %} +Chef::Log::Formatter.show_time = true +{% endif %} +{% if encrypted_data_bag_secret %} +encrypted_data_bag_secret "{{encrypted_data_bag_secret}}" +{% endif %} diff --git a/cloud/templates/chrony.conf.debian.tmpl b/cloud/templates/chrony.conf.debian.tmpl new file mode 100644 index 0000000..661bf04 --- /dev/null +++ b/cloud/templates/chrony.conf.debian.tmpl @@ -0,0 +1,39 @@ +## template:jinja +# Welcome to the chrony configuration file. See chrony.conf(5) for more +# information about usuable directives. +{% if pools %}# pools +{% endif %} +{% for pool in pools -%} +pool {{pool}} iburst +{% endfor %} +{%- if servers %}# servers +{% endif %} +{% for server in servers -%} +server {{server}} iburst +{% endfor %} + +# This directive specify the location of the file containing ID/key pairs for +# NTP authentication. +keyfile /etc/chrony/chrony.keys + +# This directive specify the file into which chronyd will store the rate +# information. +driftfile /var/lib/chrony/chrony.drift + +# Uncomment the following line to turn logging on. +#log tracking measurements statistics + +# Log files location. +logdir /var/log/chrony + +# Stop bad estimates upsetting machine clock. +maxupdateskew 100.0 + +# This directive enables kernel synchronisation (every 11 minutes) of the +# real-time clock. Note that it can’t be used along with the 'rtcfile' directive. +rtcsync + +# Step the system clock instead of slewing it if the adjustment is larger than +# one second, but only in the first three clock updates. +makestep 1 3 + diff --git a/cloud/templates/chrony.conf.fedora.tmpl b/cloud/templates/chrony.conf.fedora.tmpl new file mode 100644 index 0000000..8551f79 --- /dev/null +++ b/cloud/templates/chrony.conf.fedora.tmpl @@ -0,0 +1,48 @@ +## template:jinja +# Use public servers from the pool.ntp.org project. +# Please consider joining the pool (http://www.pool.ntp.org/join.html). +{% if pools %}# pools +{% endif %} +{% for pool in pools -%} +pool {{pool}} iburst +{% endfor %} +{%- if servers %}# servers +{% endif %} +{% for server in servers -%} +server {{server}} iburst +{% endfor %} + +# Record the rate at which the system clock gains/losses time. +driftfile /var/lib/chrony/drift + +# Allow the system clock to be stepped in the first three updates +# if its offset is larger than 1 second. +makestep 1.0 3 + +# Enable kernel synchronization of the real-time clock (RTC). +rtcsync + +# Enable hardware timestamping on all interfaces that support it. +#hwtimestamp * + +# Increase the minimum number of selectable sources required to adjust +# the system clock. +#minsources 2 + +# Allow NTP client access from local network. +#allow 192.168.0.0/16 + +# Serve time even if not synchronized to a time source. +#local stratum 10 + +# Specify file containing keys for NTP authentication. +#keyfile /etc/chrony.keys + +# Get TAI-UTC offset and leap seconds from the system tz database. +leapsectz right/UTC + +# Specify directory for log files. +logdir /var/log/chrony + +# Select which information is logged. +#log measurements statistics tracking diff --git a/cloud/templates/chrony.conf.opensuse.tmpl b/cloud/templates/chrony.conf.opensuse.tmpl new file mode 100644 index 0000000..a3d3e0e --- /dev/null +++ b/cloud/templates/chrony.conf.opensuse.tmpl @@ -0,0 +1,38 @@ +## template:jinja +# Use public servers from the pool.ntp.org project. +# Please consider joining the pool (http://www.pool.ntp.org/join.html). +{% if pools %}# pools +{% endif %} +{% for pool in pools -%} +pool {{pool}} iburst +{% endfor %} +{%- if servers %}# servers +{% endif %} +{% for server in servers -%} +server {{server}} iburst +{% endfor %} + +# Record the rate at which the system clock gains/losses time. +driftfile /var/lib/chrony/drift + +# In first three updates step the system clock instead of slew +# if the adjustment is larger than 1 second. +makestep 1.0 3 + +# Enable kernel synchronization of the real-time clock (RTC). +rtcsync + +# Allow NTP client access from local network. +#allow 192.168/16 + +# Serve time even if not synchronized to any NTP server. +#local stratum 10 + +# Specify file containing keys for NTP authentication. +#keyfile /etc/chrony.keys + +# Specify directory for log files. +logdir /var/log/chrony + +# Select which information is logged. +#log measurements statistics tracking diff --git a/cloud/templates/chrony.conf.rhel.tmpl b/cloud/templates/chrony.conf.rhel.tmpl new file mode 100644 index 0000000..5b3542e --- /dev/null +++ b/cloud/templates/chrony.conf.rhel.tmpl @@ -0,0 +1,45 @@ +## template:jinja +# Use public servers from the pool.ntp.org project. +# Please consider joining the pool (http://www.pool.ntp.org/join.html). +{% if pools %}# pools +{% endif %} +{% for pool in pools -%} +pool {{pool}} iburst +{% endfor %} +{%- if servers %}# servers +{% endif %} +{% for server in servers -%} +server {{server}} iburst +{% endfor %} + +# Record the rate at which the system clock gains/losses time. +driftfile /var/lib/chrony/drift + +# Allow the system clock to be stepped in the first three updates +# if its offset is larger than 1 second. +makestep 1.0 3 + +# Enable kernel synchronization of the real-time clock (RTC). +rtcsync + +# Enable hardware timestamping on all interfaces that support it. +#hwtimestamp * + +# Increase the minimum number of selectable sources required to adjust +# the system clock. +#minsources 2 + +# Allow NTP client access from local network. +#allow 192.168.0.0/16 + +# Serve time even if not synchronized to a time source. +#local stratum 10 + +# Specify file containing keys for NTP authentication. +#keyfile /etc/chrony.keys + +# Specify directory for log files. +logdir /var/log/chrony + +# Select which information is logged. +#log measurements statistics tracking diff --git a/cloud/templates/chrony.conf.sles.tmpl b/cloud/templates/chrony.conf.sles.tmpl new file mode 100644 index 0000000..a3d3e0e --- /dev/null +++ b/cloud/templates/chrony.conf.sles.tmpl @@ -0,0 +1,38 @@ +## template:jinja +# Use public servers from the pool.ntp.org project. +# Please consider joining the pool (http://www.pool.ntp.org/join.html). +{% if pools %}# pools +{% endif %} +{% for pool in pools -%} +pool {{pool}} iburst +{% endfor %} +{%- if servers %}# servers +{% endif %} +{% for server in servers -%} +server {{server}} iburst +{% endfor %} + +# Record the rate at which the system clock gains/losses time. +driftfile /var/lib/chrony/drift + +# In first three updates step the system clock instead of slew +# if the adjustment is larger than 1 second. +makestep 1.0 3 + +# Enable kernel synchronization of the real-time clock (RTC). +rtcsync + +# Allow NTP client access from local network. +#allow 192.168/16 + +# Serve time even if not synchronized to any NTP server. +#local stratum 10 + +# Specify file containing keys for NTP authentication. +#keyfile /etc/chrony.keys + +# Specify directory for log files. +logdir /var/log/chrony + +# Select which information is logged. +#log measurements statistics tracking diff --git a/cloud/templates/chrony.conf.ubuntu.tmpl b/cloud/templates/chrony.conf.ubuntu.tmpl new file mode 100644 index 0000000..50a6f51 --- /dev/null +++ b/cloud/templates/chrony.conf.ubuntu.tmpl @@ -0,0 +1,42 @@ +## template:jinja +# Welcome to the chrony configuration file. See chrony.conf(5) for more +# information about usuable directives. + +# Use servers from the NTP Pool Project. Approved by Ubuntu Technical Board +# on 2011-02-08 (LP: #104525). See http://www.pool.ntp.org/join.html for +# more information. +{% if pools %}# pools +{% endif %} +{% for pool in pools -%} +pool {{pool}} iburst +{% endfor %} +{%- if servers %}# servers +{% endif %} +{% for server in servers -%} +server {{server}} iburst +{% endfor %} + +# This directive specify the location of the file containing ID/key pairs for +# NTP authentication. +keyfile /etc/chrony/chrony.keys + +# This directive specify the file into which chronyd will store the rate +# information. +driftfile /var/lib/chrony/chrony.drift + +# Uncomment the following line to turn logging on. +#log tracking measurements statistics + +# Log files location. +logdir /var/log/chrony + +# Stop bad estimates upsetting machine clock. +maxupdateskew 100.0 + +# This directive enables kernel synchronisation (every 11 minutes) of the +# real-time clock. Note that it can’t be used along with the 'rtcfile' directive. +rtcsync + +# Step the system clock instead of slewing it if the adjustment is larger than +# one second, but only in the first three clock updates. +makestep 1 3 diff --git a/cloud/templates/hosts.debian.tmpl b/cloud/templates/hosts.debian.tmpl new file mode 100644 index 0000000..7e29907 --- /dev/null +++ b/cloud/templates/hosts.debian.tmpl @@ -0,0 +1,26 @@ +## template:jinja +{# +This file (/etc/cloud/templates/hosts.debian.tmpl) is only utilized +if enabled in cloud-config. Specifically, in order to enable it +you need to add the following to config: + manage_etc_hosts: True +-#} +# Your system has configured 'manage_etc_hosts' as True. +# As a result, if you wish for changes to this file to persist +# then you will need to either +# a.) make changes to the master file in /etc/cloud/templates/hosts.debian.tmpl +# b.) change or remove the value of 'manage_etc_hosts' in +# /etc/cloud/cloud.cfg or cloud-config from user-data +# +{# The value '{{hostname}}' will be replaced with the local-hostname -#} +127.0.1.1 {{fqdn}} {{hostname}} +127.0.0.1 localhost + +# The following lines are desirable for IPv6 capable hosts +::1 ip6-localhost ip6-loopback +fe00::0 ip6-localnet +ff00::0 ip6-mcastprefix +ff02::1 ip6-allnodes +ff02::2 ip6-allrouters +ff02::3 ip6-allhosts + diff --git a/cloud/templates/hosts.freebsd.tmpl b/cloud/templates/hosts.freebsd.tmpl new file mode 100644 index 0000000..7ded762 --- /dev/null +++ b/cloud/templates/hosts.freebsd.tmpl @@ -0,0 +1,24 @@ +## template:jinja +{# +This file /etc/cloud/templates/hosts.freebsd.tmpl is only utilized +if enabled in cloud-config. Specifically, in order to enable it +you need to add the following to config: + manage_etc_hosts: True +-#} +# Your system has configured 'manage_etc_hosts' as True. +# As a result, if you wish for changes to this file to persist +# then you will need to either +# a.) make changes to the master file in /etc/cloud/templates/hosts.freebsd.tmpl +# b.) change or remove the value of 'manage_etc_hosts' in +# /etc/cloud/cloud.cfg or cloud-config from user-data +# +# The following lines are desirable for IPv4 capable hosts +127.0.0.1 {{fqdn}} {{hostname}} +127.0.0.1 localhost.localdomain localhost +127.0.0.1 localhost4.localdomain4 localhost4 + +# The following lines are desirable for IPv6 capable hosts +::1 {{fqdn}} {{hostname}} +::1 localhost.localdomain localhost +::1 localhost6.localdomain6 localhost6 + diff --git a/cloud/templates/hosts.redhat.tmpl b/cloud/templates/hosts.redhat.tmpl new file mode 100644 index 0000000..bc5da32 --- /dev/null +++ b/cloud/templates/hosts.redhat.tmpl @@ -0,0 +1,24 @@ +## template:jinja +{# +This file /etc/cloud/templates/hosts.redhat.tmpl is only utilized +if enabled in cloud-config. Specifically, in order to enable it +you need to add the following to config: + manage_etc_hosts: True +-#} +# Your system has configured 'manage_etc_hosts' as True. +# As a result, if you wish for changes to this file to persist +# then you will need to either +# a.) make changes to the master file in /etc/cloud/templates/hosts.redhat.tmpl +# b.) change or remove the value of 'manage_etc_hosts' in +# /etc/cloud/cloud.cfg or cloud-config from user-data +# +# The following lines are desirable for IPv4 capable hosts +127.0.0.1 {{fqdn}} {{hostname}} +127.0.0.1 localhost.localdomain localhost +127.0.0.1 localhost4.localdomain4 localhost4 + +# The following lines are desirable for IPv6 capable hosts +::1 {{fqdn}} {{hostname}} +::1 localhost.localdomain localhost +::1 localhost6.localdomain6 localhost6 + diff --git a/cloud/templates/hosts.suse.tmpl b/cloud/templates/hosts.suse.tmpl new file mode 100644 index 0000000..8e664db --- /dev/null +++ b/cloud/templates/hosts.suse.tmpl @@ -0,0 +1,32 @@ +## template:jinja +{# +This file /etc/cloud/templates/hosts.suse.tmpl is only utilized +if enabled in cloud-config. Specifically, in order to enable it +you need to add the following to config: + manage_etc_hosts: True +-#} +# Your system has configured 'manage_etc_hosts' as True. +# As a result, if you wish for changes to this file to persist +# then you will need to either +# a.) make changes to the master file in /etc/cloud/templates/hosts.suse.tmpl +# b.) change or remove the value of 'manage_etc_hosts' in +# /etc/cloud/cloud.cfg or cloud-config from user-data +# +# The following lines are desirable for IPv4 capable hosts +127.0.0.1 {{fqdn}} {{hostname}} +127.0.0.1 localhost.localdomain localhost +127.0.0.1 localhost4.localdomain4 localhost4 + +# The following lines are desirable for IPv6 capable hosts +::1 {{fqdn}} {{hostname}} +::1 localhost.localdomain localhost +::1 localhost6.localdomain6 localhost6 +::1 localhost ipv6-localhost ipv6-loopback + + +fe00::0 ipv6-localnet +ff00::0 ipv6-mcastprefix +ff02::1 ipv6-allnodes +ff02::2 ipv6-allrouters +ff02::3 ipv6-allhosts + diff --git a/cloud/templates/ntp.conf.debian.tmpl b/cloud/templates/ntp.conf.debian.tmpl new file mode 100644 index 0000000..affe983 --- /dev/null +++ b/cloud/templates/ntp.conf.debian.tmpl @@ -0,0 +1,64 @@ +## template:jinja + +# /etc/ntp.conf, configuration for ntpd; see ntp.conf(5) for help + +driftfile /var/lib/ntp/ntp.drift + +# Enable this if you want statistics to be logged. +#statsdir /var/log/ntpstats/ + +statistics loopstats peerstats clockstats +filegen loopstats file loopstats type day enable +filegen peerstats file peerstats type day enable +filegen clockstats file clockstats type day enable + + +# You do need to talk to an NTP server or two (or three). +#server ntp.your-provider.example + +# pool.ntp.org maps to about 1000 low-stratum NTP servers. Your server will +# pick a different set every time it starts up. Please consider joining the +# pool: +{% if pools %}# pools +{% endif %} +{% for pool in pools -%} +pool {{pool}} iburst +{% endfor %} +{%- if servers %}# servers +{% endif %} +{% for server in servers -%} +server {{server}} iburst +{% endfor %} + +# Access control configuration; see /usr/share/doc/ntp-doc/html/accopt.html for +# details. The web page +# might also be helpful. +# +# Note that "restrict" applies to both servers and clients, so a configuration +# that might be intended to block requests from certain clients could also end +# up blocking replies from your own upstream servers. + +# By default, exchange time with everybody, but don't allow configuration. +restrict -4 default kod notrap nomodify nopeer noquery limited +restrict -6 default kod notrap nomodify nopeer noquery limited + +# Local users may interrogate the ntp server more closely. +restrict 127.0.0.1 +restrict ::1 + +# Needed for adding pool entries +restrict source notrap nomodify noquery + +# Clients from this (example!) subnet have unlimited access, but only if +# cryptographically authenticated. +#restrict 192.168.123.0 mask 255.255.255.0 notrust + + +# If you want to provide time to your local subnet, change the next line. +# (Again, the address is an example only.) +#broadcast 192.168.123.255 + +# If you want to listen to time broadcasts on your local subnet, de-comment the +# next lines. Please do this only if you trust everybody on the network! +#disable auth +#broadcastclient diff --git a/cloud/templates/ntp.conf.fedora.tmpl b/cloud/templates/ntp.conf.fedora.tmpl new file mode 100644 index 0000000..af7b1b0 --- /dev/null +++ b/cloud/templates/ntp.conf.fedora.tmpl @@ -0,0 +1,66 @@ +## template:jinja + +# For more information about this file, see the man pages +# ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5). + +driftfile /var/lib/ntp/drift + +# Permit time synchronization with our time source, but do not +# permit the source to query or modify the service on this system. +restrict default nomodify notrap nopeer noquery + +# Permit all access over the loopback interface. This could +# be tightened as well, but to do so would effect some of +# the administrative functions. +restrict 127.0.0.1 +restrict ::1 + +# Hosts on local network are less restricted. +#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap + +# Use public servers from the pool.ntp.org project. +# Please consider joining the pool (http://www.pool.ntp.org/join.html). +{% if pools %}# pools +{% endif %} +{% for pool in pools -%} +pool {{pool}} iburst +{% endfor %} +{%- if servers %}# servers +{% endif %} +{% for server in servers -%} +server {{server}} iburst +{% endfor %} + +#broadcast 192.168.1.255 autokey # broadcast server +#broadcastclient # broadcast client +#broadcast 224.0.1.1 autokey # multicast server +#multicastclient 224.0.1.1 # multicast client +#manycastserver 239.255.254.254 # manycast server +#manycastclient 239.255.254.254 autokey # manycast client + +# Enable public key cryptography. +#crypto + +includefile /etc/ntp/crypto/pw + +# Key file containing the keys and key identifiers used when operating +# with symmetric key cryptography. +keys /etc/ntp/keys + +# Specify the key identifiers which are trusted. +#trustedkey 4 8 42 + +# Specify the key identifier to use with the ntpdc utility. +#requestkey 8 + +# Specify the key identifier to use with the ntpq utility. +#controlkey 8 + +# Enable writing of statistics records. +#statistics clockstats cryptostats loopstats peerstats + +# Disable the monitoring facility to prevent amplification attacks using ntpdc +# monlist command when default restrict does not include the noquery flag. See +# CVE-2013-5211 for more details. +# Note: Monitoring will not be disabled with the limited restriction flag. +disable monitor diff --git a/cloud/templates/ntp.conf.opensuse.tmpl b/cloud/templates/ntp.conf.opensuse.tmpl new file mode 100644 index 0000000..f3ab565 --- /dev/null +++ b/cloud/templates/ntp.conf.opensuse.tmpl @@ -0,0 +1,88 @@ +## template:jinja + +## +## Radio and modem clocks by convention have addresses in the +## form 127.127.t.u, where t is the clock type and u is a unit +## number in the range 0-3. +## +## Most of these clocks require support in the form of a +## serial port or special bus peripheral. The particular +## device is normally specified by adding a soft link +## /dev/device-u to the particular hardware device involved, +## where u correspond to the unit number above. +## +## Generic DCF77 clock on serial port (Conrad DCF77) +## Address: 127.127.8.u +## Serial Port: /dev/refclock-u +## +## (create soft link /dev/refclock-0 to the particular ttyS?) +## +# server 127.127.8.0 mode 5 prefer + +## +## Undisciplined Local Clock. This is a fake driver intended for backup +## and when no outside source of synchronized time is available. +## +# server 127.127.1.0 # local clock (LCL) +# fudge 127.127.1.0 stratum 10 # LCL is unsynchronized + +## +## Add external Servers using +## # rcntpd addserver +## The servers will only be added to the currently running instance, not +## to /etc/ntp.conf. +## +{% if pools %}# pools +{% endif %} +{% for pool in pools -%} +pool {{pool}} iburst +{% endfor %} +{%- if servers %}# servers +{% endif %} +{% for server in servers -%} +server {{server}} iburst +{% endfor %} + +# Access control configuration; see /usr/share/doc/packages/ntp/html/accopt.html for +# details. The web page +# might also be helpful. +# +# Note that "restrict" applies to both servers and clients, so a configuration +# that might be intended to block requests from certain clients could also end +# up blocking replies from your own upstream servers. + +# By default, exchange time with everybody, but don't allow configuration. +restrict -4 default notrap nomodify nopeer noquery +restrict -6 default notrap nomodify nopeer noquery + +# Local users may interrogate the ntp server more closely. +restrict 127.0.0.1 +restrict ::1 + +# Clients from this (example!) subnet have unlimited access, but only if +# cryptographically authenticated. +#restrict 192.168.123.0 mask 255.255.255.0 notrust + +## +## Miscellaneous stuff +## + +driftfile /var/lib/ntp/drift/ntp.drift # path for drift file + +logfile /var/log/ntp # alternate log file +# logconfig =syncstatus + sysevents +# logconfig =all + +# statsdir /tmp/ # directory for statistics files +# filegen peerstats file peerstats type day enable +# filegen loopstats file loopstats type day enable +# filegen clockstats file clockstats type day enable + +# +# Authentication stuff +# +keys /etc/ntp.keys # path for keys file +trustedkey 1 # define trusted keys +requestkey 1 # key (7) for accessing server variables +controlkey 1 # key (6) for accessing server variables + diff --git a/cloud/templates/ntp.conf.rhel.tmpl b/cloud/templates/ntp.conf.rhel.tmpl new file mode 100644 index 0000000..62b4776 --- /dev/null +++ b/cloud/templates/ntp.conf.rhel.tmpl @@ -0,0 +1,61 @@ +## template:jinja + +# For more information about this file, see the man pages +# ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5). + +driftfile /var/lib/ntp/drift + +# Permit time synchronization with our time source, but do not +# permit the source to query or modify the service on this system. +restrict default kod nomodify notrap nopeer noquery +restrict -6 default kod nomodify notrap nopeer noquery + +# Permit all access over the loopback interface. This could +# be tightened as well, but to do so would effect some of +# the administrative functions. +restrict 127.0.0.1 +restrict -6 ::1 + +# Hosts on local network are less restricted. +#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap + +# Use public servers from the pool.ntp.org project. +# Please consider joining the pool (http://www.pool.ntp.org/join.html). +{% if pools %}# pools +{% endif %} +{% for pool in pools -%} +pool {{pool}} iburst +{% endfor %} +{%- if servers %}# servers +{% endif %} +{% for server in servers -%} +server {{server}} iburst +{% endfor %} + +#broadcast 192.168.1.255 autokey # broadcast server +#broadcastclient # broadcast client +#broadcast 224.0.1.1 autokey # multicast server +#multicastclient 224.0.1.1 # multicast client +#manycastserver 239.255.254.254 # manycast server +#manycastclient 239.255.254.254 autokey # manycast client + +# Enable public key cryptography. +#crypto + +includefile /etc/ntp/crypto/pw + +# Key file containing the keys and key identifiers used when operating +# with symmetric key cryptography. +keys /etc/ntp/keys + +# Specify the key identifiers which are trusted. +#trustedkey 4 8 42 + +# Specify the key identifier to use with the ntpdc utility. +#requestkey 8 + +# Specify the key identifier to use with the ntpq utility. +#controlkey 8 + +# Enable writing of statistics records. +#statistics clockstats cryptostats loopstats peerstats diff --git a/cloud/templates/ntp.conf.sles.tmpl b/cloud/templates/ntp.conf.sles.tmpl new file mode 100644 index 0000000..f3ab565 --- /dev/null +++ b/cloud/templates/ntp.conf.sles.tmpl @@ -0,0 +1,88 @@ +## template:jinja + +## +## Radio and modem clocks by convention have addresses in the +## form 127.127.t.u, where t is the clock type and u is a unit +## number in the range 0-3. +## +## Most of these clocks require support in the form of a +## serial port or special bus peripheral. The particular +## device is normally specified by adding a soft link +## /dev/device-u to the particular hardware device involved, +## where u correspond to the unit number above. +## +## Generic DCF77 clock on serial port (Conrad DCF77) +## Address: 127.127.8.u +## Serial Port: /dev/refclock-u +## +## (create soft link /dev/refclock-0 to the particular ttyS?) +## +# server 127.127.8.0 mode 5 prefer + +## +## Undisciplined Local Clock. This is a fake driver intended for backup +## and when no outside source of synchronized time is available. +## +# server 127.127.1.0 # local clock (LCL) +# fudge 127.127.1.0 stratum 10 # LCL is unsynchronized + +## +## Add external Servers using +## # rcntpd addserver +## The servers will only be added to the currently running instance, not +## to /etc/ntp.conf. +## +{% if pools %}# pools +{% endif %} +{% for pool in pools -%} +pool {{pool}} iburst +{% endfor %} +{%- if servers %}# servers +{% endif %} +{% for server in servers -%} +server {{server}} iburst +{% endfor %} + +# Access control configuration; see /usr/share/doc/packages/ntp/html/accopt.html for +# details. The web page +# might also be helpful. +# +# Note that "restrict" applies to both servers and clients, so a configuration +# that might be intended to block requests from certain clients could also end +# up blocking replies from your own upstream servers. + +# By default, exchange time with everybody, but don't allow configuration. +restrict -4 default notrap nomodify nopeer noquery +restrict -6 default notrap nomodify nopeer noquery + +# Local users may interrogate the ntp server more closely. +restrict 127.0.0.1 +restrict ::1 + +# Clients from this (example!) subnet have unlimited access, but only if +# cryptographically authenticated. +#restrict 192.168.123.0 mask 255.255.255.0 notrust + +## +## Miscellaneous stuff +## + +driftfile /var/lib/ntp/drift/ntp.drift # path for drift file + +logfile /var/log/ntp # alternate log file +# logconfig =syncstatus + sysevents +# logconfig =all + +# statsdir /tmp/ # directory for statistics files +# filegen peerstats file peerstats type day enable +# filegen loopstats file loopstats type day enable +# filegen clockstats file clockstats type day enable + +# +# Authentication stuff +# +keys /etc/ntp.keys # path for keys file +trustedkey 1 # define trusted keys +requestkey 1 # key (7) for accessing server variables +controlkey 1 # key (6) for accessing server variables + diff --git a/cloud/templates/ntp.conf.ubuntu.tmpl b/cloud/templates/ntp.conf.ubuntu.tmpl new file mode 100644 index 0000000..862a4fb --- /dev/null +++ b/cloud/templates/ntp.conf.ubuntu.tmpl @@ -0,0 +1,75 @@ +## template:jinja + +# /etc/ntp.conf, configuration for ntpd; see ntp.conf(5) for help + +driftfile /var/lib/ntp/ntp.drift + +# Enable this if you want statistics to be logged. +#statsdir /var/log/ntpstats/ + +statistics loopstats peerstats clockstats +filegen loopstats file loopstats type day enable +filegen peerstats file peerstats type day enable +filegen clockstats file clockstats type day enable + +# Specify one or more NTP servers. + +# Use servers from the NTP Pool Project. Approved by Ubuntu Technical Board +# on 2011-02-08 (LP: #104525). See http://www.pool.ntp.org/join.html for +# more information. +{% if pools %}# pools +{% endif %} +{% for pool in pools -%} +pool {{pool}} iburst +{% endfor %} +{%- if servers %}# servers +{% endif %} +{% for server in servers -%} +server {{server}} iburst +{% endfor %} + +# Use Ubuntu's ntp server as a fallback. +# pool ntp.ubuntu.com + +# Access control configuration; see /usr/share/doc/ntp-doc/html/accopt.html for +# details. The web page +# might also be helpful. +# +# Note that "restrict" applies to both servers and clients, so a configuration +# that might be intended to block requests from certain clients could also end +# up blocking replies from your own upstream servers. + +# By default, exchange time with everybody, but don't allow configuration. +restrict -4 default kod notrap nomodify nopeer noquery limited +restrict -6 default kod notrap nomodify nopeer noquery limited + +# Local users may interrogate the ntp server more closely. +restrict 127.0.0.1 +restrict ::1 + +# Needed for adding pool entries +restrict source notrap nomodify noquery + +# Clients from this (example!) subnet have unlimited access, but only if +# cryptographically authenticated. +#restrict 192.168.123.0 mask 255.255.255.0 notrust + + +# If you want to provide time to your local subnet, change the next line. +# (Again, the address is an example only.) +#broadcast 192.168.123.255 + +# If you want to listen to time broadcasts on your local subnet, de-comment the +# next lines. Please do this only if you trust everybody on the network! +#disable auth +#broadcastclient + +#Changes recquired to use pps synchonisation as explained in documentation: +#http://www.ntp.org/ntpfaq/NTP-s-config-adv.htm#AEN3918 + +#server 127.127.8.1 mode 135 prefer # Meinberg GPS167 with PPS +#fudge 127.127.8.1 time1 0.0042 # relative to PPS for my hardware + +#server 127.127.22.1 # ATOM(PPS) +#fudge 127.127.22.1 flag3 1 # enable PPS API + diff --git a/cloud/templates/resolv.conf.tmpl b/cloud/templates/resolv.conf.tmpl new file mode 100644 index 0000000..f870be6 --- /dev/null +++ b/cloud/templates/resolv.conf.tmpl @@ -0,0 +1,38 @@ +## template:jinja +# Your system has been configured with 'manage-resolv-conf' set to true. +# As a result, cloud-init has written this file with configuration data +# that it has been provided. Cloud-init, by default, will write this file +# a single time (PER_ONCE). +# +{% if nameservers is defined %} +{% for server in nameservers %} +nameserver {{server}} +{% endfor %} + +{% endif -%} +{% if searchdomains is defined %} +search {% for search in searchdomains %}{{search}} {% endfor %} + +{% endif %} +{% if domain is defined %} +domain {{domain}} +{% endif %} +{% if sortlist is defined %} + +sortlist {% for sort in sortlist %}{{sort}} {% endfor %} +{% endif %} +{# + Flags and options are required to be on the + same line preceded by "options" keyword +#} +{% if options or flags %} + +options +{%- for flag in flags %} + {{flag-}} +{% endfor %} + +{%- for key, value in options.items()|sort %} + {{key}}:{{value-}} +{% endfor %} +{% endif %} diff --git a/cloud/templates/sources.list.debian.tmpl b/cloud/templates/sources.list.debian.tmpl new file mode 100644 index 0000000..e7ef9ed --- /dev/null +++ b/cloud/templates/sources.list.debian.tmpl @@ -0,0 +1,30 @@ +## template:jinja +## Note, this file is written by cloud-init on first boot of an instance +## modifications made here will not survive a re-bundle. +## if you wish to make changes you can: +## a.) add 'apt_preserve_sources_list: true' to /etc/cloud/cloud.cfg +## or do the same in user-data +## b.) add sources in /etc/apt/sources.list.d +## c.) make changes to template file /etc/cloud/templates/sources.list.debian.tmpl +### + +# See http://www.debian.org/releases/stable/i386/release-notes/ch-upgrading.html +# for how to upgrade to newer versions of the distribution. +deb {{mirror}} {{codename}} main +deb-src {{mirror}} {{codename}} main + +## Major bug fix updates produced after the final release of the +## distribution. +deb {{security}} {{codename}}/updates main +deb-src {{security}} {{codename}}/updates main +deb {{mirror}} {{codename}}-updates main +deb-src {{mirror}} {{codename}}-updates main + +## Uncomment the following two lines to add software from the 'backports' +## repository. +## +## N.B. software from this repository may not have been tested as +## extensively as that contained in the main release, although it includes +## newer versions of some applications which may provide useful features. +deb {{mirror}} {{codename}}-backports main +deb-src {{mirror}} {{codename}}-backports main diff --git a/cloud/templates/sources.list.ubuntu.tmpl b/cloud/templates/sources.list.ubuntu.tmpl new file mode 100644 index 0000000..edb92f1 --- /dev/null +++ b/cloud/templates/sources.list.ubuntu.tmpl @@ -0,0 +1,58 @@ +## template:jinja +## Note, this file is written by cloud-init on first boot of an instance +## modifications made here will not survive a re-bundle. +## if you wish to make changes you can: +## a.) add 'apt_preserve_sources_list: true' to /etc/cloud/cloud.cfg +## or do the same in user-data +## b.) add sources in /etc/apt/sources.list.d +## c.) make changes to template file /etc/cloud/templates/sources.list.tmpl + +# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to +# newer versions of the distribution. +deb {{mirror}} {{codename}} main restricted +# deb-src {{mirror}} {{codename}} main restricted + +## Major bug fix updates produced after the final release of the +## distribution. +deb {{mirror}} {{codename}}-updates main restricted +# deb-src {{mirror}} {{codename}}-updates main restricted + +## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu +## team. Also, please note that software in universe WILL NOT receive any +## review or updates from the Ubuntu security team. +deb {{mirror}} {{codename}} universe +# deb-src {{mirror}} {{codename}} universe +deb {{mirror}} {{codename}}-updates universe +# deb-src {{mirror}} {{codename}}-updates universe + +## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu +## team, and may not be under a free licence. Please satisfy yourself as to +## your rights to use the software. Also, please note that software in +## multiverse WILL NOT receive any review or updates from the Ubuntu +## security team. +deb {{mirror}} {{codename}} multiverse +# deb-src {{mirror}} {{codename}} multiverse +deb {{mirror}} {{codename}}-updates multiverse +# deb-src {{mirror}} {{codename}}-updates multiverse + +## N.B. software from this repository may not have been tested as +## extensively as that contained in the main release, although it includes +## newer versions of some applications which may provide useful features. +## Also, please note that software in backports WILL NOT receive any review +## or updates from the Ubuntu security team. +deb {{mirror}} {{codename}}-backports main restricted universe multiverse +# deb-src {{mirror}} {{codename}}-backports main restricted universe multiverse + +## Uncomment the following two lines to add software from Canonical's +## 'partner' repository. +## This software is not part of Ubuntu, but is offered by Canonical and the +## respective vendors as a service to Ubuntu users. +# deb http://archive.canonical.com/ubuntu {{codename}} partner +# deb-src http://archive.canonical.com/ubuntu {{codename}} partner + +deb {{security}} {{codename}}-security main restricted +# deb-src {{security}} {{codename}}-security main restricted +deb {{security}} {{codename}}-security universe +# deb-src {{security}} {{codename}}-security universe +deb {{security}} {{codename}}-security multiverse +# deb-src {{security}} {{codename}}-security multiverse diff --git a/cloud/templates/timesyncd.conf.tmpl b/cloud/templates/timesyncd.conf.tmpl new file mode 100644 index 0000000..6b98301 --- /dev/null +++ b/cloud/templates/timesyncd.conf.tmpl @@ -0,0 +1,8 @@ +## template:jinja +# cloud-init generated file +# See timesyncd.conf(5) for details. + +[Time] +{% if servers or pools -%} +NTP={% for host in servers|list + pools|list %}{{ host }} {% endfor -%} +{% endif -%} diff --git a/console-setup/cached_Lat15-Fixed16.psf.gz b/console-setup/cached_Lat15-Fixed16.psf.gz new file mode 100644 index 0000000000000000000000000000000000000000..8d002b7c93c256b626d1f58016555bb26f20de42 GIT binary patch literal 2429 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 literal 0 HcmV?d00001 diff --git a/console-setup/cached_UTF-8_del.kmap.gz b/console-setup/cached_UTF-8_del.kmap.gz new file mode 100644 index 0000000000000000000000000000000000000000..9301c3806bf45a7d3d8035fbbcf64f1ea09c116a GIT binary patch literal 4359 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 literal 0 HcmV?d00001 diff --git a/console-setup/cached_Uni2-Fixed16.psf.gz b/console-setup/cached_Uni2-Fixed16.psf.gz new file mode 100644 index 0000000000000000000000000000000000000000..37eb6549a069e3ac743378f24abac3ea0d6f36d2 GIT binary patch literal 4151 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/dev/null 2>/dev/null; then + for i in /dev/vcs[0-9]*; do + { : + setfont '/usr/share/consolefonts/Uni2-Fixed16.psf.gz' + } < /dev/tty${i#/dev/vcs} > /dev/tty${i#/dev/vcs} + done +fi + +mkdir -p /run/console-setup +> /run/console-setup/font-loaded +for i in /dev/vcs[0-9]*; do + { : +printf '\033%%G' + } < /dev/tty${i#/dev/vcs} > /dev/tty${i#/dev/vcs} +done diff --git a/console-setup/cached_setup_keyboard.sh b/console-setup/cached_setup_keyboard.sh new file mode 100755 index 0000000..30b46c1 --- /dev/null +++ b/console-setup/cached_setup_keyboard.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +if [ -f /run/console-setup/keymap_loaded ]; then + rm /run/console-setup/keymap_loaded + exit 0 +fi +kbd_mode '-u' < '/dev/tty1' +kbd_mode '-u' < '/dev/tty2' +kbd_mode '-u' < '/dev/tty3' +kbd_mode '-u' < '/dev/tty4' +kbd_mode '-u' < '/dev/tty5' +kbd_mode '-u' < '/dev/tty6' +loadkeys '/etc/console-setup/cached_UTF-8_del.kmap.gz' > '/dev/null' diff --git a/console-setup/cached_setup_terminal.sh b/console-setup/cached_setup_terminal.sh new file mode 100755 index 0000000..494e363 --- /dev/null +++ b/console-setup/cached_setup_terminal.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +{ : +printf '\033%%G' +} < /dev/tty${1#vcs} > /dev/tty${1#vcs} diff --git a/console-setup/compose.ARMSCII-8.inc b/console-setup/compose.ARMSCII-8.inc new file mode 100644 index 0000000..ca8d3c9 --- /dev/null +++ b/console-setup/compose.ARMSCII-8.inc @@ -0,0 +1 @@ +# Compose sequences for ARMSCII-8 diff --git a/console-setup/compose.CP1251.inc b/console-setup/compose.CP1251.inc new file mode 100644 index 0000000..4fb90da --- /dev/null +++ b/console-setup/compose.CP1251.inc @@ -0,0 +1 @@ +# Compose sequences for CP1251 diff --git a/console-setup/compose.CP1255.inc b/console-setup/compose.CP1255.inc new file mode 100644 index 0000000..93e6a7b --- /dev/null +++ b/console-setup/compose.CP1255.inc @@ -0,0 +1 @@ +# Compose sequences for CP1255 diff --git a/console-setup/compose.CP1256.inc b/console-setup/compose.CP1256.inc new file mode 100644 index 0000000..a792b8c --- /dev/null +++ b/console-setup/compose.CP1256.inc @@ -0,0 +1 @@ +# Compose sequences for CP1256 diff --git a/console-setup/compose.GEORGIAN-ACADEMY.inc b/console-setup/compose.GEORGIAN-ACADEMY.inc new file mode 100644 index 0000000..33869fd --- /dev/null +++ b/console-setup/compose.GEORGIAN-ACADEMY.inc @@ -0,0 +1 @@ +# Compose sequences for GEORGIAN-ACADEMY diff --git a/console-setup/compose.GEORGIAN-PS.inc b/console-setup/compose.GEORGIAN-PS.inc new file mode 100644 index 0000000..a4d20c4 --- /dev/null +++ b/console-setup/compose.GEORGIAN-PS.inc @@ -0,0 +1 @@ +# Compose sequences for GEORGIAN-PS diff --git a/console-setup/compose.IBM1133.inc b/console-setup/compose.IBM1133.inc new file mode 100644 index 0000000..9369645 --- /dev/null +++ b/console-setup/compose.IBM1133.inc @@ -0,0 +1 @@ +# Compose sequences for IBM1133 diff --git a/console-setup/compose.ISIRI-3342.inc b/console-setup/compose.ISIRI-3342.inc new file mode 100644 index 0000000..242f739 --- /dev/null +++ b/console-setup/compose.ISIRI-3342.inc @@ -0,0 +1 @@ +# Compose sequences for ISIRI-3342 diff --git a/console-setup/compose.ISO-8859-1.inc b/console-setup/compose.ISO-8859-1.inc new file mode 100644 index 0000000..a285ddf --- /dev/null +++ b/console-setup/compose.ISO-8859-1.inc @@ -0,0 +1,155 @@ +# Compose sequences for ISO-8859-1 +compose '!' '!' to '¡' +compose '!' '^' to '¦' +compose '!' 'p' to '¶' +compose '!' 's' to '§' +compose '"' '"' to '¨' +compose '"' 'A' to 'Ä' +compose '"' 'E' to 'Ë' +compose '"' 'I' to 'Ï' +compose '"' 'O' to 'Ö' +compose '"' 'U' to 'Ü' +compose '"' 'a' to 'ä' +compose '"' 'e' to 'ë' +compose '"' 'i' to 'ï' +compose '"' 'o' to 'ö' +compose '"' 'u' to 'ü' +compose '"' 'y' to 'ÿ' +compose '(' '(' to '[' +compose '(' '-' to '{' +compose '(' 'c' to '©' +compose '(' 'r' to '®' +compose ')' ')' to ']' +compose ')' '-' to '}' +compose '*' '0' to '°' +compose '*' 'A' to 'Å' +compose '*' 'a' to 'å' +compose '+' '+' to '#' +compose '+' '-' to '±' +compose ',' ',' to '¸' +compose ',' '-' to '¬' +compose ',' 'C' to 'Ç' +compose ',' 'c' to 'ç' +compose '-' '(' to '{' +compose '-' ')' to '}' +compose '-' '+' to '±' +compose '-' ',' to '¬' +compose '-' '-' to '­' +compose '-' ':' to '÷' +compose '-' 'A' to 'Ã' +compose '-' 'D' to 'Ð' +compose '-' 'N' to 'Ñ' +compose '-' 'O' to 'Õ' +compose '-' '^' to '¯' +compose '-' 'a' to 'ã' +compose '-' 'd' to 'ð' +compose '-' 'l' to '£' +compose '-' 'n' to 'ñ' +compose '-' 'o' to 'õ' +compose '-' 'y' to '¥' +compose '.' '.' to '·' +compose '.' '^' to '·' +compose '/' '/' to '\\' +compose '/' '<' to '\\' +compose '/' 'O' to 'Ø' +compose '/' '^' to '|' +compose '/' 'c' to '¢' +compose '/' 'o' to 'ø' +compose '/' 'u' to 'µ' +compose '1' '2' to '½' +compose '1' '4' to '¼' +compose '3' '4' to '¾' +compose ':' '-' to '÷' +compose '<' '/' to '\\' +compose '<' '<' to '«' +compose '=' 'l' to '£' +compose '=' 'y' to '¥' +compose '>' '>' to '»' +compose '>' 'A' to 'Â' +compose '>' 'E' to 'Ê' +compose '>' 'I' to 'Î' +compose '>' 'O' to 'Ô' +compose '>' 'U' to 'Û' +compose '>' 'a' to 'â' +compose '>' 'e' to 'ê' +compose '>' 'i' to 'î' +compose '>' 'o' to 'ô' +compose '>' 'u' to 'û' +compose '?' '?' to '¿' +compose 'A' 'E' to 'Æ' +compose 'A' 'O' to 'Å' +compose 'T' 'H' to 'Þ' +compose '\'' 'A' to 'Á' +compose '\'' 'C' to 'Ç' +compose '\'' 'E' to 'É' +compose '\'' 'I' to 'Í' +compose '\'' 'O' to 'Ó' +compose '\'' 'U' to 'Ú' +compose '\'' 'Y' to 'Ý' +compose '\'' '\'' to '´' +compose '\'' 'a' to 'á' +compose '\'' 'c' to 'ç' +compose '\'' 'e' to 'é' +compose '\'' 'i' to 'í' +compose '\'' 'o' to 'ó' +compose '\'' 'u' to 'ú' +compose '\'' 'y' to 'ý' +compose '^' '!' to '¦' +compose '^' '-' to '¯' +compose '^' '.' to '·' +compose '^' '/' to '|' +compose '^' '0' to '°' +compose '^' '1' to '¹' +compose '^' '2' to '²' +compose '^' '3' to '³' +compose '^' 'A' to 'Â' +compose '^' 'E' to 'Ê' +compose '^' 'I' to 'Î' +compose '^' 'O' to 'Ô' +compose '^' 'U' to 'Û' +compose '^' '_' to '¯' +compose '^' 'a' to 'â' +compose '^' 'e' to 'ê' +compose '^' 'i' to 'î' +compose '^' 'o' to 'ô' +compose '^' 'u' to 'û' +compose '_' '^' to '¯' +compose '_' '_' to '¯' +compose '_' 'a' to 'ª' +compose '_' 'o' to 'º' +compose '`' 'A' to 'À' +compose '`' 'E' to 'È' +compose '`' 'I' to 'Ì' +compose '`' 'O' to 'Ò' +compose '`' 'U' to 'Ù' +compose '`' 'a' to 'à' +compose '`' 'e' to 'è' +compose '`' 'i' to 'ì' +compose '`' 'o' to 'ò' +compose '`' 'u' to 'ù' +compose 'a' 'e' to 'æ' +compose 'a' 'o' to 'å' +compose 'a' 't' to '@' +compose 'c' '0' to '©' +compose 'c' 'o' to '©' +compose 'o' 'c' to '©' +compose 'o' 'x' to '¤' +compose 'r' 'o' to '®' +compose 's' '0' to '§' +compose 's' '1' to '¹' +compose 's' '2' to '²' +compose 's' '3' to '³' +compose 's' 'o' to '§' +compose 't' 'h' to 'þ' +compose 'v' 'b' to '¦' +compose 'v' 'l' to '|' +compose 'x' '0' to '¤' +compose 'x' 'o' to '¤' +compose '|' 'c' to '¢' +compose '|' '|' to '¦' +compose '~' 'A' to 'Ã' +compose '~' 'N' to 'Ñ' +compose '~' 'O' to 'Õ' +compose '~' 'a' to 'ã' +compose '~' 'n' to 'ñ' +compose '~' 'o' to 'õ' diff --git a/console-setup/compose.ISO-8859-10.inc b/console-setup/compose.ISO-8859-10.inc new file mode 100644 index 0000000..7ca7b10 --- /dev/null +++ b/console-setup/compose.ISO-8859-10.inc @@ -0,0 +1 @@ +# Compose sequences for ISO-8859-10 diff --git a/console-setup/compose.ISO-8859-11.inc b/console-setup/compose.ISO-8859-11.inc new file mode 100644 index 0000000..add3f6a --- /dev/null +++ b/console-setup/compose.ISO-8859-11.inc @@ -0,0 +1 @@ +# Compose sequences for ISO-8859-11 diff --git a/console-setup/compose.ISO-8859-13.inc b/console-setup/compose.ISO-8859-13.inc new file mode 100644 index 0000000..5b45a26 --- /dev/null +++ b/console-setup/compose.ISO-8859-13.inc @@ -0,0 +1,161 @@ +# Compose sequences for ISO-8859-13 +compose '!' '^' to '¦' +compose '!' 'p' to '¶' +compose '!' 's' to '§' +compose '"' '<' to '´' +compose '"' '>' to '¡' +compose '"' 'A' to 'Ä' +compose '"' 'O' to 'Ö' +compose '"' 'U' to 'Ü' +compose '"' 'a' to 'ä' +compose '"' 'o' to 'ö' +compose '"' 'u' to 'ü' +compose '(' '(' to '[' +compose '(' '-' to '{' +compose '(' 'c' to '©' +compose '(' 'r' to '®' +compose ')' ')' to ']' +compose ')' '-' to '}' +compose '*' '0' to '°' +compose '*' 'A' to 'Å' +compose '*' 'a' to 'å' +compose '+' '+' to '#' +compose '+' '-' to '±' +compose ',' '-' to '¬' +compose ',' '>' to '¥' +compose ',' 'A' to 'À' +compose ',' 'E' to 'Æ' +compose ',' 'G' to 'Ì' +compose ',' 'I' to 'Á' +compose ',' 'K' to 'Í' +compose ',' 'L' to 'Ï' +compose ',' 'N' to 'Ò' +compose ',' 'R' to 'ª' +compose ',' 'U' to 'Ø' +compose ',' 'a' to 'à' +compose ',' 'e' to 'æ' +compose ',' 'g' to 'ì' +compose ',' 'i' to 'á' +compose ',' 'k' to 'í' +compose ',' 'l' to 'ï' +compose ',' 'n' to 'ò' +compose ',' 'r' to 'º' +compose ',' 'u' to 'ø' +compose '-' '(' to '{' +compose '-' ')' to '}' +compose '-' '+' to '±' +compose '-' ',' to '¬' +compose '-' '-' to '­' +compose '-' ':' to '÷' +compose '-' 'A' to 'Â' +compose '-' 'E' to 'Ç' +compose '-' 'I' to 'Î' +compose '-' 'L' to 'Ù' +compose '-' 'O' to 'Ô' +compose '-' 'U' to 'Û' +compose '-' 'a' to 'â' +compose '-' 'e' to 'ç' +compose '-' 'i' to 'î' +compose '-' 'l' to 'ù' +compose '-' 'o' to 'ô' +compose '-' 'u' to 'û' +compose '.' '.' to '·' +compose '.' 'A' to 'Å' +compose '.' 'E' to 'Ë' +compose '.' 'Z' to 'Ý' +compose '.' '^' to '·' +compose '.' 'a' to 'å' +compose '.' 'e' to 'ë' +compose '.' 'z' to 'ý' +compose '/' '/' to '\\' +compose '/' '<' to '\\' +compose '/' 'L' to 'Ù' +compose '/' 'O' to '¨' +compose '/' '^' to '|' +compose '/' 'c' to '¢' +compose '/' 'l' to 'ù' +compose '/' 'o' to '¸' +compose '/' 'u' to 'µ' +compose '1' '2' to '½' +compose '1' '4' to '¼' +compose '3' '4' to '¾' +compose ':' '-' to '÷' +compose ';' 'A' to 'À' +compose ';' 'E' to 'Æ' +compose ';' 'I' to 'Á' +compose ';' 'U' to 'Ø' +compose ';' 'a' to 'à' +compose ';' 'e' to 'æ' +compose ';' 'i' to 'á' +compose ';' 'u' to 'ø' +compose '<' '"' to '´' +compose '<' '/' to '\\' +compose '<' '<' to '«' +compose '<' 'C' to 'È' +compose '<' 'S' to 'Ð' +compose '<' 'Z' to 'Þ' +compose '<' '\'' to '`' +compose '<' 'c' to 'è' +compose '<' 's' to 'ð' +compose '<' 'z' to 'þ' +compose '=' 'l' to '£' +compose '>' '"' to '¡' +compose '>' ',' to '¥' +compose '>' '>' to '»' +compose '>' '\'' to 'ÿ' +compose '?' '?' to '¿' +compose 'A' 'E' to '¯' +compose 'A' 'O' to 'Å' +compose '\'' '<' to '`' +compose '\'' '>' to 'ÿ' +compose '\'' 'C' to 'Ã' +compose '\'' 'E' to 'É' +compose '\'' 'N' to 'Ñ' +compose '\'' 'O' to 'Ó' +compose '\'' 'S' to 'Ú' +compose '\'' 'Z' to 'Ê' +compose '\'' '\'' to 'ÿ' +compose '\'' 'c' to 'ã' +compose '\'' 'e' to 'é' +compose '\'' 'n' to 'ñ' +compose '\'' 'o' to 'ó' +compose '\'' 's' to 'ú' +compose '\'' 'z' to 'ê' +compose '^' '!' to '¦' +compose '^' '.' to '·' +compose '^' '/' to '|' +compose '^' '0' to '°' +compose '^' '1' to '¹' +compose '^' '2' to '²' +compose '^' '3' to '³' +compose '_' 'A' to 'Â' +compose '_' 'E' to 'Ç' +compose '_' 'I' to 'Î' +compose '_' 'O' to 'Ô' +compose '_' 'U' to 'Û' +compose '_' 'a' to 'â' +compose '_' 'e' to 'ç' +compose '_' 'i' to 'î' +compose '_' 'o' to 'ô' +compose '_' 'u' to 'û' +compose 'a' 'e' to '¿' +compose 'a' 'o' to 'å' +compose 'a' 't' to '@' +compose 'c' '0' to '©' +compose 'c' 'o' to '©' +compose 'm' 'u' to 'µ' +compose 'o' 'c' to '©' +compose 'o' 'x' to '¤' +compose 'r' 'o' to '®' +compose 's' '0' to '§' +compose 's' '1' to '¹' +compose 's' '2' to '²' +compose 's' '3' to '³' +compose 's' 'o' to '§' +compose 'v' 'b' to '¦' +compose 'x' '0' to '¤' +compose 'x' 'o' to '¤' +compose '|' 'c' to '¢' +compose '|' '|' to '¦' +compose '~' 'O' to 'Õ' +compose '~' 'o' to 'õ' diff --git a/console-setup/compose.ISO-8859-14.inc b/console-setup/compose.ISO-8859-14.inc new file mode 100644 index 0000000..e2835df --- /dev/null +++ b/console-setup/compose.ISO-8859-14.inc @@ -0,0 +1,130 @@ +# Compose sequences for ISO-8859-14 +compose '!' 'p' to '¶' +compose '!' 's' to '§' +compose '"' 'A' to 'Ä' +compose '"' 'E' to 'Ë' +compose '"' 'I' to 'Ï' +compose '"' 'O' to 'Ö' +compose '"' 'U' to 'Ü' +compose '"' 'W' to '½' +compose '"' 'Y' to '¯' +compose '"' 'a' to 'ä' +compose '"' 'e' to 'ë' +compose '"' 'i' to 'ï' +compose '"' 'o' to 'ö' +compose '"' 'u' to 'ü' +compose '"' 'w' to '¾' +compose '"' 'y' to 'ÿ' +compose '(' '(' to '[' +compose '(' '-' to '{' +compose ')' ')' to ']' +compose ')' '-' to '}' +compose '*' 'A' to 'Å' +compose '*' 'a' to 'å' +compose '+' '+' to '#' +compose ',' 'C' to 'Ç' +compose ',' 'c' to 'ç' +compose '-' '(' to '{' +compose '-' ')' to '}' +compose '-' '-' to '­' +compose '-' 'A' to 'Ã' +compose '-' 'N' to 'Ñ' +compose '-' 'O' to 'Õ' +compose '-' 'a' to 'ã' +compose '-' 'l' to '£' +compose '-' 'n' to 'ñ' +compose '-' 'o' to 'õ' +compose '.' 'B' to '¡' +compose '.' 'D' to '¦' +compose '.' 'F' to '°' +compose '.' 'G' to '²' +compose '.' 'M' to '´' +compose '.' 'P' to '·' +compose '.' 'S' to '»' +compose '.' 'T' to '×' +compose '.' 'b' to '¢' +compose '.' 'c' to '¥' +compose '.' 'd' to '«' +compose '.' 'f' to '±' +compose '.' 'g' to '³' +compose '.' 'm' to 'µ' +compose '.' 'p' to '¹' +compose '.' 's' to '¿' +compose '.' 't' to '÷' +compose '/' '/' to '\\' +compose '/' '<' to '\\' +compose '/' 'O' to 'Ø' +compose '/' '^' to '|' +compose '/' 'o' to 'ø' +compose '<' '/' to '\\' +compose '=' 'l' to '£' +compose '>' 'A' to 'Â' +compose '>' 'E' to 'Ê' +compose '>' 'I' to 'Î' +compose '>' 'O' to 'Ô' +compose '>' 'U' to 'Û' +compose '>' 'a' to 'â' +compose '>' 'e' to 'ê' +compose '>' 'i' to 'î' +compose '>' 'o' to 'ô' +compose '>' 'u' to 'û' +compose 'A' 'E' to 'Æ' +compose '\'' 'A' to 'Á' +compose '\'' 'E' to 'É' +compose '\'' 'I' to 'Í' +compose '\'' 'O' to 'Ó' +compose '\'' 'U' to 'Ú' +compose '\'' 'W' to 'ª' +compose '\'' 'Y' to 'Ý' +compose '\'' 'a' to 'á' +compose '\'' 'e' to 'é' +compose '\'' 'i' to 'í' +compose '\'' 'o' to 'ó' +compose '\'' 'u' to 'ú' +compose '\'' 'w' to 'º' +compose '\'' 'y' to 'ý' +compose '^' '/' to '|' +compose '^' 'A' to 'Â' +compose '^' 'E' to 'Ê' +compose '^' 'I' to 'Î' +compose '^' 'O' to 'Ô' +compose '^' 'U' to 'Û' +compose '^' 'W' to 'Ð' +compose '^' 'Y' to 'Þ' +compose '^' 'a' to 'â' +compose '^' 'e' to 'ê' +compose '^' 'i' to 'î' +compose '^' 'o' to 'ô' +compose '^' 'u' to 'û' +compose '^' 'w' to 'ð' +compose '^' 'y' to 'þ' +compose '`' 'A' to 'À' +compose '`' 'E' to 'È' +compose '`' 'I' to 'Ì' +compose '`' 'O' to 'Ò' +compose '`' 'U' to 'Ù' +compose '`' 'W' to '¨' +compose '`' 'Y' to '¬' +compose '`' 'a' to 'à' +compose '`' 'e' to 'è' +compose '`' 'i' to 'ì' +compose '`' 'o' to 'ò' +compose '`' 'u' to 'ù' +compose '`' 'w' to '¸' +compose '`' 'y' to '¼' +compose 'a' 'e' to 'æ' +compose 'a' 't' to '@' +compose 'c' '0' to '©' +compose 'c' 'o' to '©' +compose 'o' 'c' to '©' +compose 'r' '0' to '®' +compose 'r' 'o' to '®' +compose 's' '0' to '§' +compose 's' 'o' to '§' +compose 'v' 'l' to '|' +compose '~' 'A' to 'Ã' +compose '~' 'N' to 'Ñ' +compose '~' 'O' to 'Õ' +compose '~' 'a' to 'ã' +compose '~' 'n' to 'ñ' +compose '~' 'o' to 'õ' diff --git a/console-setup/compose.ISO-8859-15.inc b/console-setup/compose.ISO-8859-15.inc new file mode 100644 index 0000000..79c92ed --- /dev/null +++ b/console-setup/compose.ISO-8859-15.inc @@ -0,0 +1,153 @@ +# Compose sequences for ISO-8859-15 +compose '!' '!' to '¡' +compose '!' 'p' to '¶' +compose '!' 's' to '§' +compose '"' '"' to '"' +compose '"' 'A' to 'Ä' +compose '"' 'E' to 'Ë' +compose '"' 'I' to 'Ï' +compose '"' 'O' to 'Ö' +compose '"' 'U' to 'Ü' +compose '"' 'Y' to '¾' +compose '"' 'a' to 'ä' +compose '"' 'e' to 'ë' +compose '"' 'i' to 'ï' +compose '"' 'o' to 'ö' +compose '"' 'u' to 'ü' +compose '"' 'y' to 'ÿ' +compose '(' '(' to '[' +compose '(' '-' to '{' +compose '(' 'c' to '©' +compose '(' 'r' to '®' +compose ')' ')' to ']' +compose ')' '-' to '}' +compose '*' '0' to '°' +compose '*' 'A' to 'Å' +compose '*' 'a' to 'å' +compose '+' '+' to '#' +compose '+' '-' to '±' +compose ',' '-' to '¬' +compose ',' 'C' to 'Ç' +compose ',' 'c' to 'ç' +compose '-' '(' to '{' +compose '-' ')' to '}' +compose '-' '+' to '±' +compose '-' ',' to '¬' +compose '-' '-' to '­' +compose '-' ':' to '÷' +compose '-' 'A' to 'Ã' +compose '-' 'D' to 'Ð' +compose '-' 'N' to 'Ñ' +compose '-' 'O' to 'Õ' +compose '-' '^' to '¯' +compose '-' 'a' to 'ã' +compose '-' 'd' to 'ð' +compose '-' 'l' to '£' +compose '-' 'n' to 'ñ' +compose '-' 'o' to 'õ' +compose '-' 'y' to '¥' +compose '.' '.' to '·' +compose '.' '^' to '·' +compose '/' '/' to '\\' +compose '/' '<' to '\\' +compose '/' 'O' to 'Ø' +compose '/' '^' to '|' +compose '/' 'c' to '¢' +compose '/' 'o' to 'ø' +compose '/' 'u' to 'µ' +compose ':' '-' to '÷' +compose '<' '/' to '\\' +compose '<' '<' to '«' +compose '<' 'S' to '¦' +compose '<' 'Z' to '´' +compose '<' 's' to '¨' +compose '<' 'z' to '¸' +compose '=' 'c' to '¤' +compose '=' 'l' to '£' +compose '=' 'y' to '¥' +compose '>' '>' to '»' +compose '>' 'A' to 'Â' +compose '>' 'E' to 'Ê' +compose '>' 'I' to 'Î' +compose '>' 'O' to 'Ô' +compose '>' 'U' to 'Û' +compose '>' 'a' to 'â' +compose '>' 'e' to 'ê' +compose '>' 'i' to 'î' +compose '>' 'o' to 'ô' +compose '>' 'u' to 'û' +compose '?' '?' to '¿' +compose 'A' 'E' to 'Æ' +compose 'A' 'O' to 'Å' +compose 'O' 'E' to '¼' +compose 'T' 'H' to 'Þ' +compose '\'' 'A' to 'Á' +compose '\'' 'C' to 'Ç' +compose '\'' 'E' to 'É' +compose '\'' 'I' to 'Í' +compose '\'' 'O' to 'Ó' +compose '\'' 'U' to 'Ú' +compose '\'' 'Y' to 'Ý' +compose '\'' '\'' to '\'' +compose '\'' 'a' to 'á' +compose '\'' 'c' to 'ç' +compose '\'' 'e' to 'é' +compose '\'' 'i' to 'í' +compose '\'' 'o' to 'ó' +compose '\'' 'u' to 'ú' +compose '\'' 'y' to 'ý' +compose '^' '-' to '¯' +compose '^' '.' to '·' +compose '^' '/' to '|' +compose '^' '0' to '°' +compose '^' '1' to '¹' +compose '^' '2' to '²' +compose '^' '3' to '³' +compose '^' 'A' to 'Â' +compose '^' 'E' to 'Ê' +compose '^' 'I' to 'Î' +compose '^' 'O' to 'Ô' +compose '^' 'U' to 'Û' +compose '^' '_' to '¯' +compose '^' 'a' to 'â' +compose '^' 'e' to 'ê' +compose '^' 'i' to 'î' +compose '^' 'o' to 'ô' +compose '^' 'u' to 'û' +compose '_' '^' to '¯' +compose '_' '_' to '¯' +compose '_' 'a' to 'ª' +compose '_' 'o' to 'º' +compose '`' 'A' to 'À' +compose '`' 'E' to 'È' +compose '`' 'I' to 'Ì' +compose '`' 'O' to 'Ò' +compose '`' 'U' to 'Ù' +compose '`' 'a' to 'à' +compose '`' 'e' to 'è' +compose '`' 'i' to 'ì' +compose '`' 'o' to 'ò' +compose '`' 'u' to 'ù' +compose 'a' 'e' to 'æ' +compose 'a' 'o' to 'å' +compose 'a' 't' to '@' +compose 'c' '0' to '©' +compose 'c' 'o' to '©' +compose 'e' '=' to '¤' +compose 'o' 'c' to '©' +compose 'o' 'e' to '½' +compose 'r' 'o' to '®' +compose 's' '0' to '§' +compose 's' '1' to '¹' +compose 's' '2' to '²' +compose 's' '3' to '³' +compose 's' 'o' to '§' +compose 't' 'h' to 'þ' +compose 'v' 'l' to '|' +compose '|' 'c' to '¢' +compose '~' 'A' to 'Ã' +compose '~' 'N' to 'Ñ' +compose '~' 'O' to 'Õ' +compose '~' 'a' to 'ã' +compose '~' 'n' to 'ñ' +compose '~' 'o' to 'õ' diff --git a/console-setup/compose.ISO-8859-16.inc b/console-setup/compose.ISO-8859-16.inc new file mode 100644 index 0000000..96c38ae --- /dev/null +++ b/console-setup/compose.ISO-8859-16.inc @@ -0,0 +1 @@ +# Compose sequences for ISO-8859-16 diff --git a/console-setup/compose.ISO-8859-2.inc b/console-setup/compose.ISO-8859-2.inc new file mode 100644 index 0000000..6692ee3 --- /dev/null +++ b/console-setup/compose.ISO-8859-2.inc @@ -0,0 +1,124 @@ +# Compose sequences for ISO-8859-2 +compose '!' 'p' to '¶' +compose '!' 's' to '§' +compose '"' '"' to '¨' +compose '"' 'A' to 'Ä' +compose '"' 'E' to 'Ë' +compose '"' 'O' to 'Ö' +compose '"' 'U' to 'Ü' +compose '"' 'a' to 'ä' +compose '"' 'e' to 'ë' +compose '"' 'o' to 'ö' +compose '"' 'u' to 'ü' +compose '(' '(' to '[' +compose '(' '-' to '{' +compose ')' ')' to ']' +compose ')' '-' to '}' +compose '*' '0' to '°' +compose '*' 'U' to 'Ù' +compose '*' 'u' to 'ù' +compose '+' '+' to '#' +compose ',' ',' to '¸' +compose ',' 'A' to '¡' +compose ',' 'C' to 'Ç' +compose ',' 'E' to 'Ê' +compose ',' 'S' to 'ª' +compose ',' 'T' to 'Þ' +compose ',' 'a' to '±' +compose ',' 'c' to 'ç' +compose ',' 'e' to 'ê' +compose ',' 's' to 'º' +compose ',' 't' to 'þ' +compose '-' '(' to '{' +compose '-' ')' to '}' +compose '-' '-' to '­' +compose '-' ':' to '÷' +compose '-' 'D' to 'Ð' +compose '-' 'd' to 'ð' +compose '.' '.' to 'ÿ' +compose '.' 'C' to 'Å' +compose '.' 'E' to 'Ì' +compose '.' 'I' to '©' +compose '.' 'U' to 'Ù' +compose '.' 'Z' to '¯' +compose '.' 'c' to 'å' +compose '.' 'e' to 'ì' +compose '.' 'i' to '¹' +compose '.' 'u' to 'ù' +compose '.' 'z' to '¿' +compose '/' '/' to '\\' +compose '/' '<' to '\\' +compose '/' '^' to '|' +compose ':' '-' to '÷' +compose '<' '/' to '\\' +compose '<' '<' to '·' +compose '<' 'C' to 'È' +compose '<' 'D' to 'Ï' +compose '<' 'E' to 'Ì' +compose '<' 'L' to '¥' +compose '<' 'N' to 'Ò' +compose '<' 'R' to 'Ø' +compose '<' 'S' to '©' +compose '<' 'T' to '«' +compose '<' 'Z' to '®' +compose '<' 'c' to 'è' +compose '<' 'd' to 'ï' +compose '<' 'e' to 'ì' +compose '<' 'l' to 'µ' +compose '<' 'n' to 'ò' +compose '<' 'r' to 'ø' +compose '<' 's' to '¹' +compose '<' 't' to '»' +compose '<' 'z' to '¾' +compose '>' 'A' to 'Â' +compose '>' 'I' to 'Î' +compose '>' 'O' to 'Ô' +compose '>' 'a' to 'â' +compose '>' 'i' to 'î' +compose '>' 'o' to 'ô' +compose 'A' 'U' to 'Ã' +compose 'L' '-' to '£' +compose 'O' 'E' to '¼' +compose 'Z' '.' to '¯' +compose '\'' 'A' to 'Á' +compose '\'' 'C' to 'Æ' +compose '\'' 'E' to 'É' +compose '\'' 'I' to 'Í' +compose '\'' 'L' to 'Å' +compose '\'' 'N' to 'Ñ' +compose '\'' 'O' to 'Ó' +compose '\'' 'R' to 'À' +compose '\'' 'S' to '¦' +compose '\'' 'U' to 'Ú' +compose '\'' 'Y' to 'Ý' +compose '\'' 'Z' to '¬' +compose '\'' '\'' to '½' +compose '\'' 'a' to 'á' +compose '\'' 'c' to 'æ' +compose '\'' 'e' to 'é' +compose '\'' 'i' to 'í' +compose '\'' 'l' to 'å' +compose '\'' 'n' to 'ñ' +compose '\'' 'o' to 'ó' +compose '\'' 'r' to 'à' +compose '\'' 's' to '¶' +compose '\'' 'u' to 'ú' +compose '\'' 'y' to 'ý' +compose '\'' 'z' to '¼' +compose '^' '/' to '|' +compose '^' 'A' to 'Â' +compose '^' 'I' to 'Î' +compose '^' 'O' to 'Ô' +compose '^' 'a' to 'â' +compose '^' 'i' to 'î' +compose '^' 'o' to 'ô' +compose 'a' 'U' to 'ã' +compose 'l' '-' to '³' +compose 'o' 'e' to '½' +compose 'o' 'x' to '¤' +compose 's' '0' to '§' +compose 's' 'o' to '§' +compose 'v' 'l' to '|' +compose 'x' '0' to '¤' +compose 'x' 'o' to '¤' +compose 'z' '.' to '¿' diff --git a/console-setup/compose.ISO-8859-3.inc b/console-setup/compose.ISO-8859-3.inc new file mode 100644 index 0000000..7e50b6c --- /dev/null +++ b/console-setup/compose.ISO-8859-3.inc @@ -0,0 +1,146 @@ +# Compose sequences for ISO-8859-3 +compose '!' 's' to '§' +compose '"' '"' to '¨' +compose '"' 'A' to 'Ä' +compose '"' 'E' to 'Ë' +compose '"' 'I' to 'Ï' +compose '"' 'O' to 'Ö' +compose '"' 'U' to 'Ü' +compose '"' 'Y' to '¾' +compose '"' 'a' to 'ä' +compose '"' 'e' to 'ë' +compose '"' 'i' to 'ï' +compose '"' 'o' to 'ö' +compose '"' 'u' to 'ü' +compose '"' 'y' to 'ÿ' +compose '(' '(' to '[' +compose '(' '-' to '{' +compose '(' 'G' to '«' +compose '(' 'U' to 'Ý' +compose '(' 'g' to '»' +compose '(' 'r' to '®' +compose '(' 'u' to 'ý' +compose ')' ')' to ']' +compose ')' '-' to '}' +compose '*' '0' to '°' +compose '+' '+' to '#' +compose ',' ',' to '¸' +compose ',' 'C' to 'Ç' +compose ',' 'S' to 'ª' +compose ',' 'c' to 'ç' +compose ',' 's' to 'º' +compose '-' '(' to '{' +compose '-' ')' to '}' +compose '-' '-' to '­' +compose '-' ':' to '÷' +compose '-' 'A' to 'Ã' +compose '-' 'D' to 'Ð' +compose '-' 'H' to '¡' +compose '-' 'O' to 'Õ' +compose '-' 'a' to 'ã' +compose '-' 'd' to 'ð' +compose '-' 'h' to '±' +compose '-' 'l' to '£' +compose '-' 'o' to 'õ' +compose '-' 'y' to '¥' +compose '.' '.' to '·' +compose '.' 'C' to 'Å' +compose '.' 'G' to 'Õ' +compose '.' 'I' to '©' +compose '.' 'Z' to '¯' +compose '.' '^' to '·' +compose '.' 'c' to 'å' +compose '.' 'g' to 'õ' +compose '.' 'i' to '¹' +compose '.' 'z' to '¿' +compose '/' '/' to '\\' +compose '/' '<' to '\\' +compose '/' '^' to '|' +compose '/' 'u' to 'µ' +compose ':' '-' to '÷' +compose '<' '/' to '\\' +compose '=' 'c' to '¤' +compose '=' 'e' to '¤' +compose '=' 'l' to '£' +compose '=' 'y' to '¥' +compose '>' 'A' to 'Â' +compose '>' 'C' to 'Æ' +compose '>' 'E' to 'Ê' +compose '>' 'G' to 'Ø' +compose '>' 'H' to '¦' +compose '>' 'I' to 'Î' +compose '>' 'J' to '¬' +compose '>' 'O' to 'Ô' +compose '>' 'S' to 'Þ' +compose '>' 'U' to 'Û' +compose '>' 'a' to 'â' +compose '>' 'c' to 'æ' +compose '>' 'e' to 'ê' +compose '>' 'g' to 'ø' +compose '>' 'h' to '¶' +compose '>' 'i' to 'î' +compose '>' 'j' to '¼' +compose '>' 'o' to 'ô' +compose '>' 's' to 'þ' +compose '>' 'u' to 'û' +compose 'G' 'U' to '«' +compose '\'' 'A' to 'Á' +compose '\'' 'E' to 'É' +compose '\'' 'I' to 'Í' +compose '\'' 'O' to 'Ó' +compose '\'' 'U' to 'Ú' +compose '\'' 'Y' to 'Ý' +compose '\'' '\'' to '´' +compose '\'' 'a' to 'á' +compose '\'' 'e' to 'é' +compose '\'' 'i' to 'í' +compose '\'' 'o' to 'ó' +compose '\'' 'u' to 'ú' +compose '\'' 'y' to 'ý' +compose '^' '.' to '·' +compose '^' '/' to '|' +compose '^' '0' to '°' +compose '^' '2' to '²' +compose '^' '3' to '³' +compose '^' 'A' to 'Â' +compose '^' 'C' to 'Æ' +compose '^' 'E' to 'Ê' +compose '^' 'G' to 'Ø' +compose '^' 'H' to '¦' +compose '^' 'I' to 'Î' +compose '^' 'J' to '¬' +compose '^' 'O' to 'Ô' +compose '^' 'S' to 'Þ' +compose '^' 'U' to 'Û' +compose '^' 'a' to 'â' +compose '^' 'c' to 'æ' +compose '^' 'e' to 'ê' +compose '^' 'g' to 'ø' +compose '^' 'h' to '¶' +compose '^' 'i' to 'î' +compose '^' 'j' to '¼' +compose '^' 'o' to 'ô' +compose '^' 's' to 'þ' +compose '^' 'u' to 'û' +compose '`' 'A' to 'À' +compose '`' 'E' to 'È' +compose '`' 'I' to 'Ì' +compose '`' 'O' to 'Ò' +compose '`' 'U' to 'Ù' +compose '`' 'a' to 'à' +compose '`' 'e' to 'è' +compose '`' 'i' to 'ì' +compose '`' 'o' to 'ò' +compose '`' 'u' to 'ù' +compose 'g' 'U' to '»' +compose 'r' 'o' to '®' +compose 's' '0' to '§' +compose 's' '2' to '²' +compose 's' '3' to '³' +compose 's' 'o' to '§' +compose 'u' 'u' to 'ý' +compose 'v' 'l' to '|' +compose '~' 'A' to 'Ã' +compose '~' 'O' to 'Õ' +compose '~' 'a' to 'ã' +compose '~' 'o' to 'õ' diff --git a/console-setup/compose.ISO-8859-4.inc b/console-setup/compose.ISO-8859-4.inc new file mode 100644 index 0000000..4598a22 --- /dev/null +++ b/console-setup/compose.ISO-8859-4.inc @@ -0,0 +1,121 @@ +# Compose sequences for ISO-8859-4 +compose '!' 's' to '§' +compose '"' '"' to '¨' +compose '"' 'A' to 'Ä' +compose '"' 'E' to 'Ë' +compose '"' 'O' to 'Ö' +compose '"' 'U' to 'Ü' +compose '"' 'a' to 'ä' +compose '"' 'e' to 'ë' +compose '"' 'o' to 'ö' +compose '"' 'u' to 'ü' +compose '*' '0' to '°' +compose '*' 'A' to 'Å' +compose '*' 'a' to 'å' +compose ',' ',' to '¸' +compose ',' 'A' to '¡' +compose ',' 'E' to 'Ê' +compose ',' 'G' to '«' +compose ',' 'I' to 'Ç' +compose ',' 'K' to 'Ó' +compose ',' 'L' to '¦' +compose ',' 'N' to 'Ñ' +compose ',' 'R' to '£' +compose ',' 'U' to 'Ù' +compose ',' 'a' to '±' +compose ',' 'e' to 'ê' +compose ',' 'g' to '»' +compose ',' 'i' to 'ç' +compose ',' 'k' to 'ó' +compose ',' 'l' to '¶' +compose ',' 'n' to 'ñ' +compose ',' 'r' to '³' +compose ',' 'u' to 'ù' +compose '-' '-' to '­' +compose '-' ':' to '÷' +compose '-' 'A' to 'À' +compose '-' 'D' to 'Ð' +compose '-' 'E' to 'ª' +compose '-' 'I' to 'Ï' +compose '-' 'O' to 'Ò' +compose '-' 'U' to 'Þ' +compose '-' '^' to '¯' +compose '-' 'a' to 'à' +compose '-' 'd' to 'ð' +compose '-' 'e' to 'º' +compose '-' 'i' to 'ï' +compose '-' 'o' to 'ò' +compose '-' 'u' to 'þ' +compose '.' '.' to 'ÿ' +compose '.' 'E' to 'Ì' +compose '.' 'e' to 'ì' +compose '/' 'O' to 'Ø' +compose '/' 'T' to '¬' +compose '/' 'o' to 'ø' +compose '/' 't' to '¼' +compose ':' '-' to '÷' +compose '<' '<' to '·' +compose '<' 'C' to 'È' +compose '<' 'S' to '©' +compose '<' 'Z' to '®' +compose '<' 'c' to 'è' +compose '<' 's' to '¹' +compose '<' 'z' to '¾' +compose '>' 'A' to 'Â' +compose '>' 'I' to 'Î' +compose '>' 'O' to 'Ô' +compose '>' 'U' to 'Û' +compose '>' 'a' to 'â' +compose '>' 'i' to 'î' +compose '>' 'o' to 'ô' +compose '>' 'u' to 'û' +compose 'A' 'E' to 'Æ' +compose 'N' 'G' to '½' +compose 'T' '-' to '¬' +compose '\'' 'A' to 'Á' +compose '\'' 'E' to 'É' +compose '\'' 'I' to 'Í' +compose '\'' 'U' to 'Ú' +compose '\'' '\'' to '´' +compose '\'' 'a' to 'á' +compose '\'' 'e' to 'é' +compose '\'' 'i' to 'í' +compose '\'' 'u' to 'ú' +compose '^' '-' to '¯' +compose '^' 'A' to 'Â' +compose '^' 'I' to 'Î' +compose '^' 'O' to 'Ô' +compose '^' 'U' to 'Û' +compose '^' '_' to '¯' +compose '^' 'a' to 'â' +compose '^' 'i' to 'î' +compose '^' 'o' to 'ô' +compose '^' 'u' to 'û' +compose '_' 'A' to 'À' +compose '_' 'E' to 'ª' +compose '_' 'I' to 'Ï' +compose '_' 'O' to 'Ò' +compose '_' 'U' to 'Þ' +compose '_' '^' to '¯' +compose '_' '_' to '¯' +compose '_' 'a' to 'à' +compose '_' 'e' to 'º' +compose '_' 'i' to 'ï' +compose '_' 'o' to 'ò' +compose '_' 'u' to 'þ' +compose 'a' 'e' to 'æ' +compose 'n' 'g' to '¿' +compose 'o' 'x' to '¤' +compose 's' '0' to '§' +compose 's' 'o' to '§' +compose 't' '-' to '¼' +compose 'x' '0' to '¤' +compose 'x' 'o' to '¤' +compose '~' 'A' to 'Ã' +compose '~' 'I' to '¥' +compose '~' 'O' to 'Õ' +compose '~' 'U' to 'Ý' +compose '~' 'a' to 'ã' +compose '~' 'i' to 'µ' +compose '~' 'o' to 'õ' +compose '~' 'u' to 'ý' diff --git a/console-setup/compose.ISO-8859-5.inc b/console-setup/compose.ISO-8859-5.inc new file mode 100644 index 0000000..90c4f07 --- /dev/null +++ b/console-setup/compose.ISO-8859-5.inc @@ -0,0 +1 @@ +# Compose sequences for ISO-8859-5 diff --git a/console-setup/compose.ISO-8859-6.inc b/console-setup/compose.ISO-8859-6.inc new file mode 100644 index 0000000..1a4f93f --- /dev/null +++ b/console-setup/compose.ISO-8859-6.inc @@ -0,0 +1 @@ +# Compose sequences for ISO-8859-6 diff --git a/console-setup/compose.ISO-8859-7.inc b/console-setup/compose.ISO-8859-7.inc new file mode 100644 index 0000000..1aa936a --- /dev/null +++ b/console-setup/compose.ISO-8859-7.inc @@ -0,0 +1,52 @@ +# Compose sequences for ISO-8859-7 +compose '!' '^' to '¦' +compose '!' 's' to '§' +compose '"' '"' to '¨' +compose '(' '(' to '[' +compose '(' '-' to '{' +compose '(' 'c' to '©' +compose ')' ')' to ']' +compose ')' '-' to '}' +compose '*' '0' to '°' +compose '+' '+' to '#' +compose '+' '-' to '±' +compose ',' '-' to '¬' +compose '-' '(' to '{' +compose '-' ')' to '}' +compose '-' '+' to '±' +compose '-' ',' to '¬' +compose '-' '-' to '­' +compose '-' 'l' to '£' +compose '.' '.' to '·' +compose '.' '^' to '·' +compose '/' '/' to '\\' +compose '/' '<' to '\\' +compose '/' '^' to '|' +compose '1' '2' to '½' +compose '<' '/' to '\\' +compose '<' '<' to '«' +compose '<' '\'' to '¡' +compose '=' 'l' to '£' +compose '>' '>' to '»' +compose '>' '\'' to '¢' +compose '\'' '<' to '¡' +compose '\'' '>' to '¢' +compose '\'' '\'' to '´' +compose '^' '!' to '¦' +compose '^' '.' to '·' +compose '^' '/' to '|' +compose '^' '0' to '°' +compose '^' '2' to '²' +compose '^' '3' to '³' +compose 'a' 't' to '@' +compose 'c' '0' to '©' +compose 'c' 'o' to '©' +compose 'o' 'c' to '©' +compose 's' '0' to '§' +compose 's' '2' to '²' +compose 's' '3' to '³' +compose 's' 'o' to '§' +compose 'v' 'b' to '¦' +compose 'v' 'l' to '|' +compose '|' '|' to '¦' +compose '~' '~' to '¯' diff --git a/console-setup/compose.ISO-8859-8.inc b/console-setup/compose.ISO-8859-8.inc new file mode 100644 index 0000000..1fbb453 --- /dev/null +++ b/console-setup/compose.ISO-8859-8.inc @@ -0,0 +1 @@ +# Compose sequences for ISO-8859-8 diff --git a/console-setup/compose.ISO-8859-9.inc b/console-setup/compose.ISO-8859-9.inc new file mode 100644 index 0000000..e642e1b --- /dev/null +++ b/console-setup/compose.ISO-8859-9.inc @@ -0,0 +1,156 @@ +# Compose sequences for ISO-8859-9 +compose '!' '!' to '¡' +compose '!' 'p' to '¶' +compose '!' 's' to '§' +compose '"' '"' to '¨' +compose '"' 'A' to 'Ä' +compose '"' 'E' to 'Ë' +compose '"' 'I' to 'Ï' +compose '"' 'O' to 'Ö' +compose '"' 'U' to 'Ü' +compose '"' 'Y' to '¾' +compose '"' 'a' to 'ä' +compose '"' 'e' to 'ë' +compose '"' 'i' to 'ï' +compose '"' 'o' to 'ö' +compose '"' 'u' to 'ü' +compose '"' 'y' to 'ÿ' +compose '(' '(' to '[' +compose '(' '-' to '{' +compose '(' 'G' to 'Ð' +compose '(' 'c' to '©' +compose '(' 'g' to 'ð' +compose '(' 'r' to '®' +compose ')' ')' to ']' +compose ')' '-' to '}' +compose '*' '0' to '°' +compose '*' 'A' to 'Å' +compose '*' 'a' to 'å' +compose '+' '+' to '#' +compose '+' '-' to '±' +compose ',' ',' to '¸' +compose ',' '-' to '¬' +compose ',' 'C' to 'Ç' +compose ',' 'S' to 'Þ' +compose ',' 'c' to 'ç' +compose ',' 's' to 'þ' +compose '-' '(' to '{' +compose '-' ')' to '}' +compose '-' '+' to '±' +compose '-' ',' to '¬' +compose '-' '-' to '­' +compose '-' ':' to '÷' +compose '-' 'A' to 'Ã' +compose '-' 'D' to 'Ð' +compose '-' 'N' to 'Ñ' +compose '-' 'O' to 'Õ' +compose '-' '^' to '¯' +compose '-' 'a' to 'ã' +compose '-' 'd' to 'ð' +compose '-' 'l' to '£' +compose '-' 'n' to 'ñ' +compose '-' 'o' to 'õ' +compose '-' 'y' to '¥' +compose '.' '.' to '·' +compose '.' 'I' to 'Ý' +compose '.' '^' to '·' +compose '.' 'i' to 'ý' +compose '/' '/' to '\\' +compose '/' '<' to '\\' +compose '/' 'O' to 'Ø' +compose '/' '^' to '|' +compose '/' 'c' to '¢' +compose '/' 'o' to 'ø' +compose '/' 'u' to 'µ' +compose ':' '-' to '÷' +compose '<' '/' to '\\' +compose '<' '<' to '«' +compose '<' 'Z' to '´' +compose '<' 'z' to '¸' +compose '=' 'c' to '¤' +compose '=' 'e' to '¤' +compose '=' 'l' to '£' +compose '=' 'y' to '¥' +compose '>' '>' to '»' +compose '>' 'A' to 'Â' +compose '>' 'E' to 'Ê' +compose '>' 'I' to 'Î' +compose '>' 'O' to 'Ô' +compose '>' 'U' to 'Û' +compose '>' 'a' to 'â' +compose '>' 'e' to 'ê' +compose '>' 'i' to 'î' +compose '>' 'o' to 'ô' +compose '>' 'u' to 'û' +compose '?' '?' to '¿' +compose 'A' 'E' to 'Æ' +compose 'G' 'U' to 'Ð' +compose 'T' 'H' to 'Þ' +compose '\'' 'A' to 'Á' +compose '\'' 'E' to 'É' +compose '\'' 'I' to 'Í' +compose '\'' 'O' to 'Ó' +compose '\'' 'U' to 'Ú' +compose '\'' 'Y' to 'Ý' +compose '\'' '\'' to '´' +compose '\'' 'a' to 'á' +compose '\'' 'e' to 'é' +compose '\'' 'i' to 'í' +compose '\'' 'o' to 'ó' +compose '\'' 'u' to 'ú' +compose '\'' 'y' to 'ý' +compose '^' '-' to '¯' +compose '^' '.' to '·' +compose '^' '/' to '|' +compose '^' '0' to '°' +compose '^' '1' to '¹' +compose '^' '2' to '²' +compose '^' '3' to '³' +compose '^' 'A' to 'Â' +compose '^' 'E' to 'Ê' +compose '^' 'I' to 'Î' +compose '^' 'O' to 'Ô' +compose '^' 'U' to 'Û' +compose '^' '_' to '¯' +compose '^' 'a' to 'â' +compose '^' 'e' to 'ê' +compose '^' 'i' to 'î' +compose '^' 'o' to 'ô' +compose '^' 'u' to 'û' +compose '_' '^' to '¯' +compose '_' '_' to '¯' +compose '_' 'a' to 'ª' +compose '_' 'o' to 'º' +compose '`' 'A' to 'À' +compose '`' 'E' to 'È' +compose '`' 'I' to 'Ì' +compose '`' 'O' to 'Ò' +compose '`' 'U' to 'Ù' +compose '`' 'a' to 'à' +compose '`' 'e' to 'è' +compose '`' 'i' to 'ì' +compose '`' 'o' to 'ò' +compose '`' 'u' to 'ù' +compose 'a' 'e' to 'æ' +compose 'c' '0' to '©' +compose 'c' 'o' to '©' +compose 'g' 'U' to 'ð' +compose 'o' 'c' to '©' +compose 'o' 'e' to '¼' +compose 'r' 'o' to '®' +compose 's' '0' to '§' +compose 's' '1' to '¹' +compose 's' '2' to '²' +compose 's' '3' to '³' +compose 's' 'o' to '§' +compose 't' 'h' to 'þ' +compose 'v' 'Z' to '´' +compose 'v' 'l' to '|' +compose 'v' 'z' to '¸' +compose '|' 'c' to '¢' +compose '~' 'A' to 'Ã' +compose '~' 'N' to 'Ñ' +compose '~' 'O' to 'Õ' +compose '~' 'a' to 'ã' +compose '~' 'n' to 'ñ' +compose '~' 'o' to 'õ' diff --git a/console-setup/compose.KOI8-R.inc b/console-setup/compose.KOI8-R.inc new file mode 100644 index 0000000..da0c7ae --- /dev/null +++ b/console-setup/compose.KOI8-R.inc @@ -0,0 +1 @@ +# Compose sequences for KOI8-R diff --git a/console-setup/compose.KOI8-U.inc b/console-setup/compose.KOI8-U.inc new file mode 100644 index 0000000..38e9127 --- /dev/null +++ b/console-setup/compose.KOI8-U.inc @@ -0,0 +1 @@ +# Compose sequences for KOI8-U diff --git a/console-setup/compose.TIS-620.inc b/console-setup/compose.TIS-620.inc new file mode 100644 index 0000000..4b229cc --- /dev/null +++ b/console-setup/compose.TIS-620.inc @@ -0,0 +1 @@ +# Compose sequences for TIS-620 diff --git a/console-setup/compose.VISCII.inc b/console-setup/compose.VISCII.inc new file mode 100644 index 0000000..b9576ab --- /dev/null +++ b/console-setup/compose.VISCII.inc @@ -0,0 +1 @@ +# Compose sequences for VISCII diff --git a/console-setup/remap.inc b/console-setup/remap.inc new file mode 100644 index 0000000..a5475c6 --- /dev/null +++ b/console-setup/remap.inc @@ -0,0 +1,32 @@ +# The content of this file will be appended to the keyboard layout. +# The following is an example how to make Alt+j switch to to the next +# console and Alt+k switch to the previous console. + +# Uncomment the following lines for Linux. Notice that everything is +# replicated for all possible values of the modifiers shiftl, shiftr +# and ctrll (shiftl and shiftr are used for groups 1..4 of XKB and +# ctrll is used to fix the broken CapsLock when Linux console is in +# Unicode mode). + +# alt keycode 36 = Incr_Console +# shiftl alt keycode 36 = Incr_Console +# shiftr alt keycode 36 = Incr_Console +# shiftr shiftl alt keycode 36 = Incr_Console +# ctrll alt keycode 36 = Incr_Console +# ctrll shiftl alt keycode 36 = Incr_Console +# ctrll shiftr alt keycode 36 = Incr_Console +# ctrll shiftr shiftl alt keycode 36 = Incr_Console +# +# alt keycode 37 = Decr_Console +# shiftl alt keycode 37 = Decr_Console +# shiftr alt keycode 37 = Decr_Console +# shiftr shiftl alt keycode 37 = Decr_Console +# ctrll alt keycode 37 = Decr_Console +# ctrll shiftl alt keycode 37 = Decr_Console +# ctrll shiftr alt keycode 37 = Decr_Console +# ctrll shiftr shiftl alt keycode 37 = Decr_Console + +# For the same result on FreeBSD uncomment the following lines: + +# 036 'j' 'J' nl nl nscr nscr nl nl C +# 037 'k' 'K' vt vt pscr pscr nl nl C diff --git a/cron.d/.placeholder b/cron.d/.placeholder new file mode 100644 index 0000000..76cb8d0 --- /dev/null +++ b/cron.d/.placeholder @@ -0,0 +1,2 @@ +# DO NOT EDIT OR REMOVE +# This file is a simple placeholder to keep dpkg from removing this directory diff --git a/cron.d/mdadm b/cron.d/mdadm new file mode 100644 index 0000000..309d180 --- /dev/null +++ b/cron.d/mdadm @@ -0,0 +1,12 @@ +# +# cron.d/mdadm -- schedules periodic redundancy checks of MD devices +# +# Copyright © martin f. krafft +# distributed under the terms of the Artistic Licence 2.0 +# + +# By default, run at 00:57 on every Sunday, but do nothing unless the day of +# the month is less than or equal to 7. Thus, only run on the first Sunday of +# each month. crontab(5) sucks, unfortunately, in this regard; therefore this +# hack (see #380425). +57 0 * * 0 root if [ -x /usr/share/mdadm/checkarray ] && [ $(date +\%d) -le 7 ]; then /usr/share/mdadm/checkarray --cron --all --idle --quiet; fi diff --git a/cron.daily/.placeholder b/cron.daily/.placeholder new file mode 100644 index 0000000..76cb8d0 --- /dev/null +++ b/cron.daily/.placeholder @@ -0,0 +1,2 @@ +# DO NOT EDIT OR REMOVE +# This file is a simple placeholder to keep dpkg from removing this directory diff --git a/cron.daily/apt-compat b/cron.daily/apt-compat new file mode 100755 index 0000000..b0b5537 --- /dev/null +++ b/cron.daily/apt-compat @@ -0,0 +1,55 @@ +#!/bin/sh + +set -e + +# Systemd systems use a systemd timer unit which is preferable to +# run. We want to randomize the apt update and unattended-upgrade +# runs as much as possible to avoid hitting the mirrors all at the +# same time. The systemd time is better at this than the fixed +# cron.daily time +if [ -d /run/systemd/system ]; then + exit 0 +fi + +check_power() +{ + # laptop check, on_ac_power returns: + # 0 (true) System is on main power + # 1 (false) System is not on main power + # 255 (false) Power status could not be determined + # Desktop systems always return 255 it seems + if which on_ac_power >/dev/null 2>&1; then + if on_ac_power; then + : + elif [ $? -eq 1 ]; then + return 1 + fi + fi + return 0 +} + +# sleep for a random interval of time (default 30min) +# (some code taken from cron-apt, thanks) +random_sleep() +{ + RandomSleep=1800 + eval $(apt-config shell RandomSleep APT::Periodic::RandomSleep) + if [ $RandomSleep -eq 0 ]; then + return + fi + if [ -z "$RANDOM" ] ; then + # A fix for shells that do not have this bash feature. + RANDOM=$(( $(dd if=/dev/urandom bs=2 count=1 2> /dev/null | cksum | cut -d' ' -f1) % 32767 )) + fi + TIME=$(($RANDOM % $RandomSleep)) + sleep $TIME +} + +# delay the job execution by a random amount of time +random_sleep + +# ensure we don't do this on battery +check_power || exit 0 + +# run daily job +exec /usr/lib/apt/apt.systemd.daily diff --git a/cron.daily/aptitude b/cron.daily/aptitude new file mode 100755 index 0000000..d5953d9 --- /dev/null +++ b/cron.daily/aptitude @@ -0,0 +1,11 @@ +#!/bin/sh + +bak=/var/backups + +# Shamelessly ripped from /etc/cron.daily/standard +if test -f /var/lib/aptitude/pkgstates && cd $bak ; then + if ! cmp -s aptitude.pkgstates.0 /var/lib/aptitude/pkgstates ; then + cp -p /var/lib/aptitude/pkgstates aptitude.pkgstates + savelog -c 7 aptitude.pkgstates > /dev/null + fi +fi diff --git a/cron.daily/bsdmainutils b/cron.daily/bsdmainutils new file mode 100755 index 0000000..e65cbd3 --- /dev/null +++ b/cron.daily/bsdmainutils @@ -0,0 +1,16 @@ +#!/bin/sh +# /etc/cron.daily/calendar: BSD mainutils calendar daily maintenance script +# Written by Austin Donnelly + +. /etc/default/bsdmainutils + +[ x$RUN_DAILY = xtrue ] || exit 0 + +[ -x /usr/sbin/sendmail ] || exit 0 + +if [ ! -x /usr/bin/cpp ]; then + echo "The cpp package is needed to run calendar." + exit 1 +fi + +/usr/bin/calendar -a diff --git a/cron.daily/dpkg b/cron.daily/dpkg new file mode 100755 index 0000000..62da817 --- /dev/null +++ b/cron.daily/dpkg @@ -0,0 +1,36 @@ +#!/bin/sh + +dbdir=/var/lib/dpkg + +# Backup the 7 last versions of dpkg databases containing user data. +if cd /var/backups ; then + # We backup all relevant database files if any has changed, so that + # the rotation number always contains an internally consistent set. + dbchanged=no + dbfiles="arch status diversions statoverride" + for db in $dbfiles ; do + if ! cmp -s "dpkg.${db}.0" "$dbdir/$db"; then + dbchanged=yes + break; + fi + done + if [ "$dbchanged" = "yes" ] ; then + for db in $dbfiles ; do + [ -e "$dbdir/$db" ] || continue + cp -p "$dbdir/$db" "dpkg.$db" + savelog -c 7 "dpkg.$db" >/dev/null + done + fi + + # The alternatives database is independent from the dpkg database. + dbalt=alternatives + + # XXX: Ideally we'd use --warning=none instead of discarding stderr, but + # as of GNU tar 1.27.1, it does not seem to work reliably (see #749307). + if ! test -e ${dbalt}.tar.0 || + ! tar -df ${dbalt}.tar.0 -C $dbdir $dbalt >/dev/null 2>&1 ; + then + tar -cf ${dbalt}.tar -C $dbdir $dbalt >/dev/null 2>&1 + savelog -c 7 ${dbalt}.tar >/dev/null + fi +fi diff --git a/cron.daily/etckeeper b/cron.daily/etckeeper new file mode 100755 index 0000000..eb74401 --- /dev/null +++ b/cron.daily/etckeeper @@ -0,0 +1,8 @@ +#!/bin/sh +set -e +if [ -e /etc/etckeeper/daily ] && [ -e /etc/etckeeper/etckeeper.conf ]; then + . /etc/etckeeper/etckeeper.conf + if [ "$AVOID_DAILY_AUTOCOMMITS" != "1" ]; then + /etc/etckeeper/daily + fi +fi diff --git a/cron.daily/logrotate b/cron.daily/logrotate new file mode 100755 index 0000000..1ac1570 --- /dev/null +++ b/cron.daily/logrotate @@ -0,0 +1,18 @@ +#!/bin/sh + +# skip in favour of systemd timer +if [ -d /run/systemd/system ]; then + exit 0 +fi + +# this cronjob persists removals (but not purges) +if [ ! -x /usr/sbin/logrotate ]; then + exit 0 +fi + +/usr/sbin/logrotate /etc/logrotate.conf +EXITVALUE=$? +if [ $EXITVALUE != 0 ]; then + /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]" +fi +exit $EXITVALUE diff --git a/cron.daily/man-db b/cron.daily/man-db new file mode 100755 index 0000000..1342bc6 --- /dev/null +++ b/cron.daily/man-db @@ -0,0 +1,43 @@ +#!/bin/sh +# +# man-db cron daily + +set -e + +if [ -d /run/systemd/system ]; then + # Skip in favour of systemd timer. + exit 0 +fi + +iosched_idle= +# Don't try to change I/O priority in a vserver or OpenVZ. +if ! egrep -q '(envID|VxID):.*[1-9]' /proc/self/status && \ + ([ ! -d /proc/vz ] || [ -d /proc/bc ]); then + iosched_idle='--iosched idle' +fi + +if ! [ -d /var/cache/man ]; then + # Recover from deletion, per FHS. + install -d -o man -g man -m 0755 /var/cache/man +fi + +# expunge old catman pages which have not been read in a week +if [ -d /var/cache/man ]; then + cd / + start-stop-daemon --start --pidfile /dev/null --startas /bin/sh \ + --oknodo --chuid man $iosched_idle -- -c \ + "find /var/cache/man -type f -name '*.gz' -atime +6 -print0 | \ + xargs -r0 rm -f" +fi + +# regenerate man database +if [ -x /usr/bin/mandb ]; then + # --pidfile /dev/null so it always starts; mandb isn't really a daemon, + # but we want to start it like one. + start-stop-daemon --start --pidfile /dev/null \ + --startas /usr/bin/mandb --oknodo --chuid man \ + $iosched_idle \ + -- --no-purge --quiet +fi + +exit 0 diff --git a/cron.daily/mdadm b/cron.daily/mdadm new file mode 100755 index 0000000..d5ac1ae --- /dev/null +++ b/cron.daily/mdadm @@ -0,0 +1,18 @@ +#!/bin/sh +# +# cron.daily/mdadm -- daily check that MD devices are functional +# +# Copyright © 2008 Paul Slootman +# distributed under the terms of the Artistic Licence 2.0 + +# As recommended by the manpage, run +# mdadm --monitor --scan --oneshot +# every day to ensure that any degraded MD devices don't go unnoticed. +# Email will go to the address specified in /etc/mdadm/mdadm.conf . +# +set -eu + +MDADM=/sbin/mdadm +[ -x $MDADM ] || exit 0 # package may be removed but not purged + +exec $MDADM --monitor --scan --oneshot diff --git a/cron.daily/passwd b/cron.daily/passwd new file mode 100755 index 0000000..4778bf0 --- /dev/null +++ b/cron.daily/passwd @@ -0,0 +1,9 @@ +#!/bin/sh + +cd /var/backups || exit 0 + +for FILE in passwd group shadow gshadow; do + test -f /etc/$FILE || continue + cmp -s $FILE.bak /etc/$FILE && continue + cp -p /etc/$FILE $FILE.bak && chmod 600 $FILE.bak +done diff --git a/cron.hourly/.placeholder b/cron.hourly/.placeholder new file mode 100644 index 0000000..76cb8d0 --- /dev/null +++ b/cron.hourly/.placeholder @@ -0,0 +1,2 @@ +# DO NOT EDIT OR REMOVE +# This file is a simple placeholder to keep dpkg from removing this directory diff --git a/cron.monthly/.placeholder b/cron.monthly/.placeholder new file mode 100644 index 0000000..76cb8d0 --- /dev/null +++ b/cron.monthly/.placeholder @@ -0,0 +1,2 @@ +# DO NOT EDIT OR REMOVE +# This file is a simple placeholder to keep dpkg from removing this directory diff --git a/cron.weekly/.placeholder b/cron.weekly/.placeholder new file mode 100644 index 0000000..76cb8d0 --- /dev/null +++ b/cron.weekly/.placeholder @@ -0,0 +1,2 @@ +# DO NOT EDIT OR REMOVE +# This file is a simple placeholder to keep dpkg from removing this directory diff --git a/cron.weekly/man-db b/cron.weekly/man-db new file mode 100755 index 0000000..6e3ad83 --- /dev/null +++ b/cron.weekly/man-db @@ -0,0 +1,34 @@ +#!/bin/sh +# +# man-db cron weekly + +set -e + +if [ -d /run/systemd/system ]; then + # Skip in favour of systemd timer. + exit 0 +fi + +iosched_idle= +# Don't try to change I/O priority in a vserver or OpenVZ. +if ! egrep -q '(envID|VxID):.*[1-9]' /proc/self/status && \ + ([ ! -d /proc/vz ] || [ -d /proc/bc ]); then + iosched_idle='--iosched idle' +fi + +if ! [ -d /var/cache/man ]; then + # Recover from deletion, per FHS. + install -d -o man -g man -m 0755 /var/cache/man +fi + +# regenerate man database +if [ -x /usr/bin/mandb ]; then + # --pidfile /dev/null so it always starts; mandb isn't really a daemon, + # but we want to start it like one. + start-stop-daemon --start --pidfile /dev/null \ + --startas /usr/bin/mandb --oknodo --chuid man \ + $iosched_idle \ + -- --quiet +fi + +exit 0 diff --git a/crontab b/crontab new file mode 100644 index 0000000..c89cc0b --- /dev/null +++ b/crontab @@ -0,0 +1,22 @@ +# /etc/crontab: system-wide crontab +# Unlike any other crontab you don't have to run the `crontab' +# command to install the new version when you edit this file +# and files in /etc/cron.d. These files also have username fields, +# that none of the other crontabs do. + +SHELL=/bin/sh +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin + +# Example of job definition: +# .---------------- minute (0 - 59) +# | .------------- hour (0 - 23) +# | | .---------- day of month (1 - 31) +# | | | .------- month (1 - 12) OR jan,feb,mar,apr ... +# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat +# | | | | | +# * * * * * user-name command to be executed +17 * * * * root cd / && run-parts --report /etc/cron.hourly +25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ) +47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly ) +52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly ) +# diff --git a/cruft/filters-unex/etckeeper b/cruft/filters-unex/etckeeper new file mode 100644 index 0000000..edd5f33 --- /dev/null +++ b/cruft/filters-unex/etckeeper @@ -0,0 +1,13 @@ +/etc/.etckeeper +/etc/.gitignore +/etc/.git +/etc/.git/** +/etc/.hgignore +/etc/.hg +/etc/.hg/** +/etc/.bzrignore +/etc/.bzr +/etc/.bzr/** +/etc/.darcsignore +/etc/_darcs +/etc/_darcs/** diff --git a/cryptsetup-initramfs/conf-hook b/cryptsetup-initramfs/conf-hook new file mode 100644 index 0000000..8a6a474 --- /dev/null +++ b/cryptsetup-initramfs/conf-hook @@ -0,0 +1,39 @@ +# +# Configuration file for the cryptroot initramfs hook. +# + +# +# CRYPTSETUP: [ y | n ] +# +# Add cryptsetup and its dependencies to the initramfs image, regardless +# of _this_ machine configuration. By default, they're only added when +# a device is detected that needs to be unlocked at initramfs stage +# (such as root or resume devices or ones with explicit 'initramfs' flag +# in /etc/crypttab). +# Note: Honoring this setting will be deprecated in the future. Please +# uninstall the 'cryptsetup-initramfs' package if you don't want the +# cryptsetup initramfs integration. +# + +#CRYPTSETUP= + +# +# KEYFILE_PATTERN: ... +# +# The value of this variable is interpreted as a shell pattern. +# Matching key files from the crypttab(5) are included in the initramfs +# image. The associated devices can then be unlocked without manual +# intervention. (For instance if /etc/crypttab lists two key files +# /etc/keys/{root,swap}.key, you can set KEYFILE_PATTERN="/etc/keys/*.key" +# to add them to the initrd.) +# +# If KEYFILE_PATTERN if null or unset (default) then no key file is +# copied to the initramfs image. +# +# WARNING: If the initramfs image is to include private key material, +# you'll want to create it with a restrictive umask in order to keep +# non-privileged users at bay. For instance, set UMASK=0077 in +# /etc/initramfs-tools/initramfs.conf +# + +#KEYFILE_PATTERN= diff --git a/crypttab b/crypttab new file mode 100644 index 0000000..8320514 --- /dev/null +++ b/crypttab @@ -0,0 +1 @@ +# diff --git a/debconf.conf b/debconf.conf new file mode 100644 index 0000000..549c1d5 --- /dev/null +++ b/debconf.conf @@ -0,0 +1,83 @@ +# This is the main config file for debconf. It tells debconf where to +# store data. The format of this file is a set of stanzas. Each stanza +# except the first sets up a database for debconf to use. For details, see +# debconf.conf(5) (in the debconf-doc package). +# +# So first things first. This first stanza gives the names of two databases. + +# Debconf will use this database to store the data you enter into it, +# and some other dynamic data. +Config: configdb +# Debconf will use this database to store static template data. +Templates: templatedb + +# World-readable, and accepts everything but passwords. +Name: config +Driver: File +Mode: 644 +Reject-Type: password +Filename: /var/cache/debconf/config.dat + +# Not world readable (the default), and accepts only passwords. +Name: passwords +Driver: File +Mode: 600 +Backup: false +Required: false +Accept-Type: password +Filename: /var/cache/debconf/passwords.dat + +# Set up the configdb database. By default, it consists of a stack of two +# databases, one to hold passwords and one for everything else. +Name: configdb +Driver: Stack +Stack: config, passwords + +# Set up the templatedb database, which is a single flat text file +# by default. +Name: templatedb +Driver: File +Mode: 644 +Filename: /var/cache/debconf/templates.dat + +# Well that was pretty straightforward, and it will be enough for most +# people's needs, but debconf's database drivers can be used to do much +# more interesting things. For example, suppose you want to use config +# data from another host, which is mounted over nfs or perhaps the database +# is accessed via LDAP. You don't want to write to the remote debconf database, +# just read from it, so you still need a local database for local changes. +# +# A remote NFS mounted database, read-only. It is optional; if debconf +# fails to use it it will not abort. +#Name: remotedb +#Driver: DirTree +#Directory: /mnt/otherhost/var/cache/debconf/config +#Readonly: true +#Required: false +# +# A remote LDAP database. It is also read-only. The password is really +# only necessary if the database is not accessible anonymously. +# Option KeyByKey instructs the backend to retrieve keys from the LDAP +# server individually (when they are requested), instead of loading all +# keys at startup. The default is 0, and should only be enabled if you +# want to track accesses to individual keys on the LDAP server side. +#Name: remotedb +#Driver: LDAP +#Server: remotehost +#BaseDN: cn=debconf,dc=domain,dc=com +#BindDN: uid=admin,dc=domain,dc=com +#BindPasswd: secret +#KeyByKey: 0 +# +# A stack consisting of two databases. Values will be read from +# the first database in the stack to contain a value. In this example, +# writes always go to the first database. +#Name: fulldb +#Driver: Stack +#Stack: configdb, remotedb +# +# In this example, we'd use Config: fulldb at the top of the file +# to make it use the combination of the databases. +# +# Even more complex and interesting setups are possible, see the +# debconf.conf(5) page for details. diff --git a/debian_version b/debian_version new file mode 100644 index 0000000..73def33 --- /dev/null +++ b/debian_version @@ -0,0 +1 @@ +10.9 diff --git a/default/acpid b/default/acpid new file mode 100644 index 0000000..c651a78 --- /dev/null +++ b/default/acpid @@ -0,0 +1,11 @@ +# Options to pass to acpid +# +# OPTIONS are appended to the acpid command-line +#OPTIONS="" + +# Linux kernel modules to load before starting acpid +# +# MODULES is a space separated list of modules to load, or "all" to load all +# acpi drivers, or commented out to load no module +#MODULES="battery ac processor button fan thermal video" +#MODULES="all" diff --git a/default/bsdmainutils b/default/bsdmainutils new file mode 100644 index 0000000..e4ac054 --- /dev/null +++ b/default/bsdmainutils @@ -0,0 +1,4 @@ +# Uncomment the following line if you'd like all of your users' +# ~/calendar files to be checked daily. Calendar will send them mail +# to remind them of upcoming events. See calendar(1) for more details. +#RUN_DAILY=true diff --git a/default/console-setup b/default/console-setup new file mode 100644 index 0000000..72bf48e --- /dev/null +++ b/default/console-setup @@ -0,0 +1,16 @@ +# CONFIGURATION FILE FOR SETUPCON + +# Consult the console-setup(5) manual page. + +ACTIVE_CONSOLES="/dev/tty[1-6]" + +CHARMAP="UTF-8" + +CODESET="Uni2" +FONTFACE="Fixed" +FONTSIZE="8x16" + +VIDEOMODE= + +# The following is an example how to use a braille font +# FONT='lat9w-08.psf.gz brl-8x8.psf' diff --git a/default/cron b/default/cron new file mode 100644 index 0000000..f62b7be --- /dev/null +++ b/default/cron @@ -0,0 +1,28 @@ +# Cron configuration options + +# Whether to read the system's default environment files (if present) +# If set to "yes", cron will set a proper mail charset from the +# locale information. If set to something other than 'yes', the default +# charset 'C' (canonical name: ANSI_X3.4-1968) will be used. +# +# This has no effect on tasks running under cron; their environment can +# only be changed via PAM or from within the crontab; see crontab(5). +READ_ENV="yes" + +# Extra options for cron, see cron(8) +# +# For example, to enable LSB name support in /etc/cron.d/, use +# EXTRA_OPTS='-l' +# +# Or, to log standard messages, plus jobs with exit status != 0: +# EXTRA_OPTS='-L 5' +# +# For quick reference, the currently available log levels are: +# 0 no logging (errors are logged regardless) +# 1 log start of jobs +# 2 log end of jobs +# 4 log jobs with exit status != 0 +# 8 log the process identifier of child process (in all logs) +# +#EXTRA_OPTS="" + diff --git a/default/cryptdisks b/default/cryptdisks new file mode 100644 index 0000000..c1f837c --- /dev/null +++ b/default/cryptdisks @@ -0,0 +1,12 @@ +# Run cryptdisks initscripts at startup? Default is Yes. +CRYPTDISKS_ENABLE=Yes + +# Mountpoints to mount, before cryptsetup is invoked at initscripts. Takes +# mountpoins which are configured in /etc/fstab as arguments. Separate +# mountpoints by space. +# This is useful for keyfiles on removable media. Default is unset. +CRYPTDISKS_MOUNT="" + +# Default check script. Takes effect, if the 'check' option is set in crypttab +# without a value. +CRYPTDISKS_CHECK=blkid diff --git a/default/dbus b/default/dbus new file mode 100644 index 0000000..4bc8e1b --- /dev/null +++ b/default/dbus @@ -0,0 +1,7 @@ +# This is a configuration file for /etc/init.d/dbus; it allows you to +# perform common modifications to the behavior of the dbus daemon +# startup without editing the init script (and thus getting prompted +# by dpkg on upgrades). We all love dpkg prompts. + +# Parameters to pass to dbus. +PARAMS="" diff --git a/default/grub b/default/grub new file mode 100644 index 0000000..a04325a --- /dev/null +++ b/default/grub @@ -0,0 +1,32 @@ +# If you change this file, run 'update-grub' afterwards to update +# /boot/grub/grub.cfg. +# For full documentation of the options in this file, see: +# info -f grub -n 'Simple configuration' + +GRUB_DEFAULT=0 +GRUB_TIMEOUT=5 +GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` +GRUB_CMDLINE_LINUX_DEFAULT="consoleblank=0 systemd.show_status=true elevator=noop console=tty1 console=ttyS0" +GRUB_CMDLINE_LINUX="" + +# Uncomment to enable BadRAM filtering, modify to suit your needs +# This works with Linux (no patch required) and with any kernel that obtains +# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...) +#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef" + +# Uncomment to disable graphical terminal (grub-pc only) +GRUB_TERMINAL=console + +# The resolution used on graphical terminal +# note that you can use only modes which your graphic card supports via VBE +# you can see them in real GRUB with the command `vbeinfo' +#GRUB_GFXMODE=640x480 + +# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux +#GRUB_DISABLE_LINUX_UUID=true + +# Uncomment to disable generation of recovery mode menu entries +#GRUB_DISABLE_RECOVERY="true" + +# Uncomment to get a beep at grub start +#GRUB_INIT_TUNE="480 440 1" diff --git a/default/grub.d/init-select.cfg b/default/grub.d/init-select.cfg new file mode 100644 index 0000000..7fbfff8 --- /dev/null +++ b/default/grub.d/init-select.cfg @@ -0,0 +1,7 @@ +# Work around a bug in the obsolete init-select package which broke +# grub-mkconfig when init-select was removed but not purged. This file does +# nothing and will be removed in a later release. +# +# See: +# https://bugs.debian.org/858528 +# https://bugs.debian.org/863801 diff --git a/default/hwclock b/default/hwclock new file mode 100644 index 0000000..dcf5451 --- /dev/null +++ b/default/hwclock @@ -0,0 +1,19 @@ +# Defaults for the hwclock init script. See hwclock(5) and hwclock(8). + +# This is used to specify that the hardware clock incapable of storing +# years outside the range of 1994-1999. Set to yes if the hardware is +# broken or no if working correctly. +#BADYEAR=no + +# Set this to yes if it is possible to access the hardware clock, +# or no if it is not. +#HWCLOCKACCESS=yes + +# Set this to any options you might need to give to hwclock, such +# as machine hardware clock type for Alphas. +#HWCLOCKPARS= + +# Set this to the hardware clock device you want to use, it should +# probably match the CONFIG_RTC_HCTOSYS_DEVICE kernel config option. +#HCTOSYS_DEVICE=rtc0 + diff --git a/default/keyboard b/default/keyboard new file mode 100644 index 0000000..f578fd8 --- /dev/null +++ b/default/keyboard @@ -0,0 +1,10 @@ +# KEYBOARD CONFIGURATION FILE + +# Consult the keyboard(5) manual page. + +XKBMODEL="pc105" +XKBLAYOUT="de" +XKBVARIANT="" +XKBOPTIONS="" + +BACKSPACE="guess" diff --git a/default/locale b/default/locale new file mode 100644 index 0000000..1f6661e --- /dev/null +++ b/default/locale @@ -0,0 +1,2 @@ +# File generated by update-locale +LANG="en_US.UTF-8" diff --git a/default/mdadm b/default/mdadm new file mode 100644 index 0000000..b55b0ee --- /dev/null +++ b/default/mdadm @@ -0,0 +1,25 @@ +# mdadm Debian configuration +# +# You can run 'dpkg-reconfigure mdadm' to modify the values in this file, if +# you want. You can also change the values here and changes will be preserved. +# Do note that only the values are preserved; the rest of the file is +# rewritten. +# + +# AUTOCHECK: +# should mdadm run periodic redundancy checks over your arrays? See +# /etc/cron.d/mdadm. +AUTOCHECK=true + +# START_DAEMON: +# should mdadm start the MD monitoring daemon during boot? +START_DAEMON=true + +# DAEMON_OPTIONS: +# additional options to pass to the daemon. +DAEMON_OPTIONS="--syslog" + +# VERBOSE: +# if this variable is set to true, mdadm will be a little more verbose e.g. +# when creating the initramfs. +VERBOSE=false diff --git a/default/networking b/default/networking new file mode 100644 index 0000000..9655359 --- /dev/null +++ b/default/networking @@ -0,0 +1,31 @@ +# Configuration for networking init script being run during +# the boot sequence + +# Set to 'no' to skip interfaces configuration on boot +#CONFIGURE_INTERFACES=yes + +# Don't configure these interfaces. Shell wildcards supported/ +#EXCLUDE_INTERFACES= + +# Set to 'yes' to enable additional verbosity +#VERBOSE=no + +# Method to wait for the network to become online, +# for services that depend on a working network: +# - ifup: wait for ifup to have configured an interface. +# - route: wait for a route to a given address to appear. +# - ping/ping6: wait for a host to respond to ping packets. +# - none: don't wait. +#WAIT_ONLINE_METHOD=ifup + +# Which interface to wait for. +# If none given, wait for all auto interfaces, or if there are none, +# wait for at least one hotplug interface. +#WAIT_ONLINE_IFACE= + +# Which address to wait for for route, ping and ping6 methods. +# If none is given for route, it waits for a default gateway. +#WAIT_ONLINE_ADDRESS= + +# Timeout in seconds for waiting for the network to come online. +#WAIT_ONLINE_TIMEOUT=300 diff --git a/default/nss b/default/nss new file mode 100644 index 0000000..c43e88b --- /dev/null +++ b/default/nss @@ -0,0 +1,37 @@ +# /etc/default/nss +# This file can theoretically contain a bunch of customization variables +# for Name Service Switch in the GNU C library. For now there are only +# four variables: +# +# NETID_AUTHORITATIVE +# If set to TRUE, the initgroups() function will accept the information +# from the netid.byname NIS map as authoritative. This can speed up the +# function significantly if the group.byname map is large. The content +# of the netid.byname map is used AS IS. The system administrator has +# to make sure it is correctly generated. +#NETID_AUTHORITATIVE=TRUE +# +# SERVICES_AUTHORITATIVE +# If set to TRUE, the getservbyname{,_r}() function will assume +# services.byservicename NIS map exists and is authoritative, particularly +# that it contains both keys with /proto and without /proto for both +# primary service names and service aliases. The system administrator +# has to make sure it is correctly generated. +#SERVICES_AUTHORITATIVE=TRUE +# +# SETENT_BATCH_READ +# If set to TRUE, various setXXent() functions will read the entire +# database at once and then hand out the requests one by one from +# memory with every getXXent() call. Otherwise each getXXent() call +# might result into a network communication with the server to get +# the next entry. +#SETENT_BATCH_READ=TRUE +# +# ADJUNCT_AS_SHADOW +# If set to TRUE, the passwd routines in the NIS NSS module will not +# use the passwd.adjunct.byname tables to fill in the password data +# in the passwd structure. This is a security problem if the NIS +# server cannot be trusted to send the passwd.adjuct table only to +# privileged clients. Instead the passwd.adjunct.byname table is +# used to synthesize the shadow.byname table if it does not exist. +ADJUNCT_AS_SHADOW=TRUE diff --git a/default/rsync b/default/rsync new file mode 100644 index 0000000..424b1c0 --- /dev/null +++ b/default/rsync @@ -0,0 +1,47 @@ +# defaults file for rsync daemon mode +# +# This file is only used for init.d based systems! +# If this system uses systemd, you can specify options etc. for rsync +# in daemon mode by copying /lib/systemd/system/rsync.service to +# /etc/systemd/system/rsync.service and modifying the copy; add required +# options to the ExecStart line. + +# start rsync in daemon mode from init.d script? +# only allowed values are "true", "false", and "inetd" +# Use "inetd" if you want to start the rsyncd from inetd, +# all this does is prevent the init.d script from printing a message +# about not starting rsyncd (you still need to modify inetd's config yourself). +RSYNC_ENABLE=false + +# which file should be used as the configuration file for rsync. +# This file is used instead of the default /etc/rsyncd.conf +# Warning: This option has no effect if the daemon is accessed +# using a remote shell. When using a different file for +# rsync you might want to symlink /etc/rsyncd.conf to +# that file. +# RSYNC_CONFIG_FILE= + +# what extra options to give rsync --daemon? +# that excludes the --daemon; that's always done in the init.d script +# Possibilities are: +# --address=123.45.67.89 (bind to a specific IP address) +# --port=8730 (bind to specified port; default 873) +RSYNC_OPTS='' + +# run rsyncd at a nice level? +# the rsync daemon can impact performance due to much I/O and CPU usage, +# so you may want to run it at a nicer priority than the default priority. +# Allowed values are 0 - 19 inclusive; 10 is a reasonable value. +RSYNC_NICE='' + +# run rsyncd with ionice? +# "ionice" does for IO load what "nice" does for CPU load. +# As rsync is often used for backups which aren't all that time-critical, +# reducing the rsync IO priority will benefit the rest of the system. +# See the manpage for ionice for allowed options. +# -c3 is recommended, this will run rsync IO at "idle" priority. Uncomment +# the next line to activate this. +# RSYNC_IONICE='-c3' + +# Don't forget to create an appropriate config file, +# else the daemon will not start. diff --git a/default/rsyslog b/default/rsyslog new file mode 100644 index 0000000..8ec3ea0 --- /dev/null +++ b/default/rsyslog @@ -0,0 +1,4 @@ +# Options for rsyslogd +# -x disables DNS lookups for remote messages +# See rsyslogd(8) for more details +RSYSLOGD_OPTIONS="" diff --git a/default/ssh b/default/ssh new file mode 100644 index 0000000..3040422 --- /dev/null +++ b/default/ssh @@ -0,0 +1,5 @@ +# Default settings for openssh-server. This file is sourced by /bin/sh from +# /etc/init.d/ssh. + +# Options to pass to sshd +SSHD_OPTS= diff --git a/default/useradd b/default/useradd new file mode 100644 index 0000000..a834fef --- /dev/null +++ b/default/useradd @@ -0,0 +1,37 @@ +# Default values for useradd(8) +# +# The SHELL variable specifies the default login shell on your +# system. +# Similar to DHSELL in adduser. However, we use "sh" here because +# useradd is a low level utility and should be as general +# as possible +SHELL=/bin/sh +# +# The default group for users +# 100=users on Debian systems +# Same as USERS_GID in adduser +# This argument is used when the -n flag is specified. +# The default behavior (when -n and -g are not specified) is to create a +# primary user group with the same name as the user being added to the +# system. +# GROUP=100 +# +# The default home directory. Same as DHOME for adduser +# HOME=/home +# +# The number of days after a password expires until the account +# is permanently disabled +# INACTIVE=-1 +# +# The default expire date +# EXPIRE= +# +# The SKEL variable specifies the directory containing "skeletal" user +# files; in other words, files such as a sample .profile that will be +# copied to the new user's home directory when it is created. +# SKEL=/etc/skel +# +# Defines whether the mail spool should be created while +# creating the account +# CREATE_MAIL_SPOOL=yes + diff --git a/deluser.conf b/deluser.conf new file mode 100644 index 0000000..fff8d81 --- /dev/null +++ b/deluser.conf @@ -0,0 +1,20 @@ +# /etc/deluser.conf: `deluser' configuration. + +# Remove home directory and mail spool when user is removed +REMOVE_HOME = 0 + +# Remove all files on the system owned by the user to be removed +REMOVE_ALL_FILES = 0 + +# Backup files before removing them. This options has only an effect if +# REMOVE_HOME or REMOVE_ALL_FILES is set. +BACKUP = 0 + +# target directory for the backup file +BACKUP_TO = "." + +# delete a group even there are still users in this group +ONLY_IF_EMPTY = 0 + +# exclude these filesystem types when searching for files of a user to backup +EXCLUDE_FSTYPES = "(proc|sysfs|usbfs|devpts|tmpfs|afs)" diff --git a/dhcp/debug b/dhcp/debug new file mode 100644 index 0000000..593e7df --- /dev/null +++ b/dhcp/debug @@ -0,0 +1,38 @@ +# +# The purpose of this script is just to show the variables that are +# available to all the scripts in this directory. All these scripts are +# called from dhclient-script, which exports all the variables shown +# before. If you want to debug a problem with your DHCP setup you can +# enable this script and take a look at /tmp/dhclient-script.debug. + +# To enable this script set the following variable to "yes" +RUN="no" + +if [ "$RUN" = "yes" ]; then + echo "$(date): entering ${1%/*}, dumping variables." \ + >> /tmp/dhclient-script.debug + + # loop over the 4 possible prefixes: (empty), cur_, new_, old_ + for prefix in '' 'cur_' 'new_' 'old_'; do + # loop over the DHCP variables passed to dhclient-script + for basevar in reason interface medium alias_ip_address \ + ip_address host_name network_number subnet_mask \ + broadcast_address routers static_routes \ + rfc3442_classless_static_routes \ + domain_name domain_search domain_name_servers \ + netbios_name_servers netbios_scope \ + ntp_servers \ + ip6_address ip6_prefix ip6_prefixlen \ + dhcp6_domain_search dhcp6_name_servers ; do + var="${prefix}${basevar}" + eval "content=\$$var" + + # show only variables with values set + if [ -n "${content}" ]; then + echo "$var='${content}'" >> /tmp/dhclient-script.debug + fi + done + done + + echo '--------------------------' >> /tmp/dhclient-script.debug +fi diff --git a/dhcp/dhclient-enter-hooks.d/debug b/dhcp/dhclient-enter-hooks.d/debug new file mode 120000 index 0000000..ee34fdc --- /dev/null +++ b/dhcp/dhclient-enter-hooks.d/debug @@ -0,0 +1 @@ +../debug \ No newline at end of file diff --git a/dhcp/dhclient-exit-hooks.d/debug b/dhcp/dhclient-exit-hooks.d/debug new file mode 120000 index 0000000..ee34fdc --- /dev/null +++ b/dhcp/dhclient-exit-hooks.d/debug @@ -0,0 +1 @@ +../debug \ No newline at end of file diff --git a/dhcp/dhclient-exit-hooks.d/hook-dhclient b/dhcp/dhclient-exit-hooks.d/hook-dhclient new file mode 100755 index 0000000..02122f3 --- /dev/null +++ b/dhcp/dhclient-exit-hooks.d/hook-dhclient @@ -0,0 +1,27 @@ +#!/bin/sh +# This file is part of cloud-init. See LICENSE file for license information. + +# This script writes DHCP lease information into the cloud-init run directory +# It is sourced, not executed. For more information see dhclient-script(8). + +is_azure() { + local dmi_path="/sys/class/dmi/id/board_vendor" vendor="" + if [ -e "$dmi_path" ] && read vendor < "$dmi_path"; then + [ "$vendor" = "Microsoft Corporation" ] && return 0 + fi + return 1 +} + +is_enabled() { + # only execute hooks if cloud-init is enabled and on azure + [ -e /run/cloud-init/enabled ] || return 1 + is_azure +} + +if is_enabled; then + case "$reason" in + BOUND) cloud-init dhclient-hook up "$interface";; + DOWN|RELEASE|REBOOT|STOP|EXPIRE) + cloud-init dhclient-hook down "$interface";; + esac +fi diff --git a/dhcp/dhclient-exit-hooks.d/rfc3442-classless-routes b/dhcp/dhclient-exit-hooks.d/rfc3442-classless-routes new file mode 100644 index 0000000..1ef7b8a --- /dev/null +++ b/dhcp/dhclient-exit-hooks.d/rfc3442-classless-routes @@ -0,0 +1,78 @@ +# set classless routes based on the format specified in RFC3442 +# e.g.: +# new_rfc3442_classless_static_routes='24 192 168 10 192 168 1 1 8 10 10 17 66 41' +# specifies the routes: +# 192.168.10.0/24 via 192.168.1.1 +# 10.0.0.0/8 via 10.10.17.66.41 + +RUN="yes" + + +if [ "$RUN" = "yes" ]; then + if [ -n "$new_rfc3442_classless_static_routes" ]; then + if [ "$reason" = "BOUND" ] || [ "$reason" = "REBOOT" ]; then + + set -- $new_rfc3442_classless_static_routes + + while [ $# -gt 0 ]; do + net_length=$1 + via_arg='' + + case $net_length in + 32|31|30|29|28|27|26|25) + if [ $# -lt 9 ]; then + return 1 + fi + net_address="${2}.${3}.${4}.${5}" + gateway="${6}.${7}.${8}.${9}" + shift 9 + ;; + 24|23|22|21|20|19|18|17) + if [ $# -lt 8 ]; then + return 1 + fi + net_address="${2}.${3}.${4}.0" + gateway="${5}.${6}.${7}.${8}" + shift 8 + ;; + 16|15|14|13|12|11|10|9) + if [ $# -lt 7 ]; then + return 1 + fi + net_address="${2}.${3}.0.0" + gateway="${4}.${5}.${6}.${7}" + shift 7 + ;; + 8|7|6|5|4|3|2|1) + if [ $# -lt 6 ]; then + return 1 + fi + net_address="${2}.0.0.0" + gateway="${3}.${4}.${5}.${6}" + shift 6 + ;; + 0) # default route + if [ $# -lt 5 ]; then + return 1 + fi + net_address="0.0.0.0" + gateway="${2}.${3}.${4}.${5}" + shift 5 + ;; + *) # error + return 1 + ;; + esac + + # take care of link-local routes + if [ "${gateway}" != '0.0.0.0' ]; then + via_arg="via ${gateway}" + fi + + # set route (ip detects host routes automatically) + ip -4 route add "${net_address}/${net_length}" \ + ${via_arg} dev "${interface}" >/dev/null 2>&1 + done + fi + fi +fi diff --git a/dhcp/dhclient-exit-hooks.d/timesyncd b/dhcp/dhclient-exit-hooks.d/timesyncd new file mode 100644 index 0000000..3cde992 --- /dev/null +++ b/dhcp/dhclient-exit-hooks.d/timesyncd @@ -0,0 +1,42 @@ +TIMESYNCD_CONF=/run/systemd/timesyncd.conf.d/01-dhclient.conf + +timesyncd_servers_setup_remove() { + if [ -e $TIMESYNCD_CONF ]; then + rm -f $TIMESYNCD_CONF + systemctl try-restart systemd-timesyncd.service || true + fi +} + +timesyncd_servers_setup_add() { + if [ ! -d /run/systemd/system ]; then + return + fi + + if [ -e $TIMESYNCD_CONF ] && [ "$new_ntp_servers" = "$old_ntp_servers" ]; then + return + fi + + if [ -z "$new_ntp_servers" ]; then + timesyncd_servers_setup_remove + return + fi + + mkdir -p $(dirname $TIMESYNCD_CONF) + cat < ${TIMESYNCD_CONF}.new +# NTP server entries received from DHCP server +[Time] +NTP=$new_ntp_servers +EOF + mv ${TIMESYNCD_CONF}.new ${TIMESYNCD_CONF} + systemctl try-restart systemd-timesyncd.service || true +} + + +case $reason in + BOUND|RENEW|REBIND|REBOOT) + timesyncd_servers_setup_add + ;; + EXPIRE|FAIL|RELEASE|STOP) + timesyncd_servers_setup_remove + ;; +esac diff --git a/dhcp/dhclient.conf b/dhcp/dhclient.conf new file mode 100644 index 0000000..b85301b --- /dev/null +++ b/dhcp/dhclient.conf @@ -0,0 +1,54 @@ +# Configuration file for /sbin/dhclient. +# +# This is a sample configuration file for dhclient. See dhclient.conf's +# man page for more information about the syntax of this file +# and a more comprehensive list of the parameters understood by +# dhclient. +# +# Normally, if the DHCP server provides reasonable information and does +# not leave anything out (like the domain name, for example), then +# few changes must be made to this file, if any. +# + +option rfc3442-classless-static-routes code 121 = array of unsigned integer 8; + +send host-name = gethostname(); +request subnet-mask, broadcast-address, time-offset, routers, + domain-name, domain-name-servers, domain-search, host-name, + dhcp6.name-servers, dhcp6.domain-search, dhcp6.fqdn, dhcp6.sntp-servers, + netbios-name-servers, netbios-scope, interface-mtu, + rfc3442-classless-static-routes, ntp-servers; + +#send dhcp-client-identifier 1:0:a0:24:ab:fb:9c; +#send dhcp-lease-time 3600; +#supersede domain-name "fugue.com home.vix.com"; +#prepend domain-name-servers 127.0.0.1; +#require subnet-mask, domain-name-servers; +#timeout 60; +#retry 60; +#reboot 10; +#select-timeout 5; +#initial-interval 2; +#script "/sbin/dhclient-script"; +#media "-link0 -link1 -link2", "link0 link1"; +#reject 192.33.137.209; + +#alias { +# interface "eth0"; +# fixed-address 192.5.5.213; +# option subnet-mask 255.255.255.255; +#} + +#lease { +# interface "eth0"; +# fixed-address 192.33.137.200; +# medium "link0 link1"; +# option host-name "andare.swiftmedia.com"; +# option subnet-mask 255.255.255.0; +# option broadcast-address 192.33.137.255; +# option routers 192.33.137.250; +# option domain-name-servers 127.0.0.1; +# renew 2 2000/1/12 00:00:01; +# rebind 2 2000/1/12 00:00:01; +# expire 2 2000/1/12 00:00:01; +#} diff --git a/dpkg/dpkg.cfg b/dpkg/dpkg.cfg new file mode 100644 index 0000000..ba898ee --- /dev/null +++ b/dpkg/dpkg.cfg @@ -0,0 +1,13 @@ +# dpkg configuration file +# +# This file can contain default options for dpkg. All command-line +# options are allowed. Values can be specified by putting them after +# the option, separated by whitespace and/or an `=' sign. +# + +# Do not enable debsig-verify by default; since the distribution is not using +# embedded signatures, debsig-verify would reject all packages. +no-debsig + +# Log status changes and actions to a file. +log /var/log/dpkg.log diff --git a/dpkg/origins/debian b/dpkg/origins/debian new file mode 100644 index 0000000..91f6ed1 --- /dev/null +++ b/dpkg/origins/debian @@ -0,0 +1,3 @@ +Vendor: Debian +Vendor-URL: http://www.debian.org/ +Bugs: debbugs://bugs.debian.org diff --git a/dpkg/origins/default b/dpkg/origins/default new file mode 120000 index 0000000..b2f7fd3 --- /dev/null +++ b/dpkg/origins/default @@ -0,0 +1 @@ +debian \ No newline at end of file diff --git a/environment b/environment new file mode 100644 index 0000000..e69de29 diff --git a/etckeeper/commit.d/10vcs-test b/etckeeper/commit.d/10vcs-test new file mode 100755 index 0000000..e33d734 --- /dev/null +++ b/etckeeper/commit.d/10vcs-test @@ -0,0 +1,17 @@ +#!/bin/sh +set -e + +not_enabled_warning() { + echo "etckeeper warning: etckeeper is not yet enabled for $(pwd)" >&2 + echo "etckeeper warning: run etckeeper init to enable it" >&2 +} + +if [ "$VCS" = git ] && [ ! -d .git ]; then + not_enabled_warning +elif [ "$VCS" = hg ] && [ ! -d .hg ]; then + not_enabled_warning +elif [ "$VCS" = bzr ] && [ ! -d .bzr ]; then + not_enabled_warning +elif [ "$VCS" = darcs ] && [ ! -d _darcs ]; then + not_enabled_warning +fi diff --git a/etckeeper/commit.d/20store-metadata b/etckeeper/commit.d/20store-metadata new file mode 120000 index 0000000..5698d64 --- /dev/null +++ b/etckeeper/commit.d/20store-metadata @@ -0,0 +1 @@ +../pre-commit.d/30store-metadata \ No newline at end of file diff --git a/etckeeper/commit.d/30bzr-add b/etckeeper/commit.d/30bzr-add new file mode 100755 index 0000000..3e7e95d --- /dev/null +++ b/etckeeper/commit.d/30bzr-add @@ -0,0 +1,8 @@ +#!/bin/sh +set -e + +if [ "$VCS" = bzr ] && [ -d .bzr ]; then + if ! bzr add -q .; then + echo "etckeeper warning: bzr add failed" >&2 + fi +fi diff --git a/etckeeper/commit.d/30darcs-add b/etckeeper/commit.d/30darcs-add new file mode 100755 index 0000000..98be4bf --- /dev/null +++ b/etckeeper/commit.d/30darcs-add @@ -0,0 +1,14 @@ +#!/bin/sh +set -e + +if [ "$VCS" = darcs ] && [ -d _darcs ]; then + rc=0 + res=$( darcs add -qr . 2>&1 ) || rc=$? + if test $rc -ne 0; then + if ! test $rc -eq 2 -a "${res%No files were added}" != "$res"; then + printf "%s" "$res" + echo "etckeeper warning: darcs add failed" >&2 + fi + fi + unset rc res +fi diff --git a/etckeeper/commit.d/30git-add b/etckeeper/commit.d/30git-add new file mode 100755 index 0000000..b08b583 --- /dev/null +++ b/etckeeper/commit.d/30git-add @@ -0,0 +1,8 @@ +#!/bin/sh +set -e + +if [ "$VCS" = git ] && [ -d .git ]; then + if ! git add --all; then + echo "etckeeper warning: git add --all" >&2 + fi +fi diff --git a/etckeeper/commit.d/30hg-addremove b/etckeeper/commit.d/30hg-addremove new file mode 100755 index 0000000..1b999bb --- /dev/null +++ b/etckeeper/commit.d/30hg-addremove @@ -0,0 +1,8 @@ +#!/bin/sh +set -e + +if [ "$VCS" = hg ] && [ -d .hg ]; then + if ! hg addremove .; then + echo "etckeeper warning: hg addremove failed" >&2 + fi +fi diff --git a/etckeeper/commit.d/50vcs-commit b/etckeeper/commit.d/50vcs-commit new file mode 100755 index 0000000..f970d3d --- /dev/null +++ b/etckeeper/commit.d/50vcs-commit @@ -0,0 +1,135 @@ +#!/bin/sh +set -e + +cleanup () { + if [ -n "$logfile" ]; then + rm -f "$logfile" + fi +} +if [ -n "$1" ]; then + trap cleanup EXIT + logfile="$(mktemp -t etckeeper-$VCS.XXXXXXXXXX)" + if [ "x$1" = "x--stdin" ]; then + cat > "$logfile" + else + if [ "x$1" = "x-m" ]; then + shift 1 + fi + echo "$1" > "$logfile" + fi +else + logfile="" +fi + +hostname=`hostname` +hostname="${hostname%%.*}" +dnsdomainname=`dnsdomainname 2>/dev/null || true` +if [ -n "$dnsdomainname" ]; then + hostname="$hostname.$dnsdomainname" +fi + +ORIG_USER=$USER +USER= +if [ -n "$SUDO_USER" ]; then + USER="$SUDO_USER" +else + # try to check tty ownership, in case user su'd to root + TTY="$(tty 2>/dev/null || true)" + if [ -n "$TTY" ] && [ -c "$TTY" ]; then + USER="$(find "$TTY" -printf "%u")" + fi +fi + +if [ "$VCS" = git ] && [ -d .git ]; then + # When not su'd to root, still set environment variables, + # since git's own code to determine the author and committer + # has several edge cases where it fails and would prevent the + # commit. + if [ -z "$USER" ]; then + USER="$(whoami)" + fi + if [ -n "$USER" ]; then + # Use user.name and user.email from the gitconfig belonging + # to USER. + USER_HOME="$(getent passwd "$USER" | cut -d: -f6)" + if [ -n "$USER_HOME" ] && [ -e "$USER_HOME/.gitconfig" ]; then + if [ -z "$GIT_AUTHOR_NAME" ]; then + GIT_AUTHOR_NAME="$(git config -f "$USER_HOME/.gitconfig" user.name)" || true + export GIT_AUTHOR_NAME + fi + if [ -z "$GIT_AUTHOR_EMAIL" ]; then + GIT_AUTHOR_EMAIL="$(git config -f "$USER_HOME/.gitconfig" user.email)" || true + export GIT_AUTHOR_EMAIL + fi + fi + if [ -z "$GIT_AUTHOR_NAME" ] || [ -z "$GIT_AUTHOR_EMAIL" ]; then + if [ -n "$USER_HOME" ] && [ -e "$USER_HOME/.config/git/config" ]; then + if [ -z "$GIT_AUTHOR_NAME" ]; then + GIT_AUTHOR_NAME="$(git config -f "$USER_HOME/.config/git/config" user.name)" || true + export GIT_AUTHOR_NAME + fi + if [ -z "$GIT_AUTHOR_EMAIL" ]; then + GIT_AUTHOR_EMAIL="$(git config -f "$USER_HOME/.config/git/config" user.email)" || true + export GIT_AUTHOR_EMAIL + fi + fi + fi + + if [ -z "$GIT_COMMITTER_EMAIL" ]; then + GIT_COMMITTER_EMAIL="$(git config --global user.email)" || true + export GIT_COMMITTER_EMAIL + fi + if [ -z "$GIT_AUTHOR_NAME" ]; then + GIT_AUTHOR_NAME="$USER" + export GIT_AUTHOR_NAME + fi + if [ -z "$GIT_AUTHOR_EMAIL" ]; then + GIT_AUTHOR_EMAIL="$USER@$hostname" + export GIT_AUTHOR_EMAIL + fi + if [ -z "$GIT_COMMITTER_EMAIL" ]; then + GIT_COMMITTER_EMAIL=`whoami`"@$hostname" + export GIT_COMMITTER_EMAIL + fi + fi + if [ -n "$logfile" ]; then + git commit $GIT_COMMIT_OPTIONS -F "$logfile" + else + git commit $GIT_COMMIT_OPTIONS + fi +elif [ "$VCS" = hg ] && [ -d .hg ]; then + if [ -n "$USER" ]; then + LOGNAME="$USER" + export LOGNAME + fi + if [ -z "$HGUSER" ]; then + HGUSER="$USER@$hostname" + export HGUSER + fi + if [ -n "$logfile" ]; then + hg commit $HG_COMMIT_OPTIONS -l "$logfile" + else + hg commit $HG_COMMIT_OPTIONS + fi +elif [ "$VCS" = bzr ] && [ -d .bzr ]; then + if [ -z "$EMAIL" ] && [ -n "$USER" ]; then + EMAIL="$USER <$USER@$hostname>" + export EMAIL + else + bzr whoami >/dev/null 2>&1 || export EMAIL="$ORIG_USER <$ORIG_USER@$hostname>" + fi + if [ -n "$logfile" ]; then + bzr commit $BZR_COMMIT_OPTIONS -F "$logfile" + else + bzr commit $BZR_COMMIT_OPTIONS + fi +elif [ "$VCS" = darcs ] && [ -d _darcs ]; then + if [ -z "$USER" ]; then + USER=root + fi + if [ -n "$logfile" ]; then + darcs record --author="$USER" $DARCS_COMMIT_OPTIONS --logfile="$logfile" + else + darcs record --author="$USER" $DARCS_COMMIT_OPTIONS + fi +fi diff --git a/etckeeper/commit.d/99push b/etckeeper/commit.d/99push new file mode 100755 index 0000000..3df1350 --- /dev/null +++ b/etckeeper/commit.d/99push @@ -0,0 +1,14 @@ +#!/bin/sh +if [ -n "$PUSH_REMOTE" ]; then + if [ "$VCS" = git ] && [ -d .git ]; then + for REMOTE in $PUSH_REMOTE; do + git push "$REMOTE" || true + done + elif [ "$VCS" = hg ] && [ -d .hg ]; then + for REMOTE in $PUSH_REMOTE; do + hg push "$REMOTE" || true + done + else + echo "PUSH_REMOTE not yet supported for $VCS" >&2 + fi +fi diff --git a/etckeeper/commit.d/README b/etckeeper/commit.d/README new file mode 100644 index 0000000..25d0d45 --- /dev/null +++ b/etckeeper/commit.d/README @@ -0,0 +1,3 @@ +Files in this directory are run when there might be changes to commit. +(Before and after packages are installed, upgraded, etc.) +They should commit changes and new files in /etc to repository. diff --git a/etckeeper/daily b/etckeeper/daily new file mode 100755 index 0000000..f98c6ad --- /dev/null +++ b/etckeeper/daily @@ -0,0 +1,17 @@ +#!/bin/sh +# Script that can be run daily to autocommit /etc changes. +set -e +if [ -x /usr/bin/etckeeper ] && [ -e /etc/etckeeper/etckeeper.conf ]; then + # avoid autocommit if an install run is in progress + lockfile=/var/cache/etckeeper/packagelist.pre-install + if [ -e "$lockfile" ] && [ -n "$(find "$lockfile" -mtime +1)" ]; then + rm -f "$lockfile" # stale + fi + if [ ! -e "$lockfile" ]; then + AVOID_SPECIAL_FILE_WARNING=1 + export AVOID_SPECIAL_FILE_WARNING + if etckeeper unclean; then + etckeeper commit "daily autocommit" >/dev/null + fi + fi +fi diff --git a/etckeeper/etckeeper.conf b/etckeeper/etckeeper.conf new file mode 100644 index 0000000..f13de1c --- /dev/null +++ b/etckeeper/etckeeper.conf @@ -0,0 +1,45 @@ +# The VCS to use. +#VCS="hg" +VCS="git" +#VCS="bzr" +#VCS="darcs" + +# Options passed to git commit when run by etckeeper. +GIT_COMMIT_OPTIONS="" + +# Options passed to hg commit when run by etckeeper. +HG_COMMIT_OPTIONS="" + +# Options passed to bzr commit when run by etckeeper. +BZR_COMMIT_OPTIONS="" + +# Options passed to darcs record when run by etckeeper. +DARCS_COMMIT_OPTIONS="-a" + +# Etckeeper includes both a cron job and a systemd timer, which each +# can commit exiting changes to /etc automatically once per day. +# To enable the systemd timer, run: systemctl enable etckeeper.timer +# The cron job is enabled by default; to disable it, uncomment this next line. +#AVOID_DAILY_AUTOCOMMITS=1 + +# Uncomment the following to avoid special file warning +# (the option is enabled automatically for daily autocommits regardless). +#AVOID_SPECIAL_FILE_WARNING=1 + +# Uncomment to avoid etckeeper committing existing changes to +# /etc before installation. It will cancel the installation, +# so you can commit the changes by hand. +#AVOID_COMMIT_BEFORE_INSTALL=1 + +# The high-level package manager that's being used. +# (apt, pacman, pacman-g2, yum, dnf, zypper, apk etc) +HIGHLEVEL_PACKAGE_MANAGER=apt + +# The low-level package manager that's being used. +# (dpkg, rpm, pacman, pacmatic, pacman-g2, apk etc) +LOWLEVEL_PACKAGE_MANAGER=dpkg + +# To push each commit to a remote, put the name of the remote here. +# (eg, "origin" for git). Space-separated lists of multiple remotes +# also work (eg, "origin gitlab github" for git). +PUSH_REMOTE="" diff --git a/etckeeper/init.d/10restore-metadata b/etckeeper/init.d/10restore-metadata new file mode 100755 index 0000000..9c2bf65 --- /dev/null +++ b/etckeeper/init.d/10restore-metadata @@ -0,0 +1,14 @@ +#!/bin/sh +set -e + +# Note that metastore doesn't check that the .metastore file only changes +# perms of files in the current directory. It's ok to trust the .metastore +# file won't do anything shady, because, as documented, etckeeper-init +# should only be run on repositories you trust. +if [ -e .metadata ]; then + if which metastore >/dev/null; then + metastore --apply --mtime + else + echo "etckeeper warning: legacy .metastore file is present but metastore is not installed" >&2 + fi +fi diff --git a/etckeeper/init.d/20restore-etckeeper b/etckeeper/init.d/20restore-etckeeper new file mode 100755 index 0000000..0485e63 --- /dev/null +++ b/etckeeper/init.d/20restore-etckeeper @@ -0,0 +1,22 @@ +#!/bin/sh +set -e + +# Used by .etckeeper to run a command if the file it acts on +# (the last parameter) exists. +maybe () { + command="$1" + shift 1 + + if eval [ -e "\"\$$#\"" ]; then + "$command" "$@" + fi +} + +# Yes, this runs code from the repository. As documented, etckeeper-init +# should only be run on repositories you trust. +if [ -e .etckeeper ]; then + . ./.etckeeper +else + touch .etckeeper + chmod 600 .etckeeper +fi diff --git a/etckeeper/init.d/40vcs-init b/etckeeper/init.d/40vcs-init new file mode 100755 index 0000000..3c7a3bb --- /dev/null +++ b/etckeeper/init.d/40vcs-init @@ -0,0 +1,17 @@ +#!/bin/sh +set -e + +if [ "$VCS" = git ] && [ ! -e .git ]; then + git init + echo "$(hostname) /etc repository" > .git/description +elif [ "$VCS" = hg ] && [ ! -e .hg ]; then + hg init + echo "[web]" > .hg/hgrc + echo "description = $(hostname) /etc repository" >> .hg/hgrc +elif [ "$VCS" = bzr ] && [ ! -e .bzr ]; then + bzr init + bzr nick "$(hostname) /etc repository" +elif [ "$VCS" = darcs ] && [ ! -e _darcs ]; then + darcs initialize + echo "$(hostname) /etc repository" > _darcs/prefs/motd +fi diff --git a/etckeeper/init.d/50vcs-ignore b/etckeeper/init.d/50vcs-ignore new file mode 100755 index 0000000..33d79d3 --- /dev/null +++ b/etckeeper/init.d/50vcs-ignore @@ -0,0 +1,4 @@ +#!/bin/sh +set -e + +etckeeper update-ignore -a || true diff --git a/etckeeper/init.d/50vcs-perm b/etckeeper/init.d/50vcs-perm new file mode 100755 index 0000000..4dd080b --- /dev/null +++ b/etckeeper/init.d/50vcs-perm @@ -0,0 +1,12 @@ +#!/bin/sh +set -e + +if [ "$VCS" = git ]; then + chmod 700 .git +elif [ "$VCS" = hg ]; then + chmod 700 .hg +elif [ "$VCS" = bzr ]; then + chmod 700 .bzr +elif [ "$VCS" = darcs ]; then + chmod 700 _darcs +fi diff --git a/etckeeper/init.d/50vcs-pre-commit-hook b/etckeeper/init.d/50vcs-pre-commit-hook new file mode 100755 index 0000000..6045981 --- /dev/null +++ b/etckeeper/init.d/50vcs-pre-commit-hook @@ -0,0 +1,49 @@ +#!/bin/sh +set -e + +case "$VCS" in + git) + if [ -x .git/hooks/pre-commit ]; then + if ! grep -q "etckeeper pre-commit" .git/hooks/pre-commit; then + echo "etckeeper warning: .git/hooks/pre-commit needs to be manually modified to run: etckeeper pre-commit -d `pwd`" >&2 + fi + else + cat >.git/hooks/pre-commit <&2 + fi + else + touch .hg/hgrc + cat >>.hg/hgrc <&2 + fi + else + cat >_darcs/prefs/defaults < "$patternsfile" || true + grep -Evf "$patternsfile" + rm -f "$patternsfile" + unset patternsfile + else + cat - + fi +} + + +if [ "$VCS" = darcs ];then + NOVCS='. -path ./.git -prune -o -path ./.bzr -prune -o -path ./.hg -prune -o -path ./_darcs -prune -o' + + # We assume that if .etckeeper is empty this is the first run + if [ -s .etckeeper ]; then + linksindex="$( mktemp -t etckeeper-$VCS.XXXXXXXXXX )" + grep '^ln -s' .etckeeper | while IFS="'" read n n n link n; do + printf "%s\n" "$link" >> "$linksindex" + done + + # Warn about symbolic links that shouldn't exist + if links=$( find $NOVCS -type l -print | filter_ignore | grep -vFf "$linksindex" ); then + printf "%s\n%s\n" \ + "The following symbolic links should not exist:" \ + "$links" >&2 + fi + + rm -f "$linksindex" + unset links linksindex + fi + +fi diff --git a/etckeeper/init.d/70vcs-add b/etckeeper/init.d/70vcs-add new file mode 100755 index 0000000..9a9ec45 --- /dev/null +++ b/etckeeper/init.d/70vcs-add @@ -0,0 +1,27 @@ +#!/bin/sh +set -e + +if [ "$VCS" = git ]; then + if ! git add .; then + echo "etckeeper warning: git add failed" >&2 + fi +elif [ "$VCS" = hg ]; then + if ! hg add .; then + echo "etckeeper warning: hg add failed" >&2 + fi +elif [ "$VCS" = bzr ]; then + if ! bzr add .; then + echo "etckeeper warning: bzr add failed" >&2 + fi +elif [ "$VCS" = darcs ]; then + # Don't warn if all the files were already added. + rc=0 + res=$( darcs add -qr . 2>&1 ) || rc=$? + if test $rc -ne 0; then + if ! test $rc -eq 2 -a "${res%No files were added}" != "$res"; then + printf "%s" "$res" + echo "etckeeper warning: darcs add failed" >&2 + fi + fi + unset rc res +fi diff --git a/etckeeper/init.d/README b/etckeeper/init.d/README new file mode 100644 index 0000000..90aec67 --- /dev/null +++ b/etckeeper/init.d/README @@ -0,0 +1,13 @@ +Executable files in this directory are run to initialise the working directory +for use by etckeeper. If the working directory is not already in version +control, that includes setting up the version control, but not actually +committing anything. If the working directory is in version control, +it includes applying stored metadata to the checked out files in the +working directory. + +Please be careful to *never* overwrite existing files/directories +in the working directory (or use absolute care when doing so). If a file +you need to write already exists, check if its contents are sane, and +if not, emit a warning on stderr. + +If initialisation fails, exit nonzero and no later files will be run. diff --git a/etckeeper/list-installed.d/50list-installed b/etckeeper/list-installed.d/50list-installed new file mode 100755 index 0000000..d89b8ce --- /dev/null +++ b/etckeeper/list-installed.d/50list-installed @@ -0,0 +1,27 @@ +#!/bin/sh +if [ "$1" = fmt ]; then + # If the list format changes, change the fmt + if [ "$LOWLEVEL_PACKAGE_MANAGER" = dpkg ]; then + echo 2 + else + echo "" + fi +else + # Output to stdout a *sorted* list of all currently installed + # (or removed but still with config-files) packages, in the + # format "package version\n" (or something similar). + if [ "$LOWLEVEL_PACKAGE_MANAGER" = dpkg ]; then + dpkg-query -W -f '${Status}\t${Package} ${Version} ${Architecture}\n' | \ + egrep '(ok installed|ok config-files)' | cut -f2,3 + elif [ "$LOWLEVEL_PACKAGE_MANAGER" = rpm ]; then + rpm -qa --qf "%|epoch?{%{epoch}}:{0}|:%{name}-%{version}-%{release}.%{arch}\n" | sort + elif [ "$LOWLEVEL_PACKAGE_MANAGER" = pacman ]; then + pacman -Q + elif [ "$LOWLEVEL_PACKAGE_MANAGER" = pacmatic ]; then + pacmatic -Q + elif [ "$LOWLEVEL_PACKAGE_MANAGER" = pkgng ]; then + pkg info -E "*" + elif [ "$LOWLEVEL_PACKAGE_MANAGER" = apk ]; then + apk info -v | sort + fi +fi diff --git a/etckeeper/post-install.d/50vcs-commit b/etckeeper/post-install.d/50vcs-commit new file mode 100755 index 0000000..bc9cdf0 --- /dev/null +++ b/etckeeper/post-install.d/50vcs-commit @@ -0,0 +1,43 @@ +#!/bin/sh +set -e + +pl="/var/cache/etckeeper/packagelist" + +# Parent process is etckeeper +# (Only procps ps is currently supported, others will fail, +# so this may end up empty.) +ETCKEEPER_PID=$( ps --no-headers -o ppid "${PPID}" 2>/dev/null | sed 's/^ *//' ) + +# Find the parent of etckeeper and get the command line of the process +if ! [ -z "${ETCKEEPER_PID}" ]; then + ETCKEEPER_PPID=$( ps --no-headers -o ppid "${ETCKEEPER_PID}" | sed 's/^ *//' ) + ETCKEEPER_PARENT_COMMAND_LINE=$( ps --no-headers -o args "${ETCKEEPER_PPID}" ) +fi + +if etckeeper unclean; then + if [ -z "${ETCKEEPER_PARENT_COMMAND_LINE}" ]; then + message="committing changes in /etc after $HIGHLEVEL_PACKAGE_MANAGER run" + else + message="committing changes in /etc made by \"$ETCKEEPER_PARENT_COMMAND_LINE\"" + fi + + set +e + if [ -e $pl.pre-install ] && [ "$(cat $pl.fmt 2>/dev/null || true)" = "$(etckeeper list-installed fmt)" ]; then + ( + echo "$message" + echo + echo "Package changes:" + etckeeper list-installed | diff -U0 $pl.pre-install - | tail -n+4 | egrep '^[-+]' || true + ) | etckeeper commit --stdin + else + etckeeper commit "$(printf "$message")" + fi + status=$? + set -e + + if [ "$status" != 0 ]; then + echo "warning: etckeeper failed to commit changes in /etc using $VCS" >&2 + fi +fi + +rm -f $pl.pre-install $pl.fmt diff --git a/etckeeper/post-install.d/README b/etckeeper/post-install.d/README new file mode 100644 index 0000000..62f4f9c --- /dev/null +++ b/etckeeper/post-install.d/README @@ -0,0 +1,2 @@ +Files in this directory are run after packages are installed, upgraded, etc. +They should commit changes and new files in /etc to repository. diff --git a/etckeeper/pre-commit.d/20warn-problem-files b/etckeeper/pre-commit.d/20warn-problem-files new file mode 100755 index 0000000..6bd5c2b --- /dev/null +++ b/etckeeper/pre-commit.d/20warn-problem-files @@ -0,0 +1,30 @@ +#!/bin/sh +set -e + +exclude_internal () { + egrep -v '(^|/)(\.git|\.hg|\.bzr|_darcs)/' +} + +if [ "$VCS" = bzr ] || [ "$VCS" = darcs ]; then + special=$(find . ! -type d ! -type f ! -type l | exclude_internal) || true + hardlinks=$(find . -type f ! -links 1 | exclude_internal ) || true +elif [ "$VCS" = hg ]; then + special=$(find . ! -type d ! -type f ! -type l | exclude_internal) || true + hardlinks=$(find . -type f ! -links 1 -exec hg status {} \; | exclude_internal ) || true +elif [ "$VCS" = git ]; then + special=$(find . ! -type d ! -type f ! -type l -exec git ls-files --exclude-standard --cached --others {} + | exclude_internal) || true + hardlinks=$(find . -type f ! -links 1 -exec git ls-files --exclude-standard --cached --others {} + | exclude_internal) || true +else + special="" +fi + +if [ -n "$special" ] && [ -z "$AVOID_SPECIAL_FILE_WARNING" ]; then + echo "etckeeper warning: special files could cause problems with $VCS:" >&2 + echo "$special" >&2 +fi +if [ -n "$hardlinks" ] && [ -z "$AVOID_SPECIAL_FILE_WARNING" ]; then + echo "etckeeper warning: hardlinked files could cause problems with $VCS:" >&2 + echo "$hardlinks" >&2 +fi + +true diff --git a/etckeeper/pre-commit.d/30store-metadata b/etckeeper/pre-commit.d/30store-metadata new file mode 100755 index 0000000..ce014d1 --- /dev/null +++ b/etckeeper/pre-commit.d/30store-metadata @@ -0,0 +1,175 @@ +#!/bin/sh +set -e + +# Make sure sort always sorts in same order. +LANG=C +export LANG + +filter_ignore() { + case "$VCS" in + darcs) ignorefile=.darcsignore ;; + git) ignorefile=.gitignore ;; + esac + + if [ -n "$ignorefile" ] && [ -e "$ignorefile" ]; then + listfile="$( mktemp -t etckeeper-$VCS.XXXXXXXXXX )" + case "$VCS" in + darcs) + grep -v '^[[:space:]]*\(#\|$\)' "$ignorefile" > "$listfile" || true + grep -Evf "$listfile" + ;; + git) + (git ls-files -oi --exclude-standard; git ls-files -oi --exclude-standard --directory) | sort | uniq > "$listfile" || true + if [ -s "$listfile" ]; then + sed 's/^\.\///' | grep -xFvf "$listfile" + else + cat - + fi + ;; + esac + rm -f "$listfile" + unset listfile + else + cat - + fi +} + +shellquote() { + # Single quotes text, escaping existing single quotes. + sed -e "s/'/'\"'\"'/g" -e "s/^/'/" -e "s/$/'/" +} + +generate_metadata() { + # This function generates the script commands to fix any file + # ownerships that aren't owner=root, group=root, as well as to + # store the permissions of files. + # The script is produced on stdout. Errors go to stderr. + # + # The script can use a 'maybe' function, which only runs a command + # if the file in its last argument exists. + + # We want files in the directory containing VCS data + # but we want find to ignore the VCS files themselves. + # + # (Note that when using this, the find expression must end with + # -print or -exec, else the excluded directories will actually be + # printed!) + NOVCS='. -path ./.git -prune -o -path ./.bzr -prune -o -path ./.hg -prune -o -path ./_darcs -prune -o' + + # Keep the sort order the same at all times. + LC_COLLATE=C + export LC_COLLATE + unset LC_ALL + + if [ "$VCS" = git ] || [ "$VCS" = hg ]; then + # These version control systems do not track directories, + # so empty directories must be stored specially. + find $NOVCS -type d -empty -print | + sort | shellquote | sed -e "s/^/mkdir -p /" + fi + + if [ "$VCS" = darcs ]; then + # This version control system does not track symlinks, + # so they must be stored specially. + find $NOVCS -type l -print | sort | filter_ignore | while read link; do + dest=$( readlink "$link" ) + printf "ln -sf '%s' '%s'\n" "$(echo "$dest" | shellquote)" "$(echo "$link" | shellquote)" + done + fi + + # Store things that don't have the default user or group. + # Store all file modes, in case the user has an unusual umask. + find $NOVCS \( -type f -or -type d \) -print | filter_ignore | sort | maybe_chmod_chown + + # We don't handle xattrs. + # Maybe check for getfattr/setfattr and use them if they're available? +} + +maybe_chmod_chown() { + if [ "$(which perl 2>/dev/null)" != "" ]; then + perl -ne ' + BEGIN { $q=chr(39) } + sub uidname { + my $want=shift; + if (exists $uidcache{$want}) { + return $uidcache{$want}; + } + my $name=scalar getpwuid($want); + return $uidcache{$want}=defined $name ? $name : $want; + } + sub gidname { + my $want=shift; + if (exists $gidcache{$want}) { + return $gidcache{$want}; + } + my $name=scalar getgrgid($want); + return $gidcache{$want}=defined $name ? $name : $want; + } + chomp; + my @stat=stat($_); + my $mode = $stat[2]; + my $uid = $stat[4]; + my $gid = $stat[5]; + s/$q/$q"$q"$q/g; # escape single quotes + s/^/$q/; + s/$/$q/; + if ($uid != $>) { + printf "maybe chown $q%s$q %s\n", uidname($uid), $_; + } + if ($gid != $)) { + printf "maybe chgrp $q%s$q %s\n", gidname($gid), $_; + } + printf "maybe chmod %04o %s\n", $mode & 07777, $_; + ' + return $? + else + # fallback if perl isn't present + euid=$(id -u) + egid=$(id -g) + q="'" + while read x; do + stat=$(stat -c "%f:%u:%g:%a:%U:%G" $x) + IFS=":" read mode uid gid perm uname gname < .etckeeper + echo >> .etckeeper + + # Make sure the file is not readable by others, since it can leak + # information about contents of non-readable directories in /etc. + chmod 700 .etckeeper + + generate_metadata >> .etckeeper + + # stage the file as part of the current commit + if [ "$VCS" = git ]; then + # this will do nothing if the metadata file is unchanged. + git add .etckeeper + fi + # hg, bzr and darcs add not done, they will automatically + # include the file in the current commit +fi diff --git a/etckeeper/pre-commit.d/README b/etckeeper/pre-commit.d/README new file mode 100644 index 0000000..051d094 --- /dev/null +++ b/etckeeper/pre-commit.d/README @@ -0,0 +1,2 @@ +This is run by a git pre-commit hook before committing changes to the +repository. This can be used for storing metadata, and for sanity checks. diff --git a/etckeeper/pre-install.d/10packagelist b/etckeeper/pre-install.d/10packagelist new file mode 100755 index 0000000..fbd4ac3 --- /dev/null +++ b/etckeeper/pre-install.d/10packagelist @@ -0,0 +1,5 @@ +#!/bin/sh +# This list will be later used when committing. +mkdir -p /var/cache/etckeeper/ +etckeeper list-installed > /var/cache/etckeeper/packagelist.pre-install +etckeeper list-installed fmt > /var/cache/etckeeper/packagelist.fmt diff --git a/etckeeper/pre-install.d/50uncommitted-changes b/etckeeper/pre-install.d/50uncommitted-changes new file mode 100755 index 0000000..969d341 --- /dev/null +++ b/etckeeper/pre-install.d/50uncommitted-changes @@ -0,0 +1,15 @@ +#!/bin/sh +set -e + +if etckeeper unclean; then + if [ "$AVOID_COMMIT_BEFORE_INSTALL" = 1 ]; then + echo "" >&2 + echo "** etckeeper detected uncommitted changes in /etc prior to $HIGHLEVEL_PACKAGE_MANAGER run" >&2 + echo "** Aborting $HIGHLEVEL_PACKAGE_MANAGER run. Manually commit and restart." >&2 + echo "" >&2 + exit 1 + fi + if ! etckeeper commit "saving uncommitted changes in /etc prior to $HIGHLEVEL_PACKAGE_MANAGER run"; then + echo "warning: etckeeper failed to commit changes in /etc using $VCS" >&2 + fi +fi diff --git a/etckeeper/pre-install.d/README b/etckeeper/pre-install.d/README new file mode 100644 index 0000000..a3b5a57 --- /dev/null +++ b/etckeeper/pre-install.d/README @@ -0,0 +1,3 @@ +Files in this directory are run before packages are installed, upgraded, +etc. This is mostly used for sanity checks, ie, does /etc have any +uncommitted changes? diff --git a/etckeeper/unclean.d/50test b/etckeeper/unclean.d/50test new file mode 100755 index 0000000..e52003f --- /dev/null +++ b/etckeeper/unclean.d/50test @@ -0,0 +1,12 @@ +#!/bin/sh +set -e + +if [ "$VCS" = git ]; then + [ -d .git ] && [ -n "`git status --porcelain`" ] +elif [ "$VCS" = hg ]; then + [ -d .hg ] && ! hg status 2>&1 | wc -l | grep -q "^0$" +elif [ "$VCS" = bzr ]; then + [ -d .bzr ] && ! bzr version-info --custom --template="{clean}\n" | grep -q "^1$" +elif [ "$VCS" = darcs ]; then + [ -d _darcs ] && darcs whatsnew -l >/dev/null +fi diff --git a/etckeeper/unclean.d/README b/etckeeper/unclean.d/README new file mode 100644 index 0000000..74bfbdd --- /dev/null +++ b/etckeeper/unclean.d/README @@ -0,0 +1,2 @@ +Files in this directory are used to test if the working copy has +uncommitted changes. diff --git a/etckeeper/uninit.d/01prompt b/etckeeper/uninit.d/01prompt new file mode 100755 index 0000000..8b43937 --- /dev/null +++ b/etckeeper/uninit.d/01prompt @@ -0,0 +1,20 @@ +#!/bin/sh +set -e + +if [ "$1" != "-f" ]; then + echo "** Warning: This will DESTROY all recorded history for $ETCKEEPER_DIR," + echo "** including the $VCS repository." + echo "" + printf "Are you sure you want to do this? [yN] " + read answer + case "$answer" in + [Yy]*) + echo "Proceeding.." + exit 0 + ;; + *) + echo "Aborting etckeeper uninit." + exit 1 + ;; + esac +fi diff --git a/etckeeper/uninit.d/50remove-metadata b/etckeeper/uninit.d/50remove-metadata new file mode 100755 index 0000000..0be8d36 --- /dev/null +++ b/etckeeper/uninit.d/50remove-metadata @@ -0,0 +1,6 @@ +#!/bin/sh +set -e + +# Files generated by etckeeper to store metadata the VCS cannot preserve. +rm -f .etckeeper +rm -f .metadata # only generated by old versions diff --git a/etckeeper/uninit.d/50vcs-uninit b/etckeeper/uninit.d/50vcs-uninit new file mode 100755 index 0000000..06317c5 --- /dev/null +++ b/etckeeper/uninit.d/50vcs-uninit @@ -0,0 +1,54 @@ +#!/bin/sh +set -e + +if [ "$VCS" = git ]; then + rm -rf .git + file=.gitignore +elif [ "$VCS" = hg ]; then + rm -rf .hg + file=.hgignore +elif [ "$VCS" = bzr ]; then + rm -rf .bzr + file=.bzrignore +elif [ "$VCS" = darcs ]; then + rm -rf _darcs + file=.darcsignore +fi + +managed_by_etckeeper="managed by etckeeper" + +if ! grep -q "$managed_by_etckeeper" "$file"; then + exit 0 +else + realfile="$file" + if which tempfile >/dev/null 2>&1 || type tempfile >/dev/null 2>&1; then + tempfile="tempfile" + elif which mktemp >/dev/null 2>&1 || type mktemp >/dev/null 2>&1; then + tempfile="mktemp" + else + echo "etckeeper warning: can't find tempfile or mktemp" >&2 + exit 1 + fi + file=$($tempfile) + otherentries= + skipping= + while read -r line; do + if echo "$line" | grep -q "$managed_by_etckeeper"; then + if [ ! "$skipping" ]; then + skipping=1 + else + skipping= + fi + elif [ ! "$skipping" ]; then + echo "$line" >> "$file" + otherentries=1 + fi + done <"$realfile" + + if [ "$otherentries" ]; then + mv -f "$file" "$realfile" + else + rm -f "$file" + rm -f "$realfile" + fi +fi diff --git a/etckeeper/uninit.d/README b/etckeeper/uninit.d/README new file mode 100644 index 0000000..d1a4eaa --- /dev/null +++ b/etckeeper/uninit.d/README @@ -0,0 +1,2 @@ +Executable files in this directory are run to uninitialise the working +directory, removing files added by `etckeeper init`. diff --git a/etckeeper/update-ignore.d/01update-ignore b/etckeeper/update-ignore.d/01update-ignore new file mode 100755 index 0000000..8733a85 --- /dev/null +++ b/etckeeper/update-ignore.d/01update-ignore @@ -0,0 +1,209 @@ +#!/bin/sh +set -e + +if [ "$VCS" = git ]; then + dir=.git + file=.gitignore +elif [ "$VCS" = hg ]; then + dir=.hg + file=.hgignore +elif [ "$VCS" = bzr ]; then + dir=.bzr + file=.bzrignore +elif [ "$VCS" = darcs ]; then + dir=_darcs + file=.darcsignore +else + echo "etckeeper: unsupported VCS $VCS" >&2 + exit 1 +fi + +if [ ! -d "$dir" ]; then + exit 0 +fi + +managed_by_etckeeper="managed by etckeeper" + +nl() { + echo >>"$file" +} + +comment() { + comment="$1" + echo "# $comment" >>"$file" +} + +ignore() { + glob="$1" + + case "$VCS" in + git) + # escape "#" in ignores, as otherwise it may + # be considered a comment + echo "$glob" | sed 's/#/\\#/g' >>"$file" + ;; + bzr) + echo "$glob" >>"$file" + ;; + hg) + # rather than converting the glob to a regexp, just + # configure hg to use globs + if [ -z "$hg_syntax_printed" ]; then + comment "use glob syntax" + echo "syntax: glob" >>"$file" + nl + hg_syntax_printed=1 + fi + echo "$glob" | sed 's/#/\\#/g' >>"$file" + ;; + darcs) + # darcs doesn't understand globs, so we need to + # translate them into regexs. Not a complete converter, + # but suitable for given globs. + if [ "${glob%\*}" != "$glob" ]; then + glob="${glob%\*}" + else + glob="$glob"'($|/)' + fi + if [ "${glob#\*}" != "$glob" ]; then + glob="${glob#\*}" + else + glob='(^|/)'"$glob" + fi + glob="$( printf %s $glob | sed -e 's/\./\\./g;s/\*/[^\/]*/g;s/\?/[^\/]/g' )" + echo "$glob" >>"$file" + esac +} + +writefile () { + comment "begin section $managed_by_etckeeper (do not edit this section by hand)" + nl + + if [ "$VCS" = darcs ]; then + darcs setpref boringfile .darcsignore + fi + + if [ "$LOWLEVEL_PACKAGE_MANAGER" = dpkg ]; then + comment "new and old versions of conffiles, stored by dpkg" + ignore "*.dpkg-*" + comment "new and old versions of conffiles, stored by ucf" + ignore "*.ucf-*" + nl + elif [ "$LOWLEVEL_PACKAGE_MANAGER" = "rpm" ]; then + comment "new and old versions of conffiles, stored by apt/rpm" + ignore "*.rpm*" + nl + elif [ "$LOWLEVEL_PACKAGE_MANAGER" = "pacman-g2" -o "$LOWLEVEL_PACKAGE_MANAGER" = "pacman" -o "$LOWLEVEL_PACKAGE_MANAGER" = "pacmatic" ]; then + comment "new and old versions of conffiles, stored by pacman" + ignore "*.pacnew" + ignore "*.pacorig" + ignore "*.pacsave" + nl + elif [ "$LOWLEVEL_PACKAGE_MANAGER" = "apk" ]; then + comment "new versions of conffiles, stored by apk" + ignore "*.apk-new" + nl + fi + + comment "old versions of files" + ignore "*.old" + # Not currently ignored as admins tend to rely on these files. + #ignore "passwd-" + #ignore "group-" + #ignore "shadow-" + #ignore "gshadow-" + nl + + comment "mount(8) records system state here, no need to store these" + ignore blkid.tab + ignore blkid.tab.old + nl + + comment "some other files in /etc that typically do not need to be tracked" + ignore nologin + ignore ld.so.cache + ignore prelink.cache + ignore mtab + ignore mtab.fuselock + ignore .pwd.lock + ignore "*.LOCK" + ignore network/run + ignore adjtime + ignore lvm/cache + ignore lvm/archive + ignore "X11/xdm/authdir/authfiles/*" + ignore ntp.conf.dhcp + ignore .initctl + ignore "webmin/fsdump/*.status" + ignore "webmin/webmin/oscache" + ignore "apparmor.d/cache/*" + ignore "service/*/supervise/*" + ignore "service/*/log/supervise/*" + ignore "sv/*/supervise/*" + ignore "sv/*/log/supervise/*" + ignore "*.elc" + ignore "*.pyc" + ignore "*.pyo" + ignore "init.d/.depend.*" + ignore "openvpn/openvpn-status.log" + ignore "cups/subscriptions.conf" + ignore "cups/subscriptions.conf.O" + ignore "fake-hwclock.data" + ignore "check_mk/logwatch.state" + nl + + comment "editor temp files" + ignore "*~" + ignore ".*.sw?" + ignore ".sw?" + ignore "#*#" + ignore DEADJOE + + nl + comment "end section $managed_by_etckeeper" +} + +if [ -e "$file" ]; then + if ! grep -q "$managed_by_etckeeper" "$file"; then + if [ "$1" != "-a" ]; then + echo "etckeeper: "$file" does not contain \"$managed_by_etckeeper\" comment; not updating" + exit 1 + else + echo "etckeeper: "$file" exists but does not contain \"$managed_by_etckeeper\" comment; updating" + writefile + exit 0 + fi + fi + realfile="$file" + if which tempfile >/dev/null 2>&1 || type tempfile >/dev/null 2>&1; then + tempfile="tempfile" + elif which mktemp >/dev/null 2>&1 || type mktemp >/dev/null 2>&1; then + tempfile="mktemp" + else + echo "etckeeper warning: can't find tempfile or mktemp" >&2 + fi + file=$($tempfile) + ( + skipping= + while read -r line; do + if echo "$line" | grep -q "$managed_by_etckeeper"; then + if [ ! "$skipping" ]; then + skipping=1 + else + skipping= + writefile + fi + elif [ ! "$skipping" ]; then + echo "$line" >> "$file" + fi + done + if [ "$skipping" ]; then + # reached end of file w/o ending block + writefile + fi + ) <"$realfile" + + mv -f "$file" "$realfile" +else + writefile +fi diff --git a/etckeeper/update-ignore.d/README b/etckeeper/update-ignore.d/README new file mode 100644 index 0000000..a573135 --- /dev/null +++ b/etckeeper/update-ignore.d/README @@ -0,0 +1,2 @@ +Executable files in this directory are run to update the VCS ignore file, +or create it if it does not exist. diff --git a/etckeeper/vcs.d/50vcs-cmd b/etckeeper/vcs.d/50vcs-cmd new file mode 100755 index 0000000..f515abb --- /dev/null +++ b/etckeeper/vcs.d/50vcs-cmd @@ -0,0 +1,11 @@ +#!/bin/sh +set -e + +# check whether we can locate the vcs binary +if [ -n "$VCS" ] && which "$VCS" > /dev/null; then + # pass commands to the VCS application + $VCS "$@" +else + echo "error: VCS ($VCS) not set or not in PATH" >&2 + exit 1 +fi diff --git a/fstab b/fstab new file mode 100644 index 0000000..cc1ac12 --- /dev/null +++ b/fstab @@ -0,0 +1,17 @@ +# /etc/fstab: static file system information. +# +# Use 'blkid' to print the universally unique identifier for a +# device; this may be used with UUID= as a more robust way to name devices +# that works even if disks are added and removed. See fstab(5). +# +# +# / was on /dev/sda3 during installation +UUID=0898636c-989a-4733-a7a7-c4d27fd648ad / ext4 errors=remount-ro 0 1 +# /boot/efi was on /dev/sda2 during installation +UUID=B45B-E011 /boot/efi vfat umask=0077 0 1 +/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0 +/dev/data/backup /var/backup ext4 noatime 0 0 +/dev/data/home /home ext4 acl,user_xattr 0 0 +/dev/data/mysql /var/lib/mysql ext4 noatime 0 0 +/dev/data/opt /opt ext4 noatime 0 0 +/dev/data/vmail /var/vmail ext4 acl,user_xattr 0 0 diff --git a/gai.conf b/gai.conf new file mode 100644 index 0000000..4616ed0 --- /dev/null +++ b/gai.conf @@ -0,0 +1,65 @@ +# Configuration for getaddrinfo(3). +# +# So far only configuration for the destination address sorting is needed. +# RFC 3484 governs the sorting. But the RFC also says that system +# administrators should be able to overwrite the defaults. This can be +# achieved here. +# +# All lines have an initial identifier specifying the option followed by +# up to two values. Information specified in this file replaces the +# default information. Complete absence of data of one kind causes the +# appropriate default information to be used. The supported commands include: +# +# reload +# If set to yes, each getaddrinfo(3) call will check whether this file +# changed and if necessary reload. This option should not really be +# used. There are possible runtime problems. The default is no. +# +# label +# Add another rule to the RFC 3484 label table. See section 2.1 in +# RFC 3484. The default is: +# +#label ::1/128 0 +#label ::/0 1 +#label 2002::/16 2 +#label ::/96 3 +#label ::ffff:0:0/96 4 +#label fec0::/10 5 +#label fc00::/7 6 +#label 2001:0::/32 7 +# +# This default differs from the tables given in RFC 3484 by handling +# (now obsolete) site-local IPv6 addresses and Unique Local Addresses. +# The reason for this difference is that these addresses are never +# NATed while IPv4 site-local addresses most probably are. Given +# the precedence of IPv6 over IPv4 (see below) on machines having only +# site-local IPv4 and IPv6 addresses a lookup for a global address would +# see the IPv6 be preferred. The result is a long delay because the +# site-local IPv6 addresses cannot be used while the IPv4 address is +# (at least for the foreseeable future) NATed. We also treat Teredo +# tunnels special. +# +# precedence +# Add another rule to the RFC 3484 precedence table. See section 2.1 +# and 10.3 in RFC 3484. The default is: +# +#precedence ::1/128 50 +#precedence ::/0 40 +#precedence 2002::/16 30 +#precedence ::/96 20 +#precedence ::ffff:0:0/96 10 +# +# For sites which prefer IPv4 connections change the last line to +# +#precedence ::ffff:0:0/96 100 + +# +# scopev4 +# Add another rule to the RFC 6724 scope table for IPv4 addresses. +# By default the scope IDs described in section 3.2 in RFC 6724 are +# used. Changing these defaults should hardly ever be necessary. +# The defaults are equivalent to: +# +#scopev4 ::ffff:169.254.0.0/112 2 +#scopev4 ::ffff:127.0.0.0/104 2 +#scopev4 ::ffff:0.0.0.0/96 14 diff --git a/groff/man.local b/groff/man.local new file mode 100644 index 0000000..0c5cd9a --- /dev/null +++ b/groff/man.local @@ -0,0 +1,33 @@ +.\" -*- nroff -*- +.\" +.\" This file is loaded after an-old.tmac. +.\" Put any local modifications to an-old.tmac here. +. +.if n \{\ +. \" Debian: Map \(oq to ' rather than ` in nroff mode for devices other +. \" than utf8. +. if !'\*[.T]'utf8' \ +. tr \[oq]' +. +. \" Debian: Disable the use of SGR (ANSI colour) escape sequences by +. \" grotty. +. if '\V[GROFF_SGR]'' \ +. output x X tty: sgr 0 +. +. \" Debian: Strictly, "-" is a hyphen while "\-" is a minus sign, and the +. \" former may not always be rendered in the form expected for things like +. \" command-line options. Uncomment this if you want to make sure that +. \" manual pages you're writing are clear of this problem. +. \" if '\*[.T]'utf8' \ +. \" char - \[hy] +. +. \" Debian: "\-" is more commonly used for option dashes than for minus +. \" signs in manual pages, so map it to plain "-" for HTML/XHTML output +. \" rather than letting it be rendered as "−". +. ie '\*[.T]'html' \ +. char \- \N'45' +. el \{\ +. if '\*[.T]'xhtml' \ +. char \- \N'45' +. \} +.\} diff --git a/groff/mdoc.local b/groff/mdoc.local new file mode 100644 index 0000000..c29fac8 --- /dev/null +++ b/groff/mdoc.local @@ -0,0 +1,33 @@ +.\" -*- nroff -*- +.\" +.\" This file is loaded after doc.tmac. +.\" Put any local modifications to doc.tmac here. +. +.if n \{\ +. \" Debian: Map \(oq to ' rather than ` in nroff mode for devices other +. \" than utf8. +. if !'\*[.T]'utf8' \ +. tr \[oq]' +. +. \" Debian: Disable the use of SGR (ANSI colour) escape sequences by +. \" grotty. +. if '\V[GROFF_SGR]'' \ +. output x X tty: sgr 0 +. +. \" Debian: Strictly, "-" is a hyphen while "\-" is a minus sign, and the +. \" former may not always be rendered in the form expected for things like +. \" command-line options. Uncomment this if you want to make sure that +. \" manual pages you're writing are clear of this problem. +. \" if '\*[.T]'utf8' \ +. \" char - \[hy] +. +. \" Debian: "\-" is more commonly used for option dashes than for minus +. \" signs in manual pages, so map it to plain "-" for HTML/XHTML output +. \" rather than letting it be rendered as "−". +. ie '\*[.T]'html' \ +. char \- \N'45' +. el \{\ +. if '\*[.T]'xhtml' \ +. char \- \N'45' +. \} +.\} diff --git a/group b/group new file mode 100644 index 0000000..49c016c --- /dev/null +++ b/group @@ -0,0 +1,51 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +systemd-journal:x:101: +systemd-timesync:x:102: +systemd-network:x:103: +systemd-resolve:x:104: +input:x:105: +kvm:x:106: +render:x:107: +crontab:x:108: +netdev:x:109: +messagebus:x:110: +ssh:x:111: +systemd-coredump:x:999: diff --git a/group- b/group- new file mode 100644 index 0000000..41bcaaa --- /dev/null +++ b/group- @@ -0,0 +1,50 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +systemd-journal:x:101: +systemd-timesync:x:102: +systemd-network:x:103: +systemd-resolve:x:104: +input:x:105: +kvm:x:106: +render:x:107: +crontab:x:108: +netdev:x:109: +messagebus:x:110: +ssh:x:111: diff --git a/grub.d/00_header b/grub.d/00_header new file mode 100755 index 0000000..b9bacd4 --- /dev/null +++ b/grub.d/00_header @@ -0,0 +1,409 @@ +#! /bin/sh +set -e + +# grub-mkconfig helper script. +# Copyright (C) 2006,2007,2008,2009,2010 Free Software Foundation, Inc. +# +# GRUB is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# GRUB is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GRUB. If not, see . + +prefix="/usr" +exec_prefix="/usr" +datarootdir="/usr/share" +grub_lang=`echo $LANG | cut -d . -f 1` +grubdir="`echo "/boot/grub" | sed 's,//*,/,g'`" +quick_boot="0" + +export TEXTDOMAIN=grub +export TEXTDOMAINDIR="${datarootdir}/locale" + +. "$pkgdatadir/grub-mkconfig_lib" + +# Do this as early as possible, since other commands might depend on it. +# (e.g. the `loadfont' command might need lvm or raid modules) +for i in ${GRUB_PRELOAD_MODULES} ; do + echo "insmod $i" +done + +if [ "x${GRUB_DEFAULT}" = "x" ] ; then GRUB_DEFAULT=0 ; fi +if [ "x${GRUB_DEFAULT}" = "xsaved" ] ; then GRUB_DEFAULT='${saved_entry}' ; fi +if [ "x${GRUB_TIMEOUT}" = "x" ] ; then GRUB_TIMEOUT=5 ; fi +if [ "x${GRUB_GFXMODE}" = "x" ] ; then GRUB_GFXMODE=auto ; fi + +if [ "x${GRUB_DEFAULT_BUTTON}" = "x" ] ; then GRUB_DEFAULT_BUTTON="$GRUB_DEFAULT" ; fi +if [ "x${GRUB_DEFAULT_BUTTON}" = "xsaved" ] ; then GRUB_DEFAULT_BUTTON='${saved_entry}' ; fi +if [ "x${GRUB_TIMEOUT_BUTTON}" = "x" ] ; then GRUB_TIMEOUT_BUTTON="$GRUB_TIMEOUT" ; fi + +cat << EOF +if [ -s \$prefix/grubenv ]; then + set have_grubenv=true + load_env +fi +EOF +if [ "x$GRUB_BUTTON_CMOS_ADDRESS" != "x" ]; then + cat < /dev/null ; then + font_path="${path}" + else + continue + fi + break 2 + done + done + if [ -n "${font_path}" ] ; then + cat << EOF +if [ x\$feature_default_font_path = xy ] ; then + font=unicode +else +EOF + # Make the font accessible + prepare_grub_to_access_device `${grub_probe} --target=device "${font_path}"` + cat << EOF + font="`make_system_path_relative_to_its_root "${font_path}"`" +fi + +if loadfont \$font ; then +EOF + else + cat << EOF +if loadfont unicode ; then +EOF + fi + fi + + cat << EOF + set gfxmode=${GRUB_GFXMODE} + load_video + insmod gfxterm +EOF + +# Gettext variables and module +if [ "x${LANG}" != "xC" ] && [ "x${LANG}" != "x" ]; then + cat << EOF + set locale_dir=\$prefix/locale + set lang=${grub_lang} + insmod gettext +EOF +fi + +cat <&2 + + prepare_grub_to_access_device `${grub_probe} --target=device "$GRUB_THEME"` + cat << EOF +insmod gfxmenu +EOF + themedir="`dirname "$GRUB_THEME"`" + for x in "$themedir"/*.pf2 "$themedir"/f/*.pf2; do + if [ -f "$x" ]; then + cat << EOF +loadfont (\$root)`make_system_path_relative_to_its_root $x` +EOF + fi + done + if [ x"`echo "$themedir"/*.jpg`" != x"$themedir/*.jpg" ] || [ x"`echo "$themedir"/*.jpeg`" != x"$themedir/*.jpeg" ]; then + cat << EOF +insmod jpeg +EOF + fi + if [ x"`echo "$themedir"/*.png`" != x"$themedir/*.png" ]; then + cat << EOF +insmod png +EOF + fi + if [ x"`echo "$themedir"/*.tga`" != x"$themedir/*.tga" ]; then + cat << EOF +insmod tga +EOF + fi + + cat << EOF +set theme=(\$root)`make_system_path_relative_to_its_root $GRUB_THEME` +export theme +EOF + elif [ "x$GRUB_BACKGROUND" != x ] && [ -f "$GRUB_BACKGROUND" ] \ + && is_path_readable_by_grub "$GRUB_BACKGROUND"; then + gettext_printf "Found background: %s\n" "$GRUB_BACKGROUND" >&2 + case "$GRUB_BACKGROUND" in + *.png) reader=png ;; + *.tga) reader=tga ;; + *.jpg|*.jpeg) reader=jpeg ;; + *) gettext "Unsupported image format" >&2; echo >&2; exit 1 ;; + esac + prepare_grub_to_access_device `${grub_probe} --target=device "$GRUB_BACKGROUND"` + cat << EOF +insmod $reader +background_image -m stretch `make_system_path_relative_to_its_root "$GRUB_BACKGROUND"` +EOF + fi +fi + +make_timeout () +{ + cat << EOF +if [ "\${recordfail}" = 1 ] ; then + set timeout=${GRUB_RECORDFAIL_TIMEOUT:-30} +else +EOF + if [ "x${3}" != "x" ] ; then + timeout="${2}" + style="${3}" + elif [ "x${1}" != "x" ] && \ + ([ "$quick_boot" = 1 ] || [ "x${1}" != "x0" ]) ; then + # Handle the deprecated GRUB_HIDDEN_TIMEOUT scheme. + timeout="${1}" + if [ "x${2}" != "x0" ] ; then + grub_warn "$(gettext "Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.")" + fi + if [ "x${GRUB_HIDDEN_TIMEOUT_QUIET}" = "xtrue" ] ; then + style="hidden" + verbose= + else + style="countdown" + verbose=" --verbose" + fi + else + # No hidden timeout, so treat as GRUB_TIMEOUT_STYLE=menu + timeout="${2}" + style="menu" + fi + cat << EOF + if [ x\$feature_timeout_style = xy ] ; then + set timeout_style=${style} + set timeout=${timeout} +EOF + if [ "x${style}" = "xmenu" ] ; then + cat << EOF + # Fallback normal timeout code in case the timeout_style feature is + # unavailable. + else + set timeout=${timeout} +EOF + else + cat << EOF + # Fallback hidden-timeout code in case the timeout_style feature is + # unavailable. + elif sleep${verbose} --interruptible ${timeout} ; then + set timeout=0 +EOF + fi + cat << EOF + fi +fi +EOF +} + +if [ "x$GRUB_BUTTON_CMOS_ADDRESS" != "x" ]; then + cat < +# +# GRUB is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# GRUB is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GRUB. If not, see . + +# Include the GRUB helper library for grub-mkconfig. +. /usr/share/grub/grub-mkconfig_lib + +# We want to work in /boot/grub/ only. +test -d /boot/grub; cd /boot/grub + +# Set the location of a possibly necessary cache file for the background image. +# NOTE: This MUST BE A DOTFILE to avoid confusing it with user-defined images. +BACKGROUND_CACHE=".background_cache" + +set_default_theme(){ + case $GRUB_DISTRIBUTOR in + Tanglu|Ubuntu|Kubuntu) + # Set a monochromatic theme for Tanglu/Ubuntu. + echo "${1}set menu_color_normal=white/black" + echo "${1}set menu_color_highlight=black/light-gray" + + if [ -e /usr/share/plymouth/themes/default.grub ]; then + sed "s/^/${1}/" /usr/share/plymouth/themes/default.grub + fi + # For plymouth backward compatiblity. Can be removed + # after xenial. + if [ -e /lib/plymouth/themes/default.grub ]; then + sed "s/^/${1}/" /lib/plymouth/themes/default.grub + fi + ;; + *) + # Set the traditional Debian blue theme. + echo "${1}set menu_color_normal=cyan/blue" + echo "${1}set menu_color_highlight=white/blue" + ;; + esac +} + +module_available(){ + local module + for module in "${1}.mod" */"${1}.mod"; do + if [ -f "${module}" ]; then + return 0 + fi + done + return 1 +} + +set_background_image(){ + # Step #1: Search all available output modes ... + local output + for output in ${GRUB_TERMINAL_OUTPUT}; do + if [ "x$output" = "xgfxterm" ]; then + break + fi + done + + # ... and check if we are able to display a background image at all. + if ! [ "x${output}" = "xgfxterm" ]; then + return 1 + fi + + # Step #2: Check if the specified background image exists. + if ! [ -f "${1}" ]; then + return 2 + fi + + # Step #3: Search the correct GRUB module for our background image. + local reader + case "${1}" in + *.jpg|*.JPG|*.jpeg|*.JPEG) reader="jpeg";; + *.png|*.PNG) reader="png";; + *.tga|*.TGA) reader="tga";; + *) return 3;; # Unknown image type. + esac + + # Step #4: Check if the necessary GRUB module is available. + if ! module_available "${reader}"; then + return 4 + fi + + # Step #5: Check if GRUB can read the background image directly. + # If so, we can remove the cache file (if any). Otherwise the backgound + # image needs to be cached under /boot/grub/. + if is_path_readable_by_grub "${1}"; then + rm --force "${BACKGROUND_CACHE}.jpeg" \ + "${BACKGROUND_CACHE}.png" "${BACKGROUND_CACHE}.tga" + elif cp "${1}" "${BACKGROUND_CACHE}.${reader}"; then + set -- "${BACKGROUND_CACHE}.${reader}" "${2}" "${3}" + else + return 5 + fi + + # Step #6: Prepare GRUB to read the background image. + if ! prepare_grub_to_access_device "`${grub_probe} --target=device "${1}"`"; then + return 6 + fi + + # Step #7: Everything went fine, print out a message to stderr ... + echo "Found background image: ${1}" >&2 + + # ... and write our configuration snippet to stdout. Use the colors + # desktop-base specified. If we're using a user-defined background, use + # the default colors since we've got no idea how the image looks like. + # If loading the background image fails, use the default theme. + echo "insmod ${reader}" + echo "if background_image `make_system_path_relative_to_its_root "${1}"`; then" + if [ -n "${2}" ]; then + echo " set color_normal=${2}" + fi + if [ -n "${3}" ]; then + echo " set color_highlight=${3}" + fi + if [ -z "${2}" ] && [ -z "${3}" ]; then + echo " true" + fi + echo "else" + set_default_theme " " + echo "fi" +} + +# Earlier versions of grub-pc copied the default background image to /boot/grub +# during postinst. Remove those obsolete images if they haven't been touched by +# the user. They are still available under /usr/share/images/desktop-base/ if +# desktop-base is installed. +while read checksum background; do + if [ -f "${background}" ] && [ "x`sha1sum "${background}"`" = "x${checksum} ${background}" ]; then + echo "Removing old background image: ${background}" >&2 + rm "${background}" + fi +done <. + +prefix="/usr" +exec_prefix="/usr" +datarootdir="/usr/share" +ubuntu_recovery="0" +quiet_boot="0" +quick_boot="0" +gfxpayload_dynamic="0" +vt_handoff="0" + +. "$pkgdatadir/grub-mkconfig_lib" + +export TEXTDOMAIN=grub +export TEXTDOMAINDIR="${datarootdir}/locale" + +CLASS="--class gnu-linux --class gnu --class os" +SUPPORTED_INITS="sysvinit:/lib/sysvinit/init systemd:/lib/systemd/systemd upstart:/sbin/upstart" + +if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then + OS=GNU/Linux +else + case ${GRUB_DISTRIBUTOR} in + Ubuntu|Kubuntu) + OS="${GRUB_DISTRIBUTOR}" + ;; + *) + OS="${GRUB_DISTRIBUTOR} GNU/Linux" + ;; + esac + CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1|LC_ALL=C sed 's,[^[:alnum:]_],_,g') ${CLASS}" +fi + +# loop-AES arranges things so that /dev/loop/X can be our root device, but +# the initrds that Linux uses don't like that. +case ${GRUB_DEVICE} in + /dev/loop/*|/dev/loop[0-9]) + GRUB_DEVICE=`losetup ${GRUB_DEVICE} | sed -e "s/^[^(]*(\([^)]\+\)).*/\1/"` + # We can't cope with devices loop-mounted from files here. + case ${GRUB_DEVICE} in + /dev/*) ;; + *) exit 0 ;; + esac + ;; +esac + +# btrfs may reside on multiple devices. We cannot pass them as value of root= parameter +# and mounting btrfs requires user space scanning, so force UUID in this case. +if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ] \ + || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \ + || ( test -e "${GRUB_DEVICE}" && uses_abstraction "${GRUB_DEVICE}" lvm ); then + LINUX_ROOT_DEVICE=${GRUB_DEVICE} +else + LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID} +fi + +case x"$GRUB_FS" in + xbtrfs) + rootsubvol="`make_system_path_relative_to_its_root /`" + rootsubvol="${rootsubvol#/}" + if [ "x${rootsubvol}" != x ]; then + GRUB_CMDLINE_LINUX="rootflags=subvol=${rootsubvol} ${GRUB_CMDLINE_LINUX}" + fi;; + xzfs) + rpool=`${grub_probe} --device ${GRUB_DEVICE} --target=fs_label 2>/dev/null || true` + bootfs="`make_system_path_relative_to_its_root / | sed -e "s,@$,,"`" + LINUX_ROOT_DEVICE="ZFS=${rpool}${bootfs%/}" + ;; +esac + +title_correction_code= + +if [ -x /lib/recovery-mode/recovery-menu ]; then + GRUB_CMDLINE_LINUX_RECOVERY=recovery +else + GRUB_CMDLINE_LINUX_RECOVERY=single +fi +if [ "$ubuntu_recovery" = 1 ]; then + GRUB_CMDLINE_LINUX_RECOVERY="$GRUB_CMDLINE_LINUX_RECOVERY nomodeset" +fi + +if [ "$vt_handoff" = 1 ]; then + for word in $GRUB_CMDLINE_LINUX_DEFAULT; do + if [ "$word" = splash ]; then + GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT \$vt_handoff" + fi + done +fi + +linux_entry () +{ + os="$1" + version="$2" + type="$3" + args="$4" + + if [ -z "$boot_device_id" ]; then + boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")" + fi + if [ x$type != xsimple ] ; then + case $type in + recovery) + title="$(gettext_printf "%s, with Linux %s (%s)" "${os}" "${version}" "$(gettext "${GRUB_RECOVERY_TITLE}")")" ;; + init-*) + title="$(gettext_printf "%s, with Linux %s (%s)" "${os}" "${version}" "${type#init-}")" ;; + *) + title="$(gettext_printf "%s, with Linux %s" "${os}" "${version}")" ;; + esac + if [ x"$title" = x"$GRUB_ACTUAL_DEFAULT" ] || [ x"Previous Linux versions>$title" = x"$GRUB_ACTUAL_DEFAULT" ]; then + replacement_title="$(echo "Advanced options for ${OS}" | sed 's,>,>>,g')>$(echo "$title" | sed 's,>,>>,g')" + quoted="$(echo "$GRUB_ACTUAL_DEFAULT" | grub_quote)" + title_correction_code="${title_correction_code}if [ \"x\$default\" = '$quoted' ]; then default='$(echo "$replacement_title" | grub_quote)'; fi;" + grub_warn "$(gettext_printf "Please don't use old title \`%s' for GRUB_DEFAULT, use \`%s' (for versions before 2.00) or \`%s' (for 2.00 or later)" "$GRUB_ACTUAL_DEFAULT" "$replacement_title" "gnulinux-advanced-$boot_device_id>gnulinux-$version-$type-$boot_device_id")" + fi + echo "menuentry '$(echo "$title" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-$version-$type-$boot_device_id' {" | sed "s/^/$submenu_indentation/" + else + echo "menuentry '$(echo "$os" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-simple-$boot_device_id' {" | sed "s/^/$submenu_indentation/" + fi + if [ "$quick_boot" = 1 ]; then + echo " recordfail" | sed "s/^/$submenu_indentation/" + fi + if [ x$type != xrecovery ] ; then + save_default_entry | grub_add_tab + fi + + # Use ELILO's generic "efifb" when it's known to be available. + # FIXME: We need an interface to select vesafb in case efifb can't be used. + if [ "x$GRUB_GFXPAYLOAD_LINUX" = x ]; then + echo " load_video" | sed "s/^/$submenu_indentation/" + else + if [ "x$GRUB_GFXPAYLOAD_LINUX" != xtext ]; then + echo " load_video" | sed "s/^/$submenu_indentation/" + fi + fi + if ([ "$ubuntu_recovery" = 0 ] || [ x$type != xrecovery ]) && \ + ([ "x$GRUB_GFXPAYLOAD_LINUX" != x ] || [ "$gfxpayload_dynamic" = 1 ]); then + echo " gfxmode \$linux_gfx_mode" | sed "s/^/$submenu_indentation/" + fi + + echo " insmod gzio" | sed "s/^/$submenu_indentation/" + echo " if [ x\$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi" | sed "s/^/$submenu_indentation/" + + if [ x$dirname = x/ ]; then + if [ -z "${prepare_root_cache}" ]; then + prepare_root_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE} | grub_add_tab)" + fi + printf '%s\n' "${prepare_root_cache}" | sed "s/^/$submenu_indentation/" + else + if [ -z "${prepare_boot_cache}" ]; then + prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | grub_add_tab)" + fi + printf '%s\n' "${prepare_boot_cache}" | sed "s/^/$submenu_indentation/" + fi + if [ x"$quiet_boot" = x0 ] || [ x"$type" != xsimple ]; then + message="$(gettext_printf "Loading Linux %s ..." ${version})" + sed "s/^/$submenu_indentation/" << EOF + echo '$(echo "$message" | grub_quote)' +EOF + fi + if test -d /sys/firmware/efi && test -e "${linux}.efi.signed"; then + sed "s/^/$submenu_indentation/" << EOF + linux ${rel_dirname}/${basename}.efi.signed root=${linux_root_device_thisversion} ro ${args} +EOF + else + sed "s/^/$submenu_indentation/" << EOF + linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args} +EOF + fi + if test -n "${initrd}" ; then + # TRANSLATORS: ramdisk isn't identifier. Should be translated. + if [ x"$quiet_boot" = x0 ] || [ x"$type" != xsimple ]; then + message="$(gettext_printf "Loading initial ramdisk ...")" + sed "s/^/$submenu_indentation/" << EOF + echo '$(echo "$message" | grub_quote)' +EOF + fi + sed "s/^/$submenu_indentation/" << EOF + initrd ${rel_dirname}/${initrd} +EOF + fi + sed "s/^/$submenu_indentation/" << EOF +} +EOF +} + +machine=`uname -m` +case "x$machine" in + xi?86 | xx86_64) + list= + for i in /boot/vmlinuz-* /vmlinuz-* /boot/kernel-* ; do + if grub_file_is_not_garbage "$i" ; then list="$list $i" ; fi + done ;; + *) + list= + for i in /boot/vmlinuz-* /boot/vmlinux-* /vmlinuz-* /vmlinux-* /boot/kernel-* ; do + if grub_file_is_not_garbage "$i" ; then list="$list $i" ; fi + done ;; +esac + +case "$machine" in + i?86) GENKERNEL_ARCH="x86" ;; + mips|mips64) GENKERNEL_ARCH="mips" ;; + mipsel|mips64el) GENKERNEL_ARCH="mipsel" ;; + arm*) GENKERNEL_ARCH="arm" ;; + *) GENKERNEL_ARCH="$machine" ;; +esac + +prepare_boot_cache= +prepare_root_cache= +boot_device_id= +title_correction_code= + +cat << 'EOF' +function gfxmode { + set gfxpayload="${1}" +EOF +if [ "$vt_handoff" = 1 ]; then + cat << 'EOF' + if [ "${1}" = "keep" ]; then + set vt_handoff=vt.handoff=7 + else + set vt_handoff= + fi +EOF +fi +cat << EOF +} +EOF + +# Use ELILO's generic "efifb" when it's known to be available. +# FIXME: We need an interface to select vesafb in case efifb can't be used. +if [ "x$GRUB_GFXPAYLOAD_LINUX" != x ] || [ "$gfxpayload_dynamic" = 0 ]; then + echo "set linux_gfx_mode=$GRUB_GFXPAYLOAD_LINUX" +else + cat << EOF +if [ "\${recordfail}" != 1 ]; then + if [ -e \${prefix}/gfxblacklist.txt ]; then + if hwmatch \${prefix}/gfxblacklist.txt 3; then + if [ \${match} = 0 ]; then + set linux_gfx_mode=keep + else + set linux_gfx_mode=text + fi + else + set linux_gfx_mode=text + fi + else + set linux_gfx_mode=keep + fi +else + set linux_gfx_mode=text +fi +EOF +fi +cat << EOF +export linux_gfx_mode +EOF + +# Extra indentation to add to menu entries in a submenu. We're not in a submenu +# yet, so it's empty. In a submenu it will be equal to '\t' (one tab). +submenu_indentation="" + +is_top_level=true +while [ "x$list" != "x" ] ; do + linux=`version_find_latest $list` + case $linux in + *.efi.signed) + # We handle these in linux_entry. + list=`echo $list | tr ' ' '\n' | grep -vx $linux | tr '\n' ' '` + continue + ;; + esac + gettext_printf "Found linux image: %s\n" "$linux" >&2 + basename=`basename $linux` + dirname=`dirname $linux` + rel_dirname=`make_system_path_relative_to_its_root $dirname` + version=`echo $basename | sed -e "s,^[^0-9]*-,,g"` + alt_version=`echo $version | sed -e "s,\.old$,,g"` + linux_root_device_thisversion="${LINUX_ROOT_DEVICE}" + + initrd= + for i in "initrd.img-${version}" "initrd-${version}.img" "initrd-${version}.gz" \ + "initrd-${version}" "initramfs-${version}.img" \ + "initrd.img-${alt_version}" "initrd-${alt_version}.img" \ + "initrd-${alt_version}" "initramfs-${alt_version}.img" \ + "initramfs-genkernel-${version}" \ + "initramfs-genkernel-${alt_version}" \ + "initramfs-genkernel-${GENKERNEL_ARCH}-${version}" \ + "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}"; do + if test -e "${dirname}/${i}" ; then + initrd="$i" + break + fi + done + + config= + for i in "${dirname}/config-${version}" "${dirname}/config-${alt_version}" "/etc/kernels/kernel-config-${version}" ; do + if test -e "${i}" ; then + config="${i}" + break + fi + done + + initramfs= + if test -n "${config}" ; then + initramfs=`grep CONFIG_INITRAMFS_SOURCE= "${config}" | cut -f2 -d= | tr -d \"` + fi + + if test -n "${initrd}" ; then + gettext_printf "Found initrd image: %s\n" "${dirname}/${initrd}" >&2 + elif test -z "${initramfs}" ; then + # "UUID=" and "ZFS=" magic is parsed by initrd or initramfs. Since there's + # no initrd or builtin initramfs, it can't work here. + linux_root_device_thisversion=${GRUB_DEVICE} + fi + + if [ "x$is_top_level" = xtrue ] && [ "x${GRUB_DISABLE_SUBMENU}" != xy ]; then + linux_entry "${OS}" "${version}" simple \ + "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" + + submenu_indentation="$grub_tab" + + if [ -z "$boot_device_id" ]; then + boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")" + fi + # TRANSLATORS: %s is replaced with an OS name + echo "submenu '$(gettext_printf "Advanced options for %s" "${OS}" | grub_quote)' \$menuentry_id_option 'gnulinux-advanced-$boot_device_id' {" + is_top_level=false + fi + + linux_entry "${OS}" "${version}" advanced \ + "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" + for supported_init in ${SUPPORTED_INITS}; do + init_path="${supported_init#*:}" + if [ -x "${init_path}" ] && [ "$(readlink -f /sbin/init)" != "$(readlink -f "${init_path}")" ]; then + linux_entry "${OS}" "${version}" "init-${supported_init%%:*}" \ + "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT} init=${init_path}" + fi + done + if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then + linux_entry "${OS}" "${version}" recovery \ + "${GRUB_CMDLINE_LINUX_RECOVERY} ${GRUB_CMDLINE_LINUX}" + fi + + list=`echo $list | tr ' ' '\n' | fgrep -vx "$linux" | tr '\n' ' '` +done + +# If at least one kernel was found, then we need to +# add a closing '}' for the submenu command. +if [ x"$is_top_level" != xtrue ]; then + echo '}' +fi + +echo "$title_correction_code" diff --git a/grub.d/20_linux_xen b/grub.d/20_linux_xen new file mode 100755 index 0000000..fb3ed82 --- /dev/null +++ b/grub.d/20_linux_xen @@ -0,0 +1,299 @@ +#! /bin/sh +set -e + +# grub-mkconfig helper script. +# Copyright (C) 2006,2007,2008,2009,2010 Free Software Foundation, Inc. +# +# GRUB is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# GRUB is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GRUB. If not, see . + +prefix="/usr" +exec_prefix="/usr" +datarootdir="/usr/share" + +. "$pkgdatadir/grub-mkconfig_lib" + +export TEXTDOMAIN=grub +export TEXTDOMAINDIR="${datarootdir}/locale" + +CLASS="--class gnu-linux --class gnu --class os --class xen" +SUPPORTED_INITS="sysvinit:/lib/sysvinit/init systemd:/lib/systemd/systemd upstart:/sbin/upstart" + +if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then + OS=GNU/Linux +else + OS="${GRUB_DISTRIBUTOR} GNU/Linux" + CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1|LC_ALL=C sed 's,[^[:alnum:]_],_,g') ${CLASS}" +fi + +# loop-AES arranges things so that /dev/loop/X can be our root device, but +# the initrds that Linux uses don't like that. +case ${GRUB_DEVICE} in + /dev/loop/*|/dev/loop[0-9]) + GRUB_DEVICE=`losetup ${GRUB_DEVICE} | sed -e "s/^[^(]*(\([^)]\+\)).*/\1/"` + # We can't cope with devices loop-mounted from files here. + case ${GRUB_DEVICE} in + /dev/*) ;; + *) exit 0 ;; + esac + ;; +esac + +# btrfs may reside on multiple devices. We cannot pass them as value of root= parameter +# and mounting btrfs requires user space scanning, so force UUID in this case. +if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ] \ + || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \ + || ( test -e "${GRUB_DEVICE}" && uses_abstraction "${GRUB_DEVICE}" lvm ); then + LINUX_ROOT_DEVICE=${GRUB_DEVICE} +else + LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID} +fi + +# Allow overriding GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT. +if [ "${GRUB_CMDLINE_LINUX_XEN_REPLACE}" ]; then + GRUB_CMDLINE_LINUX="${GRUB_CMDLINE_LINUX_XEN_REPLACE}" +fi +if [ "${GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT}" ]; then + GRUB_CMDLINE_LINUX_DEFAULT="${GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT}" +fi + +case x"$GRUB_FS" in + xbtrfs) + rootsubvol="`make_system_path_relative_to_its_root /`" + rootsubvol="${rootsubvol#/}" + if [ "x${rootsubvol}" != x ]; then + GRUB_CMDLINE_LINUX="rootflags=subvol=${rootsubvol} ${GRUB_CMDLINE_LINUX}" + fi;; + xzfs) + rpool=`${grub_probe} --device ${GRUB_DEVICE} --target=fs_label 2>/dev/null || true` + bootfs="`make_system_path_relative_to_its_root / | sed -e "s,@$,,"`" + LINUX_ROOT_DEVICE="ZFS=${rpool}${bootfs%/}" + ;; +esac + +title_correction_code= + +linux_entry () +{ + os="$1" + version="$2" + xen_version="$3" + type="$4" + args="$5" + xen_args="$6" + if [ -z "$boot_device_id" ]; then + boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")" + fi + if [ x$type != xsimple ] ; then + if [ x$type = xrecovery ] ; then + title="$(gettext_printf "%s, with Xen %s and Linux %s (%s)" "${os}" "${xen_version}" "${version}" "$(gettext "${GRUB_RECOVERY_TITLE}")")" + elif [ "${type#init-}" != "$type" ] ; then + title="$(gettext_printf "%s, with Xen %s and Linux %s (%s)" "${os}" "${xen_version}" "${version}" "${type#init-}")" + else + title="$(gettext_printf "%s, with Xen %s and Linux %s" "${os}" "${xen_version}" "${version}")" + fi + replacement_title="$(echo "Advanced options for ${OS}" | sed 's,>,>>,g')>$(echo "$title" | sed 's,>,>>,g')" + if [ x"Xen ${xen_version}>$title" = x"$GRUB_ACTUAL_DEFAULT" ]; then + quoted="$(echo "$GRUB_ACTUAL_DEFAULT" | grub_quote)" + title_correction_code="${title_correction_code}if [ \"x\$default\" = '$quoted' ]; then default='$(echo "$replacement_title" | grub_quote)'; fi;" + grub_warn "$(gettext_printf "Please don't use old title \`%s' for GRUB_DEFAULT, use \`%s' (for versions before 2.00) or \`%s' (for 2.00 or later)" "$GRUB_ACTUAL_DEFAULT" "$replacement_title" "gnulinux-advanced-$boot_device_id>gnulinux-$version-$type-$boot_device_id")" + fi + echo "menuentry '$(echo "$title" | grub_quote)' ${CLASS} \$menuentry_id_option 'xen-gnulinux-$version-$type-$boot_device_id' {" | sed "s/^/$submenu_indentation/" + else + title="$(gettext_printf "%s, with Xen hypervisor" "${os}")" + echo "menuentry '$(echo "$title" | grub_quote)' ${CLASS} \$menuentry_id_option 'xen-gnulinux-simple-$boot_device_id' {" | sed "s/^/$submenu_indentation/" + fi + if [ x$type != xrecovery ] ; then + save_default_entry | grub_add_tab | sed "s/^/$submenu_indentation/" + fi + + if [ -z "${prepare_boot_cache}" ]; then + prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | grub_add_tab)" + fi + printf '%s\n' "${prepare_boot_cache}" | sed "s/^/$submenu_indentation/" + xmessage="$(gettext_printf "Loading Xen %s ..." ${xen_version})" + lmessage="$(gettext_printf "Loading Linux %s ..." ${version})" + sed "s/^/$submenu_indentation/" << EOF + echo '$(echo "$xmessage" | grub_quote)' + if [ "\$grub_platform" = "pc" -o "\$grub_platform" = "" ]; then + xen_rm_opts= + else + xen_rm_opts="no-real-mode edd=off" + fi + ${xen_loader} ${rel_xen_dirname}/${xen_basename} placeholder ${xen_args} \${xen_rm_opts} + echo '$(echo "$lmessage" | grub_quote)' + ${module_loader} ${rel_dirname}/${basename} placeholder root=${linux_root_device_thisversion} ro ${args} +EOF + if test -n "${initrd}" ; then + # TRANSLATORS: ramdisk isn't identifier. Should be translated. + message="$(gettext_printf "Loading initial ramdisk ...")" + sed "s/^/$submenu_indentation/" << EOF + echo '$(echo "$message" | grub_quote)' + ${module_loader} --nounzip ${rel_dirname}/${initrd} +EOF + fi + sed "s/^/$submenu_indentation/" << EOF +} +EOF +} + +linux_list= +for i in /boot/vmlinu[xz]-* /vmlinu[xz]-* /boot/kernel-*; do + if grub_file_is_not_garbage "$i"; then + basename=$(basename $i) + version=$(echo $basename | sed -e "s,^[^0-9]*-,,g") + dirname=$(dirname $i) + config= + for j in "${dirname}/config-${version}" "${dirname}/config-${alt_version}" "/etc/kernels/kernel-config-${version}" ; do + if test -e "${j}" ; then + config="${j}" + break + fi + done + if (grep -qx "CONFIG_XEN_DOM0=y" "${config}" 2> /dev/null || grep -qx "CONFIG_XEN_PRIVILEGED_GUEST=y" "${config}" 2> /dev/null); then linux_list="$linux_list $i" ; fi + fi +done +if [ "x${linux_list}" = "x" ] ; then + exit 0 +fi + +file_is_not_sym () { + case "$1" in + */xen-syms-*) + return 1;; + *) + return 0;; + esac +} + +xen_list= +for i in /boot/xen*; do + if grub_file_is_not_garbage "$i" && file_is_not_sym "$i" ; then xen_list="$xen_list $i" ; fi +done +prepare_boot_cache= +boot_device_id= + +title_correction_code= + +machine=`uname -m` + +case "$machine" in + i?86) GENKERNEL_ARCH="x86" ;; + mips|mips64) GENKERNEL_ARCH="mips" ;; + mipsel|mips64el) GENKERNEL_ARCH="mipsel" ;; + arm*) GENKERNEL_ARCH="arm" ;; + *) GENKERNEL_ARCH="$machine" ;; +esac + +# Extra indentation to add to menu entries in a submenu. We're not in a submenu +# yet, so it's empty. In a submenu it will be equal to '\t' (one tab). +submenu_indentation="" + +is_top_level=true + +while [ "x${xen_list}" != "x" ] ; do + list="${linux_list}" + current_xen=`version_find_latest $xen_list` + xen_basename=`basename ${current_xen}` + xen_dirname=`dirname ${current_xen}` + rel_xen_dirname=`make_system_path_relative_to_its_root $xen_dirname` + xen_version=`echo $xen_basename | sed -e "s,.gz$,,g;s,^xen-,,g"` + if [ -z "$boot_device_id" ]; then + boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")" + fi + if [ "x$is_top_level" != xtrue ]; then + echo " submenu '$(gettext_printf "Xen hypervisor, version %s" "${xen_version}" | grub_quote)' \$menuentry_id_option 'xen-hypervisor-$xen_version-$boot_device_id' {" + fi + if ($grub_file --is-x86-multiboot2 $current_xen); then + xen_loader="multiboot2" + module_loader="module2" + else + xen_loader="multiboot" + module_loader="module" + fi + while [ "x$list" != "x" ] ; do + linux=`version_find_latest $list` + gettext_printf "Found linux image: %s\n" "$linux" >&2 + basename=`basename $linux` + dirname=`dirname $linux` + rel_dirname=`make_system_path_relative_to_its_root $dirname` + version=`echo $basename | sed -e "s,^[^0-9]*-,,g"` + alt_version=`echo $version | sed -e "s,\.old$,,g"` + linux_root_device_thisversion="${LINUX_ROOT_DEVICE}" + + initrd= + for i in "initrd.img-${version}" "initrd-${version}.img" "initrd-${version}.gz" \ + "initrd-${version}" "initramfs-${version}.img" \ + "initrd.img-${alt_version}" "initrd-${alt_version}.img" \ + "initrd-${alt_version}" "initramfs-${alt_version}.img" \ + "initramfs-genkernel-${version}" \ + "initramfs-genkernel-${alt_version}" \ + "initramfs-genkernel-${GENKERNEL_ARCH}-${version}" \ + "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}" ; do + if test -e "${dirname}/${i}" ; then + initrd="$i" + break + fi + done + if test -n "${initrd}" ; then + gettext_printf "Found initrd image: %s\n" "${dirname}/${initrd}" >&2 + else + # "UUID=" magic is parsed by initrds. Since there's no initrd, it can't work here. + linux_root_device_thisversion=${GRUB_DEVICE} + fi + + if [ "x$is_top_level" = xtrue ] && [ "x${GRUB_DISABLE_SUBMENU}" != xy ]; then + linux_entry "${OS}" "${version}" "${xen_version}" simple \ + "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" "${GRUB_CMDLINE_XEN} ${GRUB_CMDLINE_XEN_DEFAULT}" + + submenu_indentation="$grub_tab$grub_tab" + + if [ -z "$boot_device_id" ]; then + boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")" + fi + # TRANSLATORS: %s is replaced with an OS name + echo "submenu '$(gettext_printf "Advanced options for %s (with Xen hypervisor)" "${OS}" | grub_quote)' \$menuentry_id_option 'gnulinux-advanced-$boot_device_id' {" + echo " submenu '$(gettext_printf "Xen hypervisor, version %s" "${xen_version}" | grub_quote)' \$menuentry_id_option 'xen-hypervisor-$xen_version-$boot_device_id' {" + is_top_level=false + fi + + linux_entry "${OS}" "${version}" "${xen_version}" advanced \ + "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" "${GRUB_CMDLINE_XEN} ${GRUB_CMDLINE_XEN_DEFAULT}" + for supported_init in ${SUPPORTED_INITS}; do + init_path="${supported_init#*:}" + if [ -x "${init_path}" ] && [ "$(readlink -f /sbin/init)" != "$(readlink -f "${init_path}")" ]; then + linux_entry "${OS}" "${version}" "${xen_version}" "init-${supported_init%%:*}" \ + "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT} init=${init_path}" "${GRUB_CMDLINE_XEN} ${GRUB_CMDLINE_XEN_DEFAULT}" + + fi + done + if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then + linux_entry "${OS}" "${version}" "${xen_version}" recovery \ + "single ${GRUB_CMDLINE_LINUX}" "${GRUB_CMDLINE_XEN}" + fi + + list=`echo $list | tr ' ' '\n' | fgrep -vx "$linux" | tr '\n' ' '` + done + if [ x"$is_top_level" != xtrue ]; then + echo ' }' + fi + xen_list=`echo $xen_list | tr ' ' '\n' | fgrep -vx "$current_xen" | tr '\n' ' '` +done + +# If at least one kernel was found, then we need to +# add a closing '}' for the submenu command. +if [ x"$is_top_level" != xtrue ]; then + echo '}' +fi + +echo "$title_correction_code" diff --git a/grub.d/30_os-prober b/grub.d/30_os-prober new file mode 100755 index 0000000..30d1140 --- /dev/null +++ b/grub.d/30_os-prober @@ -0,0 +1,376 @@ +#! /bin/sh +set -e + +# grub-mkconfig helper script. +# Copyright (C) 2006,2007,2008,2009 Free Software Foundation, Inc. +# +# GRUB is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# GRUB is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GRUB. If not, see . + +prefix="/usr" +exec_prefix="/usr" +datarootdir="/usr/share" +quick_boot="0" + +export TEXTDOMAIN=grub +export TEXTDOMAINDIR="${datarootdir}/locale" + +. "$pkgdatadir/grub-mkconfig_lib" + +found_other_os= + +adjust_timeout () { + if [ "$quick_boot" = 1 ] && [ "x${found_other_os}" != "x" ]; then + cat << EOF +set timeout_style=menu +if [ "\${timeout}" = 0 ]; then + set timeout=10 +fi +EOF + fi +} + +if [ "x${GRUB_DISABLE_OS_PROBER}" = "xtrue" ]; then + exit 0 +fi + +if [ -z "`which os-prober 2> /dev/null`" ] || [ -z "`which linux-boot-prober 2> /dev/null`" ] ; then + # missing os-prober and/or linux-boot-prober + exit 0 +fi + +OSPROBED="`os-prober | tr ' ' '^' | paste -s -d ' '`" +if [ -z "${OSPROBED}" ] ; then + # empty os-prober output, nothing doing + exit 0 +fi + +osx_entry() { + found_other_os=1 + if [ x$2 = x32 ]; then + # TRANSLATORS: it refers to kernel architecture (32-bit) + bitstr="$(gettext "(32-bit)")" + else + # TRANSLATORS: it refers to kernel architecture (64-bit) + bitstr="$(gettext "(64-bit)")" + fi + # TRANSLATORS: it refers on the OS residing on device %s + onstr="$(gettext_printf "(on %s)" "${DEVICE}")" + cat << EOF +menuentry '$(echo "${LONGNAME} $bitstr $onstr" | grub_quote)' --class osx --class darwin --class os \$menuentry_id_option 'osprober-xnu-$2-$(grub_get_device_id "${DEVICE}")' { +EOF + save_default_entry | grub_add_tab + prepare_grub_to_access_device ${DEVICE} | grub_add_tab + cat << EOF + load_video + set do_resume=0 + if [ /var/vm/sleepimage -nt10 / ]; then + if xnu_resume /var/vm/sleepimage; then + set do_resume=1 + fi + fi + if [ \$do_resume = 0 ]; then + xnu_uuid ${OSXUUID} uuid + if [ -f /Extra/DSDT.aml ]; then + acpi -e /Extra/DSDT.aml + fi + if [ /kernelcache -nt /System/Library/Extensions ]; then + $1 /kernelcache boot-uuid=\${uuid} rd=*uuid + elif [ -f /System/Library/Kernels/kernel ]; then + $1 /System/Library/Kernels/kernel boot-uuid=\${uuid} rd=*uuid + xnu_kextdir /System/Library/Extensions + else + $1 /mach_kernel boot-uuid=\${uuid} rd=*uuid + if [ /System/Library/Extensions.mkext -nt /System/Library/Extensions ]; then + xnu_mkext /System/Library/Extensions.mkext + else + xnu_kextdir /System/Library/Extensions + fi + fi + if [ -f /Extra/Extensions.mkext ]; then + xnu_mkext /Extra/Extensions.mkext + fi + if [ -d /Extra/Extensions ]; then + xnu_kextdir /Extra/Extensions + fi + if [ -f /Extra/devprop.bin ]; then + xnu_devprop_load /Extra/devprop.bin + fi + if [ -f /Extra/splash.jpg ]; then + insmod jpeg + xnu_splash /Extra/splash.jpg + fi + if [ -f /Extra/splash.png ]; then + insmod png + xnu_splash /Extra/splash.png + fi + if [ -f /Extra/splash.tga ]; then + insmod tga + xnu_splash /Extra/splash.tga + fi + fi +} +EOF +} + +used_osprober_linux_ids= + +wubi= + +for OS in ${OSPROBED} ; do + DEVICE="`echo ${OS} | cut -d ':' -f 1`" + LONGNAME="`echo ${OS} | cut -d ':' -f 2 | tr '^' ' '`" + LABEL="`echo ${OS} | cut -d ':' -f 3 | tr '^' ' '`" + BOOT="`echo ${OS} | cut -d ':' -f 4`" + if UUID="`${grub_probe} --target=fs_uuid --device ${DEVICE%@*}`"; then + EXPUUID="$UUID" + + if [ x"${DEVICE#*@}" != x ] ; then + EXPUUID="${EXPUUID}@${DEVICE#*@}" + fi + + if [ "x${GRUB_OS_PROBER_SKIP_LIST}" != "x" ] && [ "x`echo ${GRUB_OS_PROBER_SKIP_LIST} | grep -i -e '\b'${EXPUUID}'\b'`" != "x" ] ; then + echo "Skipped ${LONGNAME} on ${DEVICE} by user request." >&2 + continue + fi + fi + + BTRFS="`echo ${OS} | cut -d ':' -f 5`" + if [ "x$BTRFS" = "xbtrfs" ]; then + BTRFSuuid="`echo ${OS} | cut -d ':' -f 6`" + BTRFSsubvol="`echo ${OS} | cut -d ':' -f 7`" + fi + + if [ -z "${LONGNAME}" ] ; then + LONGNAME="${LABEL}" + fi + + # os-prober returns text string followed by optional counter + CLASS="--class $(echo "${LABEL}" | LC_ALL=C sed 's,[[:digit:]]*$,,' | cut -d' ' -f1 | tr 'A-Z' 'a-z' | LC_ALL=C sed 's,[^[:alnum:]_],_,g')" + + gettext_printf "Found %s on %s\n" "${LONGNAME}" "${DEVICE}" >&2 + + case ${BOOT} in + chain) + + case ${LONGNAME} in + Windows*) + if [ -z "$wubi" ]; then + if [ -x /usr/share/lupin-support/grub-mkimage ] && \ + /usr/share/lupin-support/grub-mkimage --test; then + wubi=yes + else + wubi=no + fi + fi + if [ "$wubi" = yes ]; then + echo "Skipping ${LONGNAME} on Wubi system" >&2 + continue + fi + ;; + esac + + found_other_os=1 + onstr="$(gettext_printf "(on %s)" "${DEVICE}")" + cat << EOF +menuentry '$(echo "${LONGNAME} $onstr" | grub_quote)' $CLASS --class os \$menuentry_id_option 'osprober-chain-$(grub_get_device_id "${DEVICE}")' { +EOF + save_default_entry | grub_add_tab + prepare_grub_to_access_device ${DEVICE} | grub_add_tab + + if [ x"`${grub_probe} --device ${DEVICE} --target=partmap`" = xmsdos ]; then + cat << EOF + parttool \${root} hidden- +EOF + fi + + case ${LONGNAME} in + Windows\ Vista*|Windows\ 7*|Windows\ Server\ 2008*) + ;; + *) + cat << EOF + drivemap -s (hd0) \${root} +EOF + ;; + esac + + cat < /dev/null; do + counter=$((counter+1)); + done + if [ -z "$boot_device_id" ]; then + boot_device_id="$(grub_get_device_id "${DEVICE}")" + fi + used_osprober_linux_ids="$used_osprober_linux_ids 'osprober-gnulinux-$LKERNEL-${recovery_params}-$counter-$boot_device_id'" + + if [ "x$is_top_level" = xtrue ] && [ "x${GRUB_DISABLE_SUBMENU}" != xy ]; then + cat << EOF +menuentry '$(echo "$OS $onstr" | grub_quote)' $CLASS --class gnu-linux --class gnu --class os \$menuentry_id_option 'osprober-gnulinux-simple-$boot_device_id' { +EOF + save_default_entry | grub_add_tab + printf '%s\n' "${prepare_boot_cache}" + cat << EOF + linux ${LKERNEL} ${LPARAMS} +EOF + if [ -n "${LINITRD}" ] ; then + cat << EOF + initrd ${LINITRD} +EOF + fi + cat << EOF +} +EOF + echo "submenu '$(gettext_printf "Advanced options for %s" "${OS} $onstr" | grub_quote)' \$menuentry_id_option 'osprober-gnulinux-advanced-$boot_device_id' {" + is_top_level=false + fi + title="${LLABEL} $onstr" + cat << EOF + menuentry '$(echo "$title" | grub_quote)' --class gnu-linux --class gnu --class os \$menuentry_id_option 'osprober-gnulinux-$LKERNEL-${recovery_params}-$boot_device_id' { +EOF + save_default_entry | sed -e "s/^/$grub_tab$grub_tab/" + printf '%s\n' "${prepare_boot_cache}" | grub_add_tab + cat << EOF + linux ${LKERNEL} ${LPARAMS} +EOF + if [ -n "${LINITRD}" ] ; then + cat << EOF + initrd ${LINITRD} +EOF + fi + cat << EOF + } +EOF + if [ x"$title" = x"$GRUB_ACTUAL_DEFAULT" ] || [ x"Previous Linux versions>$title" = x"$GRUB_ACTUAL_DEFAULT" ]; then + replacement_title="$(echo "Advanced options for ${OS} $onstr" | sed 's,>,>>,g')>$(echo "$title" | sed 's,>,>>,g')" + quoted="$(echo "$GRUB_ACTUAL_DEFAULT" | grub_quote)" + title_correction_code="${title_correction_code}if [ \"x\$default\" = '$quoted' ]; then default='$(echo "$replacement_title" | grub_quote)'; fi;" + grub_warn "$(gettext_printf "Please don't use old title \`%s' for GRUB_DEFAULT, use \`%s' (for versions before 2.00) or \`%s' (for 2.00 or later)" "$GRUB_ACTUAL_DEFAULT" "$replacement_title" "gnulinux-advanced-$boot_device_id>gnulinux-$version-$type-$boot_device_id")" + fi + done + if [ x"$is_top_level" != xtrue ]; then + echo '}' + fi + echo "$title_correction_code" + ;; + macosx) + if [ "${UUID}" ]; then + OSXUUID="${UUID}" + osx_entry xnu_kernel 32 + osx_entry xnu_kernel64 64 + fi + ;; + hurd) + found_other_os=1 + onstr="$(gettext_printf "(on %s)" "${DEVICE}")" + cat << EOF +menuentry '$(echo "${LONGNAME} $onstr" | grub_quote)' --class hurd --class gnu --class os \$menuentry_id_option 'osprober-gnuhurd-/boot/gnumach.gz-false-$(grub_get_device_id "${DEVICE}")' { +EOF + save_default_entry | grub_add_tab + prepare_grub_to_access_device ${DEVICE} | grub_add_tab + grub_device="`${grub_probe} --device ${DEVICE} --target=drive`" + mach_device="`echo "${grub_device}" | sed -e 's/(\(hd.*\),msdos\(.*\))/\1s\2/'`" + grub_fs="`${grub_probe} --device ${DEVICE} --target=fs`" + case "${grub_fs}" in + *fs) hurd_fs="${grub_fs}" ;; + *) hurd_fs="${grub_fs}fs" ;; + esac + cat << EOF + multiboot /boot/gnumach.gz root=device:${mach_device} + module /hurd/${hurd_fs}.static ${hurd_fs} --readonly \\ + --multiboot-command-line='\${kernel-command-line}' \\ + --host-priv-port='\${host-port}' \\ + --device-master-port='\${device-port}' \\ + --exec-server-task='\${exec-task}' -T typed '\${root}' \\ + '\$(task-create)' '\$(task-resume)' + module /lib/ld.so.1 exec /hurd/exec '\$(exec-task=task-create)' +} +EOF + ;; + minix) + cat << EOF +menuentry "${LONGNAME} (on ${DEVICE}, Multiboot)" { +EOF + save_default_entry | sed -e "s/^/\t/" + prepare_grub_to_access_device ${DEVICE} | sed -e "s/^/\t/" + cat << EOF + multiboot /boot/image_latest +} +EOF + ;; + *) + # TRANSLATORS: %s is replaced by OS name. + gettext_printf "%s is not yet supported by grub-mkconfig.\n" " ${LONGNAME}" >&2 + ;; + esac +done + +adjust_timeout diff --git a/grub.d/30_uefi-firmware b/grub.d/30_uefi-firmware new file mode 100755 index 0000000..0a4ee10 --- /dev/null +++ b/grub.d/30_uefi-firmware @@ -0,0 +1,46 @@ +#! /bin/sh +set -e + +# grub-mkconfig helper script. +# Copyright (C) 2012 Free Software Foundation, Inc. +# +# GRUB is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# GRUB is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GRUB. If not, see . + +prefix="/usr" +exec_prefix="/usr" +datarootdir="/usr/share" + +export TEXTDOMAIN=grub +export TEXTDOMAINDIR="${datarootdir}/locale" + +. "${datarootdir}/grub/grub-mkconfig_lib" + +efi_vars_dir=/sys/firmware/efi/vars +EFI_GLOBAL_VARIABLE=8be4df61-93ca-11d2-aa0d-00e098032b8c +OsIndications="$efi_vars_dir/OsIndicationsSupported-$EFI_GLOBAL_VARIABLE/data" + +if [ -e "$OsIndications" ] && \ + [ "$(( $(printf 0x%x \'"$(cat $OsIndications | cut -b1)") & 1 ))" = 1 ]; then + LABEL="System setup" + + gettext_printf "Adding boot menu entry for EFI firmware configuration\n" >&2 + + onstr="$(gettext_printf "(on %s)" "${DEVICE}")" + + cat << EOF +menuentry '$LABEL' \$menuentry_id_option 'uefi-firmware' { + fwsetup +} +EOF +fi diff --git a/grub.d/40_custom b/grub.d/40_custom new file mode 100755 index 0000000..48068de --- /dev/null +++ b/grub.d/40_custom @@ -0,0 +1,5 @@ +#!/bin/sh +exec tail -n +3 $0 +# This file provides an easy way to add custom menu entries. Simply type the +# menu entries you want to add after this comment. Be careful not to change +# the 'exec tail' line above. diff --git a/grub.d/41_custom b/grub.d/41_custom new file mode 100755 index 0000000..fcc21a9 --- /dev/null +++ b/grub.d/41_custom @@ -0,0 +1,9 @@ +#!/bin/sh +cat </dev/null + log_end_msg $? +} + +set +e + +case "$1" in + start) + load_modules || true + log_daemon_msg "Starting ACPI services" "acpid" + start-stop-daemon --start --quiet --oknodo --exec "$ACPID" -- $OPTIONS + log_end_msg $? + ;; + stop) + log_daemon_msg "Stopping ACPI services" "acpid" + start-stop-daemon --stop --quiet --oknodo --retry 2 --exec "$ACPID" + log_end_msg $? + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + reload|force-reload) + log_daemon_msg "Reloading ACPI services" "acpid" + start-stop-daemon --stop --signal 1 --exec "$ACPID" + log_end_msg $? + ;; + status) + status_of_proc "$ACPID" acpid + ;; + *) + log_success_msg "Usage: /etc/init.d/acpid {start|stop|restart|reload|force-reload|status}" + exit 1 +esac + diff --git a/init.d/atd b/init.d/atd new file mode 100755 index 0000000..2e825fc --- /dev/null +++ b/init.d/atd @@ -0,0 +1,48 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: atd +# Required-Start: $syslog $time $remote_fs +# Required-Stop: $syslog $time $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Deferred execution scheduler +# Description: Debian init script for the atd deferred executions +# scheduler +### END INIT INFO +# +# Author: Ryan Murray +# + +PATH=/bin:/usr/bin:/sbin:/usr/sbin +DAEMON=/usr/sbin/atd +PIDFILE=/var/run/atd.pid + +test -x $DAEMON || exit 0 + +. /lib/lsb/init-functions + +case "$1" in + start) + log_daemon_msg "Starting deferred execution scheduler" "atd" + start_daemon -p $PIDFILE $DAEMON + log_end_msg $? + ;; + stop) + log_daemon_msg "Stopping deferred execution scheduler" "atd" + killproc -p $PIDFILE $DAEMON + log_end_msg $? + ;; + force-reload|restart) + $0 stop + $0 start + ;; + status) + status_of_proc -p $PIDFILE $DAEMON atd && exit 0 || exit $? + ;; + *) + echo "Usage: /etc/init.d/atd {start|stop|restart|force-reload|status}" + exit 1 + ;; +esac + +exit 0 diff --git a/init.d/cloud-config b/init.d/cloud-config new file mode 100755 index 0000000..5e4289f --- /dev/null +++ b/init.d/cloud-config @@ -0,0 +1,64 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: cloud-config +# Required-Start: $local_fs $remote_fs cloud-init cloud-init-local +# Required-Stop: $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Cloud init modules --mode config +# Description: Cloud configuration initialization +### END INIT INFO + +# Authors: Julien Danjou +# Juerg Haefliger +# Thomas Goirand + +PATH=/sbin:/usr/sbin:/bin:/usr/bin +DESC="Cloud service" +NAME=cloud-init +DAEMON=/usr/bin/$NAME +DAEMON_ARGS="modules --mode config" +SCRIPTNAME=/etc/init.d/$NAME + +# Exit if the package is not installed +[ -x "$DAEMON" ] || exit 0 + +# Read configuration variable file if it is present +[ -r /etc/default/$NAME ] && . /etc/default/$NAME + +# Define LSB log_* functions. +# Depend on lsb-base (>= 3.2-14) to ensure that this file is present +# and status_of_proc is working. +. /lib/lsb/init-functions + +if init_is_upstart; then + case "$1" in + stop) + exit 0 + ;; + *) + exit 1 + ;; + esac +fi + +case "$1" in +start) + log_daemon_msg "Starting $DESC" "$NAME" + $DAEMON ${DAEMON_ARGS} + case "$?" in + 0|1) log_end_msg 0 ;; + 2) log_end_msg 1 ;; + esac +;; +stop|restart|force-reload) + echo "Error: argument '$1' not supported" >&2 + exit 3 +;; +*) + echo "Usage: $SCRIPTNAME {start}" >&2 + exit 3 +;; +esac + +: diff --git a/init.d/cloud-final b/init.d/cloud-final new file mode 100755 index 0000000..3c98063 --- /dev/null +++ b/init.d/cloud-final @@ -0,0 +1,66 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: cloud-final +# Required-Start: $all cloud-config +# Required-Stop: $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Cloud init modules final jobs +# Description: This runs the cloud configuration initialization "final" jobs +# and can be seen as the traditional "rc.local" time for the cloud. +# It runs after all cloud-config jobs are run +### END INIT INFO + +# Authors: Julien Danjou +# Juerg Haefliger +# Thomas Goirand + +PATH=/sbin:/usr/sbin:/bin:/usr/bin +DESC="Cloud service" +NAME=cloud-init +DAEMON=/usr/bin/$NAME +DAEMON_ARGS="modules --mode final" +SCRIPTNAME=/etc/init.d/$NAME + +# Exit if the package is not installed +[ -x "$DAEMON" ] || exit 0 + +# Read configuration variable file if it is present +[ -r /etc/default/$NAME ] && . /etc/default/$NAME + +# Define LSB log_* functions. +# Depend on lsb-base (>= 3.2-14) to ensure that this file is present +# and status_of_proc is working. +. /lib/lsb/init-functions + +if init_is_upstart; then + case "$1" in + stop) + exit 0 + ;; + *) + exit 1 + ;; + esac +fi + +case "$1" in +start) + log_daemon_msg "Starting $DESC" "$NAME" + $DAEMON ${DAEMON_ARGS} + case "$?" in + 0|1) log_end_msg 0 ;; + 2) log_end_msg 1 ;; + esac +;; +stop|restart|force-reload) + echo "Error: argument '$1' not supported" >&2 + exit 3 +;; +*) + echo "Usage: $SCRIPTNAME {start}" >&2 + exit 3 +;; +esac + +: diff --git a/init.d/cloud-init b/init.d/cloud-init new file mode 100755 index 0000000..48fa042 --- /dev/null +++ b/init.d/cloud-init @@ -0,0 +1,64 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: cloud-init +# Required-Start: $local_fs $remote_fs $syslog $network cloud-init-local +# Required-Stop: $remote_fs +# X-Start-Before: sshd +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Cloud init +# Description: Cloud configuration initialization +### END INIT INFO + +# Authors: Julien Danjou +# Thomas Goirand + +PATH=/sbin:/usr/sbin:/bin:/usr/bin +DESC="Cloud service" +NAME=cloud-init +DAEMON=/usr/bin/$NAME +DAEMON_ARGS="init" +SCRIPTNAME=/etc/init.d/$NAME + +# Exit if the package is not installed +[ -x "$DAEMON" ] || exit 0 + +# Read configuration variable file if it is present +[ -r /etc/default/$NAME ] && . /etc/default/$NAME + +# Define LSB log_* functions. +# Depend on lsb-base (>= 3.2-14) to ensure that this file is present +# and status_of_proc is working. +. /lib/lsb/init-functions + +if init_is_upstart; then + case "$1" in + stop) + exit 0 + ;; + *) + exit 1 + ;; + esac +fi + +case "$1" in + start) + log_daemon_msg "Starting $DESC" "$NAME" + $DAEMON ${DAEMON_ARGS} + case "$?" in + 0|1) log_end_msg 0 ;; + 2) log_end_msg 1 ;; + esac + ;; + stop|restart|force-reload) + echo "Error: argument '$1' not supported" >&2 + exit 3 + ;; + *) + echo "Usage: $SCRIPTNAME {start}" >&2 + exit 3 + ;; +esac + +: diff --git a/init.d/cloud-init-local b/init.d/cloud-init-local new file mode 100755 index 0000000..e419297 --- /dev/null +++ b/init.d/cloud-init-local @@ -0,0 +1,63 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: cloud-init-local +# Required-Start: $local_fs $remote_fs +# Required-Stop: $local_fs $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Cloud init local +# Description: Cloud configuration initialization +### END INIT INFO + +# Authors: Julien Danjou +# Juerg Haefliger + +PATH=/sbin:/usr/sbin:/bin:/usr/bin +DESC="Cloud service" +NAME=cloud-init +DAEMON=/usr/bin/$NAME +DAEMON_ARGS="init --local" +SCRIPTNAME=/etc/init.d/$NAME + +# Exit if the package is not installed +[ -x "$DAEMON" ] || exit 0 + +# Read configuration variable file if it is present +[ -r /etc/default/$NAME ] && . /etc/default/$NAME + +# Define LSB log_* functions. +# Depend on lsb-base (>= 3.2-14) to ensure that this file is present +# and status_of_proc is working. +. /lib/lsb/init-functions + +if init_is_upstart; then + case "$1" in + stop) + exit 0 + ;; + *) + exit 1 + ;; + esac +fi + +case "$1" in +start) + log_daemon_msg "Starting $DESC" "$NAME" + $DAEMON ${DAEMON_ARGS} + case "$?" in + 0|1) log_end_msg 0 ;; + 2) log_end_msg 1 ;; + esac +;; +stop|restart|force-reload) + echo "Error: argument '$1' not supported" >&2 + exit 3 +;; +*) + echo "Usage: $SCRIPTNAME {start}" >&2 + exit 3 +;; +esac + +: diff --git a/init.d/console-setup.sh b/init.d/console-setup.sh new file mode 100755 index 0000000..292d831 --- /dev/null +++ b/init.d/console-setup.sh @@ -0,0 +1,46 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: console-setup.sh +# Required-Start: $remote_fs +# Required-Stop: +# Should-Start: console-screen kbd +# Default-Start: 2 3 4 5 +# Default-Stop: +# X-Interactive: true +# Short-Description: Set console font and keymap +### END INIT INFO + +if [ -f /bin/setupcon ]; then + case "$1" in + stop|status) + # console-setup isn't a daemon + ;; + start|force-reload|restart|reload) + if [ -f /lib/lsb/init-functions ]; then + . /lib/lsb/init-functions + else + log_action_begin_msg () { + echo -n "$@... " + } + + log_action_end_msg () { + if [ "$1" -eq 0 ]; then + echo done. + else + echo failed. + fi + } + fi + log_action_begin_msg "Setting up console font and keymap" + if /lib/console-setup/console-setup.sh; then + log_action_end_msg 0 + else + log_action_end_msg $? + fi + ;; + *) + echo 'Usage: /etc/init.d/console-setup {start|reload|restart|force-reload|stop|status}' + exit 3 + ;; + esac +fi diff --git a/init.d/cron b/init.d/cron new file mode 100755 index 0000000..c90dc1e --- /dev/null +++ b/init.d/cron @@ -0,0 +1,92 @@ +#!/bin/sh +# Start/stop the cron daemon. +# +### BEGIN INIT INFO +# Provides: cron +# Required-Start: $remote_fs $syslog $time +# Required-Stop: $remote_fs $syslog $time +# Should-Start: $network $named slapd autofs ypbind nscd nslcd winbind sssd +# Should-Stop: $network $named slapd autofs ypbind nscd nslcd winbind sssd +# Default-Start: 2 3 4 5 +# Default-Stop: +# Short-Description: Regular background program processing daemon +# Description: cron is a standard UNIX program that runs user-specified +# programs at periodic scheduled times. vixie cron adds a +# number of features to the basic UNIX cron, including better +# security and more powerful configuration options. +### END INIT INFO + +PATH=/bin:/usr/bin:/sbin:/usr/sbin +DESC="cron daemon" +NAME=cron +DAEMON=/usr/sbin/cron +PIDFILE=/var/run/crond.pid +SCRIPTNAME=/etc/init.d/"$NAME" + +test -f $DAEMON || exit 0 + +. /lib/lsb/init-functions + +[ -r /etc/default/cron ] && . /etc/default/cron + +# Read the system's locale and set cron's locale. This is only used for +# setting the charset of mails generated by cron. To provide locale +# information to tasks running under cron, see /etc/pam.d/cron. +# +# We read /etc/environment, but warn about locale information in +# there because it should be in /etc/default/locale. +parse_environment () +{ + for ENV_FILE in /etc/environment /etc/default/locale; do + [ -r "$ENV_FILE" ] || continue + [ -s "$ENV_FILE" ] || continue + + for var in LANG LANGUAGE LC_ALL LC_CTYPE; do + value=`egrep "^${var}=" "$ENV_FILE" | tail -n1 | cut -d= -f2` + [ -n "$value" ] && eval export $var=$value + + if [ -n "$value" ] && [ "$ENV_FILE" = /etc/environment ]; then + log_warning_msg "/etc/environment has been deprecated for locale information; use /etc/default/locale for $var=$value instead" + fi + done + done + +# Get the timezone set. + if [ -z "$TZ" -a -e /etc/timezone ]; then + TZ=`cat /etc/timezone` + fi +} + +# Parse the system's environment +if [ "$READ_ENV" = "yes" ] ; then + parse_environment +fi + + +case "$1" in +start) log_daemon_msg "Starting periodic command scheduler" "cron" + start_daemon -p $PIDFILE $DAEMON $EXTRA_OPTS + log_end_msg $? + ;; +stop) log_daemon_msg "Stopping periodic command scheduler" "cron" + killproc -p $PIDFILE $DAEMON + RETVAL=$? + [ $RETVAL -eq 0 ] && [ -e "$PIDFILE" ] && rm -f $PIDFILE + log_end_msg $RETVAL + ;; +restart) log_daemon_msg "Restarting periodic command scheduler" "cron" + $0 stop + $0 start + ;; +reload|force-reload) log_daemon_msg "Reloading configuration files for periodic command scheduler" "cron" + # cron reloads automatically + log_end_msg 0 + ;; +status) + status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $? + ;; +*) log_action_msg "Usage: /etc/init.d/cron {start|stop|status|restart|reload|force-reload}" + exit 2 + ;; +esac +exit 0 diff --git a/init.d/cryptdisks b/init.d/cryptdisks new file mode 100755 index 0000000..0cd4a83 --- /dev/null +++ b/init.d/cryptdisks @@ -0,0 +1,53 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: cryptdisks +# Required-Start: checkroot cryptdisks-early +# Required-Stop: umountroot cryptdisks-early +# Should-Start: udev mdadm-raid lvm2 +# Should-Stop: udev mdadm-raid lvm2 +# X-Start-Before: checkfs +# X-Stop-After: umountfs +# X-Interactive: true +# Default-Start: S +# Default-Stop: 0 6 +# Short-Description: Setup remaining encrypted block devices. +# Description: +### END INIT INFO + +set -e + +if [ -r /lib/cryptsetup/cryptdisks-functions ]; then + . /lib/cryptsetup/cryptdisks-functions +else + exit 0 +fi + +INITSTATE="remaining" +DEFAULT_LOUD="yes" + +case "$CRYPTDISKS_ENABLE" in +[Nn]*) + exit 0 + ;; +esac + +case "$1" in +start) + do_start + ;; +stop) + do_stop + ;; +restart|reload|force-reload) + do_stop + do_start + ;; +force-start) + FORCE_START="yes" + do_start + ;; +*) + echo "Usage: cryptdisks {start|stop|restart|reload|force-reload|force-start}" + exit 1 + ;; +esac diff --git a/init.d/cryptdisks-early b/init.d/cryptdisks-early new file mode 100755 index 0000000..6498431 --- /dev/null +++ b/init.d/cryptdisks-early @@ -0,0 +1,53 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: cryptdisks-early +# Required-Start: checkroot +# Required-Stop: umountroot +# Should-Start: udev mdadm-raid +# Should-Stop: udev mdadm-raid +# X-Start-Before: lvm2 +# X-Stop-After: lvm2 umountfs +# X-Interactive: true +# Default-Start: S +# Default-Stop: 0 6 +# Short-Description: Setup early encrypted block devices. +# Description: +### END INIT INFO + +set -e + +if [ -r /lib/cryptsetup/cryptdisks-functions ]; then + . /lib/cryptsetup/cryptdisks-functions +else + exit 0 +fi + +INITSTATE="early" +DEFAULT_LOUD="" + +case "$CRYPTDISKS_ENABLE" in +[Nn]*) + exit 0 + ;; +esac + +case "$1" in +start) + do_start + ;; +stop) + do_stop + ;; +restart|reload|force-reload) + do_stop + do_start + ;; +force-start) + FORCE_START="yes" + do_start + ;; +*) + echo "Usage: cryptdisks-early {start|stop|restart|reload|force-reload|force-start}" + exit 1 + ;; +esac diff --git a/init.d/dbus b/init.d/dbus new file mode 100755 index 0000000..4f41293 --- /dev/null +++ b/init.d/dbus @@ -0,0 +1,122 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: dbus +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: +# Short-Description: D-Bus systemwide message bus +# Description: D-Bus is a simple interprocess messaging system, used +# for sending messages between applications. +### END INIT INFO +# -*- coding: utf-8 -*- +# Debian init.d script for D-BUS +# Copyright © 2003 Colin Walters +# Copyright © 2005 Sjoerd Simons + +set -e + +DAEMON=/usr/bin/dbus-daemon +UUIDGEN=/usr/bin/dbus-uuidgen +UUIDGEN_OPTS=--ensure +NAME=dbus +DAEMONUSER=messagebus +PIDDIR=/var/run/dbus +PIDFILE=$PIDDIR/pid +DESC="system message bus" + +test -x $DAEMON || exit 0 + +. /lib/lsb/init-functions + +# Source defaults file; edit that file to configure this script. +PARAMS="" +if [ -e /etc/default/dbus ]; then + . /etc/default/dbus +fi + +create_machineid() { + # Create machine-id file + if [ -x $UUIDGEN ]; then + $UUIDGEN $UUIDGEN_OPTS + fi +} + +start_it_up() +{ + if [ ! -d $PIDDIR ]; then + mkdir -p $PIDDIR + chown $DAEMONUSER $PIDDIR + chgrp $DAEMONUSER $PIDDIR + fi + + if ! mountpoint -q /proc/ ; then + log_failure_msg "Can't start $DESC - /proc is not mounted" + return + fi + + if [ -e $PIDFILE ]; then + if $0 status > /dev/null ; then + log_success_msg "$DESC already started; not starting." + return + else + log_success_msg "Removing stale PID file $PIDFILE." + rm -f $PIDFILE + fi + fi + + create_machineid + + log_daemon_msg "Starting $DESC" "$NAME" + start-stop-daemon --start --quiet --pidfile $PIDFILE \ + --exec $DAEMON -- --system $PARAMS + log_end_msg $? +} + +shut_it_down() +{ + log_daemon_msg "Stopping $DESC" "$NAME" + start-stop-daemon --stop --retry 5 --quiet --oknodo --pidfile $PIDFILE \ + --user $DAEMONUSER + # We no longer include these arguments so that start-stop-daemon + # can do its job even given that we may have been upgraded. + # We rely on the pidfile being sanely managed + # --exec $DAEMON -- --system $PARAMS + log_end_msg $? + rm -f $PIDFILE +} + +reload_it() +{ + create_machineid + log_action_begin_msg "Reloading $DESC config" + dbus-send --print-reply --system --type=method_call \ + --dest=org.freedesktop.DBus \ + / org.freedesktop.DBus.ReloadConfig > /dev/null + # hopefully this is enough time for dbus to reload it's config file. + log_action_end_msg $? +} + +case "$1" in + start) + start_it_up + ;; + stop) + shut_it_down + ;; + reload|force-reload) + reload_it + ;; + restart) + shut_it_down + start_it_up + ;; + status) + status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $? + ;; + *) + echo "Usage: /etc/init.d/$NAME {start|stop|reload|restart|force-reload|status}" >&2 + exit 2 + ;; +esac + diff --git a/init.d/hwclock.sh b/init.d/hwclock.sh new file mode 100755 index 0000000..208ca2d --- /dev/null +++ b/init.d/hwclock.sh @@ -0,0 +1,120 @@ +#!/bin/sh +# hwclock.sh Set and adjust the CMOS clock. +# +# Version: @(#)hwclock.sh 2.00 14-Dec-1998 miquels@cistron.nl +# +# Patches: +# 2000-01-30 Henrique M. Holschuh +# - Minor cosmetic changes in an attempt to help new +# users notice something IS changing their clocks +# during startup/shutdown. +# - Added comments to alert users of hwclock issues +# and discourage tampering without proper doc reading. +# 2012-02-16 Roger Leigh +# - Use the UTC/LOCAL setting in /etc/adjtime rather than +# the UTC setting in /etc/default/rcS. Additionally +# source /etc/default/hwclock to permit configuration. + +### BEGIN INIT INFO +# Provides: hwclock +# Required-Start: mountdevsubfs +# Required-Stop: mountdevsubfs +# Should-Stop: umountfs +# Default-Start: S +# X-Start-Before: checkroot +# Default-Stop: 0 6 +# Short-Description: Sync hardware and system clock time. +### END INIT INFO + +# These defaults are user-overridable in /etc/default/hwclock +BADYEAR=no +HWCLOCKACCESS=yes +HWCLOCKPARS= +HCTOSYS_DEVICE=rtc0 + +# We only want to use the system timezone or else we'll get +# potential inconsistency at startup. +unset TZ + +hwclocksh() +{ + [ ! -x /sbin/hwclock ] && return 0 + [ ! -r /etc/default/rcS ] || . /etc/default/rcS + [ ! -r /etc/default/hwclock ] || . /etc/default/hwclock + + . /lib/lsb/init-functions + verbose_log_action_msg() { [ "$VERBOSE" = no ] || log_action_msg "$@"; } + + case "$BADYEAR" in + no|"") BADYEAR="" ;; + yes) BADYEAR="--badyear" ;; + *) log_action_msg "unknown BADYEAR setting: \"$BADYEAR\""; return 1 ;; + esac + + case "$1" in + start) + # If the admin deleted the hwclock config, create a blank + # template with the defaults. + if [ -w /etc ] && [ ! -f /etc/adjtime ] && [ ! -e /etc/adjtime ]; then + printf "0.0 0 0.0\n0\nUTC\n" > /etc/adjtime + fi + + if [ -d /run/udev ] || [ -d /dev/.udev ]; then + return 0 + fi + + if [ "$HWCLOCKACCESS" != no ]; then + log_action_msg "Setting the system clock" + + # Just for reporting. + if sed '3!d' /etc/adjtime | grep -q '^UTC$'; then + UTC="--utc" + else + UTC= + fi + # Copies Hardware Clock time to System Clock using the correct + # timezone for hardware clocks in local time, and sets kernel + # timezone. DO NOT REMOVE. + if /sbin/hwclock --rtc=/dev/$HCTOSYS_DEVICE --hctosys $HWCLOCKPARS $BADYEAR; then + # Announce the local time. + verbose_log_action_msg "System Clock set to: `date $UTC`" + else + log_warning_msg "Unable to set System Clock to: `date $UTC`" + fi + else + verbose_log_action_msg "Not setting System Clock" + fi + ;; + stop|restart|reload|force-reload) + # + # Updates the Hardware Clock with the System Clock time. + # This will *override* any changes made to the Hardware Clock. + # + # WARNING: If you disable this, any changes to the system + # clock will not be carried across reboots. + # + + if [ "$HWCLOCKACCESS" != no ]; then + log_action_msg "Saving the system clock" + if /sbin/hwclock --rtc=/dev/$HCTOSYS_DEVICE --systohc $HWCLOCKPARS $BADYEAR; then + verbose_log_action_msg "Hardware Clock updated to `date`" + fi + else + verbose_log_action_msg "Not saving System Clock" + fi + ;; + show) + if [ "$HWCLOCKACCESS" != no ]; then + /sbin/hwclock --rtc=/dev/$HCTOSYS_DEVICE --show $HWCLOCKPARS $BADYEAR + fi + ;; + *) + log_success_msg "Usage: hwclock.sh {start|stop|reload|force-reload|show}" + log_success_msg " start sets kernel (system) clock from hardware (RTC) clock" + log_success_msg " stop and reload set hardware (RTC) clock from kernel (system) clock" + return 1 + ;; + esac +} + +hwclocksh "$@" diff --git a/init.d/keyboard-setup.sh b/init.d/keyboard-setup.sh new file mode 100755 index 0000000..f1ab5ba --- /dev/null +++ b/init.d/keyboard-setup.sh @@ -0,0 +1,50 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: keyboard-setup.sh +# Required-Start: mountkernfs +# Required-Stop: +# X-Start-Before: checkroot +# Default-Start: S +# Default-Stop: +# X-Interactive: true +# Short-Description: Set the console keyboard layout +# Description: Set the console keyboard as early as possible +# so during the file systems checks the administrator +# can interact. At this stage of the boot process +# only the ASCII symbols are supported. +### END INIT INFO + +if [ -f /bin/setupcon ]; then + case "$1" in + stop|status) + # console-setup isn't a daemon + ;; + start|force-reload|restart|reload) + if [ -f /lib/lsb/init-functions ]; then + . /lib/lsb/init-functions + else + log_action_begin_msg () { + echo -n "$@... " + } + + log_action_end_msg () { + if [ "$1" -eq 0 ]; then + echo done. + else + echo failed. + fi + } + fi + log_action_begin_msg "Setting up keyboard layout" + if /lib/console-setup/keyboard-setup.sh; then + log_action_end_msg 0 + else + log_action_end_msg $? + fi + ;; + *) + echo 'Usage: /etc/init.d/keyboard-setup {start|reload|restart|force-reload|stop|status}' + exit 3 + ;; + esac +fi diff --git a/init.d/kmod b/init.d/kmod new file mode 100755 index 0000000..d7ec083 --- /dev/null +++ b/init.d/kmod @@ -0,0 +1,92 @@ +#!/bin/sh -e +### BEGIN INIT INFO +# Provides: kmod +# Required-Start: +# Required-Stop: +# Should-Start: checkroot +# Should-Stop: +# Default-Start: S +# Default-Stop: +# Short-Description: Load the modules listed in /etc/modules. +# Description: Load the modules listed in /etc/modules. +### END INIT INFO + +# Silently exit if the kernel does not support modules. +[ -f /proc/modules ] || exit 0 +[ -x /sbin/modprobe ] || exit 0 + +[ -f /etc/default/rcS ] && . /etc/default/rcS +. /lib/lsb/init-functions + +PATH='/sbin:/bin' + +case "$1" in + start) + ;; + + stop|restart|reload|force-reload) + log_warning_msg "Action '$1' is meaningless for this init script" + exit 0 + ;; + + *) + log_success_msg "Usage: $0 start" + exit 1 +esac + +load_module() { + local module args + module="$1" + args="$2" + + if [ "$VERBOSE" != no ]; then + log_action_msg "Loading kernel module $module" + modprobe $module $args || true + else + modprobe $module $args > /dev/null 2>&1 || true + fi +} + +modules_files() { + local modules_load_dirs='/etc/modules-load.d /run/modules-load.d /usr/local/lib/modules-load.d /usr/lib/modules-load.d /lib/modules-load.d' + local processed=' ' + local add_etc_modules=true + + for dir in $modules_load_dirs; do + [ -d $dir ] || continue + for file in $(run-parts --list --regex='\.conf$' $dir 2> /dev/null || true); do + local base=${file##*/} + if echo -n "$processed" | grep -qF " $base "; then + continue + fi + if [ "$add_etc_modules" -a -L $file \ + -a "$(readlink -f $file)" = /etc/modules ]; then + add_etc_modules= + fi + processed="$processed$base " + echo $file + done + done + + if [ "$add_etc_modules" ]; then + echo /etc/modules + fi +} + +if [ "$VERBOSE" = no ]; then + log_action_begin_msg 'Loading kernel modules' +fi + +files=$(modules_files) +if [ "$files" ] ; then + grep -h '^[^#]' $files | + while read module args; do + [ "$module" ] || continue + load_module "$module" "$args" + done +fi + +if [ "$VERBOSE" = no ]; then + log_action_end_msg 0 +fi + diff --git a/init.d/lvm2 b/init.d/lvm2 new file mode 100755 index 0000000..33a4a3c --- /dev/null +++ b/init.d/lvm2 @@ -0,0 +1,33 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: lvm2 lvm +# Required-Start: mountdevsubfs +# Required-Stop: +# Should-Start: udev mdadm-raid cryptdisks-early multipath-tools-boot +# Should-Stop: umountroot mdadm-raid +# X-Start-Before: checkfs mountall +# X-Stop-After: umountfs +# Default-Start: S +# Default-Stop: +### END INIT INFO + +SCRIPTNAME=/etc/init.d/lvm2 + +. /lib/lsb/init-functions + +[ -x /sbin/vgchange ] || exit 0 + +case "$1" in + start) + log_action_begin_msg "Setting up LVM Volume Groups" + /sbin/lvm vgchange -aay --sysinit >/dev/null + log_action_end_msg "$?" + ;; + stop|restart|force-reload|status) + ;; + *) + echo "Usage: $SCRIPTNAME start" >&2 + exit 3 + ;; +esac + diff --git a/init.d/lvm2-lvmpolld b/init.d/lvm2-lvmpolld new file mode 100755 index 0000000..0954cee --- /dev/null +++ b/init.d/lvm2-lvmpolld @@ -0,0 +1,22 @@ +#!/bin/sh +# kFreeBSD do not accept scripts as interpreters, using #!/bin/sh and sourcing. +if [ true != "$INIT_D_SCRIPT_SOURCED" ] ; then + set "$0" "$@"; INIT_D_SCRIPT_SOURCED=true . /lib/init/init-d-script +fi +### BEGIN INIT INFO +# Provides: lvm2-lvmpolld +# Required-Start: $local_fs +# Required-Stop: $local_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: LVM2 poll daemon +### END INIT INFO + +DESC="LVM2 poll daemon" +DAEMON=/sbin/lvmpolld +DAEMON_ARGS="-t 60" +PIDFILE=/run/lvmpolld.pid + +do_start_prepare() { + mkdir -m 0700 -p /run/lvm +} diff --git a/init.d/mdadm b/init.d/mdadm new file mode 100755 index 0000000..0a9004f --- /dev/null +++ b/init.d/mdadm @@ -0,0 +1,100 @@ +#!/bin/sh +# +# Start the MD monitor daemon for all active MD arrays if desired. +# This script is not used under systemd. +# +# Copyright © 2001-2005 Mario Jou/3en +# Copyright © 2005-2009 Martin F. Krafft +# Distributable under the terms of the GNU GPL version 2. +# +### BEGIN INIT INFO +# Provides: mdadm +# Required-Start: $local_fs $syslog +# Required-Stop: $local_fs $syslog sendsigs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: MD monitoring daemon +# Description: mdadm provides a monitor mode, in which it will scan for +# problems with the MD devices. If a problem is found, the +# administrator is alerted via email, or a custom script is +# run. +### END INIT INFO +# +set -eu + +MDADM=/sbin/mdadm +MDMON=/sbin/mdmon +RUNDIR=/run/mdadm +PIDFILE=$RUNDIR/monitor.pid +DEBIANCONFIG=/etc/default/mdadm + +test -x "$MDADM" || exit 0 + +test -f /proc/mdstat || exit 0 + +START_DAEMON=true +test -f $DEBIANCONFIG && . $DEBIANCONFIG + +. /lib/lsb/init-functions + +is_true() +{ + case "${1:-}" in + [Yy]es|[Yy]|1|[Tt]|[Tt]rue) return 0;; + *) return 1; + esac +} + +case "${1:-}" in + start) + if [ -x /usr/bin/systemd-detect-virt ] && /usr/bin/systemd-detect-virt --quiet --container; then + log_daemon_msg "Not starting MD monitoring service in container" + log_end_msg 0 + exit 0 + fi + + if is_true $START_DAEMON; then + log_daemon_msg "Starting MD monitoring service" "mdadm --monitor" + mkdir -p $RUNDIR + set +e + start-stop-daemon -S -p $PIDFILE -x $MDADM -- \ + --monitor --pid-file $PIDFILE --daemonise --scan ${DAEMON_OPTIONS:-} + log_end_msg $? + set -e + fi + if [ "$(echo $RUNDIR/md[0-9]*.pid)" != "$RUNDIR/md[0-9]*.pid" ]; then + log_daemon_msg "Restarting MD external metadata monitor" "mdmon --takeover --all" + set +e + $MDMON --takeover --all + log_end_msg $? + set -e + fi + ;; + stop) + if [ -f $PIDFILE ] ; then + log_daemon_msg "Stopping MD monitoring service" "mdadm --monitor" + set +e + start-stop-daemon -K -p $PIDFILE -x $MDADM + rm -f $PIDFILE + log_end_msg $? + set -e + fi + for file in $RUNDIR/md[0-9]*.pid ; do + [ ! -f "$file" ] && continue + ln -sf $file /run/sendsigs.omit.d/mdmon-${file##*/} + done + ;; + status) + status_of_proc -p $PIDFILE "$MDADM" "mdadm" && exit 0 || exit $? + ;; + restart|reload|force-reload) + ${0:-} stop + ${0:-} start + ;; + *) + echo "Usage: ${0:-} {start|stop|status|restart|reload|force-reload}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/init.d/mdadm-waitidle b/init.d/mdadm-waitidle new file mode 100755 index 0000000..920272c --- /dev/null +++ b/init.d/mdadm-waitidle @@ -0,0 +1,56 @@ +#!/bin/sh +# This script is not used when systemd is running +### BEGIN INIT INFO +# Provides: mdadm-waitidle +# Required-Start: +# Required-Stop: +# Should-Stop: halt reboot kexec +# X-Stop-After: umountroot +# Default-Start: +# Default-Stop: 0 6 +# Short-Description: Wait for MD arrays to become idle +# Description: Waits until all MD arrays are in idle and synced state +# before halt/reboot. +### END INIT INFO +# +set -eu + +MDADM=/sbin/mdadm +test -x "$MDADM" || exit 0 +test -f /proc/mdstat || exit 0 + +. /lib/lsb/init-functions + +case "${1:-}" in + + start|restart|force-reload) + # nothing, the only reason the script is here is to stop arrays + ;; + + stop) + sync + wait= + for md in /sys/block/md*/md ; do + [ -d "$md" ] || continue + [ "$wait" ] || log_action_begin_msg "Waiting for MD arrays to become idle" + wait=y + [ -w $md/sync_action ] && echo idle > $md/sync_action + done + if [ "$wait" ]; then + # mdadm --wait-clean has a short internal timeout + if $MDADM --wait-clean --scan; then + log_action_end_msg 0 + else + log_action_end_msg 1 + sleep 1 + fi + fi + ;; + + *) + echo "Usage: ${0:-} stop" >&2 + exit 1;; + +esac + +exit 0 diff --git a/init.d/networking b/init.d/networking new file mode 100755 index 0000000..b538051 --- /dev/null +++ b/init.d/networking @@ -0,0 +1,195 @@ +#!/bin/sh -e +### BEGIN INIT INFO +# Provides: networking ifupdown +# Required-Start: mountkernfs $local_fs urandom +# Required-Stop: $local_fs +# Default-Start: S +# Default-Stop: 0 6 +# Short-Description: Raise network interfaces. +# Description: Prepare /run/network directory, ifstate file and raise network interfaces, or take them down. +### END INIT INFO + +PATH="/sbin:/bin" +RUN_DIR="/run/network" +IFSTATE="$RUN_DIR/ifstate" +STATEDIR="$RUN_DIR/state" + +[ -x /sbin/ifup ] || exit 0 +[ -x /sbin/ifdown ] || exit 0 + +. /lib/lsb/init-functions + +CONFIGURE_INTERFACES=yes +EXCLUDE_INTERFACES= +VERBOSE=no + +[ -f /etc/default/networking ] && . /etc/default/networking + +verbose="" +[ "$VERBOSE" = yes ] && verbose=-v + +process_exclusions() { + set -- $EXCLUDE_INTERFACES + exclusions="" + for d + do + exclusions="-X $d $exclusions" + done + echo $exclusions +} + +process_options() { + [ -e /etc/network/options ] || return 0 + log_warning_msg "/etc/network/options still exists and it will be IGNORED! Please use /etc/sysctl.conf instead." +} + +check_ifstate() { + if [ ! -d "$RUN_DIR" ] ; then + if ! mkdir -p "$RUN_DIR" ; then + log_failure_msg "can't create $RUN_DIR" + exit 1 + fi + if ! chown root:netdev "$RUN_DIR" ; then + log_warning_msg "can't chown $RUN_DIR" + fi + fi + if [ ! -r "$IFSTATE" ] ; then + if ! :> "$IFSTATE" ; then + log_failure_msg "can't initialise $IFSTATE" + exit 1 + fi + fi +} + +check_network_file_systems() { + [ -e /proc/mounts ] || return 0 + + if [ -e /etc/iscsi/iscsi.initramfs ]; then + log_warning_msg "not deconfiguring network interfaces: iSCSI root is mounted." + exit 0 + fi + + while read DEV MTPT FSTYPE REST; do + case $DEV in + /dev/nbd*|/dev/nd[a-z]*|/dev/etherd/e*|curlftpfs*) + log_warning_msg "not deconfiguring network interfaces: network devices still mounted." + exit 0 + ;; + esac + case $FSTYPE in + nfs|nfs4|smbfs|ncp|ncpfs|cifs|coda|ocfs2|gfs|pvfs|pvfs2|fuse.httpfs|fuse.curlftpfs) + log_warning_msg "not deconfiguring network interfaces: network file systems still mounted." + exit 0 + ;; + esac + done < /proc/mounts +} + +check_network_swap() { + [ -e /proc/swaps ] || return 0 + + while read DEV MTPT FSTYPE REST; do + case $DEV in + /dev/nbd*|/dev/nd[a-z]*|/dev/etherd/e*) + log_warning_msg "not deconfiguring network interfaces: network swap still mounted." + exit 0 + ;; + esac + done < /proc/swaps +} + +ifup_hotplug () { + if [ -d /sys/class/net ] + then + ifaces=$(for iface in $(ifquery --list --allow=hotplug) + do + link=${iface##:*} + link=${link##.*} + if [ -e "/sys/class/net/$link" ] + then + echo "$iface" + fi + done) + if [ -n "$ifaces" ] + then + ifup $ifaces "$@" || true + fi + fi +} + +case "$1" in +start) + process_options + check_ifstate + + if [ "$CONFIGURE_INTERFACES" = no ] + then + log_action_msg "Not configuring network interfaces, see /etc/default/networking" + exit 0 + fi + set -f + exclusions=$(process_exclusions) + log_action_begin_msg "Configuring network interfaces" + if [ -x /bin/udevadm ]; then + if [ -n "$(ifquery --list --exclude=lo)" ] || [ -n "$(ifquery --list --allow=hotplug)" ]; then + /bin/udevadm settle || true + fi + fi + if ifup -a $exclusions $verbose && ifup_hotplug $exclusions $verbose + then + log_action_end_msg $? + else + log_action_end_msg $? + fi + ;; + +stop) + check_network_file_systems + check_network_swap + + log_action_begin_msg "Deconfiguring network interfaces" + if ifdown -a --exclude=lo $verbose; then + log_action_end_msg $? + else + log_action_end_msg $? + fi + ;; + +reload) + process_options + + log_action_begin_msg "Reloading network interfaces configuration" + state=$(ifquery --state) + ifdown -a --exclude=lo $verbose || true + if ifup --exclude=lo $state $verbose ; then + log_action_end_msg $? + else + log_action_end_msg $? + fi + ;; + +force-reload|restart) + process_options + + log_warning_msg "Running $0 $1 is deprecated because it may not re-enable some interfaces" + log_action_begin_msg "Reconfiguring network interfaces" + ifdown -a --exclude=lo $verbose || true + set -f + exclusions=$(process_exclusions) + if ifup -a --exclude=lo $exclusions $verbose && ifup_hotplug $exclusions $verbose + then + log_action_end_msg $? + else + log_action_end_msg $? + fi + ;; + +*) + echo "Usage: /etc/init.d/networking {start|stop|reload|restart|force-reload}" + exit 1 + ;; +esac + +exit 0 + +# vim: noet ts=8 diff --git a/init.d/procps b/init.d/procps new file mode 100755 index 0000000..4d7f4ce --- /dev/null +++ b/init.d/procps @@ -0,0 +1,34 @@ +#! /bin/sh +# kFreeBSD do not accept scripts as interpreters, using #!/bin/sh and sourcing. +if [ true != "$INIT_D_SCRIPT_SOURCED" ] ; then + set "$0" "$@"; INIT_D_SCRIPT_SOURCED=true . /lib/init/init-d-script +fi +### BEGIN INIT INFO +# Provides: procps +# Required-Start: mountkernfs $local_fs +# Required-Stop: +# Should-Start: udev module-init-tools +# X-Start-Before: $network +# Default-Start: S +# Default-Stop: +# Short-Description: Configure kernel parameters at boottime +# Description: Loads kernel parameters that are specified in /etc/sysctl.conf +### END INIT INFO +# +# written by Elrond + +DESC="Setting kernel variables" +DAEMON=/sbin/sysctl +PIDFILE=none + +# Comment this out for sysctl to print every item changed +QUIET_SYSCTL="-q" + +do_start_cmd() { + STATUS=0 + $DAEMON $QUIET_SYSCTL --system || STATUS=$? + return $STATUS +} + +do_stop() { return 0; } +do_status() { return 0; } diff --git a/init.d/qemu-guest-agent b/init.d/qemu-guest-agent new file mode 100755 index 0000000..e142478 --- /dev/null +++ b/init.d/qemu-guest-agent @@ -0,0 +1,131 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: qemu-guest-agent +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: QEMU Guest Agent startup script +# Description: Start the QEMU Guest Agent if we're running +# in a QEMU virtual machine +### END INIT INFO + +# Author: Michael Tokarev + +PATH=/sbin:/usr/sbin:/bin:/usr/bin +DESC="QEMU Guest Agent" +NAME=qemu-ga +DAEMON=/usr/sbin/$NAME +PIDFILE=/var/run/$NAME.pid + +# config +DAEMON_ARGS="" +# default transport +TRANSPORT=virtio-serial:/dev/virtio-ports/org.qemu.guest_agent.0 + +# Exit if the package is not installed +[ -x "$DAEMON" ] || exit 0 + +# Read configuration variable file if it is present +[ -r /etc/default/qemu-guest-agent ] && . /etc/default/qemu-guest-agent + +# Load the VERBOSE setting and other rcS variables +. /lib/init/vars.sh + +# Define LSB log_* functions. +# Depend on lsb-base (>= 3.2-14) to ensure that this file is present +# and status_of_proc is working. +. /lib/lsb/init-functions + +# +# Function that checks whenever system has necessary environment +# It also splits $TRANSPORT into $method and $path +# +do_check_transport() { + method=${TRANSPORT%%:*}; path=${TRANSPORT#*:} + case "$method" in + virtio-serial | isa-serial) + if [ ! -e "$path" ]; then + log_warning_msg "$NAME: transport endpoint not found, not starting" + return 1 + fi + ;; + esac +} + +# +# Function that starts the daemon/service +# +do_start() +{ + # Return + # 0 if daemon has been started + # 1 if daemon was already running + # 2 if daemon could not be started + start-stop-daemon -Sq -p $PIDFILE -x $DAEMON --test > /dev/null \ + || return 1 + start-stop-daemon -Sq -p $PIDFILE -x $DAEMON -- --daemonize \ + $DAEMON_ARGS -m "$method" -p "$path" \ + || return 2 +} + +# +# Function that stops the daemon/service +# +do_stop() +{ + # Return + # 0 if daemon has been stopped + # 1 if daemon was already stopped + # 2 if daemon could not be stopped + # other if a failure occurred + start-stop-daemon -Kq --retry=TERM/30/KILL/5 -p $PIDFILE --name $NAME +} + +case "$1" in + start) + do_check_transport || exit 0 + [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" $NAME + do_start + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; + stop) + [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" $NAME + do_stop + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; + status) + status_of_proc "$DAEMON" $NAME && exit 0 || exit $? + ;; + restart|force-reload) # we do not support reload + do_check_transport || exit 0 + log_daemon_msg "Restarting $DESC" $NAME + do_stop + case "$?" in + 0|1) + do_start + case "$?" in + 0) log_end_msg 0 ;; + 1) log_end_msg 1 ;; # Old process is still running + *) log_end_msg 1 ;; # Failed to start + esac + ;; + *) + # Failed to stop + log_end_msg 1 + ;; + esac + ;; + *) + echo "Usage: /etc/init.d/qemu-guest-agent {start|stop|status|restart|force-reload}" >&2 + exit 3 + ;; +esac + +: diff --git a/init.d/rsync b/init.d/rsync new file mode 100755 index 0000000..3cb0447 --- /dev/null +++ b/init.d/rsync @@ -0,0 +1,156 @@ +#! /bin/sh + +### BEGIN INIT INFO +# Provides: rsyncd +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Should-Start: $named autofs +# Default-Start: 2 3 4 5 +# Default-Stop: +# Short-Description: fast remote file copy program daemon +# Description: rsync is a program that allows files to be copied to and +# from remote machines in much the same way as rcp. +# This provides rsyncd daemon functionality. +### END INIT INFO + +set -e + +# /etc/init.d/rsync: start and stop the rsync daemon + +DAEMON=/usr/bin/rsync +RSYNC_ENABLE=false +RSYNC_OPTS='' +RSYNC_DEFAULTS_FILE=/etc/default/rsync +RSYNC_CONFIG_FILE=/etc/rsyncd.conf +RSYNC_PID_FILE=/var/run/rsync.pid +RSYNC_NICE_PARM='' +RSYNC_IONICE_PARM='' + +test -x $DAEMON || exit 0 + +. /lib/lsb/init-functions + +if [ -s $RSYNC_DEFAULTS_FILE ]; then + . $RSYNC_DEFAULTS_FILE + case "x$RSYNC_ENABLE" in + xtrue|xfalse) ;; + xinetd) exit 0 + ;; + *) log_failure_msg "Value of RSYNC_ENABLE in $RSYNC_DEFAULTS_FILE must be either 'true' or 'false';" + log_failure_msg "not starting rsync daemon." + exit 1 + ;; + esac + case "x$RSYNC_NICE" in + x[0-9]|x1[0-9]) RSYNC_NICE_PARM="--nicelevel $RSYNC_NICE";; + x) ;; + *) log_warning_msg "Value of RSYNC_NICE in $RSYNC_DEFAULTS_FILE must be a value between 0 and 19 (inclusive);" + log_warning_msg "ignoring RSYNC_NICE now." + ;; + esac + case "x$RSYNC_IONICE" in + x-c[123]*) RSYNC_IONICE_PARM="$RSYNC_IONICE";; + x) ;; + *) log_warning_msg "Value of RSYNC_IONICE in $RSYNC_DEFAULTS_FILE must be -c1, -c2 or -c3;" + log_warning_msg "ignoring RSYNC_IONICE now." + ;; + esac +fi + +export PATH="${PATH:+$PATH:}/usr/sbin:/sbin" + +rsync_start() { + if [ ! -s "$RSYNC_CONFIG_FILE" ]; then + log_failure_msg "missing or empty config file $RSYNC_CONFIG_FILE" + log_end_msg 1 + exit 0 + fi + # See ionice(1) + if [ -n "$RSYNC_IONICE_PARM" ] && [ -x /usr/bin/ionice ] && + /usr/bin/ionice "$RSYNC_IONICE_PARM" true 2>/dev/null; then + /usr/bin/ionice "$RSYNC_IONICE_PARM" -p$$ > /dev/null 2>&1 + fi + if start-stop-daemon --start --quiet --background \ + --pidfile $RSYNC_PID_FILE --make-pidfile \ + $RSYNC_NICE_PARM --exec $DAEMON \ + -- --no-detach --daemon --config "$RSYNC_CONFIG_FILE" $RSYNC_OPTS + then + rc=0 + sleep 1 + if ! kill -0 $(cat $RSYNC_PID_FILE) >/dev/null 2>&1; then + log_failure_msg "rsync daemon failed to start" + rc=1 + fi + else + rc=1 + fi + if [ $rc -eq 0 ]; then + log_end_msg 0 + else + log_end_msg 1 + rm -f $RSYNC_PID_FILE + fi +} # rsync_start + + +case "$1" in + start) + if "$RSYNC_ENABLE"; then + log_daemon_msg "Starting rsync daemon" "rsync" + if [ -s $RSYNC_PID_FILE ] && kill -0 $(cat $RSYNC_PID_FILE) >/dev/null 2>&1; then + log_progress_msg "apparently already running" + log_end_msg 0 + exit 0 + fi + rsync_start + else + if [ -s "$RSYNC_CONFIG_FILE" ]; then + [ "$VERBOSE" != no ] && log_warning_msg "rsync daemon not enabled in $RSYNC_DEFAULTS_FILE, not starting..." + fi + fi + ;; + stop) + log_daemon_msg "Stopping rsync daemon" "rsync" + start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile $RSYNC_PID_FILE + RETVAL="$?" + log_end_msg $RETVAL + if [ $RETVAL != 0 ] + then + exit 1 + fi + rm -f $RSYNC_PID_FILE + ;; + + reload|force-reload) + log_warning_msg "Reloading rsync daemon: not needed, as the daemon" + log_warning_msg "re-reads the config file whenever a client connects." + ;; + + restart) + set +e + if $RSYNC_ENABLE; then + log_daemon_msg "Restarting rsync daemon" "rsync" + if [ -s $RSYNC_PID_FILE ] && kill -0 $(cat $RSYNC_PID_FILE) >/dev/null 2>&1; then + start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile $RSYNC_PID_FILE + else + log_warning_msg "rsync daemon not running, attempting to start." + rm -f $RSYNC_PID_FILE + fi + rsync_start + else + if [ -s "$RSYNC_CONFIG_FILE" ]; then + [ "$VERBOSE" != no ] && log_warning_msg "rsync daemon not enabled in $RSYNC_DEFAULTS_FILE, not starting..." + fi + fi + ;; + + status) + status_of_proc -p $RSYNC_PID_FILE "$DAEMON" rsync + exit $? # notreached due to set -e + ;; + *) + echo "Usage: /etc/init.d/rsync {start|stop|reload|force-reload|restart|status}" + exit 1 +esac + +exit 0 diff --git a/init.d/rsyslog b/init.d/rsyslog new file mode 100755 index 0000000..14017cf --- /dev/null +++ b/init.d/rsyslog @@ -0,0 +1,129 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: rsyslog +# Required-Start: $remote_fs $time +# Required-Stop: umountnfs $time +# X-Stop-After: sendsigs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: enhanced syslogd +# Description: Rsyslog is an enhanced multi-threaded syslogd. +# It is quite compatible to stock sysklogd and can be +# used as a drop-in replacement. +### END INIT INFO + +# +# Author: Michael Biebl +# + +# PATH should only include /usr/* if it runs after the mountnfs.sh script +PATH=/sbin:/usr/sbin:/bin:/usr/bin +DESC="enhanced syslogd" +NAME=rsyslog + +RSYSLOGD=rsyslogd +DAEMON=/usr/sbin/rsyslogd +PIDFILE=/run/rsyslogd.pid + +SCRIPTNAME=/etc/init.d/$NAME + +# Exit if the package is not installed +[ -x "$DAEMON" ] || exit 0 + +# Read configuration variable file if it is present +[ -r /etc/default/$NAME ] && . /etc/default/$NAME + +# Define LSB log_* functions. +. /lib/lsb/init-functions + +do_start() +{ + # Return + # 0 if daemon has been started + # 1 if daemon was already running + # other if daemon could not be started or a failure occured + start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- $RSYSLOGD_OPTIONS +} + +do_stop() +{ + # Return + # 0 if daemon has been stopped + # 1 if daemon was already stopped + # other if daemon could not be stopped or a failure occurred + start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --exec $DAEMON +} + +# +# Tell rsyslogd to close all open files +# +do_rotate() { + start-stop-daemon --stop --signal HUP --quiet --pidfile $PIDFILE --exec $DAEMON +} + +create_xconsole() { + XCONSOLE=/dev/xconsole + if [ "$(uname -s)" != "Linux" ]; then + XCONSOLE=/run/xconsole + ln -sf $XCONSOLE /dev/xconsole + fi + if [ ! -e $XCONSOLE ]; then + mknod -m 640 $XCONSOLE p + chown root:adm $XCONSOLE + [ -x /sbin/restorecon ] && /sbin/restorecon $XCONSOLE + fi +} + +sendsigs_omit() { + OMITDIR=/run/sendsigs.omit.d + mkdir -p $OMITDIR + ln -sf $PIDFILE $OMITDIR/rsyslog +} + +case "$1" in + start) + log_daemon_msg "Starting $DESC" "$RSYSLOGD" + create_xconsole + do_start + case "$?" in + 0) sendsigs_omit + log_end_msg 0 ;; + 1) log_progress_msg "already started" + log_end_msg 0 ;; + *) log_end_msg 1 ;; + esac + + ;; + stop) + log_daemon_msg "Stopping $DESC" "$RSYSLOGD" + do_stop + case "$?" in + 0) log_end_msg 0 ;; + 1) log_progress_msg "already stopped" + log_end_msg 0 ;; + *) log_end_msg 1 ;; + esac + + ;; + rotate) + log_daemon_msg "Closing open files" "$RSYSLOGD" + do_rotate + log_end_msg $? + ;; + restart|force-reload) + $0 stop + $0 start + ;; + try-restart) + $0 status >/dev/null 2>&1 && $0 restart + ;; + status) + status_of_proc -p $PIDFILE $DAEMON $RSYSLOGD && exit 0 || exit $? + ;; + *) + echo "Usage: $SCRIPTNAME {start|stop|rotate|restart|force-reload|try-restart|status}" >&2 + exit 3 + ;; +esac + +: diff --git a/init.d/ssh b/init.d/ssh new file mode 100755 index 0000000..620af70 --- /dev/null +++ b/init.d/ssh @@ -0,0 +1,162 @@ +#! /bin/sh + +### BEGIN INIT INFO +# Provides: sshd +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: +# Short-Description: OpenBSD Secure Shell server +### END INIT INFO + +set -e + +# /etc/init.d/ssh: start and stop the OpenBSD "secure shell(tm)" daemon + +test -x /usr/sbin/sshd || exit 0 +( /usr/sbin/sshd -\? 2>&1 | grep -q OpenSSH ) 2>/dev/null || exit 0 + +umask 022 + +if test -f /etc/default/ssh; then + . /etc/default/ssh +fi + +. /lib/lsb/init-functions + +if [ -n "$2" ]; then + SSHD_OPTS="$SSHD_OPTS $2" +fi + +# Are we running from init? +run_by_init() { + ([ "$previous" ] && [ "$runlevel" ]) || [ "$runlevel" = S ] +} + +check_for_no_start() { + # forget it if we're trying to start, and /etc/ssh/sshd_not_to_be_run exists + if [ -e /etc/ssh/sshd_not_to_be_run ]; then + if [ "$1" = log_end_msg ]; then + log_end_msg 0 || true + fi + if ! run_by_init; then + log_action_msg "OpenBSD Secure Shell server not in use (/etc/ssh/sshd_not_to_be_run)" || true + fi + exit 0 + fi +} + +check_dev_null() { + if [ ! -c /dev/null ]; then + if [ "$1" = log_end_msg ]; then + log_end_msg 1 || true + fi + if ! run_by_init; then + log_action_msg "/dev/null is not a character device!" || true + fi + exit 1 + fi +} + +check_privsep_dir() { + # Create the PrivSep empty dir if necessary + if [ ! -d /run/sshd ]; then + mkdir /run/sshd + chmod 0755 /run/sshd + fi +} + +check_config() { + if [ ! -e /etc/ssh/sshd_not_to_be_run ]; then + /usr/sbin/sshd $SSHD_OPTS -t || exit 1 + fi +} + +export PATH="${PATH:+$PATH:}/usr/sbin:/sbin" + +case "$1" in + start) + check_privsep_dir + check_for_no_start + check_dev_null + log_daemon_msg "Starting OpenBSD Secure Shell server" "sshd" || true + if start-stop-daemon --start --quiet --oknodo --chuid 0:0 --pidfile /run/sshd.pid --exec /usr/sbin/sshd -- $SSHD_OPTS; then + log_end_msg 0 || true + else + log_end_msg 1 || true + fi + ;; + stop) + log_daemon_msg "Stopping OpenBSD Secure Shell server" "sshd" || true + if start-stop-daemon --stop --quiet --oknodo --pidfile /run/sshd.pid --exec /usr/sbin/sshd; then + log_end_msg 0 || true + else + log_end_msg 1 || true + fi + ;; + + reload|force-reload) + check_for_no_start + check_config + log_daemon_msg "Reloading OpenBSD Secure Shell server's configuration" "sshd" || true + if start-stop-daemon --stop --signal 1 --quiet --oknodo --pidfile /run/sshd.pid --exec /usr/sbin/sshd; then + log_end_msg 0 || true + else + log_end_msg 1 || true + fi + ;; + + restart) + check_privsep_dir + check_config + log_daemon_msg "Restarting OpenBSD Secure Shell server" "sshd" || true + start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile /run/sshd.pid --exec /usr/sbin/sshd + check_for_no_start log_end_msg + check_dev_null log_end_msg + if start-stop-daemon --start --quiet --oknodo --chuid 0:0 --pidfile /run/sshd.pid --exec /usr/sbin/sshd -- $SSHD_OPTS; then + log_end_msg 0 || true + else + log_end_msg 1 || true + fi + ;; + + try-restart) + check_privsep_dir + check_config + log_daemon_msg "Restarting OpenBSD Secure Shell server" "sshd" || true + RET=0 + start-stop-daemon --stop --quiet --retry 30 --pidfile /run/sshd.pid --exec /usr/sbin/sshd || RET="$?" + case $RET in + 0) + # old daemon stopped + check_for_no_start log_end_msg + check_dev_null log_end_msg + if start-stop-daemon --start --quiet --oknodo --chuid 0:0 --pidfile /run/sshd.pid --exec /usr/sbin/sshd -- $SSHD_OPTS; then + log_end_msg 0 || true + else + log_end_msg 1 || true + fi + ;; + 1) + # daemon not running + log_progress_msg "(not running)" || true + log_end_msg 0 || true + ;; + *) + # failed to stop + log_progress_msg "(failed to stop)" || true + log_end_msg 1 || true + ;; + esac + ;; + + status) + status_of_proc -p /run/sshd.pid /usr/sbin/sshd sshd && exit 0 || exit $? + ;; + + *) + log_action_msg "Usage: /etc/init.d/ssh {start|stop|reload|force-reload|restart|try-restart|status}" || true + exit 1 +esac + +exit 0 diff --git a/init.d/sudo b/init.d/sudo new file mode 100755 index 0000000..c971310 --- /dev/null +++ b/init.d/sudo @@ -0,0 +1,44 @@ +#! /bin/sh + +### BEGIN INIT INFO +# Provides: sudo +# Required-Start: $local_fs $remote_fs +# Required-Stop: +# X-Start-Before: rmnologin +# Default-Start: 2 3 4 5 +# Default-Stop: +# Short-Description: Provide limited super user privileges to specific users +# Description: Provide limited super user privileges to specific users. +### END INIT INFO + +. /lib/lsb/init-functions + +N=/etc/init.d/sudo + +set -e + +case "$1" in + start) + # make sure privileges don't persist across reboots + # if the /run/sudo directory doesn't exist, let's create it with the + # correct permissions and SELinux label + if [ -d /run/sudo ] + then + find /run/sudo -exec touch -d @0 '{}' \; + else + mkdir /run/sudo /run/sudo/ts + chown root:root /run/sudo /run/sudo/ts + chmod 0711 /run/sudo + chmod 0700 /run/sudo/ts + [ -x /sbin/restorecon ] && /sbin/restorecon /run/sudo /run/sudo/ts + fi + ;; + stop|reload|restart|force-reload|status) + ;; + *) + echo "Usage: $N {start|stop|restart|force-reload|status}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/init.d/udev b/init.d/udev new file mode 100755 index 0000000..a10a586 --- /dev/null +++ b/init.d/udev @@ -0,0 +1,256 @@ +#!/bin/sh -e +### BEGIN INIT INFO +# Provides: udev +# Required-Start: mountkernfs +# Required-Stop: umountroot +# Default-Start: S +# Default-Stop: 0 6 +# Short-Description: Start systemd-udevd, populate /dev and load drivers. +### END INIT INFO + +PATH="/sbin:/bin" +NAME="systemd-udevd" +DAEMON="/lib/systemd/systemd-udevd" +DESC="hotplug events dispatcher" +PIDFILE="/run/udev.pid" +CTRLFILE="/run/udev/control" +OMITDIR="/run/sendsigs.omit.d" + +# we need to unmount /dev/pts/ and remount it later over the devtmpfs +unmount_devpts() { + if mountpoint -q /dev/pts/; then + umount -n -l /dev/pts/ + fi + + if mountpoint -q /dev/shm/; then + umount -n -l /dev/shm/ + fi +} + +# mount a devtmpfs over /dev, if somebody did not already do it +mount_devtmpfs() { + if grep -E -q "^[^[:space:]]+ /dev devtmpfs" /proc/mounts; then + mount -n -o remount,nosuid,size=$tmpfs_size,mode=0755 -t devtmpfs devtmpfs /dev + return + fi + + if ! mount -n -o nosuid,size=$tmpfs_size,mode=0755 -t devtmpfs devtmpfs /dev; then + log_failure_msg "udev requires devtmpfs support, not started" + log_end_msg 1 + fi + + return 0 +} + +create_dev_makedev() { + if [ -e /sbin/MAKEDEV ]; then + ln -sf /sbin/MAKEDEV /dev/MAKEDEV + else + ln -sf /bin/true /dev/MAKEDEV + fi +} + +# shell version of /usr/bin/tty +my_tty() { + [ -x /bin/readlink ] || return 0 + [ -e /proc/self/fd/0 ] || return 0 + readlink --silent /proc/self/fd/0 || true +} + +warn_if_interactive() { + if [ "$RUNLEVEL" = "S" -a "$PREVLEVEL" = "N" ]; then + return + fi + + TTY=$(my_tty) + if [ -z "$TTY" -o "$TTY" = "/dev/console" -o "$TTY" = "/dev/null" ]; then + return + fi + + printf "\n\n\nIt has been detected that the command\n\n\t$0 $*\n\n" + printf "has been run from an interactive shell.\n" + printf "It will probably not do what you expect, so this script will wait\n" + printf "60 seconds before continuing. Press ^C to stop it.\n" + printf "RUNNING THIS COMMAND IS HIGHLY DISCOURAGED!\n\n\n\n" + sleep 60 +} + +make_static_nodes() { + [ -e /lib/modules/$(uname -r)/modules.devname ] || return 0 + [ -x /bin/kmod ] || return 0 + + /bin/kmod static-nodes --format=tmpfiles --output=/proc/self/fd/1 | \ + while read type name mode uid gid age arg; do + [ -e $name ] && continue + case "$type" in + c|b|c!|b!) mknod -m $mode $name $type $(echo $arg | sed 's/:/ /') ;; + d|d!) mkdir $name ;; + *) echo "unparseable line ($type $name $mode $uid $gid $age $arg)" >&2 ;; + esac + + if [ -x /sbin/restorecon ]; then + /sbin/restorecon $name + fi + done +} + + +############################################################################## + + +[ -x $DAEMON ] || exit 0 + +# defaults +tmpfs_size="10M" + +if [ -e /etc/udev/udev.conf ]; then + . /etc/udev/udev.conf +fi + +. /lib/lsb/init-functions + +if [ ! -e /proc/filesystems ]; then + log_failure_msg "udev requires a mounted procfs, not started" + log_end_msg 1 +fi + +if ! grep -q '[[:space:]]devtmpfs$' /proc/filesystems; then + log_failure_msg "udev requires devtmpfs support, not started" + log_end_msg 1 +fi + +if [ ! -d /sys/class/ ]; then + log_failure_msg "udev requires a mounted sysfs, not started" + log_end_msg 1 +fi + +if [ ! -w /sys ]; then + log_warning_msg "udev does not support containers, not started" + exit 0 +fi + +if [ -d /sys/class/mem/null -a ! -L /sys/class/mem/null ] || \ + [ -e /sys/block -a ! -e /sys/class/block ]; then + log_warning_msg "CONFIG_SYSFS_DEPRECATED must not be selected" + log_warning_msg "Booting will continue in 30 seconds but many things will be broken" + sleep 30 +fi + +# When modifying this script, do not forget that between the time that the +# new /dev has been mounted and udevadm trigger has been run there will be +# no /dev/null. This also means that you cannot use the "&" shell command. + +case "$1" in + start) + if [ ! -e "/run/udev/" ]; then + warn_if_interactive + fi + + if [ -w /sys/kernel/uevent_helper ]; then + echo > /sys/kernel/uevent_helper + fi + + if ! mountpoint -q /dev/; then + unmount_devpts + mount_devtmpfs + [ -d /proc/1 ] || mount -n /proc + fi + + make_static_nodes + + # clean up parts of the database created by the initramfs udev + udevadm info --cleanup-db + + # set the SELinux context for devices created in the initramfs + [ -x /sbin/restorecon ] && /sbin/restorecon -R /dev + + log_daemon_msg "Starting $DESC" "$NAME" + if start-stop-daemon --start --name $NAME --user root --quiet \ + --pidfile $PIDFILE --exec $DAEMON --background --make-pidfile \ + --notify-await; then + # prevents udevd to be killed by sendsigs (see #791944) + mkdir -p $OMITDIR + ln -sf $PIDFILE $OMITDIR/$NAME + log_end_msg $? + else + log_warning_msg $? + log_warning_msg "Waiting 15 seconds and trying to continue anyway" + sleep 15 + fi + + log_action_begin_msg "Synthesizing the initial hotplug events (subsystems)" + if udevadm trigger --type=subsystems --action=add; then + log_action_end_msg $? + else + log_action_end_msg $? + fi + log_action_begin_msg "Synthesizing the initial hotplug events (devices)" + if udevadm trigger --type=devices --action=add; then + log_action_end_msg $? + else + log_action_end_msg $? + fi + + create_dev_makedev + + # wait for the systemd-udevd childs to finish + log_action_begin_msg "Waiting for /dev to be fully populated" + if udevadm settle; then + log_action_end_msg 0 + else + log_action_end_msg 0 'timeout' + fi + ;; + + stop) + log_daemon_msg "Stopping $DESC" "$NAME" + if start-stop-daemon --stop --name $NAME --user root --quiet \ + --pidfile $PIDFILE --remove-pidfile --oknodo --retry 5; then + # prevents cryptsetup/dmsetup hangs (see #791944) + rm -f $CTRLFILE + log_end_msg $? + else + log_end_msg $? + fi + ;; + + restart) + log_daemon_msg "Stopping $DESC" "$NAME" + if start-stop-daemon --stop --name $NAME --user root --quiet \ + --pidfile $PIDFILE --remove-pidfile --oknodo --retry 5; then + # prevents cryptsetup/dmsetup hangs (see #791944) + rm -f $CTRLFILE + log_end_msg $? + else + log_end_msg $? || true + fi + + log_daemon_msg "Starting $DESC" "$NAME" + if start-stop-daemon --start --name $NAME --user root --quiet \ + --pidfile $PIDFILE --exec $DAEMON --background --make-pidfile \ + --notify-await; then + # prevents udevd to be killed by sendsigs (see #791944) + mkdir -p $OMITDIR + ln -sf $PIDFILE $OMITDIR/$NAME + log_end_msg $? + else + log_end_msg $? + fi + ;; + + reload|force-reload) + udevadm control --reload-rules + ;; + + status) + status_of_proc $DAEMON $NAME && exit 0 || exit $? + ;; + + *) + echo "Usage: /etc/init.d/udev {start|stop|restart|reload|force-reload|status}" >&2 + exit 1 + ;; +esac + +exit 0 + diff --git a/initramfs-tools/conf.d/resume b/initramfs-tools/conf.d/resume new file mode 100644 index 0000000..213a0e2 --- /dev/null +++ b/initramfs-tools/conf.d/resume @@ -0,0 +1 @@ +RESUME=none diff --git a/initramfs-tools/initramfs.conf b/initramfs-tools/initramfs.conf new file mode 100644 index 0000000..dd76996 --- /dev/null +++ b/initramfs-tools/initramfs.conf @@ -0,0 +1,72 @@ +# +# initramfs.conf +# Configuration file for mkinitramfs(8). See initramfs.conf(5). +# +# Note that configuration options from this file can be overridden +# by config files in the /etc/initramfs-tools/conf.d directory. + +# +# MODULES: [ most | netboot | dep | list ] +# +# most - Add most filesystem and all harddrive drivers. +# +# dep - Try and guess which modules to load. +# +# netboot - Add the base modules, network modules, but skip block devices. +# +# list - Only include modules from the 'additional modules' list +# + +MODULES=most + +# +# BUSYBOX: [ y | n | auto ] +# +# Use busybox shell and utilities. If set to n, klibc utilities will be used. +# If set to auto (or unset), busybox will be used if installed and klibc will +# be used otherwise. +# + +BUSYBOX=auto + +# +# KEYMAP: [ y | n ] +# +# Load a keymap during the initramfs stage. +# + +KEYMAP=n + +# +# COMPRESS: [ gzip | bzip2 | lz4 | lzma | lzop | xz ] +# + +COMPRESS=gzip + +# +# NFS Section of the config. +# + +# +# DEVICE: ... +# +# Specify a specific network interface, like eth0 +# Overridden by optional ip= or BOOTIF= bootarg +# + +DEVICE= + +# +# NFSROOT: [ auto | HOST:MOUNT ] +# + +NFSROOT=auto + +# +# RUNSIZE: ... +# +# The size of the /run tmpfs mount point, like 256M or 10% +# Overridden by optional initramfs.runsize= bootarg +# + +RUNSIZE=10% diff --git a/initramfs-tools/modules b/initramfs-tools/modules new file mode 100644 index 0000000..dd9dc54 --- /dev/null +++ b/initramfs-tools/modules @@ -0,0 +1,11 @@ +# List of modules that you want to include in your initramfs. +# They will be loaded at boot time in the order below. +# +# Syntax: module_name [args ...] +# +# You must run update-initramfs(8) to effect this change. +# +# Examples: +# +# raid1 +# sd_mod diff --git a/initramfs-tools/update-initramfs.conf b/initramfs-tools/update-initramfs.conf new file mode 100644 index 0000000..31823e2 --- /dev/null +++ b/initramfs-tools/update-initramfs.conf @@ -0,0 +1,20 @@ +# +# Configuration file for update-initramfs(8) +# + +# +# update_initramfs [ yes | all | no ] +# +# Default is yes +# If set to all update-initramfs will update all initramfs +# If set to no disables any update to initramfs beside kernel upgrade + +update_initramfs=yes + +# +# backup_initramfs [ yes | no ] +# +# Default is no +# If set to no leaves no .bak backup files. + +backup_initramfs=no diff --git a/inputrc b/inputrc new file mode 100644 index 0000000..230e66b --- /dev/null +++ b/inputrc @@ -0,0 +1,67 @@ +# /etc/inputrc - global inputrc for libreadline +# See readline(3readline) and `info rluserman' for more information. + +# Be 8 bit clean. +set input-meta on +set output-meta on + +# To allow the use of 8bit-characters like the german umlauts, uncomment +# the line below. However this makes the meta key not work as a meta key, +# which is annoying to those which don't need to type in 8-bit characters. + +# set convert-meta off + +# try to enable the application keypad when it is called. Some systems +# need this to enable the arrow keys. +# set enable-keypad on + +# see /usr/share/doc/bash/inputrc.arrows for other codes of arrow keys + +# do not bell on tab-completion +# set bell-style none +# set bell-style visible + +# some defaults / modifications for the emacs mode +$if mode=emacs + +# allow the use of the Home/End keys +"\e[1~": beginning-of-line +"\e[4~": end-of-line + +# allow the use of the Delete/Insert keys +"\e[3~": delete-char +"\e[2~": quoted-insert + +# mappings for "page up" and "page down" to step to the beginning/end +# of the history +# "\e[5~": beginning-of-history +# "\e[6~": end-of-history + +# alternate mappings for "page up" and "page down" to search the history +"\e[5~": history-search-backward +"\e[6~": history-search-forward + +# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving +"\e[1;5C": forward-word +"\e[1;5D": backward-word +"\e[5C": forward-word +"\e[5D": backward-word +"\e\e[C": forward-word +"\e\e[D": backward-word + +$if term=rxvt +"\e[7~": beginning-of-line +"\e[8~": end-of-line +"\eOc": forward-word +"\eOd": backward-word +$endif + +# for non RH/Debian xterm, can't hurt for RH/Debian xterm +# "\eOH": beginning-of-line +# "\eOF": end-of-line + +# for freebsd console +# "\e[H": beginning-of-line +# "\e[F": end-of-line + +$endif diff --git a/iproute2/bpf_pinning b/iproute2/bpf_pinning new file mode 100644 index 0000000..2b39c70 --- /dev/null +++ b/iproute2/bpf_pinning @@ -0,0 +1,6 @@ +# +# subpath mappings from mount point for pinning +# +#3 tracing +#4 foo/bar +#5 tc/cls1 diff --git a/iproute2/ematch_map b/iproute2/ematch_map new file mode 100644 index 0000000..4d6bb2f --- /dev/null +++ b/iproute2/ematch_map @@ -0,0 +1,8 @@ +# lookup table for ematch kinds +1 cmp +2 nbyte +3 u32 +4 meta +7 canid +8 ipset +9 ipt diff --git a/iproute2/group b/iproute2/group new file mode 100644 index 0000000..6f000b2 --- /dev/null +++ b/iproute2/group @@ -0,0 +1,2 @@ +# device group names +0 default diff --git a/iproute2/nl_protos b/iproute2/nl_protos new file mode 100644 index 0000000..7c17cf0 --- /dev/null +++ b/iproute2/nl_protos @@ -0,0 +1,23 @@ +# Netlink protocol names mapping + +0 rtnl +1 unused +2 usersock +3 fw +4 tcpdiag +5 nflog +6 xfrm +7 selinux +8 iscsi +9 audit +10 fiblookup +11 connector +12 nft +13 ip6fw +14 dec-rt +15 uevent +16 genl +18 scsi-trans +19 ecryptfs +20 rdma +21 crypto diff --git a/iproute2/rt_dsfield b/iproute2/rt_dsfield new file mode 100644 index 0000000..1426d60 --- /dev/null +++ b/iproute2/rt_dsfield @@ -0,0 +1,26 @@ +# Differentiated field values +# These include the DSCP and unused bits +0x0 default +# Newer RFC2597 values +0x28 AF11 +0x30 AF12 +0x38 AF13 +0x48 AF21 +0x50 AF22 +0x58 AF23 +0x68 AF31 +0x70 AF32 +0x78 AF33 +0x88 AF41 +0x90 AF42 +0x98 AF43 +# Older values RFC2474 +0x20 CS1 +0x40 CS2 +0x60 CS3 +0x80 CS4 +0xA0 CS5 +0xC0 CS6 +0xE0 CS7 +# RFC 2598 +0xB8 EF diff --git a/iproute2/rt_protos b/iproute2/rt_protos new file mode 100644 index 0000000..b3a0ec8 --- /dev/null +++ b/iproute2/rt_protos @@ -0,0 +1,23 @@ +# +# Reserved protocols. +# +0 unspec +1 redirect +2 kernel +3 boot +4 static +8 gated +9 ra +10 mrt +11 zebra +12 bird +13 dnrouted +14 xorp +15 ntk +16 dhcp +42 babel +186 bgp +187 isis +188 ospf +189 rip +192 eigrp diff --git a/iproute2/rt_protos.d/README b/iproute2/rt_protos.d/README new file mode 100644 index 0000000..f9c599c --- /dev/null +++ b/iproute2/rt_protos.d/README @@ -0,0 +1,2 @@ +Each file in this directory is an rt_protos configuration file. iproute2 +commands scan this directory processing all files that end in '.conf'. diff --git a/iproute2/rt_realms b/iproute2/rt_realms new file mode 100644 index 0000000..eedd76d --- /dev/null +++ b/iproute2/rt_realms @@ -0,0 +1,13 @@ +# +# reserved values +# +0 cosmos +# +# local +# +#1 inr.ac +#2 inr.ruhep +#3 freenet +#4 radio-msu +#5 russia +#6 internet diff --git a/iproute2/rt_scopes b/iproute2/rt_scopes new file mode 100644 index 0000000..8514bc1 --- /dev/null +++ b/iproute2/rt_scopes @@ -0,0 +1,11 @@ +# +# reserved values +# +0 global +255 nowhere +254 host +253 link +# +# pseudo-reserved +# +200 site diff --git a/iproute2/rt_tables b/iproute2/rt_tables new file mode 100644 index 0000000..541abfd --- /dev/null +++ b/iproute2/rt_tables @@ -0,0 +1,11 @@ +# +# reserved values +# +255 local +254 main +253 default +0 unspec +# +# local +# +#1 inr.ruhep diff --git a/iproute2/rt_tables.d/README b/iproute2/rt_tables.d/README new file mode 100644 index 0000000..0920cb1 --- /dev/null +++ b/iproute2/rt_tables.d/README @@ -0,0 +1,2 @@ +Each file in this directory is an rt_tables configuration file. iproute2 +commands scan this directory processing all files that end in '.conf'. diff --git a/issue b/issue new file mode 100644 index 0000000..645b34f --- /dev/null +++ b/issue @@ -0,0 +1,2 @@ +Debian GNU/Linux 10 \n \l + diff --git a/issue.net b/issue.net new file mode 100644 index 0000000..d3270dd --- /dev/null +++ b/issue.net @@ -0,0 +1 @@ +Debian GNU/Linux 10 diff --git a/kernel-img.conf b/kernel-img.conf new file mode 100644 index 0000000..e818d6e --- /dev/null +++ b/kernel-img.conf @@ -0,0 +1,6 @@ +# Kernel image management overrides +# See kernel-img.conf(5) for details +do_symlinks = yes +do_bootloader = no +do_initrd = yes +link_in_boot = no diff --git a/kernel/postinst.d/apt-auto-removal b/kernel/postinst.d/apt-auto-removal new file mode 100755 index 0000000..2c32b0c --- /dev/null +++ b/kernel/postinst.d/apt-auto-removal @@ -0,0 +1,83 @@ +#!/bin/sh +set -e +# Mark as not-for-autoremoval those kernel packages that are: +# - the currently booted version +# - the kernel version we've been called for +# - the latest kernel version (as determined by debian version number) +# - the second-latest kernel version +# +# In the common case this results in two kernels saved (booted into the +# second-latest kernel, we install the latest kernel in an upgrade), but +# can save up to four. Kernel refers here to a distinct release, which can +# potentially be installed in multiple flavours counting as one kernel. + +eval $(apt-config shell APT_CONF_D Dir::Etc::parts/d) +test -n "${APT_CONF_D}" || APT_CONF_D="/etc/apt/apt.conf.d" +config_file="${APT_CONF_D}/01autoremove-kernels" + +eval $(apt-config shell DPKG Dir::bin::dpkg/f) +test -n "$DPKG" || DPKG="/usr/bin/dpkg" + +list="$("${DPKG}" -l | awk '/^[ih][^nc][ ]+(linux|kfreebsd|gnumach)-image-[0-9]+\./ && $2 !~ /-dbg(:.*)?$/ && $2 !~ /-dbgsym(:.*)?$/ { print $2,$3; }' \ + | sed -e 's#^\(linux\|kfreebsd\|gnumach\)-image-##' -e 's#:[^:]\+ # #')" +debverlist="$(echo "$list" | cut -d' ' -f 2 | sort --unique --reverse --version-sort)" + +if [ -n "$1" ]; then + installed_version="$(echo "$list" | awk "\$1 == \"$1\" { print \$2;exit; }")" +fi +unamer="$(uname -r | tr '[A-Z]' '[a-z]')" +if [ -n "$unamer" ]; then + running_version="$(echo "$list" | awk "\$1 == \"$unamer\" { print \$2;exit; }")" +fi +# ignore the currently running version if attempting a reproducible build +if [ -n "${SOURCE_DATE_EPOCH}" ]; then + unamer="" + running_version="" +fi +latest_version="$(echo "$debverlist" | sed -n 1p)" +previous_version="$(echo "$debverlist" | sed -n 2p)" + +debkernels="$(echo "$latest_version +$installed_version +$running_version +$previous_version" | sort -u | sed -e '/^$/ d')" +kernels="$( (echo "$1 +$unamer"; for deb in $debkernels; do echo "$list" | awk "\$2 == \"$deb\" { print \$1; }"; done; ) \ + | sed -e 's#\([\.\+]\)#\\\1#g' -e '/^$/ d' | sort -u)" + +generateconfig() { + cat < "${config_file}.dpkg-new" +mv -f "${config_file}.dpkg-new" "$config_file" +chmod 444 "$config_file" diff --git a/kernel/postinst.d/initramfs-tools b/kernel/postinst.d/initramfs-tools new file mode 100755 index 0000000..5d02e57 --- /dev/null +++ b/kernel/postinst.d/initramfs-tools @@ -0,0 +1,36 @@ +#!/bin/sh -e + +version="$1" +bootopt="" + +command -v update-initramfs >/dev/null 2>&1 || exit 0 + +# passing the kernel version is required +if [ -z "${version}" ]; then + echo >&2 "W: initramfs-tools: ${DPKG_MAINTSCRIPT_PACKAGE:-kernel package} did not pass a version number" + exit 2 +fi + +# exit if kernel does not need an initramfs +if [ "$INITRD" = 'No' ]; then + exit 0 +fi + +# absolute file name of kernel image may be passed as a second argument; +# create the initrd in the same directory +if [ -n "$2" ]; then + bootdir=$(dirname "$2") + bootopt="-b ${bootdir}" +fi + +# avoid running multiple times +if [ -n "$DEB_MAINT_PARAMS" ]; then + eval set -- "$DEB_MAINT_PARAMS" + if [ -z "$1" ] || [ "$1" != "configure" ]; then + exit 0 + fi +fi + +# we're good - create initramfs. update runs do_bootloader +# shellcheck disable=SC2086 +INITRAMFS_TOOLS_KERNEL_HOOK=1 update-initramfs -c -k "${version}" ${bootopt} >&2 diff --git a/kernel/postinst.d/zz-update-grub b/kernel/postinst.d/zz-update-grub new file mode 100755 index 0000000..5ed065f --- /dev/null +++ b/kernel/postinst.d/zz-update-grub @@ -0,0 +1,26 @@ +#! /bin/sh +set -e + +which update-grub >/dev/null 2>&1 || exit 0 + +if type systemd-detect-virt >/dev/null 2>&1 && + systemd-detect-virt --quiet --container; then + exit 0 +fi + +set -- $DEB_MAINT_PARAMS +mode="${1#\'}" +mode="${mode%\'}" +case $0:$mode in + # Only run on postinst configure and postrm remove, to avoid wasting + # time by calling update-grub multiple times on upgrade and removal. + # Also run if we have no DEB_MAINT_PARAMS, in order to work with old + # kernel packages. + */postinst.d/*:|*/postinst.d/*:configure|*/postrm.d/*:|*/postrm.d/*:remove) + if [ -e /boot/grub/grub.cfg ]; then + exec update-grub + fi + ;; +esac + +exit 0 diff --git a/kernel/postrm.d/initramfs-tools b/kernel/postrm.d/initramfs-tools new file mode 100755 index 0000000..471da86 --- /dev/null +++ b/kernel/postrm.d/initramfs-tools @@ -0,0 +1,36 @@ +#!/bin/sh -e + +version="$1" +bootopt="" + +[ -x /usr/sbin/update-initramfs ] || exit 0 + +# passing the kernel version is required +if [ -z "${version}" ]; then + echo >&2 "W: initramfs-tools: ${DPKG_MAINTSCRIPT_PACKAGE:-kernel package} did not pass a version number" + exit 0 +fi + +# exit if custom kernel does not need an initramfs +if [ "$INITRD" = 'No' ]; then + exit 0 +fi + +# absolute file name of kernel image may be passed as a second argument; +# create the initrd in the same directory +if [ -n "$2" ]; then + bootdir=$(dirname "$2") + bootopt="-b ${bootdir}" +fi + +# avoid running multiple times +if [ -n "$DEB_MAINT_PARAMS" ]; then + eval set -- "$DEB_MAINT_PARAMS" + if [ -z "$1" ] || [ "$1" != "remove" ]; then + exit 0 + fi +fi + +# delete initramfs +# shellcheck disable=SC2086 +INITRAMFS_TOOLS_KERNEL_HOOK=1 update-initramfs -d -k "${version}" ${bootopt} >&2 diff --git a/kernel/postrm.d/zz-update-grub b/kernel/postrm.d/zz-update-grub new file mode 100755 index 0000000..5ed065f --- /dev/null +++ b/kernel/postrm.d/zz-update-grub @@ -0,0 +1,26 @@ +#! /bin/sh +set -e + +which update-grub >/dev/null 2>&1 || exit 0 + +if type systemd-detect-virt >/dev/null 2>&1 && + systemd-detect-virt --quiet --container; then + exit 0 +fi + +set -- $DEB_MAINT_PARAMS +mode="${1#\'}" +mode="${mode%\'}" +case $0:$mode in + # Only run on postinst configure and postrm remove, to avoid wasting + # time by calling update-grub multiple times on upgrade and removal. + # Also run if we have no DEB_MAINT_PARAMS, in order to work with old + # kernel packages. + */postinst.d/*:|*/postinst.d/*:configure|*/postrm.d/*:|*/postrm.d/*:remove) + if [ -e /boot/grub/grub.cfg ]; then + exec update-grub + fi + ;; +esac + +exit 0 diff --git a/ld.so.conf b/ld.so.conf new file mode 100644 index 0000000..20c9763 --- /dev/null +++ b/ld.so.conf @@ -0,0 +1,2 @@ +include /etc/ld.so.conf.d/*.conf + diff --git a/ld.so.conf.d/libc.conf b/ld.so.conf.d/libc.conf new file mode 100644 index 0000000..463b8bb --- /dev/null +++ b/ld.so.conf.d/libc.conf @@ -0,0 +1,2 @@ +# libc default configuration +/usr/local/lib diff --git a/ld.so.conf.d/x86_64-linux-gnu.conf b/ld.so.conf.d/x86_64-linux-gnu.conf new file mode 100644 index 0000000..cd691ab --- /dev/null +++ b/ld.so.conf.d/x86_64-linux-gnu.conf @@ -0,0 +1,4 @@ +# Multiarch support +/usr/local/lib/x86_64-linux-gnu +/lib/x86_64-linux-gnu +/usr/lib/x86_64-linux-gnu diff --git a/ldap/ldap.conf b/ldap/ldap.conf new file mode 100644 index 0000000..42d42b0 --- /dev/null +++ b/ldap/ldap.conf @@ -0,0 +1,17 @@ +# +# LDAP Defaults +# + +# See ldap.conf(5) for details +# This file should be world readable but not world writable. + +#BASE dc=example,dc=com +#URI ldap://ldap.example.com ldap://ldap-master.example.com:666 + +#SIZELIMIT 12 +#TIMELIMIT 15 +#DEREF never + +# TLS certificates (needed for GnuTLS) +TLS_CACERT /etc/ssl/certs/ca-certificates.crt + diff --git a/libaudit.conf b/libaudit.conf new file mode 100644 index 0000000..90855d7 --- /dev/null +++ b/libaudit.conf @@ -0,0 +1,7 @@ +# This is the configuration file for libaudit tunables. +# It is currently only used for the failure_action tunable. + +# failure_action can be: log, ignore, terminate +failure_action = ignore + + diff --git a/locale.alias b/locale.alias new file mode 100644 index 0000000..2b286dd --- /dev/null +++ b/locale.alias @@ -0,0 +1,82 @@ +# Locale name alias data base. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . + +# The format of this file is the same as for the corresponding file of +# the X Window System, which normally can be found in +# /usr/lib/X11/locale/locale.alias +# A single line contains two fields: an alias and a substitution value. +# All entries are case independent. + +# Note: This file is obsolete and is kept around for the time being for +# backward compatibility. Nobody should rely on the names defined here. +# Locales should always be specified by their full name. + +# Note: This file used to contain the following lines: +# bokmaal nb_NO.ISO-8859-1 +# franc,ais fr_FR.ISO-8859-1 +# except that the "aa" was actually the byte '\0xE5' (the Latin-1 +# encoding for U+00E5 LATIN SMALL LETTER A WITH RING ABOVE) and the +# "c," was actually the byte '\xE7' (the Latin-1 encoding for U+00E7 +# LATIN SMALL LETTER C WITH CEDILLA). These lines were removed +# because they caused 'locale -a' to output text encoded in Latin-1, +# which broke applications in UTF-8 locales. See: +# https://sourceware.org/bugzilla/show_bug.cgi?id=18412 + +bokmal nb_NO.ISO-8859-1 +catalan ca_ES.ISO-8859-1 +croatian hr_HR.ISO-8859-2 +czech cs_CZ.ISO-8859-2 +danish da_DK.ISO-8859-1 +dansk da_DK.ISO-8859-1 +deutsch de_DE.ISO-8859-1 +dutch nl_NL.ISO-8859-1 +eesti et_EE.ISO-8859-15 +estonian et_EE.ISO-8859-15 +finnish fi_FI.ISO-8859-1 +french fr_FR.ISO-8859-1 +galego gl_ES.ISO-8859-1 +galician gl_ES.ISO-8859-1 +german de_DE.ISO-8859-1 +greek el_GR.ISO-8859-7 +hebrew he_IL.ISO-8859-8 +hrvatski hr_HR.ISO-8859-2 +hungarian hu_HU.ISO-8859-2 +icelandic is_IS.ISO-8859-1 +italian it_IT.ISO-8859-1 +japanese ja_JP.eucJP +japanese.euc ja_JP.eucJP +ja_JP ja_JP.eucJP +ja_JP.ujis ja_JP.eucJP +japanese.sjis ja_JP.SJIS +korean ko_KR.eucKR +korean.euc ko_KR.eucKR +ko_KR ko_KR.eucKR +lithuanian lt_LT.ISO-8859-13 +no_NO nb_NO.ISO-8859-1 +no_NO.ISO-8859-1 nb_NO.ISO-8859-1 +norwegian nb_NO.ISO-8859-1 +nynorsk nn_NO.ISO-8859-1 +polish pl_PL.ISO-8859-2 +portuguese pt_PT.ISO-8859-1 +romanian ro_RO.ISO-8859-2 +russian ru_RU.KOI8-R +slovak sk_SK.ISO-8859-2 +slovene sl_SI.ISO-8859-2 +slovenian sl_SI.ISO-8859-2 +spanish es_ES.ISO-8859-1 +swedish sv_SE.ISO-8859-1 +thai th_TH.TIS-620 +turkish tr_TR.ISO-8859-9 diff --git a/locale.gen b/locale.gen new file mode 100644 index 0000000..df7c8a8 --- /dev/null +++ b/locale.gen @@ -0,0 +1,502 @@ +# This file lists locales that you wish to have built. You can find a list +# of valid supported locales at /usr/share/i18n/SUPPORTED, and you can add +# user defined locales to /usr/local/share/i18n/SUPPORTED. If you change +# this file, you need to rerun locale-gen. + + +# aa_DJ ISO-8859-1 +# aa_DJ.UTF-8 UTF-8 +# aa_ER UTF-8 +# aa_ER@saaho UTF-8 +# aa_ET UTF-8 +# af_ZA ISO-8859-1 +# af_ZA.UTF-8 UTF-8 +# agr_PE UTF-8 +# ak_GH UTF-8 +# am_ET UTF-8 +# an_ES ISO-8859-15 +# an_ES.UTF-8 UTF-8 +# anp_IN UTF-8 +# ar_AE ISO-8859-6 +# ar_AE.UTF-8 UTF-8 +# ar_BH ISO-8859-6 +# ar_BH.UTF-8 UTF-8 +# ar_DZ ISO-8859-6 +# ar_DZ.UTF-8 UTF-8 +# ar_EG ISO-8859-6 +# ar_EG.UTF-8 UTF-8 +# ar_IN UTF-8 +# ar_IQ ISO-8859-6 +# ar_IQ.UTF-8 UTF-8 +# ar_JO ISO-8859-6 +# ar_JO.UTF-8 UTF-8 +# ar_KW ISO-8859-6 +# ar_KW.UTF-8 UTF-8 +# ar_LB ISO-8859-6 +# ar_LB.UTF-8 UTF-8 +# ar_LY ISO-8859-6 +# ar_LY.UTF-8 UTF-8 +# ar_MA ISO-8859-6 +# ar_MA.UTF-8 UTF-8 +# ar_OM ISO-8859-6 +# ar_OM.UTF-8 UTF-8 +# ar_QA ISO-8859-6 +# ar_QA.UTF-8 UTF-8 +# ar_SA ISO-8859-6 +# ar_SA.UTF-8 UTF-8 +# ar_SD ISO-8859-6 +# ar_SD.UTF-8 UTF-8 +# ar_SS UTF-8 +# ar_SY ISO-8859-6 +# ar_SY.UTF-8 UTF-8 +# ar_TN ISO-8859-6 +# ar_TN.UTF-8 UTF-8 +# ar_YE ISO-8859-6 +# ar_YE.UTF-8 UTF-8 +# as_IN UTF-8 +# ast_ES ISO-8859-15 +# ast_ES.UTF-8 UTF-8 +# ayc_PE UTF-8 +# az_AZ UTF-8 +# az_IR UTF-8 +# be_BY CP1251 +# be_BY.UTF-8 UTF-8 +# be_BY@latin UTF-8 +# bem_ZM UTF-8 +# ber_DZ UTF-8 +# ber_MA UTF-8 +# bg_BG CP1251 +# bg_BG.UTF-8 UTF-8 +# bhb_IN.UTF-8 UTF-8 +# bho_IN UTF-8 +# bho_NP UTF-8 +# bi_VU UTF-8 +# bn_BD UTF-8 +# bn_IN UTF-8 +# bo_CN UTF-8 +# bo_IN UTF-8 +# br_FR ISO-8859-1 +# br_FR.UTF-8 UTF-8 +# br_FR@euro ISO-8859-15 +# brx_IN UTF-8 +# bs_BA ISO-8859-2 +# bs_BA.UTF-8 UTF-8 +# byn_ER UTF-8 +# ca_AD ISO-8859-15 +# ca_AD.UTF-8 UTF-8 +# ca_ES ISO-8859-1 +# ca_ES.UTF-8 UTF-8 +# ca_ES@euro ISO-8859-15 +# ca_ES@valencia UTF-8 +# ca_FR ISO-8859-15 +# ca_FR.UTF-8 UTF-8 +# ca_IT ISO-8859-15 +# ca_IT.UTF-8 UTF-8 +# ce_RU UTF-8 +# chr_US UTF-8 +# cmn_TW UTF-8 +# crh_UA UTF-8 +# cs_CZ ISO-8859-2 +# cs_CZ.UTF-8 UTF-8 +# csb_PL UTF-8 +# cv_RU UTF-8 +# cy_GB ISO-8859-14 +# cy_GB.UTF-8 UTF-8 +# da_DK ISO-8859-1 +# da_DK.UTF-8 UTF-8 +# de_AT ISO-8859-1 +# de_AT.UTF-8 UTF-8 +# de_AT@euro ISO-8859-15 +# de_BE ISO-8859-1 +# de_BE.UTF-8 UTF-8 +# de_BE@euro ISO-8859-15 +# de_CH ISO-8859-1 +# de_CH.UTF-8 UTF-8 +# de_DE ISO-8859-1 +# de_DE.UTF-8 UTF-8 +# de_DE@euro ISO-8859-15 +# de_IT ISO-8859-1 +# de_IT.UTF-8 UTF-8 +# de_LI.UTF-8 UTF-8 +# de_LU ISO-8859-1 +# de_LU.UTF-8 UTF-8 +# de_LU@euro ISO-8859-15 +# doi_IN UTF-8 +# dsb_DE UTF-8 +# dv_MV UTF-8 +# dz_BT UTF-8 +# el_CY ISO-8859-7 +# el_CY.UTF-8 UTF-8 +# el_GR ISO-8859-7 +# el_GR.UTF-8 UTF-8 +# el_GR@euro ISO-8859-7 +# en_AG UTF-8 +# en_AU ISO-8859-1 +# en_AU.UTF-8 UTF-8 +# en_BW ISO-8859-1 +# en_BW.UTF-8 UTF-8 +# en_CA ISO-8859-1 +# en_CA.UTF-8 UTF-8 +# en_DK ISO-8859-1 +# en_DK.ISO-8859-15 ISO-8859-15 +# en_DK.UTF-8 UTF-8 +# en_GB ISO-8859-1 +# en_GB.ISO-8859-15 ISO-8859-15 +# en_GB.UTF-8 UTF-8 +# en_HK ISO-8859-1 +# en_HK.UTF-8 UTF-8 +# en_IE ISO-8859-1 +# en_IE.UTF-8 UTF-8 +# en_IE@euro ISO-8859-15 +# en_IL UTF-8 +# en_IN UTF-8 +# en_NG UTF-8 +# en_NZ ISO-8859-1 +# en_NZ.UTF-8 UTF-8 +# en_PH ISO-8859-1 +# en_PH.UTF-8 UTF-8 +# en_SC.UTF-8 UTF-8 +# en_SG ISO-8859-1 +# en_SG.UTF-8 UTF-8 +# en_US ISO-8859-1 +# en_US.ISO-8859-15 ISO-8859-15 +# en_US.UTF-8 UTF-8 +# en_ZA ISO-8859-1 +# en_ZA.UTF-8 UTF-8 +# en_ZM UTF-8 +# en_ZW ISO-8859-1 +# en_ZW.UTF-8 UTF-8 +# eo UTF-8 +# es_AR ISO-8859-1 +# es_AR.UTF-8 UTF-8 +# es_BO ISO-8859-1 +# es_BO.UTF-8 UTF-8 +# es_CL ISO-8859-1 +# es_CL.UTF-8 UTF-8 +# es_CO ISO-8859-1 +# es_CO.UTF-8 UTF-8 +# es_CR ISO-8859-1 +# es_CR.UTF-8 UTF-8 +# es_CU UTF-8 +# es_DO ISO-8859-1 +# es_DO.UTF-8 UTF-8 +# es_EC ISO-8859-1 +# es_EC.UTF-8 UTF-8 +# es_ES ISO-8859-1 +# es_ES.UTF-8 UTF-8 +# es_ES@euro ISO-8859-15 +# es_GT ISO-8859-1 +# es_GT.UTF-8 UTF-8 +# es_HN ISO-8859-1 +# es_HN.UTF-8 UTF-8 +# es_MX ISO-8859-1 +# es_MX.UTF-8 UTF-8 +# es_NI ISO-8859-1 +# es_NI.UTF-8 UTF-8 +# es_PA ISO-8859-1 +# es_PA.UTF-8 UTF-8 +# es_PE ISO-8859-1 +# es_PE.UTF-8 UTF-8 +# es_PR ISO-8859-1 +# es_PR.UTF-8 UTF-8 +# es_PY ISO-8859-1 +# es_PY.UTF-8 UTF-8 +# es_SV ISO-8859-1 +# es_SV.UTF-8 UTF-8 +# es_US ISO-8859-1 +# es_US.UTF-8 UTF-8 +# es_UY ISO-8859-1 +# es_UY.UTF-8 UTF-8 +# es_VE ISO-8859-1 +# es_VE.UTF-8 UTF-8 +# et_EE ISO-8859-1 +# et_EE.ISO-8859-15 ISO-8859-15 +# et_EE.UTF-8 UTF-8 +# eu_ES ISO-8859-1 +# eu_ES.UTF-8 UTF-8 +# eu_ES@euro ISO-8859-15 +# eu_FR ISO-8859-1 +# eu_FR.UTF-8 UTF-8 +# eu_FR@euro ISO-8859-15 +# fa_IR UTF-8 +# ff_SN UTF-8 +# fi_FI ISO-8859-1 +# fi_FI.UTF-8 UTF-8 +# fi_FI@euro ISO-8859-15 +# fil_PH UTF-8 +# fo_FO ISO-8859-1 +# fo_FO.UTF-8 UTF-8 +# fr_BE ISO-8859-1 +# fr_BE.UTF-8 UTF-8 +# fr_BE@euro ISO-8859-15 +# fr_CA ISO-8859-1 +# fr_CA.UTF-8 UTF-8 +# fr_CH ISO-8859-1 +# fr_CH.UTF-8 UTF-8 +# fr_FR ISO-8859-1 +# fr_FR.UTF-8 UTF-8 +# fr_FR@euro ISO-8859-15 +# fr_LU ISO-8859-1 +# fr_LU.UTF-8 UTF-8 +# fr_LU@euro ISO-8859-15 +# fur_IT UTF-8 +# fy_DE UTF-8 +# fy_NL UTF-8 +# ga_IE ISO-8859-1 +# ga_IE.UTF-8 UTF-8 +# ga_IE@euro ISO-8859-15 +# gd_GB ISO-8859-15 +# gd_GB.UTF-8 UTF-8 +# gez_ER UTF-8 +# gez_ER@abegede UTF-8 +# gez_ET UTF-8 +# gez_ET@abegede UTF-8 +# gl_ES ISO-8859-1 +# gl_ES.UTF-8 UTF-8 +# gl_ES@euro ISO-8859-15 +# gu_IN UTF-8 +# gv_GB ISO-8859-1 +# gv_GB.UTF-8 UTF-8 +# ha_NG UTF-8 +# hak_TW UTF-8 +# he_IL ISO-8859-8 +# he_IL.UTF-8 UTF-8 +# hi_IN UTF-8 +# hif_FJ UTF-8 +# hne_IN UTF-8 +# hr_HR ISO-8859-2 +# hr_HR.UTF-8 UTF-8 +# hsb_DE ISO-8859-2 +# hsb_DE.UTF-8 UTF-8 +# ht_HT UTF-8 +# hu_HU ISO-8859-2 +# hu_HU.UTF-8 UTF-8 +# hy_AM UTF-8 +# hy_AM.ARMSCII-8 ARMSCII-8 +# ia_FR UTF-8 +# id_ID ISO-8859-1 +# id_ID.UTF-8 UTF-8 +# ig_NG UTF-8 +# ik_CA UTF-8 +# is_IS ISO-8859-1 +# is_IS.UTF-8 UTF-8 +# it_CH ISO-8859-1 +# it_CH.UTF-8 UTF-8 +# it_IT ISO-8859-1 +# it_IT.UTF-8 UTF-8 +# it_IT@euro ISO-8859-15 +# iu_CA UTF-8 +# ja_JP.EUC-JP EUC-JP +# ja_JP.UTF-8 UTF-8 +# ka_GE GEORGIAN-PS +# ka_GE.UTF-8 UTF-8 +# kab_DZ UTF-8 +# kk_KZ PT154 +# kk_KZ.RK1048 RK1048 +# kk_KZ.UTF-8 UTF-8 +# kl_GL ISO-8859-1 +# kl_GL.UTF-8 UTF-8 +# km_KH UTF-8 +# kn_IN UTF-8 +# ko_KR.EUC-KR EUC-KR +# ko_KR.UTF-8 UTF-8 +# kok_IN UTF-8 +# ks_IN UTF-8 +# ks_IN@devanagari UTF-8 +# ku_TR ISO-8859-9 +# ku_TR.UTF-8 UTF-8 +# kw_GB ISO-8859-1 +# kw_GB.UTF-8 UTF-8 +# ky_KG UTF-8 +# lb_LU UTF-8 +# lg_UG ISO-8859-10 +# lg_UG.UTF-8 UTF-8 +# li_BE UTF-8 +# li_NL UTF-8 +# lij_IT UTF-8 +# ln_CD UTF-8 +# lo_LA UTF-8 +# lt_LT ISO-8859-13 +# lt_LT.UTF-8 UTF-8 +# lv_LV ISO-8859-13 +# lv_LV.UTF-8 UTF-8 +# lzh_TW UTF-8 +# mag_IN UTF-8 +# mai_IN UTF-8 +# mai_NP UTF-8 +# mfe_MU UTF-8 +# mg_MG ISO-8859-15 +# mg_MG.UTF-8 UTF-8 +# mhr_RU UTF-8 +# mi_NZ ISO-8859-13 +# mi_NZ.UTF-8 UTF-8 +# miq_NI UTF-8 +# mjw_IN UTF-8 +# mk_MK ISO-8859-5 +# mk_MK.UTF-8 UTF-8 +# ml_IN UTF-8 +# mn_MN UTF-8 +# mni_IN UTF-8 +# mr_IN UTF-8 +# ms_MY ISO-8859-1 +# ms_MY.UTF-8 UTF-8 +# mt_MT ISO-8859-3 +# mt_MT.UTF-8 UTF-8 +# my_MM UTF-8 +# nan_TW UTF-8 +# nan_TW@latin UTF-8 +# nb_NO ISO-8859-1 +# nb_NO.UTF-8 UTF-8 +# nds_DE UTF-8 +# nds_NL UTF-8 +# ne_NP UTF-8 +# nhn_MX UTF-8 +# niu_NU UTF-8 +# niu_NZ UTF-8 +# nl_AW UTF-8 +# nl_BE ISO-8859-1 +# nl_BE.UTF-8 UTF-8 +# nl_BE@euro ISO-8859-15 +# nl_NL ISO-8859-1 +# nl_NL.UTF-8 UTF-8 +# nl_NL@euro ISO-8859-15 +# nn_NO ISO-8859-1 +# nn_NO.UTF-8 UTF-8 +# nr_ZA UTF-8 +# nso_ZA UTF-8 +# oc_FR ISO-8859-1 +# oc_FR.UTF-8 UTF-8 +# om_ET UTF-8 +# om_KE ISO-8859-1 +# om_KE.UTF-8 UTF-8 +# or_IN UTF-8 +# os_RU UTF-8 +# pa_IN UTF-8 +# pa_PK UTF-8 +# pap_AW UTF-8 +# pap_CW UTF-8 +# pl_PL ISO-8859-2 +# pl_PL.UTF-8 UTF-8 +# ps_AF UTF-8 +# pt_BR ISO-8859-1 +# pt_BR.UTF-8 UTF-8 +# pt_PT ISO-8859-1 +# pt_PT.UTF-8 UTF-8 +# pt_PT@euro ISO-8859-15 +# quz_PE UTF-8 +# raj_IN UTF-8 +# ro_RO ISO-8859-2 +# ro_RO.UTF-8 UTF-8 +# ru_RU ISO-8859-5 +# ru_RU.CP1251 CP1251 +# ru_RU.KOI8-R KOI8-R +# ru_RU.UTF-8 UTF-8 +# ru_UA KOI8-U +# ru_UA.UTF-8 UTF-8 +# rw_RW UTF-8 +# sa_IN UTF-8 +# sah_RU UTF-8 +# sat_IN UTF-8 +# sc_IT UTF-8 +# sd_IN UTF-8 +# sd_IN@devanagari UTF-8 +# se_NO UTF-8 +# sgs_LT UTF-8 +# shn_MM UTF-8 +# shs_CA UTF-8 +# si_LK UTF-8 +# sid_ET UTF-8 +# sk_SK ISO-8859-2 +# sk_SK.UTF-8 UTF-8 +# sl_SI ISO-8859-2 +# sl_SI.UTF-8 UTF-8 +# sm_WS UTF-8 +# so_DJ ISO-8859-1 +# so_DJ.UTF-8 UTF-8 +# so_ET UTF-8 +# so_KE ISO-8859-1 +# so_KE.UTF-8 UTF-8 +# so_SO ISO-8859-1 +# so_SO.UTF-8 UTF-8 +# sq_AL ISO-8859-1 +# sq_AL.UTF-8 UTF-8 +# sq_MK UTF-8 +# sr_ME UTF-8 +# sr_RS UTF-8 +# sr_RS@latin UTF-8 +# ss_ZA UTF-8 +# st_ZA ISO-8859-1 +# st_ZA.UTF-8 UTF-8 +# sv_FI ISO-8859-1 +# sv_FI.UTF-8 UTF-8 +# sv_FI@euro ISO-8859-15 +# sv_SE ISO-8859-1 +# sv_SE.ISO-8859-15 ISO-8859-15 +# sv_SE.UTF-8 UTF-8 +# sw_KE UTF-8 +# sw_TZ UTF-8 +# szl_PL UTF-8 +# ta_IN UTF-8 +# ta_LK UTF-8 +# tcy_IN.UTF-8 UTF-8 +# te_IN UTF-8 +# tg_TJ KOI8-T +# tg_TJ.UTF-8 UTF-8 +# th_TH TIS-620 +# th_TH.UTF-8 UTF-8 +# the_NP UTF-8 +# ti_ER UTF-8 +# ti_ET UTF-8 +# tig_ER UTF-8 +# tk_TM UTF-8 +# tl_PH ISO-8859-1 +# tl_PH.UTF-8 UTF-8 +# tn_ZA UTF-8 +# to_TO UTF-8 +# tpi_PG UTF-8 +# tr_CY ISO-8859-9 +# tr_CY.UTF-8 UTF-8 +# tr_TR ISO-8859-9 +# tr_TR.UTF-8 UTF-8 +# ts_ZA UTF-8 +# tt_RU UTF-8 +# tt_RU@iqtelif UTF-8 +# ug_CN UTF-8 +# uk_UA KOI8-U +# uk_UA.UTF-8 UTF-8 +# unm_US UTF-8 +# ur_IN UTF-8 +# ur_PK UTF-8 +# uz_UZ ISO-8859-1 +# uz_UZ.UTF-8 UTF-8 +# uz_UZ@cyrillic UTF-8 +# ve_ZA UTF-8 +# vi_VN UTF-8 +# wa_BE ISO-8859-1 +# wa_BE.UTF-8 UTF-8 +# wa_BE@euro ISO-8859-15 +# wae_CH UTF-8 +# wal_ET UTF-8 +# wo_SN UTF-8 +# xh_ZA ISO-8859-1 +# xh_ZA.UTF-8 UTF-8 +# yi_US CP1255 +# yi_US.UTF-8 UTF-8 +# yo_NG UTF-8 +# yue_HK UTF-8 +# yuw_PG UTF-8 +# zh_CN GB2312 +# zh_CN.GB18030 GB18030 +# zh_CN.GBK GBK +# zh_CN.UTF-8 UTF-8 +# zh_HK BIG5-HKSCS +# zh_HK.UTF-8 UTF-8 +# zh_SG GB2312 +# zh_SG.GBK GBK +# zh_SG.UTF-8 UTF-8 +# zh_TW BIG5 +# zh_TW.EUC-TW EUC-TW +# zh_TW.UTF-8 UTF-8 +# zu_ZA ISO-8859-1 +# zu_ZA.UTF-8 UTF-8 +en_US.UTF-8 UTF-8 diff --git a/localtime b/localtime new file mode 120000 index 0000000..622b45b --- /dev/null +++ b/localtime @@ -0,0 +1 @@ +/usr/share/zoneinfo/Europe/Berlin \ No newline at end of file diff --git a/logcheck/ignore.d.server/gpg-agent b/logcheck/ignore.d.server/gpg-agent new file mode 100644 index 0000000..a2f2130 --- /dev/null +++ b/logcheck/ignore.d.server/gpg-agent @@ -0,0 +1,11 @@ +^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ systemd\[[[:digit:]]+\]: Listening on GnuPG cryptographic agent and passphrase cache\.$ +^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ systemd\[[[:digit:]]+\]: Listening on GnuPG network certificate management daemon\.$ +^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ systemd\[[[:digit:]]+\]: Listening on GnuPG cryptographic agent and passphrase cache \(restricted\)\.$ +^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ systemd\[[[:digit:]]+\]: Listening on GnuPG cryptographic agent \(access for web browsers\)\.$ +^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ systemd\[[[:digit:]]+\]: Listening on GnuPG cryptographic agent \(ssh-agent emulation\)\.$ +^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ systemd\[[[:digit:]]+\]: Closed GnuPG network certificate management daemon\.$ +^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ systemd\[[[:digit:]]+\]: Closed GnuPG cryptographic agent and passphrase cache\.$ +^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ systemd\[[[:digit:]]+\]: Closed GnuPG cryptographic agent and passphrase cache \(restricted\)\.$ +^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ systemd\[[[:digit:]]+\]: Closed GnuPG cryptographic agent \(ssh-agent emulation\)\.$ +^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ systemd\[[[:digit:]]+\]: Closed GnuPG cryptographic agent \(access for web browsers\)\.$ + diff --git a/logcheck/ignore.d.server/libsasl2-modules b/logcheck/ignore.d.server/libsasl2-modules new file mode 100644 index 0000000..0cf93aa --- /dev/null +++ b/logcheck/ignore.d.server/libsasl2-modules @@ -0,0 +1 @@ +\w{3} [ :0-9]{11} [._[:alnum:]-]+ [._[:alnum:]-]+: DIGEST-MD5 common mech free diff --git a/logcheck/ignore.d.server/mdadm b/logcheck/ignore.d.server/mdadm new file mode 100644 index 0000000..051c473 --- /dev/null +++ b/logcheck/ignore.d.server/mdadm @@ -0,0 +1,23 @@ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel:( \[ *[[:digit:]]+\.[[:digit:]]+\])? md: md driver [.[:digit:]]+ MAX_MD_DEVS=[[:digit:]]+, MD_SB_DISKS=[[:digit:]]+$ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel:( \[ *[[:digit:]]+\.[[:digit:]]+\])? md: bitmap version [.[:digit:]]+$ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel:( \[ *[[:digit:]]+\.[[:digit:]]+\])? md: md[[:digit:]]+ stopped\.$ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel:( \[ *[[:digit:]]+\.[[:digit:]]+\])? md: md[[:digit:]]+ still in use\.$ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel:( \[ *[[:digit:]]+\.[[:digit:]]+\])? md: cannot remove active disk [[:alnum:]]+ from md[[:digit:]]+ \.\.\. ?$ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel:( \[ *[[:digit:]]+\.[[:digit:]]+\])? md: raid([01456]|456|10) personality registered for level ([01456]|10)$ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel:( \[ *[[:digit:]]+\.[[:digit:]]+\])? md: (data-check|requested-resync|resync|reshape|recovery) of RAID array md[[:digit:]]+$ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel:( \[ *[[:digit:]]+\.[[:digit:]]+\])? md: resuming (data-check|requested-resync|resync|reshape|recovery) of md[[:digit:]]+ from checkpoint\.$ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel:( \[ *[[:digit:]]+\.[[:digit:]]+\])? md: md[[:digit:]]+: (data-check|requested-resync|resync|reshape|recovery) done\.$ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel:( \[ *[[:digit:]]+\.[[:digit:]]+\])? md: minimum _guaranteed_ ?speed: [[:digit:]]+ KB/sec/disk\.$ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel:( \[ *[[:digit:]]+\.[[:digit:]]+\])? md: using maximum available idle IO bandwidth \(but not more than [[:digit:]]+ KB/sec\) for (data-check|requested-resync|resync|reshape|recovery)\.$ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel:( \[ *[[:digit:]]+\.[[:digit:]]+\])? md: delaying (data-check|requested-resync|resync|reshape|recovery) of md[[:digit:]]+ until md[[:digit:]]+ has finished \(they share one or more physical units\)$ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel:( \[ *[[:digit:]]+\.[[:digit:]]+\])? md: using [[:digit:]]+k window, over a total of [[:digit:]]+( blocks|k)\.$ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel:( \[ *[[:digit:]]+\.[[:digit:]]+\])? md: (un)?bind<[^>]+>$ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel:( \[ *[[:digit:]]+\.[[:digit:]]+\])? md: export_rdev\([^)]+\)$ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel:( \[ *[[:digit:]]+\.[[:digit:]]+\])? raid[[:digit:]]+: raid set [[:alnum:]]+ active with [[:digit:]]+ out of [[:digit:]]+ mirrors$ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel:( \[ *[[:digit:]]+\.[[:digit:]]+\])? RAID([01456]|10) conf printout:$ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel:( \[ *[[:digit:]]+\.[[:digit:]]+\])?[[:space:]]+---( [wrf]d:[[:digit:]]+){2,3}$ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel:( \[ *[[:digit:]]+\.[[:digit:]]+\])?[[:space:]]+disk [[:digit:]]+,( wo:[[:digit:]]+,)? o:[[:digit:]]+, dev:[[:alnum:]]+$ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ mdadm(\[[[:digit:]]+\])?: Rebuild((Start|Finish)ed|[[:digit:]]+) event detected on md device /dev/[-_./[:alnum:]]+$ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ mdadm(\[[[:digit:]]+\])?: SpareActive event detected on md device /dev/[-_./[:alnum:]]+, component device /dev/[-_./[:alnum:]]+$ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ mdadm(\[[[:digit:]]+\])?: (New|Degraded)Array event detected on md device /dev/[-_./[:alnum:]]+$ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ mdadm(\[[[:digit:]]+\])?: DeviceDisappeared event detected on md device /dev/[-_./[:alnum:]]+$ diff --git a/logcheck/ignore.d.server/rsyslog b/logcheck/ignore.d.server/rsyslog new file mode 100644 index 0000000..171f20e --- /dev/null +++ b/logcheck/ignore.d.server/rsyslog @@ -0,0 +1,5 @@ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel: imklog [0-9.]+, log source = /proc/kmsg started.$ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel: Kernel logging \(proc\) stopped.$ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ rsyslogd: \[origin software="rsyslogd" swVersion="[0-9.]+" x-pid="[0-9]+" x-info="http://www.rsyslog.com"\] start$ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ rsyslogd: \[origin software="rsyslogd" swVersion="[0-9.]+" x-pid="[0-9]+" x-info="http://www.rsyslog.com"\] exiting on signal [0-9]+.$ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ rsyslogd: \[origin software="rsyslogd" swVersion="[0-9.]+" x-pid="[0-9]+" x-info="http://www.rsyslog.com"\] rsyslogd was HUPed$ diff --git a/logcheck/violations.d/mdadm b/logcheck/violations.d/mdadm new file mode 100644 index 0000000..ea8cce7 --- /dev/null +++ b/logcheck/violations.d/mdadm @@ -0,0 +1,3 @@ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel:( \[ *[[:digit:]]+\.[[:digit:]]+\])? md: kicking non-fresh [[:alnum:]]+ from array!$ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel:( \[ *[[:digit:]]+\.[[:digit:]]+\])? raid[[:digit:]]+: Disk failure on [[:alnum:]]+, disabling device\.$ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel:( \[ *[[:digit:]]+\.[[:digit:]]+\])?[[:space:]]+Operation continuing on [[:digit:]]+ devices?$ diff --git a/login.defs b/login.defs new file mode 100644 index 0000000..db8baa4 --- /dev/null +++ b/login.defs @@ -0,0 +1,340 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK is the default umask value for pam_umask and is used by +# useradd and newusers to set the mode of the new home directories. +# 022 is the "historical" value in Debian for UMASK +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +# +# If USERGROUPS_ENAB is set to "yes", that will modify this UMASK default value +# for private user groups, i. e. the uid is the same as gid, and username is +# the same as the primary group name: for these, the user permissions will be +# used as group permissions, e. g. 022 will become 002. +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 +# System accounts +#SYS_UID_MIN 100 +#SYS_UID_MAX 999 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 1000 +GID_MAX 60000 +# System accounts +#SYS_GID_MIN 100 +#SYS_GID_MAX 999 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# If set to yes, userdel will remove the user's group if it contains no +# more members, and useradd will create by default a group with the name +# of the user. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, such as Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is deprecated. You should use ENCRYPT_METHOD. +# +#MD5_CRYPT_ENAB no + +# +# If set to MD5 , MD5-based algorithm will be used for encrypting password +# If set to SHA256, SHA256-based algorithm will be used for encrypting password +# If set to SHA512, SHA512-based algorithm will be used for encrypting password +# If set to DES, DES-based algorithm will be used for encrypting password (default) +# Overrides the MD5_CRYPT_ENAB option +# +# Note: It is recommended to use a value consistent with +# the PAM modules configuration. +# +ENCRYPT_METHOD SHA512 + +# +# Only used if ENCRYPT_METHOD is set to SHA256 or SHA512. +# +# Define the number of SHA rounds. +# With a lot of rounds, it is more difficult to brute forcing the password. +# But note also that it more CPU resources will be needed to authenticate +# users. +# +# If not specified, the libc will choose the default number of rounds (5000). +# The values must be inside the 1000-999999999 range. +# If only one of the MIN or MAX values is set, then this value will be used. +# If MIN > MAX, the highest value will be used. +# +# SHA_CRYPT_MIN_ROUNDS 5000 +# SHA_CRYPT_MAX_ROUNDS 5000 + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/logrotate.conf b/logrotate.conf new file mode 100644 index 0000000..424c29f --- /dev/null +++ b/logrotate.conf @@ -0,0 +1,22 @@ +# see "man logrotate" for details +# rotate log files weekly +weekly + +# keep 4 weeks worth of backlogs +rotate 99 + +# create new (empty) log files after rotating old ones +create + +# use date as a suffix of the rotated file +compress +delaycompress +missingok +notifempty +dateext +dateformat -%Y-%m-%d + +# packages drop log rotation information into this directory +include /etc/logrotate.d + +# system-specific logs may be also be configured here. diff --git a/logrotate.d/alternatives b/logrotate.d/alternatives new file mode 100644 index 0000000..2fb2913 --- /dev/null +++ b/logrotate.d/alternatives @@ -0,0 +1,10 @@ +/var/log/alternatives.log { + monthly + rotate 12 + compress + delaycompress + missingok + notifempty + create 644 root root + olddir /var/log/.old +} diff --git a/logrotate.d/apt b/logrotate.d/apt new file mode 100644 index 0000000..e44bd86 --- /dev/null +++ b/logrotate.d/apt @@ -0,0 +1,18 @@ +/var/log/apt/term.log { + rotate 12 + monthly + compress + missingok + notifempty + minsize 1M +} + +/var/log/apt/history.log { + rotate 12 + monthly + compress + missingok + notifempty + minsize 1M +} + diff --git a/logrotate.d/aptitude b/logrotate.d/aptitude new file mode 100644 index 0000000..b3aaceb --- /dev/null +++ b/logrotate.d/aptitude @@ -0,0 +1,9 @@ +/var/log/aptitude { + rotate 6 + monthly + compress + missingok + notifempty + olddir /var/log/.old + minsize 1M +} diff --git a/logrotate.d/btmp b/logrotate.d/btmp new file mode 100644 index 0000000..0c3cbb3 --- /dev/null +++ b/logrotate.d/btmp @@ -0,0 +1,8 @@ +# no packages own btmp -- we'll rotate it here +/var/log/btmp { + missingok + monthly + create 0660 root utmp + rotate 12 + minsize 4M +} diff --git a/logrotate.d/dpkg b/logrotate.d/dpkg new file mode 100644 index 0000000..c5051c8 --- /dev/null +++ b/logrotate.d/dpkg @@ -0,0 +1,10 @@ +/var/log/dpkg.log { + monthly + rotate 12 + compress + delaycompress + missingok + notifempty + create 644 root root + olddir /var/log/.old +} diff --git a/logrotate.d/rsyslog b/logrotate.d/rsyslog new file mode 100644 index 0000000..013ddef --- /dev/null +++ b/logrotate.d/rsyslog @@ -0,0 +1,60 @@ +/var/log/syslog /var/log/messages { + rotate 7 + daily + missingok + notifempty + delaycompress + compress + minsize 4M + olddir /var/log/.old + sharedscripts + postrotate + /usr/lib/rsyslog/rsyslog-rotate + endscript +} + +/var/log/all.log +/var/log/mail.info +/var/log/mail.warn +/var/log/mail.err +/var/log/mail.log +/var/log/daemon.log +/var/log/kern.log +/var/log/auth.log +/var/log/user.log +/var/log/lpr.log +/var/log/cron.log +/var/log/debug +/var/log/debug.log +{ + rotate 4 + weekly + missingok + notifempty + compress + delaycompress + minsize 4M + olddir /var/log/.old + sharedscripts + postrotate + /usr/lib/rsyslog/rsyslog-rotate + endscript +} + +/var/log/syslog.d/*.log { + rotate 10 + weekly + missingok + notifempty + size 4M + delaycompress + dateext + compress + olddir /var/log/syslog.d/.old + sharedscripts + postrotate + /usr/lib/rsyslog/rsyslog-rotate + endscript +} + +# vim: ts=4 filetype=conf et diff --git a/logrotate.d/wtmp b/logrotate.d/wtmp new file mode 100644 index 0000000..4856099 --- /dev/null +++ b/logrotate.d/wtmp @@ -0,0 +1,9 @@ +# no packages own wtmp -- we'll rotate it here +/var/log/wtmp { + missingok + monthly + create 0664 root utmp + minsize 1M + rotate 12 + minsize 4M +} diff --git a/lvm/backup/data b/lvm/backup/data new file mode 100644 index 0000000..952d613 --- /dev/null +++ b/lvm/backup/data @@ -0,0 +1,144 @@ +# Generated by LVM2 version 2.03.02(2) (2018-12-18): Tue Apr 6 09:47:55 2021 + +contents = "Text Format Volume Group" +version = 1 + +description = "Created *after* executing 'lvcreate -L 10G -n mysql data'" + +creation_host = "helga" # Linux helga 4.19.0-16-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64 +creation_time = 1617695275 # Tue Apr 6 09:47:55 2021 + +data { + id = "8Zuswo-fhIx-2bdt-LVIf-qy6J-A8Sf-PlVuAB" + seqno = 8 + format = "lvm2" # informational + status = ["RESIZEABLE", "READ", "WRITE"] + flags = [] + extent_size = 8192 # 4 Megabytes + max_lv = 0 + max_pv = 0 + metadata_copies = 0 + + physical_volumes { + + pv0 { + id = "d8HI6M-Zm41-3Bvo-HNU1-iyP4-5CL0-HgKBip" + device = "/dev/sdb" # Hint only + + status = ["ALLOCATABLE"] + flags = [] + dev_size = 419430400 # 200 Gigabytes + pe_start = 2048 + pe_count = 51199 # 199.996 Gigabytes + } + } + + logical_volumes { + + opt { + id = "iMCPrz-Hu8o-rTwI-FKPX-Yz24-9SKY-UGSJUe" + status = ["READ", "WRITE", "VISIBLE"] + flags = [] + creation_time = 1617695037 # 2021-04-06 09:43:57 +0200 + creation_host = "helga" + segment_count = 1 + + segment1 { + start_extent = 0 + extent_count = 1024 # 4 Gigabytes + + type = "striped" + stripe_count = 1 # linear + + stripes = [ + "pv0", 0 + ] + } + } + + home { + id = "BhU9aX-JelM-KYqC-zRzl-mfZE-4UYn-FOyp4L" + status = ["READ", "WRITE", "VISIBLE"] + flags = [] + creation_time = 1617695106 # 2021-04-06 09:45:06 +0200 + creation_host = "helga" + segment_count = 1 + + segment1 { + start_extent = 0 + extent_count = 5120 # 20 Gigabytes + + type = "striped" + stripe_count = 1 # linear + + stripes = [ + "pv0", 1024 + ] + } + } + + vmail { + id = "XUfezY-zsNa-fxRn-fuYi-V8ac-JTT7-7gVr5t" + status = ["READ", "WRITE", "VISIBLE"] + flags = [] + creation_time = 1617695179 # 2021-04-06 09:46:19 +0200 + creation_host = "helga" + segment_count = 1 + + segment1 { + start_extent = 0 + extent_count = 12800 # 50 Gigabytes + + type = "striped" + stripe_count = 1 # linear + + stripes = [ + "pv0", 6144 + ] + } + } + + backup { + id = "D9TbkR-GMi2-fuKf-fapC-kor2-6uFY-FbNbS9" + status = ["READ", "WRITE", "VISIBLE"] + flags = [] + creation_time = 1617695217 # 2021-04-06 09:46:57 +0200 + creation_host = "helga" + segment_count = 1 + + segment1 { + start_extent = 0 + extent_count = 25600 # 100 Gigabytes + + type = "striped" + stripe_count = 1 # linear + + stripes = [ + "pv0", 18944 + ] + } + } + + mysql { + id = "LSW4aB-GIfC-xMqq-XqjV-3TSq-lQ5x-0ypPex" + status = ["READ", "WRITE", "VISIBLE"] + flags = [] + creation_time = 1617695275 # 2021-04-06 09:47:55 +0200 + creation_host = "helga" + segment_count = 1 + + segment1 { + start_extent = 0 + extent_count = 2560 # 10 Gigabytes + + type = "striped" + stripe_count = 1 # linear + + stripes = [ + "pv0", 44544 + ] + } + } + } + +} diff --git a/lvm/lvm.conf b/lvm/lvm.conf new file mode 100644 index 0000000..25326d0 --- /dev/null +++ b/lvm/lvm.conf @@ -0,0 +1,2190 @@ +# This is an example configuration file for the LVM2 system. +# It contains the default settings that would be used if there was no +# /etc/lvm/lvm.conf file. +# +# Refer to 'man lvm.conf' for further information including the file layout. +# +# Refer to 'man lvm.conf' for information about how settings configured in +# this file are combined with built-in values and command line options to +# arrive at the final values used by LVM. +# +# Refer to 'man lvmconfig' for information about displaying the built-in +# and configured values used by LVM. +# +# If a default value is set in this file (not commented out), then a +# new version of LVM using this file will continue using that value, +# even if the new version of LVM changes the built-in default value. +# +# To put this file in a different directory and override /etc/lvm set +# the environment variable LVM_SYSTEM_DIR before running the tools. +# +# N.B. Take care that each setting only appears once if uncommenting +# example settings in this file. + + +# Configuration section config. +# How LVM configuration settings are handled. +config { + + # Configuration option config/checks. + # If enabled, any LVM configuration mismatch is reported. + # This implies checking that the configuration key is understood by + # LVM and that the value of the key is the proper type. If disabled, + # any configuration mismatch is ignored and the default value is used + # without any warning (a message about the configuration key not being + # found is issued in verbose mode only). + checks = 1 + + # Configuration option config/abort_on_errors. + # Abort the LVM process if a configuration mismatch is found. + abort_on_errors = 0 + + # Configuration option config/profile_dir. + # Directory where LVM looks for configuration profiles. + profile_dir = "/etc/lvm/profile" +} + +# Configuration section devices. +# How LVM uses block devices. +devices { + + # Configuration option devices/dir. + # Directory in which to create volume group device nodes. + # Commands also accept this as a prefix on volume group names. + # This configuration option is advanced. + dir = "/dev" + + # Configuration option devices/scan. + # Directories containing device nodes to use with LVM. + # This configuration option is advanced. + scan = [ "/dev" ] + + # Configuration option devices/obtain_device_list_from_udev. + # Obtain the list of available devices from udev. + # This avoids opening or using any inapplicable non-block devices or + # subdirectories found in the udev directory. Any device node or + # symlink not managed by udev in the udev directory is ignored. This + # setting applies only to the udev-managed device directory; other + # directories will be scanned fully. LVM needs to be compiled with + # udev support for this setting to apply. + obtain_device_list_from_udev = 1 + + # Configuration option devices/external_device_info_source. + # Select an external device information source. + # Some information may already be available in the system and LVM can + # use this information to determine the exact type or use of devices it + # processes. Using an existing external device information source can + # speed up device processing as LVM does not need to run its own native + # routines to acquire this information. For example, this information + # is used to drive LVM filtering like MD component detection, multipath + # component detection, partition detection and others. + # + # Accepted values: + # none + # No external device information source is used. + # udev + # Reuse existing udev database records. Applicable only if LVM is + # compiled with udev support. + # + external_device_info_source = "none" + + # Configuration option devices/preferred_names. + # Select which path name to display for a block device. + # If multiple path names exist for a block device, and LVM needs to + # display a name for the device, the path names are matched against + # each item in this list of regular expressions. The first match is + # used. Try to avoid using undescriptive /dev/dm-N names, if present. + # If no preferred name matches, or if preferred_names are not defined, + # the following built-in preferences are applied in order until one + # produces a preferred name: + # Prefer names with path prefixes in the order of: + # /dev/mapper, /dev/disk, /dev/dm-*, /dev/block. + # Prefer the name with the least number of slashes. + # Prefer a name that is a symlink. + # Prefer the path with least value in lexicographical order. + # + # Example + # preferred_names = [ "^/dev/mpath/", "^/dev/mapper/mpath", "^/dev/[hs]d" ] + # + # This configuration option does not have a default value defined. + + # Configuration option devices/filter. + # Limit the block devices that are used by LVM commands. + # This is a list of regular expressions used to accept or reject block + # device path names. Each regex is delimited by a vertical bar '|' + # (or any character) and is preceded by 'a' to accept the path, or + # by 'r' to reject the path. The first regex in the list to match the + # path is used, producing the 'a' or 'r' result for the device. + # When multiple path names exist for a block device, if any path name + # matches an 'a' pattern before an 'r' pattern, then the device is + # accepted. If all the path names match an 'r' pattern first, then the + # device is rejected. Unmatching path names do not affect the accept + # or reject decision. If no path names for a device match a pattern, + # then the device is accepted. Be careful mixing 'a' and 'r' patterns, + # as the combination might produce unexpected results (test changes.) + # Run vgscan after changing the filter to regenerate the cache. + # + # Example + # Accept every block device: + # filter = [ "a|.*/|" ] + # Reject the cdrom drive: + # filter = [ "r|/dev/cdrom|" ] + # Work with just loopback devices, e.g. for testing: + # filter = [ "a|loop|", "r|.*|" ] + # Accept all loop devices and ide drives except hdc: + # filter = [ "a|loop|", "r|/dev/hdc|", "a|/dev/ide|", "r|.*|" ] + # Use anchors to be very specific: + # filter = [ "a|^/dev/hda8$|", "r|.*/|" ] + # + # This configuration option has an automatic default value. + # filter = [ "a|.*/|" ] + + # Configuration option devices/global_filter. + # Limit the block devices that are used by LVM system components. + # Because devices/filter may be overridden from the command line, it is + # not suitable for system-wide device filtering, e.g. udev. + # Use global_filter to hide devices from these LVM system components. + # The syntax is the same as devices/filter. Devices rejected by + # global_filter are not opened by LVM. + # This configuration option has an automatic default value. + # global_filter = [ "a|.*/|" ] + + # Configuration option devices/types. + # List of additional acceptable block device types. + # These are of device type names from /proc/devices, followed by the + # maximum number of partitions. + # + # Example + # types = [ "fd", 16 ] + # + # This configuration option is advanced. + # This configuration option does not have a default value defined. + + # Configuration option devices/sysfs_scan. + # Restrict device scanning to block devices appearing in sysfs. + # This is a quick way of filtering out block devices that are not + # present on the system. sysfs must be part of the kernel and mounted.) + sysfs_scan = 1 + + # Configuration option devices/scan_lvs. + # Scan LVM LVs for layered PVs. + scan_lvs = 1 + + # Configuration option devices/multipath_component_detection. + # Ignore devices that are components of DM multipath devices. + multipath_component_detection = 1 + + # Configuration option devices/md_component_detection. + # Ignore devices that are components of software RAID (md) devices. + md_component_detection = 1 + + # Configuration option devices/fw_raid_component_detection. + # Ignore devices that are components of firmware RAID devices. + # LVM must use an external_device_info_source other than none for this + # detection to execute. + fw_raid_component_detection = 0 + + # Configuration option devices/md_chunk_alignment. + # Align the start of a PV data area with md device's stripe-width. + # This applies if a PV is placed directly on an md device. + # default_data_alignment will be overriden if it is not aligned + # with the value detected for this setting. + # This setting is overriden by data_alignment_detection, + # data_alignment, and the --dataalignment option. + md_chunk_alignment = 1 + + # Configuration option devices/default_data_alignment. + # Align the start of a PV data area with this number of MiB. + # Set to 1 for 1MiB, 2 for 2MiB, etc. Set to 0 to disable. + # This setting is overriden by data_alignment and the --dataalignment + # option. + # This configuration option has an automatic default value. + # default_data_alignment = 1 + + # Configuration option devices/data_alignment_detection. + # Align the start of a PV data area with sysfs io properties. + # The start of a PV data area will be a multiple of minimum_io_size or + # optimal_io_size exposed in sysfs. minimum_io_size is the smallest + # request the device can perform without incurring a read-modify-write + # penalty, e.g. MD chunk size. optimal_io_size is the device's + # preferred unit of receiving I/O, e.g. MD stripe width. + # minimum_io_size is used if optimal_io_size is undefined (0). + # If md_chunk_alignment is enabled, that detects the optimal_io_size. + # default_data_alignment and md_chunk_alignment will be overriden + # if they are not aligned with the value detected for this setting. + # This setting is overriden by data_alignment and the --dataalignment + # option. + data_alignment_detection = 1 + + # Configuration option devices/data_alignment. + # Align the start of a PV data area with this number of KiB. + # When non-zero, this setting overrides default_data_alignment. + # Set to 0 to disable, in which case default_data_alignment + # is used to align the first PE in units of MiB. + # This setting is overriden by the --dataalignment option. + data_alignment = 0 + + # Configuration option devices/data_alignment_offset_detection. + # Shift the start of an aligned PV data area based on sysfs information. + # After a PV data area is aligned, it will be shifted by the + # alignment_offset exposed in sysfs. This offset is often 0, but may + # be non-zero. Certain 4KiB sector drives that compensate for windows + # partitioning will have an alignment_offset of 3584 bytes (sector 7 + # is the lowest aligned logical block, the 4KiB sectors start at + # LBA -1, and consequently sector 63 is aligned on a 4KiB boundary). + # This setting is overriden by the --dataalignmentoffset option. + data_alignment_offset_detection = 1 + + # Configuration option devices/ignore_suspended_devices. + # Ignore DM devices that have I/O suspended while scanning devices. + # Otherwise, LVM waits for a suspended device to become accessible. + # This should only be needed in recovery situations. + ignore_suspended_devices = 0 + + # Configuration option devices/ignore_lvm_mirrors. + # Do not scan 'mirror' LVs to avoid possible deadlocks. + # This avoids possible deadlocks when using the 'mirror' segment type. + # This setting determines whether LVs using the 'mirror' segment type + # are scanned for LVM labels. This affects the ability of mirrors to + # be used as physical volumes. If this setting is enabled, it is + # impossible to create VGs on top of mirror LVs, i.e. to stack VGs on + # mirror LVs. If this setting is disabled, allowing mirror LVs to be + # scanned, it may cause LVM processes and I/O to the mirror to become + # blocked. This is due to the way that the mirror segment type handles + # failures. In order for the hang to occur, an LVM command must be run + # just after a failure and before the automatic LVM repair process + # takes place, or there must be failures in multiple mirrors in the + # same VG at the same time with write failures occurring moments before + # a scan of the mirror's labels. The 'mirror' scanning problems do not + # apply to LVM RAID types like 'raid1' which handle failures in a + # different way, making them a better choice for VG stacking. + ignore_lvm_mirrors = 1 + + # Configuration option devices/require_restorefile_with_uuid. + # Allow use of pvcreate --uuid without requiring --restorefile. + require_restorefile_with_uuid = 1 + + # Configuration option devices/pv_min_size. + # Minimum size in KiB of block devices which can be used as PVs. + # In a clustered environment all nodes must use the same value. + # Any value smaller than 512KiB is ignored. The previous built-in + # value was 512. + pv_min_size = 2048 + + # Configuration option devices/issue_discards. + # Issue discards to PVs that are no longer used by an LV. + # Discards are sent to an LV's underlying physical volumes when the LV + # is no longer using the physical volumes' space, e.g. lvremove, + # lvreduce. Discards inform the storage that a region is no longer + # used. Storage that supports discards advertise the protocol-specific + # way discards should be issued by the kernel (TRIM, UNMAP, or + # WRITE SAME with UNMAP bit set). Not all storage will support or + # benefit from discards, but SSDs and thinly provisioned LUNs + # generally do. If enabled, discards will only be issued if both the + # storage and kernel provide support. + issue_discards = 0 + + # Configuration option devices/allow_changes_with_duplicate_pvs. + # Allow VG modification while a PV appears on multiple devices. + # When a PV appears on multiple devices, LVM attempts to choose the + # best device to use for the PV. If the devices represent the same + # underlying storage, the choice has minimal consequence. If the + # devices represent different underlying storage, the wrong choice + # can result in data loss if the VG is modified. Disabling this + # setting is the safest option because it prevents modifying a VG + # or activating LVs in it while a PV appears on multiple devices. + # Enabling this setting allows the VG to be used as usual even with + # uncertain devices. + allow_changes_with_duplicate_pvs = 0 +} + +# Configuration section allocation. +# How LVM selects space and applies properties to LVs. +allocation { + + # Configuration option allocation/cling_tag_list. + # Advise LVM which PVs to use when searching for new space. + # When searching for free space to extend an LV, the 'cling' allocation + # policy will choose space on the same PVs as the last segment of the + # existing LV. If there is insufficient space and a list of tags is + # defined here, it will check whether any of them are attached to the + # PVs concerned and then seek to match those PV tags between existing + # extents and new extents. + # + # Example + # Use the special tag "@*" as a wildcard to match any PV tag: + # cling_tag_list = [ "@*" ] + # LVs are mirrored between two sites within a single VG, and + # PVs are tagged with either @site1 or @site2 to indicate where + # they are situated: + # cling_tag_list = [ "@site1", "@site2" ] + # + # This configuration option does not have a default value defined. + + # Configuration option allocation/maximise_cling. + # Use a previous allocation algorithm. + # Changes made in version 2.02.85 extended the reach of the 'cling' + # policies to detect more situations where data can be grouped onto + # the same disks. This setting can be used to disable the changes + # and revert to the previous algorithm. + maximise_cling = 1 + + # Configuration option allocation/use_blkid_wiping. + # Use blkid to detect and erase existing signatures on new PVs and LVs. + # The blkid library can detect more signatures than the native LVM + # detection code, but may take longer. LVM needs to be compiled with + # blkid wiping support for this setting to apply. LVM native detection + # code is currently able to recognize: MD device signatures, + # swap signature, and LUKS signatures. To see the list of signatures + # recognized by blkid, check the output of the 'blkid -k' command. + use_blkid_wiping = 1 + + # Configuration option allocation/wipe_signatures_when_zeroing_new_lvs. + # Look for and erase any signatures while zeroing a new LV. + # The --wipesignatures option overrides this setting. + # Zeroing is controlled by the -Z/--zero option, and if not specified, + # zeroing is used by default if possible. Zeroing simply overwrites the + # first 4KiB of a new LV with zeroes and does no signature detection or + # wiping. Signature wiping goes beyond zeroing and detects exact types + # and positions of signatures within the whole LV. It provides a + # cleaner LV after creation as all known signatures are wiped. The LV + # is not claimed incorrectly by other tools because of old signatures + # from previous use. The number of signatures that LVM can detect + # depends on the detection code that is selected (see + # use_blkid_wiping.) Wiping each detected signature must be confirmed. + # When this setting is disabled, signatures on new LVs are not detected + # or erased unless the --wipesignatures option is used directly. + wipe_signatures_when_zeroing_new_lvs = 1 + + # Configuration option allocation/mirror_logs_require_separate_pvs. + # Mirror logs and images will always use different PVs. + # The default setting changed in version 2.02.85. + mirror_logs_require_separate_pvs = 0 + + # Configuration option allocation/raid_stripe_all_devices. + # Stripe across all PVs when RAID stripes are not specified. + # If enabled, all PVs in the VG or on the command line are used for + # raid0/4/5/6/10 when the command does not specify the number of + # stripes to use. + # This was the default behaviour until release 2.02.162. + # This configuration option has an automatic default value. + # raid_stripe_all_devices = 0 + + # Configuration option allocation/cache_pool_metadata_require_separate_pvs. + # Cache pool metadata and data will always use different PVs. + cache_pool_metadata_require_separate_pvs = 0 + + # Configuration option allocation/cache_metadata_format. + # Sets default metadata format for new cache. + # + # Accepted values: + # 0 Automatically detected best available format + # 1 Original format + # 2 Improved 2nd. generation format + # + # This configuration option has an automatic default value. + # cache_metadata_format = 0 + + # Configuration option allocation/cache_mode. + # The default cache mode used for new cache. + # + # Accepted values: + # writethrough + # Data blocks are immediately written from the cache to disk. + # writeback + # Data blocks are written from the cache back to disk after some + # delay to improve performance. + # + # This setting replaces allocation/cache_pool_cachemode. + # This configuration option has an automatic default value. + # cache_mode = "writethrough" + + # Configuration option allocation/cache_policy. + # The default cache policy used for new cache volume. + # Since kernel 4.2 the default policy is smq (Stochastic multiqueue), + # otherwise the older mq (Multiqueue) policy is selected. + # This configuration option does not have a default value defined. + + # Configuration section allocation/cache_settings. + # Settings for the cache policy. + # See documentation for individual cache policies for more info. + # This configuration section has an automatic default value. + # cache_settings { + # } + + # Configuration option allocation/cache_pool_chunk_size. + # The minimal chunk size in KiB for cache pool volumes. + # Using a chunk_size that is too large can result in wasteful use of + # the cache, where small reads and writes can cause large sections of + # an LV to be mapped into the cache. However, choosing a chunk_size + # that is too small can result in more overhead trying to manage the + # numerous chunks that become mapped into the cache. The former is + # more of a problem than the latter in most cases, so the default is + # on the smaller end of the spectrum. Supported values range from + # 32KiB to 1GiB in multiples of 32. + # This configuration option does not have a default value defined. + + # Configuration option allocation/cache_pool_max_chunks. + # The maximum number of chunks in a cache pool. + # For cache target v1.9 the recommended maximumm is 1000000 chunks. + # Using cache pool with more chunks may degrade cache performance. + # This configuration option does not have a default value defined. + + # Configuration option allocation/thin_pool_metadata_require_separate_pvs. + # Thin pool metdata and data will always use different PVs. + thin_pool_metadata_require_separate_pvs = 0 + + # Configuration option allocation/thin_pool_zero. + # Thin pool data chunks are zeroed before they are first used. + # Zeroing with a larger thin pool chunk size reduces performance. + # This configuration option has an automatic default value. + # thin_pool_zero = 1 + + # Configuration option allocation/thin_pool_discards. + # The discards behaviour of thin pool volumes. + # + # Accepted values: + # ignore + # nopassdown + # passdown + # + # This configuration option has an automatic default value. + # thin_pool_discards = "passdown" + + # Configuration option allocation/thin_pool_chunk_size_policy. + # The chunk size calculation policy for thin pool volumes. + # + # Accepted values: + # generic + # If thin_pool_chunk_size is defined, use it. Otherwise, calculate + # the chunk size based on estimation and device hints exposed in + # sysfs - the minimum_io_size. The chunk size is always at least + # 64KiB. + # performance + # If thin_pool_chunk_size is defined, use it. Otherwise, calculate + # the chunk size for performance based on device hints exposed in + # sysfs - the optimal_io_size. The chunk size is always at least + # 512KiB. + # + # This configuration option has an automatic default value. + # thin_pool_chunk_size_policy = "generic" + + # Configuration option allocation/thin_pool_chunk_size. + # The minimal chunk size in KiB for thin pool volumes. + # Larger chunk sizes may improve performance for plain thin volumes, + # however using them for snapshot volumes is less efficient, as it + # consumes more space and takes extra time for copying. When unset, + # lvm tries to estimate chunk size starting from 64KiB. Supported + # values are in the range 64KiB to 1GiB. + # This configuration option does not have a default value defined. + + # Configuration option allocation/physical_extent_size. + # Default physical extent size in KiB to use for new VGs. + # This configuration option has an automatic default value. + # physical_extent_size = 4096 + + # Configuration option allocation/vdo_use_compression. + # Enables or disables compression when creating a VDO volume. + # Compression may be disabled if necessary to maximize performance + # or to speed processing of data that is unlikely to compress. + # This configuration option has an automatic default value. + # vdo_use_compression = 1 + + # Configuration option allocation/vdo_use_deduplication. + # Enables or disables deduplication when creating a VDO volume. + # Deduplication may be disabled in instances where data is not expected + # to have good deduplication rates but compression is still desired. + # This configuration option has an automatic default value. + # vdo_use_deduplication = 1 + + # Configuration option allocation/vdo_emulate_512_sectors. + # Specifies that the VDO volume is to emulate a 512 byte block device. + # This configuration option has an automatic default value. + # vdo_emulate_512_sectors = 0 + + # Configuration option allocation/vdo_block_map_cache_size_mb. + # Specifies the amount of memory in MiB allocated for caching block map + # pages for VDO volume. The value must be a multiple of 4096 and must be + # at least 128MiB and less than 16TiB. The cache must be at least 16MiB + # per logical thread. Note that there is a memory overhead of 15%. + # This configuration option has an automatic default value. + # vdo_block_map_cache_size_mb = 128 + + # Configuration option allocation/vdo_block_map_period. + # Tunes the quantity of block map updates that can accumulate + # before cache pages are flushed to disk. The value must be + # at least 1 and less then 16380. + # A lower value means shorter recovery time but lower performance. + # This configuration option has an automatic default value. + # vdo_block_map_period = 16380 + + # Configuration option allocation/vdo_check_point_frequency. + # The default check point frequency for VDO volume. + # This configuration option has an automatic default value. + # vdo_check_point_frequency = 0 + + # Configuration option allocation/vdo_use_sparse_index. + # Enables sparse indexing for VDO volume. + # This configuration option has an automatic default value. + # vdo_use_sparse_index = 0 + + # Configuration option allocation/vdo_index_memory_size_mb. + # Specifies the amount of index memory in MiB for VDO volume. + # The value must be at least 256MiB and at most 1TiB. + # This configuration option has an automatic default value. + # vdo_index_memory_size_mb = 256 + + # Configuration option allocation/vdo_use_read_cache. + # Enables or disables the read cache within the VDO volume. + # The cache should be enabled if write workloads are expected + # to have high levels of deduplication, or for read intensive + # workloads of highly compressible data. + # This configuration option has an automatic default value. + # vdo_use_read_cache = 0 + + # Configuration option allocation/vdo_read_cache_size_mb. + # Specifies the extra VDO volume read cache size in MiB. + # This space is in addition to a system-defined minimum. + # The value must be less then 16TiB and 1.12 MiB of memory + # will be used per MiB of read cache specified, per bio thread. + # This configuration option has an automatic default value. + # vdo_read_cache_size_mb = 0 + + # Configuration option allocation/vdo_slab_size_mb. + # Specifies the size in MiB of the increment by which a VDO is grown. + # Using a smaller size constrains the total maximum physical size + # that can be accommodated. Must be a power of two between 128MiB and 32GiB. + # This configuration option has an automatic default value. + # vdo_slab_size_mb = 2048 + + # Configuration option allocation/vdo_ack_threads. + # Specifies the number of threads to use for acknowledging + # completion of requested VDO I/O operations. + # The value must be at in range [0..100]. + # This configuration option has an automatic default value. + # vdo_ack_threads = 1 + + # Configuration option allocation/vdo_bio_threads. + # Specifies the number of threads to use for submitting I/O + # operations to the storage device of VDO volume. + # The value must be in range [1..100] + # Each additional thread after the first will use an additional 18MiB of RAM, + # plus 1.12 MiB of RAM per megabyte of configured read cache size. + # This configuration option has an automatic default value. + # vdo_bio_threads = 1 + + # Configuration option allocation/vdo_bio_rotation. + # Specifies the number of I/O operations to enqueue for each bio-submission + # thread before directing work to the next. The value must be in range [1..1024]. + # This configuration option has an automatic default value. + # vdo_bio_rotation = 64 + + # Configuration option allocation/vdo_cpu_threads. + # Specifies the number of threads to use for CPU-intensive work such as + # hashing or compression for VDO volume. The value must be in range [1..100] + # This configuration option has an automatic default value. + # vdo_cpu_threads = 2 + + # Configuration option allocation/vdo_hash_zone_threads. + # Specifies the number of threads across which to subdivide parts of the VDO + # processing based on the hash value computed from the block data. + # The value must be at in range [0..100]. + # vdo_hash_zone_threads, vdo_logical_threads and vdo_physical_threads must be + # either all zero or all non-zero. + # This configuration option has an automatic default value. + # vdo_hash_zone_threads = 1 + + # Configuration option allocation/vdo_logical_threads. + # Specifies the number of threads across which to subdivide parts of the VDO + # processing based on the hash value computed from the block data. + # A logical thread count of 9 or more will require explicitly specifying + # a sufficiently large block map cache size, as well. + # The value must be in range [0..100]. + # vdo_hash_zone_threads, vdo_logical_threads and vdo_physical_threads must be + # either all zero or all non-zero. + # This configuration option has an automatic default value. + # vdo_logical_threads = 1 + + # Configuration option allocation/vdo_physical_threads. + # Specifies the number of threads across which to subdivide parts of the VDO + # processing based on physical block addresses. + # Each additional thread after the first will use an additional 10MiB of RAM. + # The value must be in range [0..16]. + # vdo_hash_zone_threads, vdo_logical_threads and vdo_physical_threads must be + # either all zero or all non-zero. + # This configuration option has an automatic default value. + # vdo_physical_threads = 1 + + # Configuration option allocation/vdo_write_policy. + # Specifies the write policy: + # auto - VDO will check the storage device and determine whether it supports flushes. + # If it does, VDO will run in async mode, otherwise it will run in sync mode. + # sync - Writes are acknowledged only after data is stably written. + # This policy is not supported if the underlying storage is not also synchronous. + # async - Writes are acknowledged after data has been cached for writing to stable storage. + # Data which has not been flushed is not guaranteed to persist in this mode. + # This configuration option has an automatic default value. + # vdo_write_policy = "auto" +} + +# Configuration section log. +# How LVM log information is reported. +log { + + # Configuration option log/report_command_log. + # Enable or disable LVM log reporting. + # If enabled, LVM will collect a log of operations, messages, + # per-object return codes with object identification and associated + # error numbers (errnos) during LVM command processing. Then the + # log is either reported solely or in addition to any existing + # reports, depending on LVM command used. If it is a reporting command + # (e.g. pvs, vgs, lvs, lvm fullreport), then the log is reported in + # addition to any existing reports. Otherwise, there's only log report + # on output. For all applicable LVM commands, you can request that + # the output has only log report by using --logonly command line + # option. Use log/command_log_cols and log/command_log_sort settings + # to define fields to display and sort fields for the log report. + # You can also use log/command_log_selection to define selection + # criteria used each time the log is reported. + # This configuration option has an automatic default value. + # report_command_log = 0 + + # Configuration option log/command_log_sort. + # List of columns to sort by when reporting command log. + # See --logonly --configreport log -o help + # for the list of possible fields. + # This configuration option has an automatic default value. + # command_log_sort = "log_seq_num" + + # Configuration option log/command_log_cols. + # List of columns to report when reporting command log. + # See --logonly --configreport log -o help + # for the list of possible fields. + # This configuration option has an automatic default value. + # command_log_cols = "log_seq_num,log_type,log_context,log_object_type,log_object_name,log_object_id,log_object_group,log_object_group_id,log_message,log_errno,log_ret_code" + + # Configuration option log/command_log_selection. + # Selection criteria used when reporting command log. + # You can define selection criteria that are applied each + # time log is reported. This way, it is possible to control the + # amount of log that is displayed on output and you can select + # only parts of the log that are important for you. To define + # selection criteria, use fields from log report. See also + # --logonly --configreport log -S help for the + # list of possible fields and selection operators. You can also + # define selection criteria for log report on command line directly + # using --configreport log -S + # which has precedence over log/command_log_selection setting. + # For more information about selection criteria in general, see + # lvm(8) man page. + # This configuration option has an automatic default value. + # command_log_selection = "!(log_type=status && message=success)" + + # Configuration option log/verbose. + # Controls the messages sent to stdout or stderr. + verbose = 0 + + # Configuration option log/silent. + # Suppress all non-essential messages from stdout. + # This has the same effect as -qq. When enabled, the following commands + # still produce output: dumpconfig, lvdisplay, lvmdiskscan, lvs, pvck, + # pvdisplay, pvs, version, vgcfgrestore -l, vgdisplay, vgs. + # Non-essential messages are shifted from log level 4 to log level 5 + # for syslog and lvm2_log_fn purposes. + # Any 'yes' or 'no' questions not overridden by other arguments are + # suppressed and default to 'no'. + silent = 0 + + # Configuration option log/syslog. + # Send log messages through syslog. + syslog = 1 + + # Configuration option log/file. + # Write error and debug log messages to a file specified here. + # This configuration option does not have a default value defined. + + # Configuration option log/overwrite. + # Overwrite the log file each time the program is run. + overwrite = 0 + + # Configuration option log/level. + # The level of log messages that are sent to the log file or syslog. + # There are 6 syslog-like log levels currently in use: 2 to 7 inclusive. + # 7 is the most verbose (LOG_DEBUG). + level = 0 + + # Configuration option log/indent. + # Indent messages according to their severity. + indent = 1 + + # Configuration option log/command_names. + # Display the command name on each line of output. + command_names = 0 + + # Configuration option log/prefix. + # A prefix to use before the log message text. + # (After the command name, if selected). + # Two spaces allows you to see/grep the severity of each message. + # To make the messages look similar to the original LVM tools use: + # indent = 0, command_names = 1, prefix = " -- " + prefix = " " + + # Configuration option log/activation. + # Log messages during activation. + # Don't use this in low memory situations (can deadlock). + activation = 0 + + # Configuration option log/debug_classes. + # Select log messages by class. + # Some debugging messages are assigned to a class and only appear in + # debug output if the class is listed here. Classes currently + # available: memory, devices, io, activation, allocation, + # metadata, cache, locking, lvmpolld. Use "all" to see everything. + debug_classes = [ "memory", "devices", "io", "activation", "allocation", "metadata", "cache", "locking", "lvmpolld", "dbus" ] +} + +# Configuration section backup. +# How LVM metadata is backed up and archived. +# In LVM, a 'backup' is a copy of the metadata for the current system, +# and an 'archive' contains old metadata configurations. They are +# stored in a human readable text format. +backup { + + # Configuration option backup/backup. + # Maintain a backup of the current metadata configuration. + # Think very hard before turning this off! + backup = 1 + + # Configuration option backup/backup_dir. + # Location of the metadata backup files. + # Remember to back up this directory regularly! + backup_dir = "/etc/lvm/backup" + + # Configuration option backup/archive. + # Maintain an archive of old metadata configurations. + # Think very hard before turning this off. + archive = 1 + + # Configuration option backup/archive_dir. + # Location of the metdata archive files. + # Remember to back up this directory regularly! + archive_dir = "/etc/lvm/archive" + + # Configuration option backup/retain_min. + # Minimum number of archives to keep. + retain_min = 10 + + # Configuration option backup/retain_days. + # Minimum number of days to keep archive files. + retain_days = 30 +} + +# Configuration section shell. +# Settings for running LVM in shell (readline) mode. +shell { + + # Configuration option shell/history_size. + # Number of lines of history to store in ~/.lvm_history. + history_size = 100 +} + +# Configuration section global. +# Miscellaneous global LVM settings. +global { + + # Configuration option global/umask. + # The file creation mask for any files and directories created. + # Interpreted as octal if the first digit is zero. + umask = 077 + + # Configuration option global/test. + # No on-disk metadata changes will be made in test mode. + # Equivalent to having the -t option on every command. + test = 0 + + # Configuration option global/units. + # Default value for --units argument. + #units = "r" + units = "m" + + # Configuration option global/si_unit_consistency. + # Distinguish between powers of 1024 and 1000 bytes. + # The LVM commands distinguish between powers of 1024 bytes, + # e.g. KiB, MiB, GiB, and powers of 1000 bytes, e.g. KB, MB, GB. + # If scripts depend on the old behaviour, disable this setting + # temporarily until they are updated. + si_unit_consistency = 1 + + # Configuration option global/suffix. + # Display unit suffix for sizes. + # This setting has no effect if the units are in human-readable form + # (global/units = "h") in which case the suffix is always displayed. + suffix = 1 + + # Configuration option global/activation. + # Enable/disable communication with the kernel device-mapper. + # Disable to use the tools to manipulate LVM metadata without + # activating any logical volumes. If the device-mapper driver + # is not present in the kernel, disabling this should suppress + # the error messages. + activation = 1 + + # Configuration option global/segment_libraries. + # This configuration option does not have a default value defined. + + # Configuration option global/proc. + # Location of proc filesystem. + # This configuration option is advanced. + proc = "/proc" + + # Configuration option global/etc. + # Location of /etc system configuration directory. + etc = "/etc" + + # Configuration option global/wait_for_locks. + # When disabled, fail if a lock request would block. + wait_for_locks = 1 + + # Configuration option global/locking_dir. + # Directory to use for LVM command file locks. + # Local non-LV directory that holds file-based locks while commands are + # in progress. A directory like /tmp that may get wiped on reboot is OK. + locking_dir = "/run/lock/lvm" + + # Configuration option global/prioritise_write_locks. + # Allow quicker VG write access during high volume read access. + # When there are competing read-only and read-write access requests for + # a volume group's metadata, instead of always granting the read-only + # requests immediately, delay them to allow the read-write requests to + # be serviced. Without this setting, write access may be stalled by a + # high volume of read-only requests. This option only affects + # locking_type 1 viz. local file-based locking. + prioritise_write_locks = 1 + + # Configuration option global/library_dir. + # Search this directory first for shared libraries. + # This configuration option does not have a default value defined. + + # Configuration option global/abort_on_internal_errors. + # Abort a command that encounters an internal error. + # Treat any internal errors as fatal errors, aborting the process that + # encountered the internal error. Please only enable for debugging. + abort_on_internal_errors = 0 + + # Configuration option global/metadata_read_only. + # No operations that change on-disk metadata are permitted. + # Additionally, read-only commands that encounter metadata in need of + # repair will still be allowed to proceed exactly as if the repair had + # been performed (except for the unchanged vg_seqno). Inappropriate + # use could mess up your system, so seek advice first! + metadata_read_only = 0 + + # Configuration option global/mirror_segtype_default. + # The segment type used by the short mirroring option -m. + # The --type mirror|raid1 option overrides this setting. + # + # Accepted values: + # mirror + # The original RAID1 implementation from LVM/DM. It is + # characterized by a flexible log solution (core, disk, mirrored), + # and by the necessity to block I/O while handling a failure. + # There is an inherent race in the dmeventd failure handling logic + # with snapshots of devices using this type of RAID1 that in the + # worst case could cause a deadlock. (Also see + # devices/ignore_lvm_mirrors.) + # raid1 + # This is a newer RAID1 implementation using the MD RAID1 + # personality through device-mapper. It is characterized by a + # lack of log options. (A log is always allocated for every + # device and they are placed on the same device as the image, + # so no separate devices are required.) This mirror + # implementation does not require I/O to be blocked while + # handling a failure. This mirror implementation is not + # cluster-aware and cannot be used in a shared (active/active) + # fashion in a cluster. + # + mirror_segtype_default = "raid1" + + # Configuration option global/raid10_segtype_default. + # The segment type used by the -i -m combination. + # The --type raid10|mirror option overrides this setting. + # The --stripes/-i and --mirrors/-m options can both be specified + # during the creation of a logical volume to use both striping and + # mirroring for the LV. There are two different implementations. + # + # Accepted values: + # raid10 + # LVM uses MD's RAID10 personality through DM. This is the + # preferred option. + # mirror + # LVM layers the 'mirror' and 'stripe' segment types. The layering + # is done by creating a mirror LV on top of striped sub-LVs, + # effectively creating a RAID 0+1 array. The layering is suboptimal + # in terms of providing redundancy and performance. + # + raid10_segtype_default = "raid10" + + # Configuration option global/sparse_segtype_default. + # The segment type used by the -V -L combination. + # The --type snapshot|thin option overrides this setting. + # The combination of -V and -L options creates a sparse LV. There are + # two different implementations. + # + # Accepted values: + # snapshot + # The original snapshot implementation from LVM/DM. It uses an old + # snapshot that mixes data and metadata within a single COW + # storage volume and performs poorly when the size of stored data + # passes hundreds of MB. + # thin + # A newer implementation that uses thin provisioning. It has a + # bigger minimal chunk size (64KiB) and uses a separate volume for + # metadata. It has better performance, especially when more data + # is used. It also supports full snapshots. + # + sparse_segtype_default = "thin" + + # Configuration option global/lvdisplay_shows_full_device_path. + # Enable this to reinstate the previous lvdisplay name format. + # The default format for displaying LV names in lvdisplay was changed + # in version 2.02.89 to show the LV name and path separately. + # Previously this was always shown as /dev/vgname/lvname even when that + # was never a valid path in the /dev filesystem. + # This configuration option has an automatic default value. + # lvdisplay_shows_full_device_path = 0 + + # Configuration option global/event_activation. + # Activate LVs based on system-generated device events. + # When a device appears on the system, a system-generated event runs + # the pvscan command to activate LVs if the new PV completes the VG. + # Use auto_activation_volume_list to select which LVs should be + # activated from these events (the default is all.) + # When event_activation is disabled, the system will generally run + # a direct activation command to activate LVs in complete VGs. + event_activation = 1 + + # Configuration option global/use_aio. + # Use async I/O when reading and writing devices. + # This configuration option has an automatic default value. + # use_aio = 1 + + # Configuration option global/use_lvmlockd. + # Use lvmlockd for locking among hosts using LVM on shared storage. + # Applicable only if LVM is compiled with lockd support in which + # case there is also lvmlockd(8) man page available for more + # information. + use_lvmlockd = 0 + + # Configuration option global/lvmlockd_lock_retries. + # Retry lvmlockd lock requests this many times. + # Applicable only if LVM is compiled with lockd support + # This configuration option has an automatic default value. + # lvmlockd_lock_retries = 3 + + # Configuration option global/sanlock_lv_extend. + # Size in MiB to extend the internal LV holding sanlock locks. + # The internal LV holds locks for each LV in the VG, and after enough + # LVs have been created, the internal LV needs to be extended. lvcreate + # will automatically extend the internal LV when needed by the amount + # specified here. Setting this to 0 disables the automatic extension + # and can cause lvcreate to fail. Applicable only if LVM is compiled + # with lockd support + # This configuration option has an automatic default value. + # sanlock_lv_extend = 256 + + # Configuration option global/thin_check_executable. + # The full path to the thin_check command. + # LVM uses this command to check that a thin metadata device is in a + # usable state. When a thin pool is activated and after it is + # deactivated, this command is run. Activation will only proceed if + # the command has an exit status of 0. Set to "" to skip this check. + # (Not recommended.) Also see thin_check_options. + # (See package device-mapper-persistent-data or thin-provisioning-tools) + # This configuration option has an automatic default value. + # thin_check_executable = "/usr/sbin/thin_check" + + # Configuration option global/thin_dump_executable. + # The full path to the thin_dump command. + # LVM uses this command to dump thin pool metadata. + # (See package device-mapper-persistent-data or thin-provisioning-tools) + # This configuration option has an automatic default value. + # thin_dump_executable = "/usr/sbin/thin_dump" + + # Configuration option global/thin_repair_executable. + # The full path to the thin_repair command. + # LVM uses this command to repair a thin metadata device if it is in + # an unusable state. Also see thin_repair_options. + # (See package device-mapper-persistent-data or thin-provisioning-tools) + # This configuration option has an automatic default value. + # thin_repair_executable = "/usr/sbin/thin_repair" + + # Configuration option global/thin_check_options. + # List of options passed to the thin_check command. + # With thin_check version 2.1 or newer you can add the option + # --ignore-non-fatal-errors to let it pass through ignorable errors + # and fix them later. With thin_check version 3.2 or newer you should + # include the option --clear-needs-check-flag. + # This configuration option has an automatic default value. + # thin_check_options = [ "-q", "--clear-needs-check-flag" ] + + # Configuration option global/thin_repair_options. + # List of options passed to the thin_repair command. + # This configuration option has an automatic default value. + # thin_repair_options = [ "" ] + + # Configuration option global/thin_disabled_features. + # Features to not use in the thin driver. + # This can be helpful for testing, or to avoid using a feature that is + # causing problems. Features include: block_size, discards, + # discards_non_power_2, external_origin, metadata_resize, + # external_origin_extend, error_if_no_space. + # + # Example + # thin_disabled_features = [ "discards", "block_size" ] + # + # This configuration option does not have a default value defined. + + # Configuration option global/cache_disabled_features. + # Features to not use in the cache driver. + # This can be helpful for testing, or to avoid using a feature that is + # causing problems. Features include: policy_mq, policy_smq, metadata2. + # + # Example + # cache_disabled_features = [ "policy_smq" ] + # + # This configuration option does not have a default value defined. + + # Configuration option global/cache_check_executable. + # The full path to the cache_check command. + # LVM uses this command to check that a cache metadata device is in a + # usable state. When a cached LV is activated and after it is + # deactivated, this command is run. Activation will only proceed if the + # command has an exit status of 0. Set to "" to skip this check. + # (Not recommended.) Also see cache_check_options. + # (See package device-mapper-persistent-data or thin-provisioning-tools) + # This configuration option has an automatic default value. + # cache_check_executable = "/usr/sbin/cache_check" + + # Configuration option global/cache_dump_executable. + # The full path to the cache_dump command. + # LVM uses this command to dump cache pool metadata. + # (See package device-mapper-persistent-data or thin-provisioning-tools) + # This configuration option has an automatic default value. + # cache_dump_executable = "/usr/sbin/cache_dump" + + # Configuration option global/cache_repair_executable. + # The full path to the cache_repair command. + # LVM uses this command to repair a cache metadata device if it is in + # an unusable state. Also see cache_repair_options. + # (See package device-mapper-persistent-data or thin-provisioning-tools) + # This configuration option has an automatic default value. + # cache_repair_executable = "/usr/sbin/cache_repair" + + # Configuration option global/cache_check_options. + # List of options passed to the cache_check command. + # With cache_check version 5.0 or newer you should include the option + # --clear-needs-check-flag. + # This configuration option has an automatic default value. + # cache_check_options = [ "-q", "--clear-needs-check-flag" ] + + # Configuration option global/cache_repair_options. + # List of options passed to the cache_repair command. + # This configuration option has an automatic default value. + # cache_repair_options = [ "" ] + + # Configuration option global/vdo_format_executable. + # The full path to the vdoformat command. + # LVM uses this command to initial data volume for VDO type logical volume + # This configuration option has an automatic default value. + # vdo_format_executable = "autodetect" + + # Configuration option global/vdo_format_options. + # List of options passed added to standard vdoformat command. + # This configuration option has an automatic default value. + # vdo_format_options = [ "" ] + + # Configuration option global/fsadm_executable. + # The full path to the fsadm command. + # LVM uses this command to help with lvresize -r operations. + # This configuration option has an automatic default value. + # fsadm_executable = "/sbin/fsadm" + + # Configuration option global/system_id_source. + # The method LVM uses to set the local system ID. + # Volume Groups can also be given a system ID (by vgcreate, vgchange, + # or vgimport.) A VG on shared storage devices is accessible only to + # the host with a matching system ID. See 'man lvmsystemid' for + # information on limitations and correct usage. + # + # Accepted values: + # none + # The host has no system ID. + # lvmlocal + # Obtain the system ID from the system_id setting in the 'local' + # section of an lvm configuration file, e.g. lvmlocal.conf. + # uname + # Set the system ID from the hostname (uname) of the system. + # System IDs beginning localhost are not permitted. + # machineid + # Use the contents of the machine-id file to set the system ID. + # Some systems create this file at installation time. + # See 'man machine-id' and global/etc. + # file + # Use the contents of another file (system_id_file) to set the + # system ID. + # + system_id_source = "none" + + # Configuration option global/system_id_file. + # The full path to the file containing a system ID. + # This is used when system_id_source is set to 'file'. + # Comments starting with the character # are ignored. + # This configuration option does not have a default value defined. + + # Configuration option global/use_lvmpolld. + # Use lvmpolld to supervise long running LVM commands. + # When enabled, control of long running LVM commands is transferred + # from the original LVM command to the lvmpolld daemon. This allows + # the operation to continue independent of the original LVM command. + # After lvmpolld takes over, the LVM command displays the progress + # of the ongoing operation. lvmpolld itself runs LVM commands to + # manage the progress of ongoing operations. lvmpolld can be used as + # a native systemd service, which allows it to be started on demand, + # and to use its own control group. When this option is disabled, LVM + # commands will supervise long running operations by forking themselves. + # Applicable only if LVM is compiled with lvmpolld support. + use_lvmpolld = 1 + + # Configuration option global/notify_dbus. + # Enable D-Bus notification from LVM commands. + # When enabled, an LVM command that changes PVs, changes VG metadata, + # or changes the activation state of an LV will send a notification. + notify_dbus = 1 +} + +# Configuration section activation. +activation { + + # Configuration option activation/checks. + # Perform internal checks of libdevmapper operations. + # Useful for debugging problems with activation. Some of the checks may + # be expensive, so it's best to use this only when there seems to be a + # problem. + checks = 0 + + # Configuration option activation/udev_sync. + # Use udev notifications to synchronize udev and LVM. + # The --nodevsync option overrides this setting. + # When disabled, LVM commands will not wait for notifications from + # udev, but continue irrespective of any possible udev processing in + # the background. Only use this if udev is not running or has rules + # that ignore the devices LVM creates. If enabled when udev is not + # running, and LVM processes are waiting for udev, run the command + # 'dmsetup udevcomplete_all' to wake them up. + udev_sync = 1 + + # Configuration option activation/udev_rules. + # Use udev rules to manage LV device nodes and symlinks. + # When disabled, LVM will manage the device nodes and symlinks for + # active LVs itself. Manual intervention may be required if this + # setting is changed while LVs are active. + udev_rules = 1 + + # Configuration option activation/verify_udev_operations. + # Use extra checks in LVM to verify udev operations. + # This enables additional checks (and if necessary, repairs) on entries + # in the device directory after udev has completed processing its + # events. Useful for diagnosing problems with LVM/udev interactions. + verify_udev_operations = 0 + + # Configuration option activation/retry_deactivation. + # Retry failed LV deactivation. + # If LV deactivation fails, LVM will retry for a few seconds before + # failing. This may happen because a process run from a quick udev rule + # temporarily opened the device. + retry_deactivation = 1 + + # Configuration option activation/missing_stripe_filler. + # Method to fill missing stripes when activating an incomplete LV. + # Using 'error' will make inaccessible parts of the device return I/O + # errors on access. Using 'zero' will return success (and zero) on I/O + # You can instead use a device path, in which case, + # that device will be used in place of missing stripes. Using anything + # other than 'error' with mirrored or snapshotted volumes is likely to + # result in data corruption. + # This configuration option is advanced. + missing_stripe_filler = "error" + + # Configuration option activation/use_linear_target. + # Use the linear target to optimize single stripe LVs. + # When disabled, the striped target is used. The linear target is an + # optimised version of the striped target that only handles a single + # stripe. + use_linear_target = 1 + + # Configuration option activation/reserved_stack. + # Stack size in KiB to reserve for use while devices are suspended. + # Insufficent reserve risks I/O deadlock during device suspension. + reserved_stack = 64 + + # Configuration option activation/reserved_memory. + # Memory size in KiB to reserve for use while devices are suspended. + # Insufficent reserve risks I/O deadlock during device suspension. + reserved_memory = 8192 + + # Configuration option activation/process_priority. + # Nice value used while devices are suspended. + # Use a high priority so that LVs are suspended + # for the shortest possible time. + process_priority = -18 + + # Configuration option activation/volume_list. + # Only LVs selected by this list are activated. + # If this list is defined, an LV is only activated if it matches an + # entry in this list. If this list is undefined, it imposes no limits + # on LV activation (all are allowed). + # + # Accepted values: + # vgname + # The VG name is matched exactly and selects all LVs in the VG. + # vgname/lvname + # The VG name and LV name are matched exactly and selects the LV. + # @tag + # Selects an LV if the specified tag matches a tag set on the LV + # or VG. + # @* + # Selects an LV if a tag defined on the host is also set on the LV + # or VG. See tags/hosttags. If any host tags exist but volume_list + # is not defined, a default single-entry list containing '@*' + # is assumed. + # + # Example + # volume_list = [ "vg1", "vg2/lvol1", "@tag1", "@*" ] + # + # This configuration option does not have a default value defined. + + # Configuration option activation/auto_activation_volume_list. + # Only LVs selected by this list are auto-activated. + # This list works like volume_list, but it is used only by + # auto-activation commands. It does not apply to direct activation + # commands. If this list is defined, an LV is only auto-activated + # if it matches an entry in this list. If this list is undefined, it + # imposes no limits on LV auto-activation (all are allowed.) If this + # list is defined and empty, i.e. "[]", then no LVs are selected for + # auto-activation. An LV that is selected by this list for + # auto-activation, must also be selected by volume_list (if defined) + # before it is activated. Auto-activation is an activation command that + # includes the 'a' argument: --activate ay or -a ay. The 'a' (auto) + # argument for auto-activation is meant to be used by activation + # commands that are run automatically by the system, as opposed to LVM + # commands run directly by a user. A user may also use the 'a' flag + # directly to perform auto-activation. Also see pvscan(8) for more + # information about auto-activation. + # + # Accepted values: + # vgname + # The VG name is matched exactly and selects all LVs in the VG. + # vgname/lvname + # The VG name and LV name are matched exactly and selects the LV. + # @tag + # Selects an LV if the specified tag matches a tag set on the LV + # or VG. + # @* + # Selects an LV if a tag defined on the host is also set on the LV + # or VG. See tags/hosttags. If any host tags exist but volume_list + # is not defined, a default single-entry list containing '@*' + # is assumed. + # + # Example + # auto_activation_volume_list = [ "vg1", "vg2/lvol1", "@tag1", "@*" ] + # + # This configuration option does not have a default value defined. + + # Configuration option activation/read_only_volume_list. + # LVs in this list are activated in read-only mode. + # If this list is defined, each LV that is to be activated is checked + # against this list, and if it matches, it is activated in read-only + # mode. This overrides the permission setting stored in the metadata, + # e.g. from --permission rw. + # + # Accepted values: + # vgname + # The VG name is matched exactly and selects all LVs in the VG. + # vgname/lvname + # The VG name and LV name are matched exactly and selects the LV. + # @tag + # Selects an LV if the specified tag matches a tag set on the LV + # or VG. + # @* + # Selects an LV if a tag defined on the host is also set on the LV + # or VG. See tags/hosttags. If any host tags exist but volume_list + # is not defined, a default single-entry list containing '@*' + # is assumed. + # + # Example + # read_only_volume_list = [ "vg1", "vg2/lvol1", "@tag1", "@*" ] + # + # This configuration option does not have a default value defined. + + # Configuration option activation/raid_region_size. + # Size in KiB of each raid or mirror synchronization region. + # The clean/dirty state of data is tracked for each region. + # The value is rounded down to a power of two if necessary, and + # is ignored if it is not a multiple of the machine memory page size. + raid_region_size = 2048 + + # Configuration option activation/error_when_full. + # Return errors if a thin pool runs out of space. + # The --errorwhenfull option overrides this setting. + # When enabled, writes to thin LVs immediately return an error if the + # thin pool is out of data space. When disabled, writes to thin LVs + # are queued if the thin pool is out of space, and processed when the + # thin pool data space is extended. New thin pools are assigned the + # behavior defined here. + # This configuration option has an automatic default value. + # error_when_full = 0 + + # Configuration option activation/readahead. + # Setting to use when there is no readahead setting in metadata. + # + # Accepted values: + # none + # Disable readahead. + # auto + # Use default value chosen by kernel. + # + readahead = "auto" + + # Configuration option activation/raid_fault_policy. + # Defines how a device failure in a RAID LV is handled. + # This includes LVs that have the following segment types: + # raid1, raid4, raid5*, and raid6*. + # If a device in the LV fails, the policy determines the steps + # performed by dmeventd automatically, and the steps perfomed by the + # manual command lvconvert --repair --use-policies. + # Automatic handling requires dmeventd to be monitoring the LV. + # + # Accepted values: + # warn + # Use the system log to warn the user that a device in the RAID LV + # has failed. It is left to the user to run lvconvert --repair + # manually to remove or replace the failed device. As long as the + # number of failed devices does not exceed the redundancy of the LV + # (1 device for raid4/5, 2 for raid6), the LV will remain usable. + # allocate + # Attempt to use any extra physical volumes in the VG as spares and + # replace faulty devices. + # + raid_fault_policy = "warn" + + # Configuration option activation/mirror_image_fault_policy. + # Defines how a device failure in a 'mirror' LV is handled. + # An LV with the 'mirror' segment type is composed of mirror images + # (copies) and a mirror log. A disk log ensures that a mirror LV does + # not need to be re-synced (all copies made the same) every time a + # machine reboots or crashes. If a device in the LV fails, this policy + # determines the steps perfomed by dmeventd automatically, and the steps + # performed by the manual command lvconvert --repair --use-policies. + # Automatic handling requires dmeventd to be monitoring the LV. + # + # Accepted values: + # remove + # Simply remove the faulty device and run without it. If the log + # device fails, the mirror would convert to using an in-memory log. + # This means the mirror will not remember its sync status across + # crashes/reboots and the entire mirror will be re-synced. If a + # mirror image fails, the mirror will convert to a non-mirrored + # device if there is only one remaining good copy. + # allocate + # Remove the faulty device and try to allocate space on a new + # device to be a replacement for the failed device. Using this + # policy for the log is fast and maintains the ability to remember + # sync state through crashes/reboots. Using this policy for a + # mirror device is slow, as it requires the mirror to resynchronize + # the devices, but it will preserve the mirror characteristic of + # the device. This policy acts like 'remove' if no suitable device + # and space can be allocated for the replacement. + # allocate_anywhere + # Not yet implemented. Useful to place the log device temporarily + # on the same physical volume as one of the mirror images. This + # policy is not recommended for mirror devices since it would break + # the redundant nature of the mirror. This policy acts like + # 'remove' if no suitable device and space can be allocated for the + # replacement. + # + mirror_image_fault_policy = "remove" + + # Configuration option activation/mirror_log_fault_policy. + # Defines how a device failure in a 'mirror' log LV is handled. + # The mirror_image_fault_policy description for mirrored LVs also + # applies to mirrored log LVs. + mirror_log_fault_policy = "allocate" + + # Configuration option activation/snapshot_autoextend_threshold. + # Auto-extend a snapshot when its usage exceeds this percent. + # Setting this to 100 disables automatic extension. + # The minimum value is 50 (a smaller value is treated as 50.) + # Also see snapshot_autoextend_percent. + # Automatic extension requires dmeventd to be monitoring the LV. + # + # Example + # Using 70% autoextend threshold and 20% autoextend size, when a 1G + # snapshot exceeds 700M, it is extended to 1.2G, and when it exceeds + # 840M, it is extended to 1.44G: + # snapshot_autoextend_threshold = 70 + # + snapshot_autoextend_threshold = 100 + + # Configuration option activation/snapshot_autoextend_percent. + # Auto-extending a snapshot adds this percent extra space. + # The amount of additional space added to a snapshot is this + # percent of its current size. + # + # Example + # Using 70% autoextend threshold and 20% autoextend size, when a 1G + # snapshot exceeds 700M, it is extended to 1.2G, and when it exceeds + # 840M, it is extended to 1.44G: + # snapshot_autoextend_percent = 20 + # + snapshot_autoextend_percent = 20 + + # Configuration option activation/thin_pool_autoextend_threshold. + # Auto-extend a thin pool when its usage exceeds this percent. + # Setting this to 100 disables automatic extension. + # The minimum value is 50 (a smaller value is treated as 50.) + # Also see thin_pool_autoextend_percent. + # Automatic extension requires dmeventd to be monitoring the LV. + # + # Example + # Using 70% autoextend threshold and 20% autoextend size, when a 1G + # thin pool exceeds 700M, it is extended to 1.2G, and when it exceeds + # 840M, it is extended to 1.44G: + # thin_pool_autoextend_threshold = 70 + # + thin_pool_autoextend_threshold = 100 + + # Configuration option activation/thin_pool_autoextend_percent. + # Auto-extending a thin pool adds this percent extra space. + # The amount of additional space added to a thin pool is this + # percent of its current size. + # + # Example + # Using 70% autoextend threshold and 20% autoextend size, when a 1G + # thin pool exceeds 700M, it is extended to 1.2G, and when it exceeds + # 840M, it is extended to 1.44G: + # thin_pool_autoextend_percent = 20 + # + thin_pool_autoextend_percent = 20 + + # Configuration option activation/vdo_pool_autoextend_threshold. + # Auto-extend a VDO pool when its usage exceeds this percent. + # Setting this to 100 disables automatic extension. + # The minimum value is 50 (a smaller value is treated as 50.) + # Also see vdo_pool_autoextend_percent. + # Automatic extension requires dmeventd to be monitoring the LV. + # + # Example + # Using 70% autoextend threshold and 20% autoextend size, when a 10G + # VDO pool exceeds 7G, it is extended to 12G, and when it exceeds + # 8.4G, it is extended to 14.4G: + # vdo_pool_autoextend_threshold = 70 + # + vdo_pool_autoextend_threshold = 100 + + # Configuration option activation/vdo_pool_autoextend_percent. + # Auto-extending a VDO pool adds this percent extra space. + # The amount of additional space added to a VDO pool is this + # percent of its current size. + # + # Example + # Using 70% autoextend threshold and 20% autoextend size, when a 10G + # VDO pool exceeds 7G, it is extended to 12G, and when it exceeds + # 8.4G, it is extended to 14.4G: + # This configuration option has an automatic default value. + # vdo_pool_autoextend_percent = 20 + + # Configuration option activation/mlock_filter. + # Do not mlock these memory areas. + # While activating devices, I/O to devices being (re)configured is + # suspended. As a precaution against deadlocks, LVM pins memory it is + # using so it is not paged out, and will not require I/O to reread. + # Groups of pages that are known not to be accessed during activation + # do not need to be pinned into memory. Each string listed in this + # setting is compared against each line in /proc/self/maps, and the + # pages corresponding to lines that match are not pinned. On some + # systems, locale-archive was found to make up over 80% of the memory + # used by the process. + # + # Example + # mlock_filter = [ "locale/locale-archive", "gconv/gconv-modules.cache" ] + # + # This configuration option is advanced. + # This configuration option does not have a default value defined. + + # Configuration option activation/use_mlockall. + # Use the old behavior of mlockall to pin all memory. + # Prior to version 2.02.62, LVM used mlockall() to pin the whole + # process's memory while activating devices. + use_mlockall = 0 + + # Configuration option activation/monitoring. + # Monitor LVs that are activated. + # The --ignoremonitoring option overrides this setting. + # When enabled, LVM will ask dmeventd to monitor activated LVs. + monitoring = 1 + + # Configuration option activation/polling_interval. + # Check pvmove or lvconvert progress at this interval (seconds). + # When pvmove or lvconvert must wait for the kernel to finish + # synchronising or merging data, they check and report progress at + # intervals of this number of seconds. If this is set to 0 and there + # is only one thing to wait for, there are no progress reports, but + # the process is awoken immediately once the operation is complete. + polling_interval = 15 + + # Configuration option activation/auto_set_activation_skip. + # Set the activation skip flag on new thin snapshot LVs. + # The --setactivationskip option overrides this setting. + # An LV can have a persistent 'activation skip' flag. The flag causes + # the LV to be skipped during normal activation. The lvchange/vgchange + # -K option is required to activate LVs that have the activation skip + # flag set. When this setting is enabled, the activation skip flag is + # set on new thin snapshot LVs. + # This configuration option has an automatic default value. + # auto_set_activation_skip = 1 + + # Configuration option activation/activation_mode. + # How LVs with missing devices are activated. + # The --activationmode option overrides this setting. + # + # Accepted values: + # complete + # Only allow activation of an LV if all of the Physical Volumes it + # uses are present. Other PVs in the Volume Group may be missing. + # degraded + # Like complete, but additionally RAID LVs of segment type raid1, + # raid4, raid5, radid6 and raid10 will be activated if there is no + # data loss, i.e. they have sufficient redundancy to present the + # entire addressable range of the Logical Volume. + # partial + # Allows the activation of any LV even if a missing or failed PV + # could cause data loss with a portion of the LV inaccessible. + # This setting should not normally be used, but may sometimes + # assist with data recovery. + # + activation_mode = "degraded" + + # Configuration option activation/lock_start_list. + # Locking is started only for VGs selected by this list. + # The rules are the same as those for volume_list. + # This configuration option does not have a default value defined. + + # Configuration option activation/auto_lock_start_list. + # Locking is auto-started only for VGs selected by this list. + # The rules are the same as those for auto_activation_volume_list. + # This configuration option does not have a default value defined. +} + +# Configuration section metadata. +# This configuration section has an automatic default value. +# metadata { + + # Configuration option metadata/check_pv_device_sizes. + # Check device sizes are not smaller than corresponding PV sizes. + # If device size is less than corresponding PV size found in metadata, + # there is always a risk of data loss. If this option is set, then LVM + # issues a warning message each time it finds that the device size is + # less than corresponding PV size. You should not disable this unless + # you are absolutely sure about what you are doing! + # This configuration option is advanced. + # This configuration option has an automatic default value. + # check_pv_device_sizes = 1 + + # Configuration option metadata/record_lvs_history. + # When enabled, LVM keeps history records about removed LVs in + # metadata. The information that is recorded in metadata for + # historical LVs is reduced when compared to original + # information kept in metadata for live LVs. Currently, this + # feature is supported for thin and thin snapshot LVs only. + # This configuration option has an automatic default value. + # record_lvs_history = 0 + + # Configuration option metadata/lvs_history_retention_time. + # Retention time in seconds after which a record about individual + # historical logical volume is automatically destroyed. + # A value of 0 disables this feature. + # This configuration option has an automatic default value. + # lvs_history_retention_time = 0 + + # Configuration option metadata/pvmetadatacopies. + # Number of copies of metadata to store on each PV. + # The --pvmetadatacopies option overrides this setting. + # + # Accepted values: + # 2 + # Two copies of the VG metadata are stored on the PV, one at the + # front of the PV, and one at the end. + # 1 + # One copy of VG metadata is stored at the front of the PV. + # 0 + # No copies of VG metadata are stored on the PV. This may be + # useful for VGs containing large numbers of PVs. + # + # This configuration option is advanced. + # This configuration option has an automatic default value. + # pvmetadatacopies = 1 + + # Configuration option metadata/vgmetadatacopies. + # Number of copies of metadata to maintain for each VG. + # The --vgmetadatacopies option overrides this setting. + # If set to a non-zero value, LVM automatically chooses which of the + # available metadata areas to use to achieve the requested number of + # copies of the VG metadata. If you set a value larger than the the + # total number of metadata areas available, then metadata is stored in + # them all. The value 0 (unmanaged) disables this automatic management + # and allows you to control which metadata areas are used at the + # individual PV level using pvchange --metadataignore y|n. + # This configuration option has an automatic default value. + # vgmetadatacopies = 0 + + # Configuration option metadata/pvmetadatasize. + # The default size of the metadata area in units of 512 byte sectors. + # The metadata area begins at an offset of the page size from the start + # of the device. The first PE is by default at 1 MiB from the start of + # the device. The space between these is the default metadata area size. + # The actual size of the metadata area may be larger than what is set + # here due to default_data_alignment making the first PE a MiB multiple. + # The metadata area begins with a 512 byte header and is followed by a + # circular buffer used for VG metadata text. The maximum size of the VG + # metadata is about half the size of the metadata buffer. VGs with large + # numbers of PVs or LVs, or VGs containing complex LV structures, may need + # additional space for VG metadata. The --metadatasize option overrides + # this setting. + # This configuration option does not have a default value defined. + # This configuration option has an automatic default value. + + # Configuration option metadata/pvmetadataignore. + # Ignore metadata areas on a new PV. + # The --metadataignore option overrides this setting. + # If metadata areas on a PV are ignored, LVM will not store metadata + # in them. + # This configuration option is advanced. + # This configuration option has an automatic default value. + # pvmetadataignore = 0 + + # Configuration option metadata/stripesize. + # This configuration option is advanced. + # This configuration option has an automatic default value. + # stripesize = 64 +# } + +# Configuration section report. +# LVM report command output formatting. +# This configuration section has an automatic default value. +# report { + + # Configuration option report/output_format. + # Format of LVM command's report output. + # If there is more than one report per command, then the format + # is applied for all reports. You can also change output format + # directly on command line using --reportformat option which + # has precedence over log/output_format setting. + # Accepted values: + # basic + # Original format with columns and rows. If there is more than + # one report per command, each report is prefixed with report's + # name for identification. + # json + # JSON format. + # This configuration option has an automatic default value. + # output_format = "basic" + + # Configuration option report/compact_output. + # Do not print empty values for all report fields. + # If enabled, all fields that don't have a value set for any of the + # rows reported are skipped and not printed. Compact output is + # applicable only if report/buffered is enabled. If you need to + # compact only specified fields, use compact_output=0 and define + # report/compact_output_cols configuration setting instead. + # This configuration option has an automatic default value. + # compact_output = 0 + + # Configuration option report/compact_output_cols. + # Do not print empty values for specified report fields. + # If defined, specified fields that don't have a value set for any + # of the rows reported are skipped and not printed. Compact output + # is applicable only if report/buffered is enabled. If you need to + # compact all fields, use compact_output=1 instead in which case + # the compact_output_cols setting is then ignored. + # This configuration option has an automatic default value. + # compact_output_cols = "" + + # Configuration option report/aligned. + # Align columns in report output. + # This configuration option has an automatic default value. + # aligned = 1 + + # Configuration option report/buffered. + # Buffer report output. + # When buffered reporting is used, the report's content is appended + # incrementally to include each object being reported until the report + # is flushed to output which normally happens at the end of command + # execution. Otherwise, if buffering is not used, each object is + # reported as soon as its processing is finished. + # This configuration option has an automatic default value. + # buffered = 1 + + # Configuration option report/headings. + # Show headings for columns on report. + # This configuration option has an automatic default value. + # headings = 1 + + # Configuration option report/separator. + # A separator to use on report after each field. + # This configuration option has an automatic default value. + # separator = " " + + # Configuration option report/list_item_separator. + # A separator to use for list items when reported. + # This configuration option has an automatic default value. + # list_item_separator = "," + + # Configuration option report/prefixes. + # Use a field name prefix for each field reported. + # This configuration option has an automatic default value. + # prefixes = 0 + + # Configuration option report/quoted. + # Quote field values when using field name prefixes. + # This configuration option has an automatic default value. + # quoted = 1 + + # Configuration option report/columns_as_rows. + # Output each column as a row. + # If set, this also implies report/prefixes=1. + # This configuration option has an automatic default value. + # columns_as_rows = 0 + + # Configuration option report/binary_values_as_numeric. + # Use binary values 0 or 1 instead of descriptive literal values. + # For columns that have exactly two valid values to report + # (not counting the 'unknown' value which denotes that the + # value could not be determined). + # This configuration option has an automatic default value. + # binary_values_as_numeric = 0 + + # Configuration option report/time_format. + # Set time format for fields reporting time values. + # Format specification is a string which may contain special character + # sequences and ordinary character sequences. Ordinary character + # sequences are copied verbatim. Each special character sequence is + # introduced by the '%' character and such sequence is then + # substituted with a value as described below. + # + # Accepted values: + # %a + # The abbreviated name of the day of the week according to the + # current locale. + # %A + # The full name of the day of the week according to the current + # locale. + # %b + # The abbreviated month name according to the current locale. + # %B + # The full month name according to the current locale. + # %c + # The preferred date and time representation for the current + # locale (alt E) + # %C + # The century number (year/100) as a 2-digit integer. (alt E) + # %d + # The day of the month as a decimal number (range 01 to 31). + # (alt O) + # %D + # Equivalent to %m/%d/%y. (For Americans only. Americans should + # note that in other countries%d/%m/%y is rather common. This + # means that in international context this format is ambiguous and + # should not be used. + # %e + # Like %d, the day of the month as a decimal number, but a leading + # zero is replaced by a space. (alt O) + # %E + # Modifier: use alternative local-dependent representation if + # available. + # %F + # Equivalent to %Y-%m-%d (the ISO 8601 date format). + # %G + # The ISO 8601 week-based year with century as adecimal number. + # The 4-digit year corresponding to the ISO week number (see %V). + # This has the same format and value as %Y, except that if the + # ISO week number belongs to the previous or next year, that year + # is used instead. + # %g + # Like %G, but without century, that is, with a 2-digit year + # (00-99). + # %h + # Equivalent to %b. + # %H + # The hour as a decimal number using a 24-hour clock + # (range 00 to 23). (alt O) + # %I + # The hour as a decimal number using a 12-hour clock + # (range 01 to 12). (alt O) + # %j + # The day of the year as a decimal number (range 001 to 366). + # %k + # The hour (24-hour clock) as a decimal number (range 0 to 23); + # single digits are preceded by a blank. (See also %H.) + # %l + # The hour (12-hour clock) as a decimal number (range 1 to 12); + # single digits are preceded by a blank. (See also %I.) + # %m + # The month as a decimal number (range 01 to 12). (alt O) + # %M + # The minute as a decimal number (range 00 to 59). (alt O) + # %O + # Modifier: use alternative numeric symbols. + # %p + # Either "AM" or "PM" according to the given time value, + # or the corresponding strings for the current locale. Noon is + # treated as "PM" and midnight as "AM". + # %P + # Like %p but in lowercase: "am" or "pm" or a corresponding + # string for the current locale. + # %r + # The time in a.m. or p.m. notation. In the POSIX locale this is + # equivalent to %I:%M:%S %p. + # %R + # The time in 24-hour notation (%H:%M). For a version including + # the seconds, see %T below. + # %s + # The number of seconds since the Epoch, + # 1970-01-01 00:00:00 +0000 (UTC) + # %S + # The second as a decimal number (range 00 to 60). (The range is + # up to 60 to allow for occasional leap seconds.) (alt O) + # %t + # A tab character. + # %T + # The time in 24-hour notation (%H:%M:%S). + # %u + # The day of the week as a decimal, range 1 to 7, Monday being 1. + # See also %w. (alt O) + # %U + # The week number of the current year as a decimal number, + # range 00 to 53, starting with the first Sunday as the first + # day of week 01. See also %V and %W. (alt O) + # %V + # The ISO 8601 week number of the current year as a decimal number, + # range 01 to 53, where week 1 is the first week that has at least + # 4 days in the new year. See also %U and %W. (alt O) + # %w + # The day of the week as a decimal, range 0 to 6, Sunday being 0. + # See also %u. (alt O) + # %W + # The week number of the current year as a decimal number, + # range 00 to 53, starting with the first Monday as the first day + # of week 01. (alt O) + # %x + # The preferred date representation for the current locale without + # the time. (alt E) + # %X + # The preferred time representation for the current locale without + # the date. (alt E) + # %y + # The year as a decimal number without a century (range 00 to 99). + # (alt E, alt O) + # %Y + # The year as a decimal number including the century. (alt E) + # %z + # The +hhmm or -hhmm numeric timezone (that is, the hour and minute + # offset from UTC). + # %Z + # The timezone name or abbreviation. + # %% + # A literal '%' character. + # + # This configuration option has an automatic default value. + # time_format = "%Y-%m-%d %T %z" + + # Configuration option report/devtypes_sort. + # List of columns to sort by when reporting 'lvm devtypes' command. + # See 'lvm devtypes -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # devtypes_sort = "devtype_name" + + # Configuration option report/devtypes_cols. + # List of columns to report for 'lvm devtypes' command. + # See 'lvm devtypes -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # devtypes_cols = "devtype_name,devtype_max_partitions,devtype_description" + + # Configuration option report/devtypes_cols_verbose. + # List of columns to report for 'lvm devtypes' command in verbose mode. + # See 'lvm devtypes -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # devtypes_cols_verbose = "devtype_name,devtype_max_partitions,devtype_description" + + # Configuration option report/lvs_sort. + # List of columns to sort by when reporting 'lvs' command. + # See 'lvs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # lvs_sort = "vg_name,lv_name" + + # Configuration option report/lvs_cols. + # List of columns to report for 'lvs' command. + # See 'lvs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # lvs_cols = "lv_name,vg_name,lv_attr,lv_size,pool_lv,origin,data_percent,metadata_percent,move_pv,mirror_log,copy_percent,convert_lv" + + # Configuration option report/lvs_cols_verbose. + # List of columns to report for 'lvs' command in verbose mode. + # See 'lvs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # lvs_cols_verbose = "lv_name,vg_name,seg_count,lv_attr,lv_size,lv_major,lv_minor,lv_kernel_major,lv_kernel_minor,pool_lv,origin,data_percent,metadata_percent,move_pv,copy_percent,mirror_log,convert_lv,lv_uuid,lv_profile" + + # Configuration option report/vgs_sort. + # List of columns to sort by when reporting 'vgs' command. + # See 'vgs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # vgs_sort = "vg_name" + + # Configuration option report/vgs_cols. + # List of columns to report for 'vgs' command. + # See 'vgs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # vgs_cols = "vg_name,pv_count,lv_count,snap_count,vg_attr,vg_size,vg_free" + + # Configuration option report/vgs_cols_verbose. + # List of columns to report for 'vgs' command in verbose mode. + # See 'vgs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # vgs_cols_verbose = "vg_name,vg_attr,vg_extent_size,pv_count,lv_count,snap_count,vg_size,vg_free,vg_uuid,vg_profile" + + # Configuration option report/pvs_sort. + # List of columns to sort by when reporting 'pvs' command. + # See 'pvs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # pvs_sort = "pv_name" + + # Configuration option report/pvs_cols. + # List of columns to report for 'pvs' command. + # See 'pvs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # pvs_cols = "pv_name,vg_name,pv_fmt,pv_attr,pv_size,pv_free" + + # Configuration option report/pvs_cols_verbose. + # List of columns to report for 'pvs' command in verbose mode. + # See 'pvs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # pvs_cols_verbose = "pv_name,vg_name,pv_fmt,pv_attr,pv_size,pv_free,dev_size,pv_uuid" + + # Configuration option report/segs_sort. + # List of columns to sort by when reporting 'lvs --segments' command. + # See 'lvs --segments -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # segs_sort = "vg_name,lv_name,seg_start" + + # Configuration option report/segs_cols. + # List of columns to report for 'lvs --segments' command. + # See 'lvs --segments -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # segs_cols = "lv_name,vg_name,lv_attr,stripes,segtype,seg_size" + + # Configuration option report/segs_cols_verbose. + # List of columns to report for 'lvs --segments' command in verbose mode. + # See 'lvs --segments -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # segs_cols_verbose = "lv_name,vg_name,lv_attr,seg_start,seg_size,stripes,segtype,stripesize,chunksize" + + # Configuration option report/pvsegs_sort. + # List of columns to sort by when reporting 'pvs --segments' command. + # See 'pvs --segments -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # pvsegs_sort = "pv_name,pvseg_start" + + # Configuration option report/pvsegs_cols. + # List of columns to sort by when reporting 'pvs --segments' command. + # See 'pvs --segments -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # pvsegs_cols = "pv_name,vg_name,pv_fmt,pv_attr,pv_size,pv_free,pvseg_start,pvseg_size" + + # Configuration option report/pvsegs_cols_verbose. + # List of columns to sort by when reporting 'pvs --segments' command in verbose mode. + # See 'pvs --segments -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # pvsegs_cols_verbose = "pv_name,vg_name,pv_fmt,pv_attr,pv_size,pv_free,pvseg_start,pvseg_size,lv_name,seg_start_pe,segtype,seg_pe_ranges" + + # Configuration option report/vgs_cols_full. + # List of columns to report for lvm fullreport's 'vgs' subreport. + # See 'vgs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # vgs_cols_full = "vg_all" + + # Configuration option report/pvs_cols_full. + # List of columns to report for lvm fullreport's 'vgs' subreport. + # See 'pvs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # pvs_cols_full = "pv_all" + + # Configuration option report/lvs_cols_full. + # List of columns to report for lvm fullreport's 'lvs' subreport. + # See 'lvs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # lvs_cols_full = "lv_all" + + # Configuration option report/pvsegs_cols_full. + # List of columns to report for lvm fullreport's 'pvseg' subreport. + # See 'pvs --segments -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # pvsegs_cols_full = "pvseg_all,pv_uuid,lv_uuid" + + # Configuration option report/segs_cols_full. + # List of columns to report for lvm fullreport's 'seg' subreport. + # See 'lvs --segments -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # segs_cols_full = "seg_all,lv_uuid" + + # Configuration option report/vgs_sort_full. + # List of columns to sort by when reporting lvm fullreport's 'vgs' subreport. + # See 'vgs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # vgs_sort_full = "vg_name" + + # Configuration option report/pvs_sort_full. + # List of columns to sort by when reporting lvm fullreport's 'vgs' subreport. + # See 'pvs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # pvs_sort_full = "pv_name" + + # Configuration option report/lvs_sort_full. + # List of columns to sort by when reporting lvm fullreport's 'lvs' subreport. + # See 'lvs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # lvs_sort_full = "vg_name,lv_name" + + # Configuration option report/pvsegs_sort_full. + # List of columns to sort by when reporting for lvm fullreport's 'pvseg' subreport. + # See 'pvs --segments -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # pvsegs_sort_full = "pv_uuid,pvseg_start" + + # Configuration option report/segs_sort_full. + # List of columns to sort by when reporting lvm fullreport's 'seg' subreport. + # See 'lvs --segments -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # segs_sort_full = "lv_uuid,seg_start" + + # Configuration option report/mark_hidden_devices. + # Use brackets [] to mark hidden devices. + # This configuration option has an automatic default value. + # mark_hidden_devices = 1 + + # Configuration option report/two_word_unknown_device. + # Use the two words 'unknown device' in place of '[unknown]'. + # This is displayed when the device for a PV is not known. + # This configuration option has an automatic default value. + # two_word_unknown_device = 0 +# } + +# Configuration section dmeventd. +# Settings for the LVM event daemon. +dmeventd { + + # Configuration option dmeventd/mirror_library. + # The library dmeventd uses when monitoring a mirror device. + # libdevmapper-event-lvm2mirror.so attempts to recover from + # failures. It removes failed devices from a volume group and + # reconfigures a mirror as necessary. If no mirror library is + # provided, mirrors are not monitored through dmeventd. + mirror_library = "libdevmapper-event-lvm2mirror.so" + + # Configuration option dmeventd/raid_library. + # This configuration option has an automatic default value. + # raid_library = "libdevmapper-event-lvm2raid.so" + + # Configuration option dmeventd/snapshot_library. + # The library dmeventd uses when monitoring a snapshot device. + # libdevmapper-event-lvm2snapshot.so monitors the filling of snapshots + # and emits a warning through syslog when the usage exceeds 80%. The + # warning is repeated when 85%, 90% and 95% of the snapshot is filled. + snapshot_library = "libdevmapper-event-lvm2snapshot.so" + + # Configuration option dmeventd/thin_library. + # The library dmeventd uses when monitoring a thin device. + # libdevmapper-event-lvm2thin.so monitors the filling of a pool + # and emits a warning through syslog when the usage exceeds 80%. The + # warning is repeated when 85%, 90% and 95% of the pool is filled. + thin_library = "libdevmapper-event-lvm2thin.so" + + # Configuration option dmeventd/thin_command. + # The plugin runs command with each 5% increment when thin-pool data volume + # or metadata volume gets above 50%. + # Command which starts with 'lvm ' prefix is internal lvm command. + # You can write your own handler to customise behaviour in more details. + # User handler is specified with the full path starting with '/'. + # This configuration option has an automatic default value. + # thin_command = "lvm lvextend --use-policies" + + # Configuration option dmeventd/vdo_library. + # The library dmeventd uses when monitoring a VDO pool device. + # libdevmapper-event-lvm2vdo.so monitors the filling of a pool + # and emits a warning through syslog when the usage exceeds 80%. The + # warning is repeated when 85%, 90% and 95% of the pool is filled. + # This configuration option has an automatic default value. + # vdo_library = "libdevmapper-event-lvm2vdo.so" + + # Configuration option dmeventd/vdo_command. + # The plugin runs command with each 5% increment when VDO pool volume + # gets above 50%. + # Command which starts with 'lvm ' prefix is internal lvm command. + # You can write your own handler to customise behaviour in more details. + # User handler is specified with the full path starting with '/'. + # This configuration option has an automatic default value. + # vdo_command = "lvm lvextend --use-policies" + + # Configuration option dmeventd/executable. + # The full path to the dmeventd binary. + # This configuration option has an automatic default value. + # executable = "/sbin/dmeventd" +} + +# Configuration section tags. +# Host tag settings. +# This configuration section has an automatic default value. +# tags { + + # Configuration option tags/hosttags. + # Create a host tag using the machine name. + # The machine name is nodename returned by uname(2). + # This configuration option has an automatic default value. + # hosttags = 0 + + # Configuration section tags/. + # Replace this subsection name with a custom tag name. + # Multiple subsections like this can be created. The '@' prefix for + # tags is optional. This subsection can contain host_list, which is a + # list of machine names. If the name of the local machine is found in + # host_list, then the name of this subsection is used as a tag and is + # applied to the local machine as a 'host tag'. If this subsection is + # empty (has no host_list), then the subsection name is always applied + # as a 'host tag'. + # + # Example + # The host tag foo is given to all hosts, and the host tag + # bar is given to the hosts named machine1 and machine2. + # tags { foo { } bar { host_list = [ "machine1", "machine2" ] } } + # + # This configuration section has variable name. + # This configuration section has an automatic default value. + # tag { + + # Configuration option tags//host_list. + # A list of machine names. + # These machine names are compared to the nodename returned + # by uname(2). If the local machine name matches an entry in + # this list, the name of the subsection is applied to the + # machine as a 'host tag'. + # This configuration option does not have a default value defined. + # } +# } diff --git a/lvm/lvmlocal.conf b/lvm/lvmlocal.conf new file mode 100644 index 0000000..2fe6446 --- /dev/null +++ b/lvm/lvmlocal.conf @@ -0,0 +1,57 @@ +# This is a local configuration file template for the LVM2 system +# which should be installed as /etc/lvm/lvmlocal.conf . +# +# Refer to 'man lvm.conf' for information about the file layout. +# +# To put this file in a different directory and override +# /etc/lvm set the environment variable LVM_SYSTEM_DIR before +# running the tools. +# +# The lvmlocal.conf file is normally expected to contain only the +# "local" section which contains settings that should not be shared or +# repeated among different hosts. (But if other sections are present, +# they *will* get processed. Settings in this file override equivalent +# ones in lvm.conf and are in turn overridden by ones in any enabled +# lvm_.conf files.) +# +# Please take care that each setting only appears once if uncommenting +# example settings in this file and never copy this file between hosts. + + +# Configuration section local. +# LVM settings that are specific to the local host. +local { + + # Configuration option local/system_id. + # Defines the local system ID for lvmlocal mode. + # This is used when global/system_id_source is set to 'lvmlocal' in the + # main configuration file, e.g. lvm.conf. When used, it must be set to + # a unique value among all hosts sharing access to the storage, + # e.g. a host name. + # + # Example + # Set no system ID: + # system_id = "" + # Set the system_id to a specific name: + # system_id = "host1" + # + # This configuration option has an automatic default value. + # system_id = "" + + # Configuration option local/extra_system_ids. + # A list of extra VG system IDs the local host can access. + # VGs with the system IDs listed here (in addition to the host's own + # system ID) can be fully accessed by the local host. (These are + # system IDs that the host sees in VGs, not system IDs that identify + # the local host, which is determined by system_id_source.) + # Use this only after consulting 'man lvmsystemid' to be certain of + # correct usage and possible dangers. + # This configuration option does not have a default value defined. + + # Configuration option local/host_id. + # The lvmlockd sanlock host_id. + # This must be unique among all hosts, and must be between 1 and 2000. + # Applicable only if LVM is compiled with lockd support + # This configuration option has an automatic default value. + # host_id = 0 +} diff --git a/lvm/profile/cache-mq.profile b/lvm/profile/cache-mq.profile new file mode 100644 index 0000000..3c90331 --- /dev/null +++ b/lvm/profile/cache-mq.profile @@ -0,0 +1,20 @@ +# Demo configuration 'mq' cache policy +# +# Note: This policy has been deprecated in favor of the smq policy +# keyword "default" means, setting is left with kernel defaults. +# + +allocation { + cache_pool_chunk_size = 64 + cache_mode = "writethrough" + cache_policy = "mq" + cache_settings { + mq { + sequential_threshold = "default" # #nr_sequential_ios + random_threshold = "default" # #nr_random_ios + read_promote_adjustment = "default" + write_promote_adjustment = "default" + discard_promote_adjustment = "default" + } + } +} diff --git a/lvm/profile/cache-smq.profile b/lvm/profile/cache-smq.profile new file mode 100644 index 0000000..c457481 --- /dev/null +++ b/lvm/profile/cache-smq.profile @@ -0,0 +1,14 @@ +# Demo configuration 'smq' cache policy +# +# The stochastic multi-queue (smq) policy addresses some of the problems +# with the multiqueue (mq) policy and uses less memory. +# + +allocation { + cache_pool_chunk_size = 64 + cache_mode = "writethrough" + cache_policy = "smq" + cache_settings { + # currently no settings for "smq" policy + } +} diff --git a/lvm/profile/command_profile_template.profile b/lvm/profile/command_profile_template.profile new file mode 100644 index 0000000..bf56799 --- /dev/null +++ b/lvm/profile/command_profile_template.profile @@ -0,0 +1,74 @@ +# This is a command profile template for the LVM2 system. +# +# It contains all configuration settings that are customizable by command +# profiles. To create a new command profile, select the settings you want +# to customize and add them in a new file named .profile. +# Then install the new profile in a directory as defined by config/profile_dir +# setting found in /etc/lvm/lvm.conf file. +# +# Command profiles can be referenced by using the --commandprofile option then. +# +# Refer to 'man lvm.conf' for further information about profiles and +# general configuration file layout. +# +allocation { + cache_mode="writethrough" + cache_settings { + } +} +log { + report_command_log=0 + command_log_sort="log_seq_num" + command_log_cols="log_seq_num,log_type,log_context,log_object_type,log_object_name,log_object_id,log_object_group,log_object_group_id,log_message,log_errno,log_ret_code" + command_log_selection="!(log_type=status && message=success)" +} +global { + units="h" + si_unit_consistency=1 + suffix=1 + lvdisplay_shows_full_device_path=0 +} +report { + output_format="basic" + compact_output=0 + compact_output_cols="" + aligned=1 + buffered=1 + headings=1 + separator=" " + list_item_separator="," + prefixes=0 + quoted=1 + columns_as_rows=0 + binary_values_as_numeric=0 + time_format="%Y-%m-%d %T %z" + devtypes_sort="devtype_name" + devtypes_cols="devtype_name,devtype_max_partitions,devtype_description" + devtypes_cols_verbose="devtype_name,devtype_max_partitions,devtype_description" + lvs_sort="vg_name,lv_name" + lvs_cols="lv_name,vg_name,lv_attr,lv_size,pool_lv,origin,data_percent,metadata_percent,move_pv,mirror_log,copy_percent,convert_lv" + lvs_cols_verbose="lv_name,vg_name,seg_count,lv_attr,lv_size,lv_major,lv_minor,lv_kernel_major,lv_kernel_minor,pool_lv,origin,data_percent,metadata_percent,move_pv,copy_percent,mirror_log,convert_lv,lv_uuid,lv_profile" + vgs_sort="vg_name" + vgs_cols="vg_name,pv_count,lv_count,snap_count,vg_attr,vg_size,vg_free" + vgs_cols_verbose="vg_name,vg_attr,vg_extent_size,pv_count,lv_count,snap_count,vg_size,vg_free,vg_uuid,vg_profile" + pvs_sort="pv_name" + pvs_cols="pv_name,vg_name,pv_fmt,pv_attr,pv_size,pv_free" + pvs_cols_verbose="pv_name,vg_name,pv_fmt,pv_attr,pv_size,pv_free,dev_size,pv_uuid" + segs_sort="vg_name,lv_name,seg_start" + segs_cols="lv_name,vg_name,lv_attr,stripes,segtype,seg_size" + segs_cols_verbose="lv_name,vg_name,lv_attr,seg_start,seg_size,stripes,segtype,stripesize,chunksize" + pvsegs_sort="pv_name,pvseg_start" + pvsegs_cols="pv_name,vg_name,pv_fmt,pv_attr,pv_size,pv_free,pvseg_start,pvseg_size" + pvsegs_cols_verbose="pv_name,vg_name,pv_fmt,pv_attr,pv_size,pv_free,pvseg_start,pvseg_size,lv_name,seg_start_pe,segtype,seg_pe_ranges" + vgs_cols_full="vg_all" + pvs_cols_full="pv_all" + lvs_cols_full="lv_all" + pvsegs_cols_full="pvseg_all,pv_uuid,lv_uuid" + segs_cols_full="seg_all,lv_uuid" + vgs_sort_full="vg_name" + pvs_sort_full="pv_name" + lvs_sort_full="vg_name,lv_name" + pvsegs_sort_full="pv_uuid,pvseg_start" + segs_sort_full="lv_uuid,seg_start" + mark_hidden_devices=1 +} diff --git a/lvm/profile/lvmdbusd.profile b/lvm/profile/lvmdbusd.profile new file mode 100644 index 0000000..2cdc6da --- /dev/null +++ b/lvm/profile/lvmdbusd.profile @@ -0,0 +1,50 @@ +# +# DO NOT EDIT THIS FILE! +# +# LVM configuration profile used by lvmdbusd daemon. +# +# This sets up LVM to produce output in the most suitable format for processing +# by lvmdbusd daemon which utilizes LVM shell to execute LVM commands. +# +# Do not edit this file in any way. This profile is distributed together with +# lvmdbusd and it contains configuration that is important for lvmdbusd to +# cooperate and interface with LVM correctly. +# + +global { + # use bytes for expected and deterministic output + units=b + # no need for suffix if we have units set + suffix=0 +} + +report { + compact_output=0 + compact_output_cols="" + binary_values_as_numeric=0 + # time in number of seconds since the Epoch + time_format="%s" + mark_hidden_devices=1 + # lvmdbusd expects JSON output + output_format=json + # *_cols_full for lvm fullreport's fields which lvmdbusd relies on to update its state + vgs_cols_full="vg_name,vg_uuid,vg_fmt,vg_size,vg_free,vg_sysid,vg_extent_size,vg_extent_count,vg_free_count,vg_profile,max_lv,max_pv,pv_count,lv_count,snap_count,vg_seqno,vg_mda_count,vg_mda_free,vg_mda_size,vg_mda_used_count,vg_attr,vg_tags" + pvs_cols_full="pv_name,pv_uuid,pv_fmt,pv_size,pv_free,pv_used,dev_size,pv_mda_size,pv_mda_free,pv_ba_start,pv_ba_size,pe_start,pv_pe_count,pv_pe_alloc_count,pv_attr,pv_tags,vg_name,vg_uuid" + lvs_cols_full="lv_uuid,lv_name,lv_path,lv_size,vg_name,pool_lv_uuid,pool_lv,origin_uuid,origin,data_percent,lv_attr,lv_tags,vg_uuid,lv_active,data_lv,metadata_lv,lv_parent,lv_role,lv_layout" + pvsegs_cols_full="pvseg_start,pvseg_size,segtype,pv_uuid,lv_uuid,pv_name" + segs_cols_full="seg_pe_ranges,segtype,lv_uuid" + vgs_sort_full="vg_name" + pvs_sort_full="pv_name" + lvs_sort_full="vg_name,lv_name" + pvsegs_sort_full="pv_uuid,pvseg_start" + segs_sort_full="lv_uuid,seg_start" +} + +log { + # lvmdbusd relies on command log report to inspect LVM command's execution status + report_command_log=1 + # display only outermost LVM shell-related log that lvmdbusd inspects first after LVM command execution (it calls 'lastlog' for more detailed log afterwards if needed) + command_log_selection="log_context=shell" + command_log_cols="log_seq_num,log_type,log_context,log_object_type,log_object_name,log_object_id,log_object_group,log_object_group_id,log_message,log_errno,log_ret_code" + command_log_sort="log_seq_num" +} diff --git a/lvm/profile/metadata_profile_template.profile b/lvm/profile/metadata_profile_template.profile new file mode 100644 index 0000000..5836a63 --- /dev/null +++ b/lvm/profile/metadata_profile_template.profile @@ -0,0 +1,24 @@ +# This is a metadata profile template for the LVM2 system. +# +# It contains all configuration settings that are customizable by metadata +# profiles. To create a new metadata profile, select the settings you want +# to customize and add them in a new file named .profile. +# Then install the new profile in a directory as defined by config/profile_dir +# setting found in /etc/lvm/lvm.conf file. +# +# Metadata profiles can be referenced by using the --metadataprofile LVM2 +# command line option. +# +# Refer to 'man lvm.conf' for further information about profiles and +# general configuration file layout. +# +allocation { + thin_pool_zero=1 + thin_pool_discards="passdown" + thin_pool_chunk_size_policy="generic" +# thin_pool_chunk_size=128 +} +activation { + thin_pool_autoextend_threshold=100 + thin_pool_autoextend_percent=20 +} diff --git a/lvm/profile/thin-generic.profile b/lvm/profile/thin-generic.profile new file mode 100644 index 0000000..229a7fc --- /dev/null +++ b/lvm/profile/thin-generic.profile @@ -0,0 +1,4 @@ +allocation { + thin_pool_chunk_size_policy = "generic" + thin_pool_zero = 1 +} diff --git a/lvm/profile/thin-performance.profile b/lvm/profile/thin-performance.profile new file mode 100644 index 0000000..2914de2 --- /dev/null +++ b/lvm/profile/thin-performance.profile @@ -0,0 +1,4 @@ +allocation { + thin_pool_chunk_size_policy = "performance" + thin_pool_zero = 0 +} diff --git a/lvm/profile/vdo-small.profile b/lvm/profile/vdo-small.profile new file mode 100644 index 0000000..0bd47b5 --- /dev/null +++ b/lvm/profile/vdo-small.profile @@ -0,0 +1,25 @@ +# Demo configuration for 'VDO' using less memory. +# + +allocation { + vdo_use_compression = 1 + vdo_use_deduplication = 1 + vdo_emulate_512_sectors = 0 + vdo_block_map_cache_size_mb = 128 + vdo_block_map_period = 16380 + vdo_check_point_frequency = 0 + vdo_use_sparse_index = 0 + vdo_index_memory_size_mb = 256 + vdo_use_read_cache = 0 + vdo_read_cache_size_mb = 0 + vdo_slab_size_mb = 2048 + + vdo_ack_threads = 1 + vdo_bio_threads = 1 + vdo_bio_rotation = 64 + vdo_cpu_threads = 2 + vdo_hash_zone_threads = 1 + vdo_logical_threads = 1 + vdo_physical_threads = 1 + vdo_write_policy = "auto" +} diff --git a/machine-id b/machine-id new file mode 100644 index 0000000..870e4ce --- /dev/null +++ b/machine-id @@ -0,0 +1 @@ +441e8d0732a541929e695c09d3a46194 diff --git a/magic b/magic new file mode 100644 index 0000000..283a863 --- /dev/null +++ b/magic @@ -0,0 +1,3 @@ +# Magic local data for file(1) command. +# Insert here your local magic data. Format is described in magic(5). + diff --git a/magic.mime b/magic.mime new file mode 100644 index 0000000..283a863 --- /dev/null +++ b/magic.mime @@ -0,0 +1,3 @@ +# Magic local data for file(1) command. +# Insert here your local magic data. Format is described in magic(5). + diff --git a/mailcap b/mailcap new file mode 100644 index 0000000..fd8bf9f --- /dev/null +++ b/mailcap @@ -0,0 +1,63 @@ +############################################################################### +# +# MIME media types and programs that process those types +# +# Much of this file is generated automatically by the program "update-mime". +# Please see the "update-mime" man page for more information. +# +# Users can add their own rules if they wish by creating a ".mailcap" +# file in their home directory. Entries included there will take +# precedence over those listed here. +# +############################################################################### + + +############################################################################### +# +# User section follows: Any entries included in this section will take +# precedence over those created by "update-mime". DO NOT CHANGE the +# "User Section Begins" and "User Section Ends" lines, or anything outside +# of this section! +# + +# ----- User Section Begins ----- # +# ----- User Section Ends ----- # + +############################################################################### + +text/plain; less '%s'; needsterminal +application/x-troff-man; /usr/bin/man -X100 -l '%s'; test=test -n "$DISPLAY" -a -e /usr/bin/gxditview; description=Man page +text/troff; /usr/bin/man -X100 -l '%s'; test=test -n "$DISPLAY" -a -e /usr/bin/gxditview; description=Man page +application/x-troff-man; /usr/bin/man -l '%s'; needsterminal; description=Man page +text/troff; /usr/bin/man -l '%s'; needsterminal; description=Man page +text/html; /usr/bin/sensible-browser %s; description=HTML Text; nametemplate=%s.html +application/x-troff-man; /usr/bin/nroff -mandoc -Tutf8; copiousoutput; print=/usr/bin/nroff -mandoc -Tutf8 | print text/plain:- +text/troff; /usr/bin/nroff -mandoc -Tutf8; copiousoutput; print=/usr/bin/nroff -mandoc -Tutf8 | print text/plain:- +text/plain; more %s; needsterminal +text/english; vim %s; needsterminal +text/plain; vim %s; needsterminal +text/x-makefile; vim %s; needsterminal +text/x-c++hdr; vim %s; needsterminal +text/x-c++src; vim %s; needsterminal +text/x-chdr; vim %s; needsterminal +text/x-csrc; vim %s; needsterminal +text/x-java; vim %s; needsterminal +text/x-moc; vim %s; needsterminal +text/x-pascal; vim %s; needsterminal +text/x-tcl; vim %s; needsterminal +text/x-tex; vim %s; needsterminal +application/x-shellscript; vim %s; needsterminal +text/x-c; vim %s; needsterminal +text/x-c++; vim %s; needsterminal +text/plain; view %s; edit=vim %s; compose=vim %s; test=test -x /usr/bin/vim; needsterminal +text/plain; view %s; edit=vi %s; compose=vi %s; needsterminal +application/x-troff-man; /usr/bin/man -Tascii -l '%s' | col -b; copiousoutput; description=Man page +text/troff; /usr/bin/man -Tascii -l '%s' | col -b; copiousoutput; description=Man page +text/*; less '%s'; needsterminal +text/*; view %s; edit=vim %s; compose=vim %s; test=test -x /usr/bin/vim; needsterminal +application/x-tar; /bin/tar tvf '%s'; print=/bin/tar tvf - | print text/plain:-; copiousoutput +application/x-gtar; /bin/tar tvf '%s'; print=/bin/tar tvf - | print text/plain:-; copiousoutput +application/x-ustar; /bin/tar tvf '%s'; print=/bin/tar tvf - | print text/plain:-; copiousoutput +text/*; more %s; needsterminal +text/*; view %s; edit=vi %s; compose=vi %s; needsterminal +application/vnd.debian.binary-package; /usr/lib/mime/debian-view %s; needsterminal; description=Debian GNU/Linux Package; nametemplate=%s.deb diff --git a/mailcap.order b/mailcap.order new file mode 100644 index 0000000..7f38c23 --- /dev/null +++ b/mailcap.order @@ -0,0 +1,10 @@ +############################################################################### +# +# Mailcap.order: This file allows a system-wide override of MIME program +# preferences. See the mailcap.order(5) man page for more information. +# +# After modifying this file, be sure to run /usr/sbin/update-mime (as root) +# to propagate the changes into the /etc/mailcap file. +# +################################################################################ + diff --git a/manpath.config b/manpath.config new file mode 100644 index 0000000..722a52d --- /dev/null +++ b/manpath.config @@ -0,0 +1,131 @@ +# manpath.config +# +# This file is used by the man-db package to configure the man and cat paths. +# It is also used to provide a manpath for those without one by examining +# their PATH environment variable. For details see the manpath(5) man page. +# +# Lines beginning with `#' are comments and are ignored. Any combination of +# tabs or spaces may be used as `whitespace' separators. +# +# There are three mappings allowed in this file: +# -------------------------------------------------------- +# MANDATORY_MANPATH manpath_element +# MANPATH_MAP path_element manpath_element +# MANDB_MAP global_manpath [relative_catpath] +#--------------------------------------------------------- +# every automatically generated MANPATH includes these fields +# +#MANDATORY_MANPATH /usr/src/pvm3/man +# +MANDATORY_MANPATH /usr/man +MANDATORY_MANPATH /usr/share/man +MANDATORY_MANPATH /usr/local/share/man +#--------------------------------------------------------- +# set up PATH to MANPATH mapping +# ie. what man tree holds man pages for what binary directory. +# +# *PATH* -> *MANPATH* +# +MANPATH_MAP /bin /usr/share/man +MANPATH_MAP /usr/bin /usr/share/man +MANPATH_MAP /sbin /usr/share/man +MANPATH_MAP /usr/sbin /usr/share/man +MANPATH_MAP /usr/local/bin /usr/local/man +MANPATH_MAP /usr/local/bin /usr/local/share/man +MANPATH_MAP /usr/local/sbin /usr/local/man +MANPATH_MAP /usr/local/sbin /usr/local/share/man +MANPATH_MAP /usr/X11R6/bin /usr/X11R6/man +MANPATH_MAP /usr/bin/X11 /usr/X11R6/man +MANPATH_MAP /usr/games /usr/share/man +MANPATH_MAP /opt/bin /opt/man +MANPATH_MAP /opt/sbin /opt/man +#--------------------------------------------------------- +# For a manpath element to be treated as a system manpath (as most of those +# above should normally be), it must be mentioned below. Each line may have +# an optional extra string indicating the catpath associated with the +# manpath. If no catpath string is used, the catpath will default to the +# given manpath. +# +# You *must* provide all system manpaths, including manpaths for alternate +# operating systems, locale specific manpaths, and combinations of both, if +# they exist, otherwise the permissions of the user running man/mandb will +# be used to manipulate the manual pages. Also, mandb will not initialise +# the database cache for any manpaths not mentioned below unless explicitly +# requested to do so. +# +# In a per-user configuration file, this directive only controls the +# location of catpaths and the creation of database caches; it has no effect +# on privileges. +# +# Any manpaths that are subdirectories of other manpaths must be mentioned +# *before* the containing manpath. E.g. /usr/man/preformat must be listed +# before /usr/man. +# +# *MANPATH* -> *CATPATH* +# +MANDB_MAP /usr/man /var/cache/man/fsstnd +MANDB_MAP /usr/share/man /var/cache/man +MANDB_MAP /usr/local/man /var/cache/man/oldlocal +MANDB_MAP /usr/local/share/man /var/cache/man/local +MANDB_MAP /usr/X11R6/man /var/cache/man/X11R6 +MANDB_MAP /opt/man /var/cache/man/opt +# +#--------------------------------------------------------- +# Program definitions. These are commented out by default as the value +# of the definition is already the default. To change: uncomment a +# definition and modify it. +# +#DEFINE pager pager +#DEFINE cat cat +#DEFINE tr tr '\255\267\264\327' '\055\157\047\170' +#DEFINE grep grep +#DEFINE troff groff -mandoc +#DEFINE nroff nroff -mandoc +#DEFINE eqn eqn +#DEFINE neqn neqn +#DEFINE tbl tbl +#DEFINE col col +#DEFINE vgrind vgrind +#DEFINE refer refer +#DEFINE grap grap +#DEFINE pic pic -S +# +#DEFINE compressor gzip -c7 +#--------------------------------------------------------- +# Misc definitions: same as program definitions above. +# +#DEFINE whatis_grep_flags -i +#DEFINE apropos_grep_flags -iEw +#DEFINE apropos_regex_grep_flags -iE +#--------------------------------------------------------- +# Section names. Manual sections will be searched in the order listed here; +# the default is 1, n, l, 8, 3, 0, 2, 5, 4, 9, 6, 7. Multiple SECTION +# directives may be given for clarity, and will be concatenated together in +# the expected way. +# If a particular extension is not in this list (say, 1mh), it will be +# displayed with the rest of the section it belongs to. The effect of this +# is that you only need to explicitly list extensions if you want to force a +# particular order. Sections with extensions should usually be adjacent to +# their main section (e.g. "1 1mh 8 ..."). +# +SECTION 1 n l 8 3 2 3posix 3pm 3perl 3am 5 4 9 6 7 +# +#--------------------------------------------------------- +# Range of terminal widths permitted when displaying cat pages. If the +# terminal falls outside this range, cat pages will not be created (if +# missing) or displayed. +# +#MINCATWIDTH 80 +#MAXCATWIDTH 80 +# +# If CATWIDTH is set to a non-zero number, cat pages will always be +# formatted for a terminal of the given width, regardless of the width of +# the terminal actually being used. This should generally be within the +# range set by MINCATWIDTH and MAXCATWIDTH. +# +#CATWIDTH 0 +# +#--------------------------------------------------------- +# Flags. +# NOCACHE keeps man from creating cat pages. +#NOCACHE diff --git a/mdadm/mdadm.conf b/mdadm/mdadm.conf new file mode 100644 index 0000000..1a15a7d --- /dev/null +++ b/mdadm/mdadm.conf @@ -0,0 +1,22 @@ +# mdadm.conf +# +# !NB! Run update-initramfs -u after updating this file. +# !NB! This will ensure that initramfs has an uptodate copy. +# +# Please refer to mdadm.conf(5) for information about this file. +# + +# by default (built-in), scan all partitions (/proc/partitions) and all +# containers for MD superblocks. alternatively, specify devices to scan, using +# wildcards if desired. +#DEVICE partitions containers + +# automatically tag new arrays as belonging to the local system +HOMEHOST + +# instruct the monitoring daemon where to send mail alerts +MAILADDR root + +# definitions of existing MD arrays + +# This configuration was auto-generated on Sun, 28 Feb 2021 05:30:52 +0100 by mkconf diff --git a/mime.types b/mime.types new file mode 100644 index 0000000..6e3eabb --- /dev/null +++ b/mime.types @@ -0,0 +1,845 @@ +############################################################################### +# +# MIME media types and the extensions that represent them. +# +# The format of this file is a media type on the left and zero or more +# filename extensions on the right. Programs using this file will map +# files ending with those extensions to the associated type. +# +# This file is part of the "mime-support" package. Please report a bug using +# the "reportbug" command of the "reportbug" package if you would like new +# types or extensions to be added. +# +# The reason that all types are managed by the mime-support package instead +# allowing individual packages to install types in much the same way as they +# add entries in to the mailcap file is so these types can be referenced by +# other programs (such as a web server) even if the specific support package +# for that type is not installed. +# +# Users can add their own types if they wish by creating a ".mime.types" +# file in their home directory. Definitions included there will take +# precedence over those listed here. +# +############################################################################### + + +application/activemessage +application/andrew-inset ez +application/annodex anx +application/applefile +application/atom+xml atom +application/atomcat+xml atomcat +application/atomicmail +application/atomserv+xml atomsrv +application/batch-SMTP +application/bbolin lin +application/beep+xml +application/cals-1840 +application/commonground +application/cu-seeme cu +application/cybercash +application/davmount+xml davmount +application/dca-rft +application/dec-dx +application/dicom dcm +application/docbook+xml +application/dsptype tsp +application/dvcs +application/ecmascript es +application/edi-consent +application/edi-x12 +application/edifact +application/epub+zip epub +application/eshop +application/font-sfnt otf ttf +application/font-tdpfr pfr +application/font-woff woff +application/futuresplash spl +application/ghostview +application/gzip gz +application/hta hta +application/http +application/hyperstudio +application/iges +application/index +application/index.cmd +application/index.obj +application/index.response +application/index.vnd +application/iotp +application/ipp +application/isup +application/java-archive jar +application/java-serialized-object ser +application/java-vm class +application/javascript js +application/json json +application/m3g m3g +application/mac-binhex40 hqx +application/mac-compactpro cpt +application/macwriteii +application/marc +application/mathematica nb nbp +application/mbox mbox +application/ms-tnef +application/msaccess mdb +application/msword doc dot +application/mxf mxf +application/news-message-id +application/news-transmission +application/ocsp-request +application/ocsp-response +application/octet-stream bin deploy msu msp +application/oda oda +application/oebps-package+xml opf +application/ogg ogx +application/onenote one onetoc2 onetmp onepkg +application/parityfec +application/pdf pdf +application/pgp-encrypted pgp +application/pgp-keys key +application/pgp-signature sig +application/pics-rules prf +application/pkcs10 +application/pkcs7-mime +application/pkcs7-signature +application/pkix-cert +application/pkix-crl +application/pkixcmp +application/postscript ps ai eps epsi epsf eps2 eps3 +application/prs.alvestrand.titrax-sheet +application/prs.cww +application/prs.nprend +application/qsig +application/rar rar +application/rdf+xml rdf +application/remote-printing +application/riscos +application/rtf rtf +application/sdp +application/set-payment +application/set-payment-initiation +application/set-registration +application/set-registration-initiation +application/sgml +application/sgml-open-catalog +application/sieve +application/sla stl +application/slate +application/smil+xml smi smil +application/timestamp-query +application/timestamp-reply +application/vemmi +application/wasm wasm +application/whoispp-query +application/whoispp-response +application/wita +application/x400-bp +application/xhtml+xml xhtml xht +application/xml xml xsd +application/xml-dtd +application/xml-external-parsed-entity +application/xslt+xml xsl xslt +application/xspf+xml xspf +application/zip zip +application/vnd.3M.Post-it-Notes +application/vnd.accpac.simply.aso +application/vnd.accpac.simply.imp +application/vnd.acucobol +application/vnd.aether.imp +application/vnd.android.package-archive apk +application/vnd.anser-web-certificate-issue-initiation +application/vnd.anser-web-funds-transfer-initiation +application/vnd.audiograph +application/vnd.bmi +application/vnd.businessobjects +application/vnd.canon-cpdl +application/vnd.canon-lips +application/vnd.cinderella cdy +application/vnd.claymore +application/vnd.commerce-battelle +application/vnd.commonspace +application/vnd.comsocaller +application/vnd.contact.cmsg +application/vnd.cosmocaller +application/vnd.ctc-posml +application/vnd.cups-postscript +application/vnd.cups-raster +application/vnd.cups-raw +application/vnd.cybank +application/vnd.debian.binary-package deb ddeb udeb +application/vnd.dna +application/vnd.dpgraph +application/vnd.dxr +application/vnd.ecdis-update +application/vnd.ecowin.chart +application/vnd.ecowin.filerequest +application/vnd.ecowin.fileupdate +application/vnd.ecowin.series +application/vnd.ecowin.seriesrequest +application/vnd.ecowin.seriesupdate +application/vnd.enliven +application/vnd.epson.esf +application/vnd.epson.msf +application/vnd.epson.quickanime +application/vnd.epson.salt +application/vnd.epson.ssf +application/vnd.ericsson.quickcall +application/vnd.eudora.data +application/vnd.fdf +application/vnd.ffsns +application/vnd.flographit +application/vnd.font-fontforge-sfd sfd +application/vnd.framemaker +application/vnd.fsc.weblaunch +application/vnd.fujitsu.oasys +application/vnd.fujitsu.oasys2 +application/vnd.fujitsu.oasys3 +application/vnd.fujitsu.oasysgp +application/vnd.fujitsu.oasysprs +application/vnd.fujixerox.ddd +application/vnd.fujixerox.docuworks +application/vnd.fujixerox.docuworks.binder +application/vnd.fut-misnet +application/vnd.google-earth.kml+xml kml +application/vnd.google-earth.kmz kmz +application/vnd.grafeq +application/vnd.groove-account +application/vnd.groove-identity-message +application/vnd.groove-injector +application/vnd.groove-tool-message +application/vnd.groove-tool-template +application/vnd.groove-vcard +application/vnd.hhe.lesson-player +application/vnd.hp-HPGL +application/vnd.hp-PCL +application/vnd.hp-PCLXL +application/vnd.hp-hpid +application/vnd.hp-hps +application/vnd.httphone +application/vnd.hzn-3d-crossword +application/vnd.ibm.MiniPay +application/vnd.ibm.afplinedata +application/vnd.ibm.modcap +application/vnd.informix-visionary +application/vnd.intercon.formnet +application/vnd.intertrust.digibox +application/vnd.intertrust.nncp +application/vnd.intu.qbo +application/vnd.intu.qfx +application/vnd.irepository.package+xml +application/vnd.is-xpr +application/vnd.japannet-directory-service +application/vnd.japannet-jpnstore-wakeup +application/vnd.japannet-payment-wakeup +application/vnd.japannet-registration +application/vnd.japannet-registration-wakeup +application/vnd.japannet-setstore-wakeup +application/vnd.japannet-verification +application/vnd.japannet-verification-wakeup +application/vnd.koan +application/vnd.lotus-1-2-3 +application/vnd.lotus-approach +application/vnd.lotus-freelance +application/vnd.lotus-notes +application/vnd.lotus-organizer +application/vnd.lotus-screencam +application/vnd.lotus-wordpro +application/vnd.mcd +application/vnd.mediastation.cdkey +application/vnd.meridian-slingshot +application/vnd.mif +application/vnd.minisoft-hp3000-save +application/vnd.mitsubishi.misty-guard.trustweb +application/vnd.mobius.daf +application/vnd.mobius.dis +application/vnd.mobius.msl +application/vnd.mobius.plc +application/vnd.mobius.txf +application/vnd.motorola.flexsuite +application/vnd.motorola.flexsuite.adsi +application/vnd.motorola.flexsuite.fis +application/vnd.motorola.flexsuite.gotap +application/vnd.motorola.flexsuite.kmr +application/vnd.motorola.flexsuite.ttc +application/vnd.motorola.flexsuite.wem +application/vnd.mozilla.xul+xml xul +application/vnd.ms-artgalry +application/vnd.ms-asf +application/vnd.ms-excel xls xlb xlt +application/vnd.ms-excel.addin.macroEnabled.12 xlam +application/vnd.ms-excel.sheet.binary.macroEnabled.12 xlsb +application/vnd.ms-excel.sheet.macroEnabled.12 xlsm +application/vnd.ms-excel.template.macroEnabled.12 xltm +application/vnd.ms-fontobject eot +application/vnd.ms-lrm +application/vnd.ms-officetheme thmx +application/vnd.ms-pki.seccat cat +#application/vnd.ms-pki.stl stl +application/vnd.ms-powerpoint ppt pps +application/vnd.ms-powerpoint.addin.macroEnabled.12 ppam +application/vnd.ms-powerpoint.presentation.macroEnabled.12 pptm +application/vnd.ms-powerpoint.slide.macroEnabled.12 sldm +application/vnd.ms-powerpoint.slideshow.macroEnabled.12 ppsm +application/vnd.ms-powerpoint.template.macroEnabled.12 potm +application/vnd.ms-project +application/vnd.ms-tnef +application/vnd.ms-word.document.macroEnabled.12 docm +application/vnd.ms-word.template.macroEnabled.12 dotm +application/vnd.ms-works +application/vnd.mseq +application/vnd.msign +application/vnd.music-niff +application/vnd.musician +application/vnd.netfpx +application/vnd.noblenet-directory +application/vnd.noblenet-sealer +application/vnd.noblenet-web +application/vnd.novadigm.EDM +application/vnd.novadigm.EDX +application/vnd.novadigm.EXT +application/vnd.oasis.opendocument.chart odc +application/vnd.oasis.opendocument.database odb +application/vnd.oasis.opendocument.formula odf +application/vnd.oasis.opendocument.graphics odg +application/vnd.oasis.opendocument.graphics-template otg +application/vnd.oasis.opendocument.image odi +application/vnd.oasis.opendocument.presentation odp +application/vnd.oasis.opendocument.presentation-template otp +application/vnd.oasis.opendocument.spreadsheet ods +application/vnd.oasis.opendocument.spreadsheet-template ots +application/vnd.oasis.opendocument.text odt +application/vnd.oasis.opendocument.text-master odm +application/vnd.oasis.opendocument.text-template ott +application/vnd.oasis.opendocument.text-web oth +application/vnd.openxmlformats-officedocument.presentationml.presentation pptx +application/vnd.openxmlformats-officedocument.presentationml.slide sldx +application/vnd.openxmlformats-officedocument.presentationml.slideshow ppsx +application/vnd.openxmlformats-officedocument.presentationml.template potx +application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx +application/vnd.openxmlformats-officedocument.spreadsheetml.template xltx +application/vnd.openxmlformats-officedocument.wordprocessingml.document docx +application/vnd.openxmlformats-officedocument.wordprocessingml.template dotx +application/vnd.osa.netdeploy +application/vnd.palm +application/vnd.pg.format +application/vnd.pg.osasli +application/vnd.powerbuilder6 +application/vnd.powerbuilder6-s +application/vnd.powerbuilder7 +application/vnd.powerbuilder7-s +application/vnd.powerbuilder75 +application/vnd.powerbuilder75-s +application/vnd.previewsystems.box +application/vnd.publishare-delta-tree +application/vnd.pvi.ptid1 +application/vnd.pwg-xhtml-print+xml +application/vnd.rapid +application/vnd.rim.cod cod +application/vnd.s3sms +application/vnd.seemail +application/vnd.shana.informed.formdata +application/vnd.shana.informed.formtemplate +application/vnd.shana.informed.interchange +application/vnd.shana.informed.package +application/vnd.smaf mmf +application/vnd.sss-cod +application/vnd.sss-dtf +application/vnd.sss-ntf +application/vnd.stardivision.calc sdc +application/vnd.stardivision.chart sds +application/vnd.stardivision.draw sda +application/vnd.stardivision.impress sdd +application/vnd.stardivision.math sdf +application/vnd.stardivision.writer sdw +application/vnd.stardivision.writer-global sgl +application/vnd.street-stream +application/vnd.sun.xml.calc sxc +application/vnd.sun.xml.calc.template stc +application/vnd.sun.xml.draw sxd +application/vnd.sun.xml.draw.template std +application/vnd.sun.xml.impress sxi +application/vnd.sun.xml.impress.template sti +application/vnd.sun.xml.math sxm +application/vnd.sun.xml.writer sxw +application/vnd.sun.xml.writer.global sxg +application/vnd.sun.xml.writer.template stw +application/vnd.svd +application/vnd.swiftview-ics +application/vnd.symbian.install sis +application/vnd.tcpdump.pcap cap pcap +application/vnd.triscape.mxs +application/vnd.trueapp +application/vnd.truedoc +application/vnd.tve-trigger +application/vnd.ufdl +application/vnd.uplanet.alert +application/vnd.uplanet.alert-wbxml +application/vnd.uplanet.bearer-choice +application/vnd.uplanet.bearer-choice-wbxml +application/vnd.uplanet.cacheop +application/vnd.uplanet.cacheop-wbxml +application/vnd.uplanet.channel +application/vnd.uplanet.channel-wbxml +application/vnd.uplanet.list +application/vnd.uplanet.list-wbxml +application/vnd.uplanet.listcmd +application/vnd.uplanet.listcmd-wbxml +application/vnd.uplanet.signal +application/vnd.vcx +application/vnd.vectorworks +application/vnd.vidsoft.vidconference +application/vnd.visio vsd vst vsw vss +application/vnd.vividence.scriptfile +application/vnd.wap.sic +application/vnd.wap.slc +application/vnd.wap.wbxml wbxml +application/vnd.wap.wmlc wmlc +application/vnd.wap.wmlscriptc wmlsc +application/vnd.webturbo +application/vnd.wordperfect wpd +application/vnd.wordperfect5.1 wp5 +application/vnd.wrq-hp3000-labelled +application/vnd.wt.stf +application/vnd.xara +application/vnd.xfdl +application/vnd.yellowriver-custom-menu +application/zlib +application/x-123 wk +application/x-7z-compressed 7z +application/x-abiword abw +application/x-apple-diskimage dmg +application/x-bcpio bcpio +application/x-bittorrent torrent +application/x-cab cab +application/x-cbr cbr +application/x-cbz cbz +application/x-cdf cdf cda +application/x-cdlink vcd +application/x-chess-pgn pgn +application/x-comsol mph +application/x-core +application/x-cpio cpio +application/x-csh csh +application/x-debian-package deb udeb +application/x-director dcr dir dxr +application/x-dms dms +application/x-doom wad +application/x-dvi dvi +application/x-executable +application/x-font pfa pfb gsf +application/x-font-pcf pcf pcf.Z +application/x-freemind mm +application/x-futuresplash spl +application/x-ganttproject gan +application/x-gnumeric gnumeric +application/x-go-sgf sgf +application/x-graphing-calculator gcf +application/x-gtar gtar +application/x-gtar-compressed tgz taz +application/x-hdf hdf +#application/x-httpd-eruby rhtml +#application/x-httpd-php phtml pht php +#application/x-httpd-php-source phps +#application/x-httpd-php3 php3 +#application/x-httpd-php3-preprocessed php3p +#application/x-httpd-php4 php4 +#application/x-httpd-php5 php5 +application/x-hwp hwp +application/x-ica ica +application/x-info info +application/x-internet-signup ins isp +application/x-iphone iii +application/x-iso9660-image iso +application/x-jam jam +application/x-java-applet +application/x-java-bean +application/x-java-jnlp-file jnlp +application/x-jmol jmz +application/x-kchart chrt +application/x-kdelnk +application/x-killustrator kil +application/x-koan skp skd skt skm +application/x-kpresenter kpr kpt +application/x-kspread ksp +application/x-kword kwd kwt +application/x-latex latex +application/x-lha lha +application/x-lyx lyx +application/x-lzh lzh +application/x-lzx lzx +application/x-maker frm maker frame fm fb book fbdoc +application/x-mif mif +application/x-mpegURL m3u8 +application/x-ms-application application +application/x-ms-manifest manifest +application/x-ms-wmd wmd +application/x-ms-wmz wmz +application/x-msdos-program com exe bat dll +application/x-msi msi +application/x-netcdf nc +application/x-ns-proxy-autoconfig pac +application/x-nwc nwc +application/x-object o +application/x-oz-application oza +application/x-pkcs7-certreqresp p7r +application/x-pkcs7-crl crl +application/x-python-code pyc pyo +application/x-qgis qgs shp shx +application/x-quicktimeplayer qtl +application/x-rdp rdp +application/x-redhat-package-manager rpm +application/x-rss+xml rss +application/x-ruby rb +application/x-rx +application/x-scilab sci sce +application/x-scilab-xcos xcos +application/x-sh sh +application/x-shar shar +application/x-shellscript +application/x-shockwave-flash swf swfl +application/x-silverlight scr +application/x-sql sql +application/x-stuffit sit sitx +application/x-sv4cpio sv4cpio +application/x-sv4crc sv4crc +application/x-tar tar +application/x-tcl tcl +application/x-tex-gf gf +application/x-tex-pk pk +application/x-texinfo texinfo texi +application/x-trash ~ % bak old sik +application/x-troff t tr roff +application/x-troff-man man +application/x-troff-me me +application/x-troff-ms ms +application/x-ustar ustar +application/x-videolan +application/x-wais-source src +application/x-wingz wz +application/x-x509-ca-cert crt +application/x-xcf xcf +application/x-xfig fig +application/x-xpinstall xpi +application/x-xz xz + +audio/32kadpcm +audio/3gpp +audio/amr amr +audio/amr-wb awb +audio/annodex axa +audio/basic au snd +audio/csound csd orc sco +audio/flac flac +audio/g.722.1 +audio/l16 +audio/midi mid midi kar +audio/mp4a-latm +audio/mpa-robust +audio/mpeg mpga mpega mp2 mp3 m4a +audio/mpegurl m3u +audio/ogg oga ogg opus spx +audio/parityfec +audio/prs.sid sid +audio/telephone-event +audio/tone +audio/vnd.cisco.nse +audio/vnd.cns.anp1 +audio/vnd.cns.inf1 +audio/vnd.digital-winds +audio/vnd.everad.plj +audio/vnd.lucent.voice +audio/vnd.nortel.vbk +audio/vnd.nuera.ecelp4800 +audio/vnd.nuera.ecelp7470 +audio/vnd.nuera.ecelp9600 +audio/vnd.octel.sbc +audio/vnd.qcelp +audio/vnd.rhetorex.32kadpcm +audio/vnd.vmx.cvsd +audio/x-aiff aif aiff aifc +audio/x-gsm gsm +audio/x-mpegurl m3u +audio/x-ms-wma wma +audio/x-ms-wax wax +audio/x-pn-realaudio-plugin +audio/x-pn-realaudio ra rm ram +audio/x-realaudio ra +audio/x-scpls pls +audio/x-sd2 sd2 +audio/x-wav wav + +chemical/x-alchemy alc +chemical/x-cache cac cache +chemical/x-cache-csf csf +chemical/x-cactvs-binary cbin cascii ctab +chemical/x-cdx cdx +chemical/x-cerius cer +chemical/x-chem3d c3d +chemical/x-chemdraw chm +chemical/x-cif cif +chemical/x-cmdf cmdf +chemical/x-cml cml +chemical/x-compass cpa +chemical/x-crossfire bsd +chemical/x-csml csml csm +chemical/x-ctx ctx +chemical/x-cxf cxf cef +#chemical/x-daylight-smiles smi +chemical/x-embl-dl-nucleotide emb embl +chemical/x-galactic-spc spc +chemical/x-gamess-input inp gam gamin +chemical/x-gaussian-checkpoint fch fchk +chemical/x-gaussian-cube cub +chemical/x-gaussian-input gau gjc gjf +chemical/x-gaussian-log gal +chemical/x-gcg8-sequence gcg +chemical/x-genbank gen +chemical/x-hin hin +chemical/x-isostar istr ist +chemical/x-jcamp-dx jdx dx +chemical/x-kinemage kin +chemical/x-macmolecule mcm +chemical/x-macromodel-input mmd mmod +chemical/x-mdl-molfile mol +chemical/x-mdl-rdfile rd +chemical/x-mdl-rxnfile rxn +chemical/x-mdl-sdfile sd sdf +chemical/x-mdl-tgf tgf +#chemical/x-mif mif +chemical/x-mmcif mcif +chemical/x-mol2 mol2 +chemical/x-molconn-Z b +chemical/x-mopac-graph gpt +chemical/x-mopac-input mop mopcrt mpc zmt +chemical/x-mopac-out moo +chemical/x-mopac-vib mvb +chemical/x-ncbi-asn1 asn +chemical/x-ncbi-asn1-ascii prt ent +chemical/x-ncbi-asn1-binary val aso +chemical/x-ncbi-asn1-spec asn +chemical/x-pdb pdb ent +chemical/x-rosdal ros +chemical/x-swissprot sw +chemical/x-vamas-iso14976 vms +chemical/x-vmd vmd +chemical/x-xtel xtel +chemical/x-xyz xyz + +font/collection ttc +font/otf ttf otf +font/sfnt ttf otf +font/ttf ttf otf +font/woff woff +font/woff2 woff2 + +image/cgm +image/g3fax +image/gif gif +image/ief ief +image/jp2 jp2 jpg2 +image/jpeg jpeg jpg jpe +image/jpm jpm +image/jpx jpx jpf +image/naplps +image/pcx pcx +image/png png +image/prs.btif +image/prs.pti +image/svg+xml svg svgz +image/tiff tiff tif +image/vnd.cns.inf2 +image/vnd.djvu djvu djv +image/vnd.dwg +image/vnd.dxf +image/vnd.fastbidsheet +image/vnd.fpx +image/vnd.fst +image/vnd.fujixerox.edmics-mmr +image/vnd.fujixerox.edmics-rlc +image/vnd.microsoft.icon ico +image/vnd.mix +image/vnd.net-fpx +image/vnd.svf +image/vnd.wap.wbmp wbmp +image/vnd.xiff +image/x-canon-cr2 cr2 +image/x-canon-crw crw +image/x-cmu-raster ras +image/x-coreldraw cdr +image/x-coreldrawpattern pat +image/x-coreldrawtemplate cdt +image/x-corelphotopaint cpt +image/x-epson-erf erf +image/x-icon +image/x-jg art +image/x-jng jng +image/x-ms-bmp bmp +image/x-nikon-nef nef +image/x-olympus-orf orf +image/x-photoshop psd +image/x-portable-anymap pnm +image/x-portable-bitmap pbm +image/x-portable-graymap pgm +image/x-portable-pixmap ppm +image/x-rgb rgb +image/x-xbitmap xbm +image/x-xpixmap xpm +image/x-xwindowdump xwd + +inode/chardevice +inode/blockdevice +inode/directory-locked +inode/directory +inode/fifo +inode/socket + +message/delivery-status +message/disposition-notification +message/external-body +message/http +message/s-http +message/news +message/partial +message/rfc822 eml + +model/iges igs iges +model/mesh msh mesh silo +model/vnd.dwf +model/vnd.flatland.3dml +model/vnd.gdl +model/vnd.gs-gdl +model/vnd.gtw +model/vnd.mts +model/vnd.vtu +model/vrml wrl vrml +model/x3d+vrml x3dv +model/x3d+xml x3d +model/x3d+binary x3db + +multipart/alternative +multipart/appledouble +multipart/byteranges +multipart/digest +multipart/encrypted +multipart/form-data +multipart/header-set +multipart/mixed +multipart/parallel +multipart/related +multipart/report +multipart/signed +multipart/voice-message + +text/cache-manifest appcache +text/calendar ics icz +text/css css +text/csv csv +text/directory +text/english +text/enriched +text/h323 323 +text/html html htm shtml +text/iuls uls +text/mathml mml +text/markdown md markdown +text/parityfec +text/plain asc txt text pot brf srt +text/prs.lines.tag +text/rfc822-headers +text/richtext rtx +text/rtf +text/scriptlet sct wsc +text/t140 +text/texmacs tm +text/tab-separated-values tsv +text/turtle ttl +text/uri-list +text/vcard vcf vcard +text/vnd.abc +text/vnd.curl +text/vnd.debian.copyright +text/vnd.DMClientScript +text/vnd.flatland.3dml +text/vnd.fly +text/vnd.fmi.flexstor +text/vnd.in3d.3dml +text/vnd.in3d.spot +text/vnd.IPTC.NewsML +text/vnd.IPTC.NITF +text/vnd.latex-z +text/vnd.motorola.reflex +text/vnd.ms-mediapackage +text/vnd.sun.j2me.app-descriptor jad +text/vnd.wap.si +text/vnd.wap.sl +text/vnd.wap.wml wml +text/vnd.wap.wmlscript wmls +text/x-bibtex bib +text/x-boo boo +text/x-c++hdr h++ hpp hxx hh +text/x-c++src c++ cpp cxx cc +text/x-chdr h +text/x-component htc +text/x-crontab +text/x-csh csh +text/x-csrc c +text/x-dsrc d +text/x-diff diff patch +text/x-haskell hs +text/x-java java +text/x-lilypond ly +text/x-literate-haskell lhs +text/x-makefile +text/x-moc moc +text/x-pascal p pas +text/x-pcs-gcd gcd +text/x-perl pl pm +text/x-python py +text/x-scala scala +text/x-server-parsed-html +text/x-setext etx +text/x-sfv sfv +text/x-sh sh +text/x-tcl tcl tk +text/x-tex tex ltx sty cls +text/x-vcalendar vcs + +video/3gpp 3gp +video/annodex axv +video/dl dl +video/dv dif dv +video/fli fli +video/gl gl +video/mpeg mpeg mpg mpe +video/MP2T ts +video/mp4 mp4 +video/quicktime qt mov +video/mp4v-es +video/ogg ogv +video/parityfec +video/pointer +video/webm webm +video/vnd.fvt +video/vnd.motorola.video +video/vnd.motorola.videop +video/vnd.mpegurl mxu +video/vnd.mts +video/vnd.nokia.interleaved-multimedia +video/vnd.vivo +video/x-flv flv +video/x-la-asf lsf lsx +video/x-mng mng +video/x-ms-asf asf asx +video/x-ms-wm wm +video/x-ms-wmv wmv +video/x-ms-wmx wmx +video/x-ms-wvx wvx +video/x-msvideo avi +video/x-sgi-movie movie +video/x-matroska mpv mkv + +x-conference/x-cooltalk ice + +x-epoc/x-sisx-app sisx +x-world/x-vrml vrm vrml wrl diff --git a/mke2fs.conf b/mke2fs.conf new file mode 100644 index 0000000..01e35cf --- /dev/null +++ b/mke2fs.conf @@ -0,0 +1,47 @@ +[defaults] + base_features = sparse_super,large_file,filetype,resize_inode,dir_index,ext_attr + default_mntopts = acl,user_xattr + enable_periodic_fsck = 0 + blocksize = 4096 + inode_size = 256 + inode_ratio = 16384 + +[fs_types] + ext3 = { + features = has_journal + } + ext4 = { + features = has_journal,extent,huge_file,flex_bg,metadata_csum,64bit,dir_nlink,extra_isize + inode_size = 256 + } + small = { + blocksize = 1024 + inode_size = 128 + inode_ratio = 4096 + } + floppy = { + blocksize = 1024 + inode_size = 128 + inode_ratio = 8192 + } + big = { + inode_ratio = 32768 + } + huge = { + inode_ratio = 65536 + } + news = { + inode_ratio = 4096 + } + largefile = { + inode_ratio = 1048576 + blocksize = -1 + } + largefile4 = { + inode_ratio = 4194304 + blocksize = -1 + } + hurd = { + blocksize = 4096 + inode_size = 128 + } diff --git a/modprobe.d/mdadm.conf b/modprobe.d/mdadm.conf new file mode 100644 index 0000000..5ad1249 --- /dev/null +++ b/modprobe.d/mdadm.conf @@ -0,0 +1,8 @@ +# mdadm module configuration file +# set start_ro=1 to make newly assembled arrays read-only initially, +# to prevent metadata writes. This is needed in order to allow +# resume-from-disk to work - new boot should not perform writes +# because it will be done behind the back of the system being +# resumed. See http://bugs.debian.org/415441 for details. + +options md_mod start_ro=1 diff --git a/modules b/modules new file mode 100644 index 0000000..a88e208 --- /dev/null +++ b/modules @@ -0,0 +1,5 @@ +# /etc/modules: kernel modules to load at boot time. +# +# This file contains the names of kernel modules that should be loaded +# at boot time, one per line. Lines beginning with "#" are ignored. + diff --git a/modules-load.d/modules.conf b/modules-load.d/modules.conf new file mode 120000 index 0000000..464b823 --- /dev/null +++ b/modules-load.d/modules.conf @@ -0,0 +1 @@ +../modules \ No newline at end of file diff --git a/motd b/motd new file mode 100644 index 0000000..0c87dd3 --- /dev/null +++ b/motd @@ -0,0 +1,7 @@ + +The programs included with the Debian GNU/Linux system are free software; +the exact distribution terms for each program are described in the +individual files in /usr/share/doc/*/copyright. + +Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent +permitted by applicable law. diff --git a/nanorc b/nanorc new file mode 100644 index 0000000..427801a --- /dev/null +++ b/nanorc @@ -0,0 +1,272 @@ +## Sample initialization file for GNU nano. +## +## Please note that you must have configured nano with --enable-nanorc +## for this file to be read! Also note that this file should not be in +## DOS or Mac format, and that characters specially interpreted by the +## shell should not be escaped here. +## +## To make sure an option is disabled, use "unset