mirror of
https://codeberg.org/Computertruhe/Setup-Skripte.git
synced 2024-06-01 16:16:29 +02:00
Compare commits
84 commits
Author | SHA1 | Date | |
---|---|---|---|
ed5e36ee01 | |||
75a9bc1efd | |||
1fc3684997 | |||
c4cd6b0fd8 | |||
c63f56a982 | |||
8f6d1ec3f4 | |||
99ce4abade | |||
dd5a01bca3 | |||
7749e65d55 | |||
4e02be504e | |||
cfc21d4a7f | |||
05df5c9d50 | |||
9be090a044 | |||
d102f5feff | |||
57950356ba | |||
1b377a6fe0 | |||
039d4be3d1 | |||
4b6f76685f | |||
464c20b0be | |||
0e826d5c13 | |||
04da5c1ecc | |||
baeae4efd2 | |||
a5d661a25f | |||
d899a68f32 | |||
debf868245 | |||
cb9a2ae2dc | |||
dc37fd7fc3 | |||
3d38f25e46 | |||
4e04d8835c | |||
7c5f78327d | |||
026d09fd6f | |||
5489fafc1f | |||
77d396f7e3 | |||
caa67f1b19 | |||
126dff80e8 | |||
174ba04ed0 | |||
6810124c8d | |||
c0fa7fa8dd | |||
240b9df142 | |||
2cca6fe206 | |||
b035aa76ed | |||
8c040545b4 | |||
076923b03d | |||
623c5e83e6 | |||
8c06ed4180 | |||
3e916a44aa | |||
8801c41e7d | |||
040c57f76a | |||
bd6d9ebd90 | |||
59265ca04d | |||
94262a819e | |||
b9d99a9c75 | |||
47da9c7129 | |||
602ec9fffe | |||
b33894b04a | |||
651e027063 | |||
617f5bac09 | |||
4703ddb069 | |||
5b25ac8321 | |||
6a65f3f33b | |||
5121d8e597 | |||
3fc5fa62a8 | |||
8e05d68829 | |||
30ec6f2d32 | |||
338c637bff | |||
1abbcf3a1b | |||
cfed516cb4 | |||
5e4d988a7e | |||
a79da12b5c | |||
05f924e1a4 | |||
a2d105fd2e | |||
f1743ea11b | |||
8bc989636d | |||
c6932bb9ca | |||
d1aa897abf | |||
b59d74f0fd | |||
c9b64f029a | |||
f4708b897d | |||
9735d40276 | |||
91166daba8 | |||
b8d49ab662 | |||
b4231ac8d1 | |||
8338eca007 | |||
2ec149040a |
|
@ -2,3 +2,5 @@
|
||||||
|
|
||||||
## Beschreibung
|
## Beschreibung
|
||||||
Dieses Repository enthält Skripte und Tools, die zum Einrichten neuer Systeme verwendet werden.
|
Dieses Repository enthält Skripte und Tools, die zum Einrichten neuer Systeme verwendet werden.
|
||||||
|
|
||||||
|
Bitte die Readme-Dateien in den Unterordnern, mit den Namen der Betriebssysteme ansehen, um weitere Informationen über die Verwendung der Skripte zu erhalten.
|
||||||
|
|
48
installstick/block.sh
Executable file
48
installstick/block.sh
Executable file
|
@ -0,0 +1,48 @@
|
||||||
|
!/bin/bash
|
||||||
|
# ##############
|
||||||
|
# Nettes Skript, das eine Datei via http holt
|
||||||
|
# erwartet wird eine Liste von image-Dateien
|
||||||
|
# zeilenweise getrennt
|
||||||
|
# im gleichen Verzeichnis sollten sie liegen
|
||||||
|
# ################################
|
||||||
|
|
||||||
|
BASISURL="http://ct-pc/images"
|
||||||
|
INDEXURL="$BASISURL/index"
|
||||||
|
|
||||||
|
index=$(wget -qO- $INDEXURL)
|
||||||
|
echo $index
|
||||||
|
imgs=()
|
||||||
|
for element in $index;
|
||||||
|
do
|
||||||
|
imgs+=("$element")
|
||||||
|
imgs+=("")
|
||||||
|
done
|
||||||
|
|
||||||
|
os=`dialog --menu "Abbild wählen" 0 0 0 \
|
||||||
|
"${imgs[@]}" 3>&1 1>&2 2>&3`
|
||||||
|
dialog --clear
|
||||||
|
|
||||||
|
|
||||||
|
# Demonstriert dialog mit Auswahl
|
||||||
|
|
||||||
|
GG=`lsblk -r -p -n -oNAME`
|
||||||
|
echo $GG
|
||||||
|
Devs=()
|
||||||
|
for dev in $GG; do
|
||||||
|
Devs+=($dev)
|
||||||
|
Devs+=("")
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
echo ${Devs[@]}
|
||||||
|
|
||||||
|
|
||||||
|
dev=`dialog --menu "Festplattengerät wählen" 0 0 0 \
|
||||||
|
"${Devs[@]}" 3>&1 1>&2 2>&3`
|
||||||
|
dialog --clear
|
||||||
|
dialog --yesno "Bestätigen Sie Ihre Auswahl: $dev" 0 0
|
||||||
|
dialog --clear
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
89
installstick/dlg_platte_bespielen_btrfs.sh
Executable file
89
installstick/dlg_platte_bespielen_btrfs.sh
Executable file
|
@ -0,0 +1,89 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [[ -z "$(command -v growpart)" || -z "$(command -v btrfs)" ]]; then
|
||||||
|
echo "growpart oder btrfs fehlt! Installiere cloud-guest-utils und btrfs-progs..."
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install -y cloud-guest-utils btrfs-progs
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$(command -v dialog)" ]; then
|
||||||
|
echo "dialog fehlt! Installiere dialog..."
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install -y dialog
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
while true;
|
||||||
|
do
|
||||||
|
dialog --clear
|
||||||
|
# select filename using dialog
|
||||||
|
IMG=$(dialog --title "Image-Datei wählen. Mit *Leertaste* selektieren" --stdout --fselect ./ 14 88)
|
||||||
|
|
||||||
|
GG=$(lsblk -r -p -n -o NAME,TYPE |grep disk | cut -f1 -d' ')
|
||||||
|
echo $GG
|
||||||
|
Devs=()
|
||||||
|
for dev in $GG; do
|
||||||
|
Devs+=($dev)
|
||||||
|
Devs+=("")
|
||||||
|
done
|
||||||
|
|
||||||
|
DEV=`dialog --menu "Festplattengerät wählen" 0 0 0 \
|
||||||
|
"${Devs[@]}" 3>&1 1>&2 2>&3`
|
||||||
|
dialog --clear
|
||||||
|
|
||||||
|
dialog --yesno "Bestätigen Sie Ihre Auswahl: $DEV <- $IMG" 0 0
|
||||||
|
# Get exit status
|
||||||
|
# 0 means user hit [yes] button.
|
||||||
|
# 1 means user hit [no] button.
|
||||||
|
# 255 means user hit [Esc] key.
|
||||||
|
response=$?
|
||||||
|
case $response in
|
||||||
|
0) echo "Bestätigt"; break;;
|
||||||
|
1) echo "Sicherheitshalber beendet"; exit 1;;
|
||||||
|
255) echo "[ESC], Sicherheitshalber beendet"; exit 1;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
#---------
|
||||||
|
|
||||||
|
if [ -z "$(command -v growpart)" ]; then
|
||||||
|
echo "growpart fehlt! Installiere cloud-guest-utils..."
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install -y cloud-guest-utils
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$IMG" ] ; then
|
||||||
|
echo "Image-File angeben!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$DEV" ] ; then
|
||||||
|
echo "HDD dev angeben! z. B. /dev/hdc"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Warte 2 Sekunden vor dem löschen, abbrechen mit strg + c..."
|
||||||
|
sleep 2
|
||||||
|
echo "Achtung - vorbei, ich mache jetzt alles platt auf" "${DEV}"
|
||||||
|
|
||||||
|
NVME_PARTITION_SUFFIX=''
|
||||||
|
if [[ "$DEV" == *"nvme"* ]]; then
|
||||||
|
echo "$DEV is NVME device"
|
||||||
|
NVME_PARTITION_SUFFIX='p'
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$IMG" in
|
||||||
|
*.bz2)
|
||||||
|
sudo dd if="$IMG" bs=1M status=progress | bzip2 -d > "$DEV"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
sudo dd if="$IMG" of=$DEV bs=1M status=progress
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
sync
|
||||||
|
sudo growpart $DEV 3
|
||||||
|
sudo mount ${DEV}${NVME_PARTITION_SUFFIX}3 /mnt
|
||||||
|
sudo btrfs filesystem resize max /mnt
|
||||||
|
sudo umount /mnt
|
||||||
|
sync
|
96
installstick/dlg_platte_einlesen.sh
Executable file
96
installstick/dlg_platte_einlesen.sh
Executable file
|
@ -0,0 +1,96 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ -z "$(command -v dialog)" ]; then
|
||||||
|
echo "dialog fehlt! Installiere dialog..."
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install -y dialog btrfs-progs
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
GG=$(lsblk -r -p -n -o NAME,TYPE |grep disk | cut -f1 -d' ')
|
||||||
|
echo $GG
|
||||||
|
Devs=()
|
||||||
|
for dev in $GG; do
|
||||||
|
Devs+=($dev)
|
||||||
|
Devs+=("")
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
while true
|
||||||
|
do
|
||||||
|
|
||||||
|
dev=`dialog --menu "Platte einlesen. Festplattengerät wählen" 0 0 0 \
|
||||||
|
"${Devs[@]}" 3>&1 1>&2 2>&3`
|
||||||
|
dialog --clear
|
||||||
|
dialog --yesno "Bestätigen Sie Ihre Auswahl: $dev" 0 0
|
||||||
|
|
||||||
|
# Get exit status
|
||||||
|
# 0 means user hit [yes] button.
|
||||||
|
# 1 means user hit [no] button.
|
||||||
|
# 255 means user hit [Esc] key.
|
||||||
|
response=$?
|
||||||
|
case $response in
|
||||||
|
0) echo "Bestätigt"; break;;
|
||||||
|
1) echo "Neu wählen";;
|
||||||
|
255) echo "[ESC]"; exit 1;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
while true
|
||||||
|
do
|
||||||
|
dialog --clear
|
||||||
|
# show an inputbox
|
||||||
|
FILENM=$(dialog --title "Imagedatei" --inputbox "Dateiname \*.img " 8 60 3>&1 1>&2 2>&3 3>&- )
|
||||||
|
|
||||||
|
# get respose
|
||||||
|
respose=$?
|
||||||
|
case $response in
|
||||||
|
1) exit 2 ;;
|
||||||
|
255) echo "[ESC]"; exit 1;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
|
||||||
|
dialog --clear
|
||||||
|
dialog --yesno "Gewählte Datei: $FILENM" 0 0
|
||||||
|
# Get exit status
|
||||||
|
# 0 means user hit [yes] button.
|
||||||
|
# 1 means user hit [no] button.
|
||||||
|
# 255 means user hit [Esc] key.
|
||||||
|
response=$?
|
||||||
|
case $response in
|
||||||
|
0) echo "Bestätigt"; break;;
|
||||||
|
1) echo "Neu wählen";;
|
||||||
|
255) echo "[ESC]"; exit 1;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "Ermittle letzten Sektor von Quelldevice $dev"
|
||||||
|
LASTSECT=$(sudo fdisk -x "$dev" | tail -1 | awk '{print $3}' )
|
||||||
|
|
||||||
|
dialog --clear
|
||||||
|
dialog --yesno "Letzter Sektor von letzter Partition auf $dev ist $LASTSECT . OK?" 0 0
|
||||||
|
# Get exit status
|
||||||
|
# 0 means user hit [yes] button.
|
||||||
|
# 1 means user hit [no] button.
|
||||||
|
# 255 means user hit [Esc] key.
|
||||||
|
response=$?
|
||||||
|
case $response in
|
||||||
|
0) echo "Bestätigt";;
|
||||||
|
1) echo "Sicherheitshalber beendet"; exit 1;;
|
||||||
|
255) echo "[ESC]"; exit 1;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
echo "Bereit $dev bis $LASTSECT in $FILENM zu schreiben"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
sudo dd if=$dev of="$FILENM" bs=512 count=$LASTSECT status=progress
|
26
installstick/liesmich.txt
Normal file
26
installstick/liesmich.txt
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
Dialogbasierte Imager-Skripte
|
||||||
|
|
||||||
|
Einfaches Zeug mit dd.
|
||||||
|
|
||||||
|
Einlesen:
|
||||||
|
Bereite die Platte vor. Die dritte Partition sollte / sein und btrfs haben
|
||||||
|
Verkleinere die Partition mit kparted so weit wie möglich.
|
||||||
|
Wähle die betreffende Platte aus. Nutze dabei das gesamt-Device
|
||||||
|
z.B. /dev/sdc.
|
||||||
|
Wähle dann einen Dateinamen.
|
||||||
|
|
||||||
|
Das Skript ermittelt den Endsektor der letzten Partition (z.B. /dev/sdc3) und erstellt ein
|
||||||
|
Image indem es dd verwendet.
|
||||||
|
|
||||||
|
|
||||||
|
Ausschreiben:
|
||||||
|
dlg_platte_beschreiben.sh
|
||||||
|
|
||||||
|
einfach aufrufen, sudo-Rechte werden bei Bedarf erfragt.
|
||||||
|
Der erste Dialog fragt nach dem Device auf das geschrieben werden soll.
|
||||||
|
Wähle die angeschlossene SSD aus, raw. Nicht die Partition. Also /dev/sde z.B.
|
||||||
|
Der nächste Dialog lässt das Image auswählen.
|
||||||
|
Wähle es aus und bestätige. Achtung: 'dialog' möchte die Selektion mit <Leertaste>.
|
||||||
|
Nach einer Sicherheisfrage geht es los.
|
||||||
|
Es dauert eine weile und die Platte ist bespielt.
|
||||||
|
Zum Schluss wird die letzte Partition auf die Plattengröße expandiert.
|
32
installstick/platte_bespielen_btrfs.sh
Executable file
32
installstick/platte_bespielen_btrfs.sh
Executable file
|
@ -0,0 +1,32 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
IMG="$1"
|
||||||
|
DEV="$2"
|
||||||
|
|
||||||
|
if [[ -z "$(command -v growpart)" || -z "$(command -v btrfs)" ]]; then
|
||||||
|
echo "growpart oder btrfs fehlt! Installiere cloud-guest-utils und btrfs-progs..."
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install -y cloud-guest-utils btrfs-progs
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$IMG" ] ; then
|
||||||
|
echo "Image-File angeben!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$DEV" ] ; then
|
||||||
|
echo "HDD dev angeben! z. B. /dev/hdc"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Warte 5 Sekunden vor dem löschen, abbrechen mit strg + c..."
|
||||||
|
sleep 5
|
||||||
|
echo "Achtung - vorbei, ich mache jetzt alles platt auf" "${DEV}"
|
||||||
|
|
||||||
|
sudo dd if="$IMG" of=$DEV bs=1M status=progress
|
||||||
|
sync
|
||||||
|
sudo growpart $DEV 3
|
||||||
|
sudo mount ${DEV}3 /mnt
|
||||||
|
sudo btrfs filesystem resize max /mnt
|
||||||
|
sudo umount /mnt
|
||||||
|
sync
|
130
kubuntu/computertruhe.seed
Normal file
130
kubuntu/computertruhe.seed
Normal file
|
@ -0,0 +1,130 @@
|
||||||
|
# My preseed file for Kubuntu 20.0 LTS
|
||||||
|
|
||||||
|
d-i debian-installer/locale string de_DE
|
||||||
|
d-i localechooser/supported-locales multiselect de_DE.UTF-8, en_GB.UTF-8, ar_SY.UTF-8, fa_IR.UTF-8, uz_Arab_AF.UTF-8
|
||||||
|
d-i keyboard-configuration/xkb-keymap select de
|
||||||
|
d-i keyboard-configuration/layoutcode string de
|
||||||
|
# Optionally specify additional locales to be generated.
|
||||||
|
|
||||||
|
d-i debian-installer/splash boolean false
|
||||||
|
d-i console-setup/ask_detect boolean false
|
||||||
|
d-i console-setup/layoutcode string de
|
||||||
|
d-i console-setup/variantcode string
|
||||||
|
|
||||||
|
# Enable extras.ubuntu.com.
|
||||||
|
d-i apt-setup/extras boolean true
|
||||||
|
|
||||||
|
|
||||||
|
### Partitioning
|
||||||
|
# If the system has free space you can choose to only partition that space.
|
||||||
|
# This is only honoured if partman-auto/method (below) is not set.
|
||||||
|
#d-i partman-auto/init_automatically_partition select biggest_free
|
||||||
|
|
||||||
|
# Alternatively, you may specify a disk to partition. If the system has only
|
||||||
|
# one disk the installer will default to using that, but otherwise the device
|
||||||
|
# name must be given in traditional, non-devfs format (so e.g. /dev/sda
|
||||||
|
# and not e.g. /dev/discs/disc0/disc).
|
||||||
|
# For example, to use the first SCSI/SATA hard disk:
|
||||||
|
#d-i partman-auto/disk string /dev/sda
|
||||||
|
# In addition, you'll need to specify the method to use.
|
||||||
|
# The presently available methods are:
|
||||||
|
# - regular: use the usual partition types for your architecture
|
||||||
|
# - lvm: use LVM to partition the disk
|
||||||
|
# - crypto: use LVM within an encrypted partition
|
||||||
|
#d-i partman-auto/method string regular
|
||||||
|
|
||||||
|
# You can choose one of the three predefined partitioning recipes:
|
||||||
|
# - atomic: all files in one partition
|
||||||
|
# - home: separate /home partition
|
||||||
|
# - multi: separate /home, /var, and /tmp partitions
|
||||||
|
#d-i partman-auto/choose_recipe select atomic
|
||||||
|
|
||||||
|
#d-i partman/default_filesystem string ext3
|
||||||
|
d-i partman/choose_partition select finish
|
||||||
|
|
||||||
|
# If one of the disks that are going to be automatically partitioned
|
||||||
|
# contains an old LVM configuration, the user will normally receive a
|
||||||
|
# warning. This can be preseeded away...
|
||||||
|
d-i partman-lvm/device_remove_lvm boolean true
|
||||||
|
# The same applies to pre-existing software RAID array:
|
||||||
|
d-i partman-md/device_remove_md boolean true
|
||||||
|
# And the same goes for the confirmation to write the lvm partitions.
|
||||||
|
d-i partman-lvm/confirm boolean true
|
||||||
|
d-i partman-lvm/confirm_nooverwrite boolean true
|
||||||
|
|
||||||
|
# Just in case, the positive answer to all other imagineable conformation questions:
|
||||||
|
d-i partman-partitioning/confirm_write_new_label boolean true
|
||||||
|
d-i partman/confirm boolean true
|
||||||
|
d-i partman/confirm_nooverwrite boolean true
|
||||||
|
d-i partman/confirm_write_new_label boolean true
|
||||||
|
d-i partman-md/confirm boolean true
|
||||||
|
|
||||||
|
# Time
|
||||||
|
d-i time/zone string Europe/Berlin
|
||||||
|
d-i clock-setup/utc boolean true
|
||||||
|
d-i clock-setup/ntp boolean true
|
||||||
|
d-i clock-setup/ntp-server string ntp.ubuntu.com
|
||||||
|
|
||||||
|
### Mirror settings
|
||||||
|
# If you select ftp, the mirror/country string does not need to be set.
|
||||||
|
#d-i mirror/protocol string ftp
|
||||||
|
#d-i mirror/country string manual
|
||||||
|
#d-i mirror/http/hostname string http.us.debian.org
|
||||||
|
#d-i mirror/http/directory string /debian
|
||||||
|
d-i mirror/http/proxy string http://apt-proxy:3142
|
||||||
|
|
||||||
|
# LinuxMint will *demand* a user during installation, ignoring the value
|
||||||
|
# of the passwd/make-user flag, so we need to provide the user data here.
|
||||||
|
# You should not preseed the password in clear text, this is just an example!
|
||||||
|
# Set to 'oem'
|
||||||
|
d-i passwd/user-fullname string OEM
|
||||||
|
d-i passwd/username string oem
|
||||||
|
d-i passwd/user-password-crypted password $6$VxY8Sv9YSjh6nfrd$pIxEGR3UjMLQ5bjtw4AOU/SMD8BZmGzSWDhA6hJvnOyQdKZty3Yvpsms.3Nty28SQEMcwVFEESjYbZuut0X6I0.
|
||||||
|
d-i passwd/user-password-again password $6$VxY8Sv9YSjh6nfrd$pIxEGR3UjMLQ5bjtw4AOU/SMD8BZmGzSWDhA6hJvnOyQdKZty3Yvpsms.3Nty28SQEMcwVFEESjYbZuut0X6I0.
|
||||||
|
d-i passwd/root-login boolean false
|
||||||
|
d-i user-setup/encrypt-home boolean false
|
||||||
|
d-i user-setup/allow-password-weak boolean true
|
||||||
|
|
||||||
|
|
||||||
|
# Use non-free packages
|
||||||
|
ubiquity ubiquity/use_nonfree boolean true
|
||||||
|
|
||||||
|
# Install the Kubuntu desktop.
|
||||||
|
tasksel tasksel/first multiselect kubuntu-desktop
|
||||||
|
# Install KDE translation packages.
|
||||||
|
d-i pkgsel/language-pack-patterns string language-pack-kde-$LL kde-i18n-$LL
|
||||||
|
# Install the KDE oem-config frontend (if in OEM mode).
|
||||||
|
d-i oem-config-udeb/frontend string kde
|
||||||
|
# On live DVDs, don't spend huge amounts of time removing substantial
|
||||||
|
# application packages pulled in by language packs. Given that we clearly
|
||||||
|
# have the space to include them on the DVD, they're useful and we might as
|
||||||
|
# well keep them installed.
|
||||||
|
ubiquity ubiquity/keep-installed string icedtea6-plugin openoffice.org
|
||||||
|
|
||||||
|
#### Advanced options
|
||||||
|
### Running custom commands during the installation
|
||||||
|
# d-i preseeding is inherently not secure. Nothing in the installer checks
|
||||||
|
# for attempts at buffer overflows or other exploits of the values of a
|
||||||
|
# preconfiguration file like this one. Only use preconfiguration files from
|
||||||
|
# trusted locations! To drive that home, and because it's generally useful,
|
||||||
|
# here's a way to run any shell command you'd like inside the installer,
|
||||||
|
# automatically.
|
||||||
|
|
||||||
|
# This first command is run as early as possible, just after
|
||||||
|
# preseeding is read.
|
||||||
|
#d-i preseed/early_command string anna-install some-udeb
|
||||||
|
# This command is run immediately before the partitioner starts. It may be
|
||||||
|
# useful to apply dynamic partitioner preseeding that depends on the state
|
||||||
|
# of the disks (which may not be visible when preseed/early_command runs).
|
||||||
|
#d-i partman/early_command \
|
||||||
|
# string debconf-set partman-auto/disk "$(list-devices disk | head -n1)"
|
||||||
|
# This command is run just before the install finishes, but when there is
|
||||||
|
# still a usable /target directory. You can chroot to /target and use it
|
||||||
|
# directly, or use the apt-install and in-target commands to easily install
|
||||||
|
# packages and run commands in the target system.
|
||||||
|
#d-i preseed/late_command string apt-install zsh; in-target chsh -s /bin/zsh
|
||||||
|
# Script am Ende
|
||||||
|
#d-i preseed/late_command string wget -O - http://netboot/kubuntu_late_command.sh | bash
|
||||||
|
|
||||||
|
# on target:
|
||||||
|
d-i preseed/late_command string chroot /target bash /cdrom/preseed/kubuntu_late_command.sh
|
224
kubuntu/kubuntu_late20.04.sh
Normal file
224
kubuntu/kubuntu_late20.04.sh
Normal file
|
@ -0,0 +1,224 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# execute self with sudo if user is not root
|
||||||
|
[[ $UID -ne 0 ]] && exec sudo ./"$0"
|
||||||
|
|
||||||
|
###
|
||||||
|
# Set variables
|
||||||
|
###
|
||||||
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
|
DPKG_CFG_FRAGMENT=/etc/dpkg/dpkg.cfg.d/non-interactive
|
||||||
|
|
||||||
|
# Linux distro
|
||||||
|
script_distro='Kubuntu Linux 20.4.0'
|
||||||
|
|
||||||
|
# Additional packages
|
||||||
|
packages=(
|
||||||
|
# Graphics
|
||||||
|
gimp
|
||||||
|
inkscape
|
||||||
|
pinta
|
||||||
|
krita
|
||||||
|
|
||||||
|
# Office
|
||||||
|
libreoffice
|
||||||
|
|
||||||
|
# Security
|
||||||
|
keepassxc
|
||||||
|
|
||||||
|
# Games
|
||||||
|
#0ad
|
||||||
|
beneath-a-steel-sky
|
||||||
|
billard-gl
|
||||||
|
blobby
|
||||||
|
blockout2
|
||||||
|
flight-of-the-amazon-queen
|
||||||
|
freeciv
|
||||||
|
frozen-bubble
|
||||||
|
gbrainy
|
||||||
|
gnome-games
|
||||||
|
gweled
|
||||||
|
hedgewars
|
||||||
|
lincity-ng
|
||||||
|
lure-of-the-temptress
|
||||||
|
minetest
|
||||||
|
openttd
|
||||||
|
pingus
|
||||||
|
pipewalker
|
||||||
|
pokerth
|
||||||
|
supertux
|
||||||
|
supertuxkart
|
||||||
|
teeworlds
|
||||||
|
wesnoth
|
||||||
|
widelands
|
||||||
|
|
||||||
|
# Gaming platforms
|
||||||
|
playonlinux
|
||||||
|
steam
|
||||||
|
wine-stable
|
||||||
|
winetricks
|
||||||
|
|
||||||
|
# System management
|
||||||
|
kpartx
|
||||||
|
oem-config
|
||||||
|
|
||||||
|
# Tools
|
||||||
|
f3
|
||||||
|
hardinfo
|
||||||
|
regionset
|
||||||
|
vim
|
||||||
|
|
||||||
|
# Media
|
||||||
|
cheese
|
||||||
|
vlc
|
||||||
|
|
||||||
|
# Knowledge (incl. programs from the former ubunbu-edu-* meta packages)
|
||||||
|
blinken
|
||||||
|
calibre
|
||||||
|
cantor
|
||||||
|
chemtool
|
||||||
|
dia
|
||||||
|
einstein
|
||||||
|
fritzing
|
||||||
|
gamine
|
||||||
|
gcompris
|
||||||
|
goldendict
|
||||||
|
inkscape
|
||||||
|
kalgebra
|
||||||
|
kalzium
|
||||||
|
kanagram
|
||||||
|
kbruch
|
||||||
|
kgeography
|
||||||
|
khangman
|
||||||
|
kig
|
||||||
|
klettres
|
||||||
|
kmplot
|
||||||
|
kstars
|
||||||
|
ktouch
|
||||||
|
ktuberling
|
||||||
|
kturtle
|
||||||
|
kwordquiz
|
||||||
|
laby
|
||||||
|
lightspeed
|
||||||
|
lybniz
|
||||||
|
marble
|
||||||
|
melting
|
||||||
|
parley
|
||||||
|
pencil2d
|
||||||
|
ri-li
|
||||||
|
rocs
|
||||||
|
step
|
||||||
|
tuxmath
|
||||||
|
tuxpaint
|
||||||
|
tuxtype
|
||||||
|
yorick
|
||||||
|
|
||||||
|
# Language support
|
||||||
|
language-selector-common
|
||||||
|
openoffice.org-hyphenation
|
||||||
|
language-pack-kde-ar
|
||||||
|
language-pack-kde-uk
|
||||||
|
language-pack-kde-ru
|
||||||
|
language-pack-kde-fa
|
||||||
|
)
|
||||||
|
|
||||||
|
###
|
||||||
|
# Functions
|
||||||
|
###
|
||||||
|
|
||||||
|
# $*: message to echo
|
||||||
|
e() {
|
||||||
|
printf "\e[31m>>>\e[0m %s\n" "$*"
|
||||||
|
}
|
||||||
|
|
||||||
|
# It's a pain to stop (ctrl+c, kill) execution with all the Python applications
|
||||||
|
# so we catch SIGINT and SIGTERM and exit immediately
|
||||||
|
handle_signal() {
|
||||||
|
e "Ausführung abgebrochen! Skript wird beendet."
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# always executed on shell exit regardless of reason. for cleanup tasks
|
||||||
|
handle_exit() {
|
||||||
|
e "Finales Cleanup wird durchgeführt …"
|
||||||
|
rm -f "$DPKG_CFG_FRAGMENT"
|
||||||
|
}
|
||||||
|
|
||||||
|
trap handle_signal SIGINT SIGTERM
|
||||||
|
trap handle_exit EXIT
|
||||||
|
|
||||||
|
pkg() {
|
||||||
|
apt install "$@" --yes --quiet
|
||||||
|
}
|
||||||
|
|
||||||
|
###
|
||||||
|
# Greeting
|
||||||
|
###
|
||||||
|
echo "\
|
||||||
|
#####################################
|
||||||
|
# Computertruhe-Installationsskript #
|
||||||
|
#####################################
|
||||||
|
|
||||||
|
###
|
||||||
|
# Maintainer: Computertruhe e. V.
|
||||||
|
# Website: https://computertruhe.de/
|
||||||
|
# Version: 1.0.0
|
||||||
|
# Repo: https://codeberg.org/Computertruhe/computertruhe-setup
|
||||||
|
# Distro: ${script_distro}
|
||||||
|
###
|
||||||
|
"
|
||||||
|
e "Starte initiales Setup für Rechner mit frisch installiertem '${script_distro}' …"
|
||||||
|
|
||||||
|
# ChCh apt proxy benutzen (bedingt = wenn da)
|
||||||
|
ping -c 1 apt-proxy
|
||||||
|
if [ "$?" -eq "0" ]; then
|
||||||
|
echo 'Acquire::https::Proxy "http://apt-proxy:3142";' > /etc/apt/apt.conf.d/01aptproxy
|
||||||
|
echo 'Acquire::http::Proxy "http://apt-proxy:3142";' >> /etc/apt/apt.conf.d/01aptproxy
|
||||||
|
e "Proxy Apt-Aktiv"
|
||||||
|
else
|
||||||
|
e "Kein Apt-Proxy"
|
||||||
|
fi
|
||||||
|
echo 'Dpkg::Options "--force-unsafe-io";' >> /etc/apt/apt.conf.d/01aptproxy
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
# Automatic installation
|
||||||
|
###
|
||||||
|
# place temporary dpkg configurations to ensure non-interactive upgrade
|
||||||
|
cat <<'DPKG' >"$DPKG_CFG_FRAGMENT"
|
||||||
|
force-confold
|
||||||
|
force-confdef
|
||||||
|
DPKG
|
||||||
|
|
||||||
|
e "Paketquellen aktualisieren …"
|
||||||
|
apt update --yes --quiet
|
||||||
|
|
||||||
|
e "System aktualisieren (apt) …"
|
||||||
|
apt full-upgrade --yes --quiet
|
||||||
|
|
||||||
|
e "Proprietäre Treiber installieren (sofern verfügbar) …"
|
||||||
|
ubuntu-drivers autoinstall
|
||||||
|
|
||||||
|
e "Zusätzliche Software installieren …"
|
||||||
|
pkg "${packages[@]}"
|
||||||
|
|
||||||
|
e "Sprachunterstützung vervollständigen …"
|
||||||
|
pkg $(check-language-support)
|
||||||
|
pkg fonts-arabeyes
|
||||||
|
|
||||||
|
# these packages have to be installed after "$(check-language-support)"
|
||||||
|
pkg hunspell-de-at hunspell-de-ch hunspell-de-de hunspell-uk hunspell-ru
|
||||||
|
|
||||||
|
e "Unnötige Pakete entfernen und Cache bereinigen …"
|
||||||
|
apt clean --yes --quiet
|
||||||
|
apt autoremove --yes --quiet
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
# Finalisation
|
||||||
|
###
|
||||||
|
e "Apt proxy wieder entfernen..."
|
||||||
|
rm /etc/apt/apt.conf.d/01aptproxy
|
||||||
|
|
||||||
|
e "Initiales Setup beendet."
|
||||||
|
oem-config-prepare
|
136
kubuntu/kubuntu_late22.04.sh
Normal file
136
kubuntu/kubuntu_late22.04.sh
Normal file
|
@ -0,0 +1,136 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# execute self with sudo if user is not root
|
||||||
|
[[ $UID -ne 0 ]] && exec sudo ./"$0"
|
||||||
|
|
||||||
|
###
|
||||||
|
# Set variables
|
||||||
|
###
|
||||||
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
|
DPKG_CFG_FRAGMENT=/etc/dpkg/dpkg.cfg.d/non-interactive
|
||||||
|
|
||||||
|
# Linux distro
|
||||||
|
script_distro='Kubuntu Linux 22.04'
|
||||||
|
|
||||||
|
# Additional packages
|
||||||
|
packages=(
|
||||||
|
libreoffice
|
||||||
|
keepassxc
|
||||||
|
kpartx
|
||||||
|
oem-config
|
||||||
|
hardinfo
|
||||||
|
regionset
|
||||||
|
cheese
|
||||||
|
vlc
|
||||||
|
|
||||||
|
# Language support
|
||||||
|
language-selector-common
|
||||||
|
openoffice.org-hyphenation
|
||||||
|
language-pack-kde-ar
|
||||||
|
language-pack-kde-uk
|
||||||
|
language-pack-kde-ru
|
||||||
|
language-pack-kde-fa
|
||||||
|
)
|
||||||
|
|
||||||
|
###
|
||||||
|
# Functions
|
||||||
|
###
|
||||||
|
|
||||||
|
# $*: message to echo
|
||||||
|
e() {
|
||||||
|
printf "\e[31m>>>\e[0m %s\n" "$*"
|
||||||
|
}
|
||||||
|
|
||||||
|
# It's a pain to stop (ctrl+c, kill) execution with all the Python applications
|
||||||
|
# so we catch SIGINT and SIGTERM and exit immediately
|
||||||
|
handle_signal() {
|
||||||
|
e "Ausführung abgebrochen! Skript wird beendet."
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# always executed on shell exit regardless of reason. for cleanup tasks
|
||||||
|
handle_exit() {
|
||||||
|
e "Finales Cleanup wird durchgeführt …"
|
||||||
|
rm -f "$DPKG_CFG_FRAGMENT"
|
||||||
|
rm -f /etc/apt/apt.conf.d/01aptproxy
|
||||||
|
}
|
||||||
|
|
||||||
|
trap handle_signal SIGINT SIGTERM
|
||||||
|
trap handle_exit EXIT
|
||||||
|
|
||||||
|
pkg() {
|
||||||
|
apt install "$@" --yes --quiet
|
||||||
|
}
|
||||||
|
|
||||||
|
###
|
||||||
|
# Greeting
|
||||||
|
###
|
||||||
|
echo "\
|
||||||
|
#####################################
|
||||||
|
# Computertruhe-Installationsskript #
|
||||||
|
#####################################
|
||||||
|
|
||||||
|
###
|
||||||
|
# Maintainer: Computertruhe e. V.
|
||||||
|
# Website: https://computertruhe.de/
|
||||||
|
# Version: 1.0.1
|
||||||
|
# Repo: https://codeberg.org/Computertruhe/computertruhe-setup
|
||||||
|
# Distro: ${script_distro}
|
||||||
|
###
|
||||||
|
"
|
||||||
|
e "Starte initiales Setup für Rechner mit frisch installiertem '${script_distro}' …"
|
||||||
|
|
||||||
|
# ChCh apt proxy benutzen (bedingt = wenn da)
|
||||||
|
ping -c 1 apt-proxy
|
||||||
|
if [ "$?" -eq "0" ]; then
|
||||||
|
echo 'Acquire::https::Proxy "http://apt-proxy:3142";' > /etc/apt/apt.conf.d/01aptproxy
|
||||||
|
echo 'Acquire::http::Proxy "http://apt-proxy:3142";' >> /etc/apt/apt.conf.d/01aptproxy
|
||||||
|
e "Proxy Apt-Aktiv"
|
||||||
|
else
|
||||||
|
e "Kein Apt-Proxy"
|
||||||
|
fi
|
||||||
|
echo 'Dpkg::Options "--force-unsafe-io";' >> /etc/apt/apt.conf.d/01aptproxy
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
# Automatic installation
|
||||||
|
###
|
||||||
|
# place temporary dpkg configurations to ensure non-interactive upgrade
|
||||||
|
cat <<'DPKG' >"$DPKG_CFG_FRAGMENT"
|
||||||
|
force-confold
|
||||||
|
force-confdef
|
||||||
|
DPKG
|
||||||
|
|
||||||
|
e "Paketquellen aktualisieren …"
|
||||||
|
apt update --yes --quiet
|
||||||
|
|
||||||
|
e "System aktualisieren (apt) …"
|
||||||
|
apt full-upgrade --yes --quiet
|
||||||
|
|
||||||
|
e "Proprietäre Treiber installieren (sofern verfügbar) …"
|
||||||
|
ubuntu-drivers autoinstall
|
||||||
|
|
||||||
|
e "Zusätzliche Software installieren …"
|
||||||
|
pkg "${packages[@]}"
|
||||||
|
|
||||||
|
e "Sprachunterstützung vervollständigen …"
|
||||||
|
pkg $(check-language-support)
|
||||||
|
e "Arabische Schrift"
|
||||||
|
pkg fonts-arabeyes
|
||||||
|
e "Kyrillische Schrift"
|
||||||
|
pkg xfonts-cyrillic
|
||||||
|
|
||||||
|
# these packages have to be installed after "$(check-language-support)"
|
||||||
|
pkg hunspell-de-at hunspell-de-ch hunspell-de-de hunspell-uk hunspell-ru
|
||||||
|
|
||||||
|
e "Unnötige Pakete entfernen und Cache bereinigen …"
|
||||||
|
apt clean --yes --quiet
|
||||||
|
apt autoremove --yes --quiet
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
# Finalisation
|
||||||
|
###
|
||||||
|
|
||||||
|
e "Initiales Setup beendet."
|
||||||
|
oem-config-prepare
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# execute self with sudo if user is not root
|
# Execute itself with sudo if user is not root.
|
||||||
[[ $UID -ne 0 ]] && exec sudo ./"$0"
|
[[ $UID -ne 0 ]] && exec sudo ./"$0"
|
||||||
|
|
||||||
###
|
###
|
||||||
|
@ -9,137 +9,83 @@
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
DPKG_CFG_FRAGMENT=/etc/dpkg/dpkg.cfg.d/non-interactive
|
DPKG_CFG_FRAGMENT=/etc/dpkg/dpkg.cfg.d/non-interactive
|
||||||
|
|
||||||
# Linux distro
|
# Name of the distribution
|
||||||
script_distro='Linux Mint 20'
|
script_distro='Linux Mint 21.3'
|
||||||
|
|
||||||
# Additional packages
|
# Additional packages
|
||||||
packages=(
|
packages=(
|
||||||
# Graphics
|
# Program packages
|
||||||
gimp
|
|
||||||
inkscape
|
|
||||||
pinta
|
|
||||||
|
|
||||||
# Office
|
|
||||||
libreoffice
|
libreoffice
|
||||||
|
|
||||||
# Security
|
|
||||||
keepassxc
|
keepassxc
|
||||||
|
|
||||||
# Games
|
|
||||||
0ad
|
|
||||||
beneath-a-steel-sky
|
|
||||||
billard-gl
|
|
||||||
blobby
|
|
||||||
blockout2
|
|
||||||
flight-of-the-amazon-queen
|
|
||||||
freeciv
|
|
||||||
frozen-bubble
|
|
||||||
gbrainy
|
|
||||||
gnome-games
|
|
||||||
gweled
|
|
||||||
hedgewars
|
|
||||||
lincity-ng
|
|
||||||
lure-of-the-temptress
|
|
||||||
minetest
|
|
||||||
openttd
|
|
||||||
pingus
|
|
||||||
pipewalker
|
|
||||||
pokerth
|
|
||||||
supertux
|
|
||||||
supertuxkart
|
|
||||||
teeworlds
|
|
||||||
wesnoth
|
|
||||||
widelands
|
|
||||||
|
|
||||||
# Gaming platforms
|
|
||||||
playonlinux
|
|
||||||
steam
|
|
||||||
wine-stable
|
|
||||||
winetricks
|
|
||||||
|
|
||||||
# System management
|
|
||||||
gparted
|
gparted
|
||||||
|
|
||||||
# Tools
|
|
||||||
f3
|
|
||||||
hardinfo
|
hardinfo
|
||||||
regionset
|
regionset
|
||||||
vim
|
|
||||||
|
|
||||||
# Media
|
|
||||||
cheese
|
cheese
|
||||||
vlc
|
vlc
|
||||||
|
|
||||||
# Knowledge (incl. programs from the former ubunbu-edu-* meta packages)
|
# Language related packages
|
||||||
blinken
|
# Generic
|
||||||
calibre
|
|
||||||
cantor
|
|
||||||
chemtool
|
|
||||||
dia
|
|
||||||
einstein
|
|
||||||
fritzing
|
|
||||||
gamine
|
|
||||||
gcompris
|
|
||||||
goldendict
|
|
||||||
inkscape
|
|
||||||
kalgebra
|
|
||||||
kalzium
|
|
||||||
kanagram
|
|
||||||
kbruch
|
|
||||||
kgeography
|
|
||||||
khangman
|
|
||||||
kig
|
|
||||||
klettres
|
|
||||||
kmplot
|
|
||||||
kstars
|
|
||||||
ktouch
|
|
||||||
ktuberling
|
|
||||||
kturtle
|
|
||||||
kwordquiz
|
|
||||||
laby
|
|
||||||
lightspeed
|
|
||||||
lybniz
|
|
||||||
marble
|
|
||||||
melting
|
|
||||||
parley
|
|
||||||
pencil2d
|
|
||||||
ri-li
|
|
||||||
rocs
|
|
||||||
step
|
|
||||||
tuxmath
|
|
||||||
tuxpaint
|
|
||||||
tuxtype
|
|
||||||
yorick
|
|
||||||
|
|
||||||
# Language support
|
|
||||||
language-selector-common
|
|
||||||
openoffice.org-hyphenation
|
openoffice.org-hyphenation
|
||||||
language-pack-ar
|
# AR
|
||||||
language-pack-gnome-ar
|
language-pack-gnome-ar-base
|
||||||
language-pack-fa
|
firefox-locale-ar
|
||||||
language-pack-gnome-fa
|
fonts-arabeyes
|
||||||
|
hunspell-ar
|
||||||
|
libreoffice-l10n-ar
|
||||||
|
mythes-ar
|
||||||
|
thunderbird-locale-ar
|
||||||
|
# DE
|
||||||
|
language-pack-gnome-de-base # Installed only with Internet connection during the OEM setup.
|
||||||
|
firefox-locale-de
|
||||||
|
hunspell-de-at
|
||||||
|
hunspell-de-ch
|
||||||
|
hunspell-de-de
|
||||||
|
thunderbird-locale-de # Installed only with Internet connection during the OEM setup.
|
||||||
|
# EN
|
||||||
|
thunderbird-locale-en-gb
|
||||||
|
# FA
|
||||||
|
language-pack-gnome-fa-base
|
||||||
|
firefox-locale-fa
|
||||||
|
libreoffice-l10n-fa
|
||||||
|
myspell-fa
|
||||||
|
thunderbird-locale-fa
|
||||||
|
# RU
|
||||||
|
language-pack-gnome-ru-base
|
||||||
|
firefox-locale-ru
|
||||||
|
thunderbird-locale-ru
|
||||||
|
# UK
|
||||||
|
language-pack-gnome-uk-base
|
||||||
|
libreoffice-l10n-uk
|
||||||
|
firefox-locale-uk
|
||||||
|
thunderbird-locale-uk
|
||||||
|
hyphen-uk
|
||||||
|
mythes-uk
|
||||||
|
hunspell-uk
|
||||||
|
wukrainian
|
||||||
)
|
)
|
||||||
|
|
||||||
###
|
###
|
||||||
# Functions
|
# Functions
|
||||||
###
|
###
|
||||||
|
|
||||||
# $*: message to echo
|
# $*: message to echo.
|
||||||
e() {
|
e() {
|
||||||
printf "\e[31m>>>\e[0m %s\n" "$*"
|
printf "\e[32m>>>\e[0m %s\n" "$*"
|
||||||
}
|
}
|
||||||
|
|
||||||
# It's a pain to stop (ctrl+c, kill) execution with all the Python applications
|
# It's a pain to stop execution (CTRL+C, kill) with all the Python applications so we catch SIGINT and SIGTERM and exit immediately.
|
||||||
# so we catch SIGINT and SIGTERM and exit immediately
|
|
||||||
handle_signal() {
|
handle_signal() {
|
||||||
e "Ausführung abgebrochen! Skript wird beendet."
|
e "Ausführung abgebrochen! Skript wird beendet."
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
# always executed on shell exit regardless of reason. for cleanup tasks
|
# Always executed when exiting the shell, regardless of the reason.
|
||||||
handle_exit() {
|
handle_exit() {
|
||||||
e "Finales Cleanup wird durchgeführt …"
|
e "Finale Aufräumarbeiten werden durchgeführt …"
|
||||||
rm -f "$DPKG_CFG_FRAGMENT"
|
rm -f "$DPKG_CFG_FRAGMENT"
|
||||||
|
rm -f /etc/apt/apt.conf.d/01aptproxy
|
||||||
|
|
||||||
|
e "Initiales Setup beendet."
|
||||||
}
|
}
|
||||||
|
|
||||||
trap handle_signal SIGINT SIGTERM
|
trap handle_signal SIGINT SIGTERM
|
||||||
|
@ -160,25 +106,34 @@ echo "\
|
||||||
###
|
###
|
||||||
# Maintainer: Computertruhe e. V.
|
# Maintainer: Computertruhe e. V.
|
||||||
# Website: https://computertruhe.de/
|
# Website: https://computertruhe.de/
|
||||||
# Version: 1.0.0
|
# Version: 2.3.2
|
||||||
# Repo: https://codeberg.org/Computertruhe/computertruhe-setup
|
# Repo: https://codeberg.org/Computertruhe/Setup-Skripte
|
||||||
# Distro: ${script_distro}
|
# Distro: ${script_distro}
|
||||||
###
|
###
|
||||||
"
|
"
|
||||||
e "Starte initiales Setup für Rechner mit frisch installiertem '${script_distro}' …"
|
e "Starte initiales Setup für Rechner mit frisch installiertem '${script_distro}' …"
|
||||||
|
|
||||||
|
# Use APT proxy if available.
|
||||||
|
ping -c 1 apt-proxy > /dev/null 2>&1
|
||||||
|
if [ "$?" -eq "0" ]; then
|
||||||
|
e "Nutze APT-Proxy."
|
||||||
|
echo 'Acquire::https::Proxy "http://apt-proxy:3142";' > /etc/apt/apt.conf.d/01aptproxy
|
||||||
|
echo 'Acquire::http::Proxy "http://apt-proxy:3142";' >> /etc/apt/apt.conf.d/01aptproxy
|
||||||
|
else
|
||||||
|
e "Kein APT-Proxy gefunden."
|
||||||
|
fi
|
||||||
|
echo 'Dpkg::Options "--force-unsafe-io";' >> /etc/apt/apt.conf.d/01aptproxy
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
# Automatic installation
|
# Automatic installation
|
||||||
###
|
###
|
||||||
# place temporary dpkg configurations to ensure non-interactive upgrade
|
# Place temporary dpkg configurations to ensure non-interactive upgrade.
|
||||||
cat <<'DPKG' >"$DPKG_CFG_FRAGMENT"
|
cat <<'DPKG' >"$DPKG_CFG_FRAGMENT"
|
||||||
force-confold
|
force-confold
|
||||||
force-confdef
|
force-confdef
|
||||||
DPKG
|
DPKG
|
||||||
|
|
||||||
e "Besten Spiegelserver für '${script_distro}' auswählen …"
|
|
||||||
mint-switch-to-local-mirror
|
|
||||||
|
|
||||||
e "Paketquellen aktualisieren …"
|
e "Paketquellen aktualisieren …"
|
||||||
apt update --yes --quiet
|
apt update --yes --quiet
|
||||||
|
|
||||||
|
@ -191,43 +146,24 @@ mintupdate-cli --yes upgrade
|
||||||
e "Proprietäre Treiber installieren (sofern verfügbar) …"
|
e "Proprietäre Treiber installieren (sofern verfügbar) …"
|
||||||
ubuntu-drivers autoinstall
|
ubuntu-drivers autoinstall
|
||||||
|
|
||||||
|
e "Multimedia-Codecs installieren …"
|
||||||
|
pkg mint-meta-codecs # Installed only with Internet connection during the OEM setup.
|
||||||
|
|
||||||
e "Zusätzliche Software installieren …"
|
e "Zusätzliche Software installieren …"
|
||||||
pkg "${packages[@]}"
|
pkg "${packages[@]}"
|
||||||
|
|
||||||
e "Sprachunterstützung vervollständigen …"
|
|
||||||
pkg $(check-language-support)
|
|
||||||
pkg fonts-arabeyes
|
|
||||||
|
|
||||||
# these packages have to be installed after "$(check-language-support)"
|
|
||||||
pkg hunspell-de-at hunspell-de-ch hunspell-de-de
|
|
||||||
|
|
||||||
e "Unnötige Pakete entfernen und Cache bereinigen …"
|
e "Unnötige Pakete entfernen und Cache bereinigen …"
|
||||||
apt clean --yes --quiet
|
apt clean --yes --quiet
|
||||||
apt autoremove --yes --quiet
|
apt autoremove --yes --quiet
|
||||||
|
|
||||||
# https://askubuntu.com/questions/1037553/how-to-configure-a-dconf-key-globally-across-all-user-accounts#1037557
|
e "Handbuch \"Linux Mint – Handbuch der Computertruhe für Ein- und Umsteiger*innen\" herunterladen …"
|
||||||
# https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/desktop_migration_and_administration_guide/custom-default-values-system-settings
|
mkdir /etc/skel/Desktop
|
||||||
e "Tastatur- und Desktop-Optionen anpassen …"
|
wget -O "/etc/skel/Desktop/Linux Mint – Handbuch der Computertruhe für Ein- und Umsteiger*innen.pdf" https://computertruhe.de/handbuecher/linux_mint.pdf
|
||||||
mkdir -vp /etc/dconf/{profile,db/local.d}
|
|
||||||
|
|
||||||
cat <<'EOF' > /etc/dconf/profile/user
|
e "Handbuch \"Besonderheiten von MacBooks im Zusammenhang mit Linux Mint\" herunterladen …"
|
||||||
user-db:user
|
if [ $(dmidecode -t1 | grep -ci "macbook") -ge 1 ]
|
||||||
system-db:local
|
then
|
||||||
EOF
|
wget -O "/etc/skel/Desktop/Besonderheiten von MacBooks im Zusammenhang mit Linux Mint.pdf" https://computertruhe.de/handbuecher/macbook_linux_mint.pdf
|
||||||
|
else
|
||||||
cat <<'EOF' > /etc/dconf/db/local.d/00-keyboard-layout
|
e "Das Skript läuft nicht auf einem MacBook."
|
||||||
[org/gnome/libgnomekbd/keyboard]
|
fi
|
||||||
layouts=['de', 'ara', 'ir']
|
|
||||||
|
|
||||||
[org/cinnamon/desktop/interface]
|
|
||||||
keyboard-layout-show-flags=false
|
|
||||||
keyboard-layout-use-upper=true
|
|
||||||
keyboard-layout-prefer-variant-names=true
|
|
||||||
EOF
|
|
||||||
|
|
||||||
dconf update
|
|
||||||
|
|
||||||
###
|
|
||||||
# Finalisation
|
|
||||||
###
|
|
||||||
e "Initiales Setup beendet."
|
|
||||||
|
|
5
mint/readme-linux_mint_sh.md
Normal file
5
mint/readme-linux_mint_sh.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
Dieses Skript kannst Du verwenden, um damit einen Computer mit Linux Mint und den wichtigsten Programmen und Einstellungen automatisiert zu installieren. Weitere Informationen sind im Wiki unter https://wiki.computertruhe.de/Instandsetzung_der_Hardware#Installation
|
||||||
|
|
||||||
|
## Verwenden des linux_mint.sh Skriptes
|
||||||
|
|
||||||
|
(Was muss ich tun, wenn ich es zur automatisierten Installation verwenden möchte - Schritt für Schritt)
|
142
windows/readme_setup_ps1.md
Normal file
142
windows/readme_setup_ps1.md
Normal file
|
@ -0,0 +1,142 @@
|
||||||
|
# Liesmich für die setup.ps1
|
||||||
|
|
||||||
|
Windows Powershell Script um automatisiert mittels Chocolately Programme zu installieren und Windowseinstellungen zu machen.
|
||||||
|
|
||||||
|
## Script ausführen:
|
||||||
|
|
||||||
|
* Powershell suchen
|
||||||
|
* rechte Maustaste und "als Administrator ausführen" wählen
|
||||||
|
* Sicherheitsmeldung bestätigen
|
||||||
|
|
||||||
|
### Im Powershell-Fenster
|
||||||
|
|
||||||
|
* Befehl "set-executionPolicy -scope process bypass" ausführen.
|
||||||
|
* Meldung mit "j" und Entertaste bestätigen
|
||||||
|
|
||||||
|
Damit wird die Windowssicherheit für dieses Fenster (Session) ausgeschaltet und Du kannst das Script ausführen.
|
||||||
|
|
||||||
|
* Script ausführen z.B. "c:\setup.ps1"
|
||||||
|
* Warten bis die Programme installiert sind. Am Ende kommt eine Erfolgsmeldung, was alles installiert wurde.
|
||||||
|
|
||||||
|
## Script Anpassen
|
||||||
|
|
||||||
|
### Windows Einstellungen
|
||||||
|
* to be done
|
||||||
|
|
||||||
|
|
||||||
|
### Chocolatey
|
||||||
|
Chocolatey ist ein Paketmanager, mit dem Du unter Windows vollautomatisiert Programme installieren kannst.
|
||||||
|
https://chocolatey.org/
|
||||||
|
Im Skript wird das Programm installiert und die Installation einiger Programme angestoßen.
|
||||||
|
|
||||||
|
Die Installation im Skript erfolgt über "choco install Programmname".
|
||||||
|
Verfügbare Programmpakete findest Du unter https://community.chocolatey.org/packages
|
||||||
|
|
||||||
|
|
||||||
|
### Windows Apps deinstallieren
|
||||||
|
|
||||||
|
Alle Apps deinstalieren (Vorsicht!):
|
||||||
|
Get-AppxPackage | Remove-AppxPackage
|
||||||
|
|
||||||
|
Alle Apps bis auf einige Ausnahmen deinstallieren (Vorsicht!)
|
||||||
|
|
||||||
|
Get-AppxPackage | where-object {$_.name –notlike “*store*”} | where-object {$_.name –notlike “*communicationsapps*”} | where-object {$_.name –notlike “*people*”} | Remove-AppxPackage
|
||||||
|
|
||||||
|
Alle Standardapps wieder installieren
|
||||||
|
Get-AppxPackage | foreach {Add-AppxPackage -register „$($_.InstallLocation)\appxmanifest.xml“ -DisableDevelopmentMod}
|
||||||
|
|
||||||
|
Einzelne Apps deinstallieren:
|
||||||
|
|
||||||
|
3D Builder
|
||||||
|
Get-AppxPackage *3dbuilder* | Remove-AppxPackage
|
||||||
|
|
||||||
|
Alarm und Uhr
|
||||||
|
Get-AppxPackage *windowsalarms* | Remove-AppxPackage
|
||||||
|
|
||||||
|
Asphalt 8: Airborne
|
||||||
|
Get-AppxPackage *Asphalt8Airborne* | Remove-AppxPackage
|
||||||
|
|
||||||
|
Begleiter für Telefon
|
||||||
|
Get-AppxPackage *windowsphone* | Remove-AppxPackage
|
||||||
|
|
||||||
|
Candy Crush Saga
|
||||||
|
Get-AppxPackage *CandyCrushSaga* | Remove-AppxPackage
|
||||||
|
|
||||||
|
Drawboard PDF
|
||||||
|
Get-AppxPackage *DrawboardPDF* | Remove-AppxPackage
|
||||||
|
|
||||||
|
Erste Schritte
|
||||||
|
Get-AppxPackage *getstarted* | Remove-AppxPackage
|
||||||
|
|
||||||
|
Facebook
|
||||||
|
Get-AppxPackage *Facebook* | Remove-AppxPackage
|
||||||
|
|
||||||
|
Feedback Hub
|
||||||
|
Get-AppxPackage *feedback* | Remove-AppxPackage
|
||||||
|
|
||||||
|
Filme & TV
|
||||||
|
Get-AppxPackage *zunevideo* | Remove-AppxPackage
|
||||||
|
|
||||||
|
Finanzen
|
||||||
|
Get-AppxPackage *bingfinance* | Remove-AppxPackage
|
||||||
|
|
||||||
|
Fotos
|
||||||
|
Get-AppxPackage *photos* | Remove-AppxPackage
|
||||||
|
|
||||||
|
Groove-Musik
|
||||||
|
Get-AppxPackage *zunemusic* | Remove-AppxPackage
|
||||||
|
|
||||||
|
Kalender & Mail
|
||||||
|
Get-AppxPackage *communicationsapps* | remove-appxpackage
|
||||||
|
|
||||||
|
Kamera
|
||||||
|
Get-AppxPackage *windowscamera* | Remove-AppxPackage
|
||||||
|
|
||||||
|
Karten
|
||||||
|
Get-AppxPackage *windowsmaps* | Remove-AppxPackage
|
||||||
|
|
||||||
|
Kontakte
|
||||||
|
Get-AppxPackage *people* | Remove-AppxPackage
|
||||||
|
|
||||||
|
Microsoft Solitaire Collection
|
||||||
|
Get-AppxPackage *solitairecollection* | Remove-AppxPackage
|
||||||
|
|
||||||
|
Nachrichten
|
||||||
|
Get-AppxPackage *bingnews* | Remove-AppxPackage
|
||||||
|
|
||||||
|
Nachrichten & Skype
|
||||||
|
Get-AppxPackage *messaging* | remove-appxpackage
|
||||||
|
|
||||||
|
Office holen
|
||||||
|
Get-AppxPackage *officehub* | Remove-AppxPackage
|
||||||
|
|
||||||
|
OneNote
|
||||||
|
Get-AppxPackage *onenote* | Remove-AppxPackage
|
||||||
|
|
||||||
|
Paint 3D
|
||||||
|
Get-AppxPackage *mspaint* | Remove-AppxPackage
|
||||||
|
|
||||||
|
Rechner
|
||||||
|
Get-AppxPackage *windowscalculator* | Remove-AppxPackage
|
||||||
|
|
||||||
|
Skype
|
||||||
|
Get-AppxPackage *skypeapp* | Remove-AppxPackage
|
||||||
|
|
||||||
|
Sport
|
||||||
|
Get-AppxPackage *bingsports* | Remove-AppxPackage
|
||||||
|
|
||||||
|
Sprachrekorder
|
||||||
|
Get-AppxPackage *soundrecorder* | Remove-AppxPackage
|
||||||
|
|
||||||
|
Windows DVD Player
|
||||||
|
Get-AppxPackage *dvd* | Remove-AppxPackage
|
||||||
|
|
||||||
|
Xbox Identity Provider
|
||||||
|
Get-AppxPackage *xboxIdentityprovider* | Remove-AppxPackage
|
||||||
|
|
||||||
|
Xbox
|
||||||
|
Get-AppxPackage *xboxapp* | Remove-AppxPackage
|
||||||
|
|
||||||
|
|
||||||
|
Weitere Informationen
|
||||||
|
https://www.deskmodder.de/wiki/index.php/Windows_10_Apps_entfernen_deinstallieren
|
Loading…
Reference in a new issue