5
0
Fork 0
mirror of https://codeberg.org/Computertruhe/Setup-Skripte.git synced 2025-06-28 11:26:18 +02:00

Compare commits

...

13 commits
2.3.4 ... main

Author SHA1 Message Date
Mac
d3ff64bb66 Merge pull request 'mint/linux_mint.sh aktualisiert' (#91) from fix-fwupd into main
Reviewed-on: https://codeberg.org/Computertruhe/Setup-Skripte/pulls/91
Reviewed-by: ml <ml@noreply.codeberg.org>
Reviewed-by: Mac <mac@noreply.codeberg.org>
2025-06-10 19:42:45 +02:00
Mac
f362a4c2bd Merge pull request 'Remove Windows 10 custom ISO documentation' (#89) from remove-obsolete-windows-10-stuff into main
Reviewed-on: https://codeberg.org/Computertruhe/Setup-Skripte/pulls/89
Reviewed-by: Agent_K <agent_k@noreply.codeberg.org>
Reviewed-by: ml <ml@noreply.codeberg.org>
2025-06-01 19:02:04 +02:00
Mac
ba3589be8a Merge pull request 'remove-obsolete-Kubuntu-stuff' (#90) from remove-obsolete-Kubuntu-stuff into main
Reviewed-on: https://codeberg.org/Computertruhe/Setup-Skripte/pulls/90
Reviewed-by: Agent_K <agent_k@noreply.codeberg.org>
Reviewed-by: ml <ml@noreply.codeberg.org>
2025-06-01 17:47:28 +02:00
Agent_K
c882db3239 mint/linux_mint.sh aktualisiert
Fixes Issue #88
2025-05-26 12:48:42 +02:00
Mac
6a639a69c1 Update README.md 2025-05-25 13:19:35 +02:00
Mac
6708c97aaa Remove obsolete Kubuntu scripts 2025-05-25 13:18:09 +02:00
Mac
ab9604e9ad Remove Windows 10 custom ISO documentation 2025-05-25 12:33:02 +02:00
Agent_K
373b0cf8a1 Merge pull request 'Update linux_mint.sh' (#87) from clean-up into main
Reviewed-on: https://codeberg.org/Computertruhe/Setup-Skripte/pulls/87
Reviewed-by: Valentin Bachem <hdvalentin@noreply.codeberg.org>
Reviewed-by: Agent_K <agent_k@noreply.codeberg.org>
2025-05-25 12:31:57 +02:00
Mac
a83afb40b2 Update linux_mint.sh
- only cosmetic changes
2025-05-25 12:08:43 +02:00
Valentin Bachem
e82ec1149c Merge pull request 'mint/linux_mint.sh aktualisiert' (#86) from enable-firmware-updates into main
Reviewed-on: https://codeberg.org/Computertruhe/Setup-Skripte/pulls/86
Reviewed-by: Valentin Bachem <hdvalentin@noreply.codeberg.org>
Reviewed-by: B3rtl <b3rtl@noreply.codeberg.org>
2025-05-23 22:41:35 +02:00
Agent_K
b49778ed90 mint/linux_mint.sh aktualisiert
Feedback von Mac eingepflegt, aufgrund reboot prompt fwupd an scriptende verschoben
2025-05-21 10:30:39 +02:00
Agent_K
54e0e2395f mint/linux_mint.sh aktualisiert 2025-05-20 18:49:10 +02:00
Agent_K
b863f262bf mint/linux_mint.sh aktualisiert
Added Update routing of System Firmware using fwupd
2025-05-20 18:44:01 +02:00
39 changed files with 19 additions and 676 deletions

View file

@ -1,6 +1,6 @@
# Setup neuer Rechner # Setup neuer Rechner
## 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. Bitte etwaige Readme-Dateien in den Unterordnern beachten, um weitere Informationen über die Verwendung der Skripte zu erhalten.

View file

@ -1,136 +0,0 @@
Anleitung zur Vorbereitung einer Windows10-ISO für eine (fast) automatische Installation
benötigte Software:
+ Windows 10 ISO in neuester Version
+ Rufus: [https://rufus.ie/](https://rufus.ie/)
+ ImgBurn: [http://www.imgburn.com/](http://www.imgburn.com/)
+ autounattend.xml [hier aus dem repo runterladen](../windows/autounattend.xml)
+ Powershell-Script für die Installation [hier aus dem repo runterladen](../windows/Setup.ps1)
+ USB-Stick mind. 8GB
+ Einen Rechner auf dem Windows installiert ist
Nachdem alle notwendige Software installiert ist können wir beginnen.
a) Entpacke die Windows 10-ISO an einen Ort wo du sie wiederfindest
1. die Windows 10 kann unter Windows sehr einfach als Laufwerk gemountet werden. Entweder indem man einen Doppelklick auf die ISO macht oder einen Rechtsklick auf die ISO macht und dann „Bereitstellen“ auswählt. ![ISO bereitstellen durch rechtsklick](images/02.png "Windows-ISO bereitstellen")
Die Windows-ISO wird damit als neues Laufwerk gemountet und in einem Fenster geöffnet. (In meinem Fall ist der Laufwerkbuchstabe H:)
![ISO ist bereit gestellt](images/03.png "bereitgestellte ISO")
2. Kopiere den gesamten Inhalt der Windows-ISO. Mit Strg+A kann der gesamte Inhalt markiert werden. Dann Rechtsklick → Kopieren auswählen
![alle Inhalte der ISO mit STRG+A markieren](images/04.png "Inhalte der Windows ISO markieren")
![Inhalte der ISO kopieren](images/05.png "Inhalte der Windows ISO kopieren")
3. Füge das kopierte an der vorher gewählten Stelle wieder ein. In meinem Fall ist der Ordner "Win 10"
![Kopierte Datein an gewählter Stelle wieder einfügen](images/06.png "kopierte Datein wieder einfügen")
b) Kopiere die vorher runtergeladene autounattend.xml in das Stammverzeichnis der entpackten ISO, sodass es aussieht wie hier:
![Stammverzeichnis der ISO nach kopieren der autounattend.xml](images/07.png "neues Stammverzeichnis der ISO")
c) Als nächstes muss noch das Powershell-Script an die passende der ISO kopieren, dies ist allerdings etwas aufwändiger und braucht eine Powershell. Bitte der Anleitung an dieser Stelle Schritt für Schritt folgen und die Pfade mit den korrekten Pfaden ersetzen:
1. Öffne eine Administrator-Powershell. Dazu kann einfach mit derWindows-Suche im Startmenü nach Powershell gesucht werden. Mit einem Rechtsklick kann eine Administrator-Powershell geöffnet werden:
![öffne Administrator-Powershell](images/08.png "öffne Administrator-Powershell")
2. Prüfe nochmals dass du in einer Administrator-Powershell bist. Wenn alles korrekt ist, sollte „system32“ im Pfad zu sehen sein:
![Prüfe das im Pfad auch system32 vorhanden ist](images/09.png "Pfad mit system32")
3. Wechsle nun in das Hauptverzeichnis der Systemplatte (in meinem Fall ist dies C:). Dazu kannst du den „cd“-Befehl nutzen. Für meinen Fall lautet das Command also:
cd C:\
4. Erstelle dort ein Verzeichnis. Das wirst du später brauchen. Ich hab meines „iso“ genannt. Um das Verzeichnis zu erstellen lautet der Befehl:
mkdir iso
5. Nutze jetzt das Tool DISM in der Powershell um die install.wim der ausgepackten ISO zu inspizieren. Dazu kommt folgender Befehl zum Einsatz (der Pfad ist entsprechend anzuspassen):
dism /Get-WimInfo /WimFile:C:\Users\Stefan\Desktop\test\Win10\sources\install.wim
Dies zeigt alle in der ISO vorhandenen Installationsmöglichkeiten, wie hier zu sehen:
![alle Installationsmöglichkeiten einer Windows-ISO](images/10.png "Installationsmöglichkeiten der Windows-ISO")
6. Mounte den entsprechenden Index (Nummer der Installationsmöglichkeit aus der Liste zuvor) in in Nr. 4 erstellten Ordner. In meinem Beispiel habe ich Windows 10 Home gewählt, deshalb ist meine Index-Nummer 1. Für Windows 10 Pro müsste Index-Nummer 5 gewählt werden. Gemountet wird die install.wim mit folgendem Befehl:
dism /Mount-Wim /WimFile:C:\Users\Stefan\Desktop\test\Win10\sources\install.wim /index:1 /MountDir:C:\iso
wenn der Vorgang abgeschlossen ist befindet sich unter C:\iso die Systemfestplatte die bei einer neuen Windows-Installation kopiert wird. Dies bedeutet wenn wir dort eine Datei hineintun und die install.wim wieder schließen. Bei einer neuen Installation mit dem modifizierten ISO ist die Datei dann in der neuen Installation auch an der gleichen Stelle zu finden.
7. Kopiere nun die am Anfang runtergeladene Setup.ps1 (Powershell-Script) in das Verzeichnis C:\iso sodass es aussieht wie hier (für das Kopieren ist eine Bestätigung als Administrator erforderlich.):
![Setup.ps1 Powershell-script im iso ordner](images/11.png "Setup.ps1 in der ISO")
8. Sobald dies erledigt ist musst du nur noch die Änderungen „commiten“ und die install.wim unmounten. Stelle vorher sicher dass kein Fenster des Windows-Explorer mehr geöffnet ist! Dies erledigt dieser Befehl:
dism /Unmount-Image /MountDir:C:\iso /Commit
9. (optinal) Die Schritte 5 8 müssen nun noch für alle anderen Indexe wiederholt werden, die das Script ebenfalls enthalten sollen. Statt Index 1 für Windows 10 Home kann dann bsw. Index-Nummer 5 für Windows 10 Pro verwendet werden. Wenn alle gewünschten Indexe modifiziert sind kann mit der Anleitung fortgefahren werden.
d) Im nächsten Schritt erstellen wir aus unserem Ordner mit der entpackten ISO wieder eine Windows 10-ISO die auf einen USB-Stick kopiert werden kann und für eine Installation verwendet werden kann.
Dazu startest du einfach das Programm ImgBurn und folgst den Screenshots:
![ImgBurn: ISO aus Ordner erstellen](images/12.png "ImgBurn: ISO aus Ordner erstellen")
![ImgBurn: Auswahl "Erweitert" im geöffneten Fenster](images/13.png "ImgBurn: Auswahl Erweitert")
![ImgBurn: Auswahl startfähige Disc](images/14.png "ImgBurn: Auswahl startfähige Disc")
![ImgBurn: Häckchen setzen bei Image startfähig machen](images/15.png "Häckchen setzen bei Image startfähig machen")
![ImgBurn: Bootimage aus Windows 10 extrahieren](images/16.png "Bootimage aus gemounteter Windows 10 ISO erstellen")
![ImgBurn: Bootimage speichern](images/17.png "Bootimage speichern")
![ImgBurn: Speicherort wählen und speichern klicken](images/18.png "Speicherort auswählen")
![ImgBurn: Meldung bestätigen: Operation successful](images/19.png "Schaltfläche bestätigen")
![ImgBurn: Bestätigung der Verwendung des Bootimages für das jetzige Project](images/20.png "Bestätigung Verwendung Bootimage für das Projekt")
![ImgBurn: Quelle durchsuchen Symbol auswählen](images/21.png "Lokalen Speicher durchsuchen")
![ImgBurn: Ordner mit entpackter ISO auswählen](images/22.png "Ordner mit entpackter ISO wählen")
![ImgBurn: Ziel durchsuchen](images/23.png "Ziel durchsuchen")
![ImgBurn: Zielordner wählen. Name der ISO Windows10-unattended.iso](images/24.png "Ziel und Name auswählen")
![ImgBurn: ISO-Erstellung starten](images/25.png "ISO-Erstellung starten")
![ImgBurn: Abfrage zum Medien-Namen mit JA bestätigen](images/26.png "Dialog bestätigen")
![ImgBurn: Zusammenfassung bestätigen](images/27.png "Zusammenfassung bestätigen")
![ImgBurn: Bestätigung nach Abschluss der Operation](images/28.png "Abschluss der Operation")
e) im letzten Schritt kann die ISO dann mithilfe des Programms Rufus auf einen USB-Stick kopiert werden. Starte dazu das Programm Rufus und folge der Anleitung:
![Rufus: Klick auf Auswahl](images/29.png "Auswahl ISO")
![Rufus: Auswahl der erstellten ISO](images/30.png "Auswahl ISO")
Bei der Erstellung des Sticks darauf achten ob das Zielsystem BIOS oder UEFI nutzt und die Einstellungen entsprechend anpassen. (siehe Screenshot 31-UEFI oder 31-BIOS)
BIOS:
![Rufus: Einstellungen für Boot-Stick BIOS](images/31-BIOS.png "Einstellungen BIOS-USB")
UEFI:
![Rufus: Einstellungen für Boot-Stick UEFI](images/31-UEFI.png "Einstellungen UEFI-USB")
![Rufus: Warnung Überschreiben USB Bestätigung](images/32.png "Betstätigung Warnung")
Sobald Rufus die ISO auf den Stick geschrieben hat kann der USB-Stick für die Installation von Windows 10 verwendet werden.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

View file

@ -1,130 +0,0 @@
# 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

View file

@ -1,224 +0,0 @@
#!/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

View file

@ -1,172 +0,0 @@
#!/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
# AR
language-pack-kde-ar
fonts-arabeyes
hunspell-ar
libreoffice-l10n-ar
mythes-ar
hunspell-ar
thunderbird-locale-ar
# DE
language-pack-kde-de # Installed only with Internet connection during the OEM setup.
firefox-locale-de
thunderbird-locale-de # Installed only with Internet connection during the OEM setup.
hunspell-de-de
mythes-de
hyphen-de
mythes-de
# EN
thunderbird-locale-en-gb
# FA
language-pack-kde-fa
firefox-locale-fa
thunderbird-locale-fa
libreoffice-l10n-fa
myspell-fa
# RU
language-pack-kde-ru
firefox-locale-ru
thunderbird-locale-ru
hyphen-ru
mythes-ru
hunspell-ru
# UK
language-pack-kde-uk
libreoffice-l10n-uk
firefox-locale-uk
thunderbird-locale-uk
hyphen-uk
mythes-uk
hunspell-uk
wukrainian
)
###
# 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}' …"
# Generell auto-apt-proxy installieren
# tut nicht weh und erweitert apt jetzt und in Zukunft, einen host apt-proxy oder andere
# z.b. in SRV-Records benannte caches zu verwenden. gut für spätere updates.
e "Apt proxy automatisch verwenden"
apt install auto-apt-proxy
###
# 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

View file

@ -11,18 +11,19 @@ DPKG_CFG_FRAGMENT=/etc/dpkg/dpkg.cfg.d/non-interactive
# Name of the distribution # Name of the distribution
script_distro='Linux Mint 22.1' script_distro='Linux Mint 22.1'
script_version='2.3.4' script_version='2.3.7'
# Additional packages # Additional packages
packages=( packages=(
# Program packages # Program packages
libreoffice cheese
openoffice.org-hyphenation
keepassxc
gparted gparted
hardinfo hardinfo
keepassxc
libreoffice
mint-meta-codecs # May not have been installed during the OEM setup because the corresponding checkbox was not checked or no internet connection was available.
openoffice.org-hyphenation
regionset regionset
cheese
vlc vlc
) )
@ -43,11 +44,11 @@ handle_signal() {
# Always executed when exiting the shell, regardless of the reason. # Always executed when exiting the shell, regardless of the reason.
handle_exit() { handle_exit() {
e "Finale Aufräumarbeiten werden durchgeführt …" e "Finale Aufräumarbeiten durchgeführen …"
rm -f "$DPKG_CFG_FRAGMENT" rm -f "$DPKG_CFG_FRAGMENT"
rm -f /etc/apt/apt.conf.d/01aptproxy rm -f /etc/apt/apt.conf.d/01aptproxy
e "Initiales Setup beendet." e "Initiales Setup beendet. Bitte Neustart durchführen."
} }
trap handle_signal SIGINT SIGTERM trap handle_signal SIGINT SIGTERM
@ -76,7 +77,7 @@ echo "\
e "Starte initiales Setup für Rechner mit frisch installiertem '${script_distro}' …" e "Starte initiales Setup für Rechner mit frisch installiertem '${script_distro}' …"
# The installation of auto-apt-proxy does no harm and allows the use of an apt-proxy or other caches, e.g. named in SRV records. # The installation of auto-apt-proxy does no harm and allows the use of an apt-proxy or other caches, e.g. named in SRV records.
e "Installiere APT-Proxy-Autodetektor …" e "APT-Proxy-Autodetektor installieren …"
apt install auto-apt-proxy apt install auto-apt-proxy
### ###
@ -121,3 +122,7 @@ then
else else
e "Das Skript läuft nicht auf einem MacBook." e "Das Skript läuft nicht auf einem MacBook."
fi fi
e "Firmware aktualisieren …"
fwupdmgr refresh
fwupdmgr update --assume-yes --no-reboot-check