You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Aktualisiere das Bash-Installations-Skript für apt-Pakete, indem eine Funktion zur Überprüfung der .env-Datei hinzugefügt wird. Ergänze die Schritte zur Installation von Netbird und verbessere die Dokumentation mit zusätzlichen Erklärungen und Beispielen. Setze den Entwurf auf false und aktualisiere das Datum.
Hier findet ihr das ferige Bash-Script, um automatisiert, Applikationen über den `apt-Paketmanager` zu installieren.
115
+
### Schritt 3 - (Optional) Überprüfung ob die benötigte `.env`-Datei vorhanden ist
116
+
Wenn ihr den optionalen Script-Teil für die Installation von Paketen, die zum Beispiel einen Token für die Authentifizierung benötigen, installieren wollt, dann muss eine Funktion ins Script hinzugefügt werden, welches das Vorhandensein der Datei mit den Umgebungsvariablen überprüft.
117
+
118
+
Hierzu fügen wir die folgende Funktion in unser Script hinzu:
119
+
120
+
```bash
121
+
# Funktion zur Überprüfung des Vorhandenseins der .env-Datei
122
+
123
+
if [ -f .env ];then
124
+
export$(grep -v '^#' .env | xargs)
125
+
else
126
+
echo".env file not found. Please create a .env file with the required variables."
127
+
exit 1
128
+
fi
129
+
```
130
+
Sollte die .env-Datei nicht im gleichen Verzeichnis wie das Script sein, wird bei dieser Funktion die Fortsetzung des Bash-Scripts abgebrochen.
131
+
132
+
### Schritt 4 - Variable mit den gewünschten apt-packages erstellen
133
+
Jetzt erstellen wir im nächsten Schritt eine Variable, in der die Apps aufgelistet sind, welche wir über den apt-Packetmanager installieren wollen.
134
+
135
+
In diesem Beispiel wollen wir die folgenden Applikationen installieren:
136
+
137
+
**nano, wget, htop, net-tools, fail2ban und ufw**
138
+
139
+
Die passende Variable sieht so aus:
140
+
141
+
```bash
142
+
# Variable mit der App-Liste
143
+
144
+
packages={
145
+
nano
146
+
wget
147
+
htop
148
+
net-tools
149
+
fail2ban
150
+
ufw
151
+
}
152
+
```
153
+
154
+
### Schritt 5 - (Optional) Installation der App Netbird
155
+
Im nächsten optionalen Schritt, werden wir die Anweisungen für das Einbinden des Repository von Netbird, Installation der erforderlichen apt-Pakete, Installation von Netbird und dessen verbinden mit der Netbird-Instanz einfügen.
156
+
157
+
#### Installation der erforderlichen apt-Packete
158
+
Um das Repository von Netbird einbinden zu können, müssen wir zunächst einige Anwendungen installieren.
159
+
160
+
```bash
161
+
# Pakete für das Einbinden des Repository installieren
Nun binden wir das erforderliche Repository für Netbird ein.
169
+
170
+
```bash
171
+
# Einbinden des Repository
172
+
173
+
echo"Adding netbird repository..."
174
+
curl -fsSL https://pkgs.netbird.io/install.sh | sh
175
+
```
176
+
#### Installation von Netbird
177
+
Nach dem Einbinden des Netbird-Repository, wird die Installation von Netbird ausgeführt.
178
+
179
+
```bash
180
+
# Installation Netbird
181
+
182
+
echo"Install netbird... "
183
+
sudo apt update
184
+
sudo apt install netbird -y
185
+
```
186
+
#### Netbird-Agenten registrieren und Netbird-Service aktivieren
187
+
Nach erfolgreicher Installation, wird im nächsten Schritt die Funktionen für das Registrieren des Netbird-Agenten (hierfür werden auch die Secrets aus der .env-Datei benötigt) und das Aktivieren des Netbird-Service eingefügt.
188
+
189
+
```bash
190
+
echo"Set Netbird-Domain: ${netbird_domain} and register"
191
+
netbird up --management-url ${netbird_domain} --setup-key ${setupkey}
192
+
193
+
echo"Enable netbird service..."
194
+
sudo systemctl enable netbird
195
+
echo"Starting netbird service..."
196
+
sudo systemctl start netbird
197
+
198
+
echo"Netbird installation and setup complete."
199
+
```
200
+
### Schritt 6 - Installation der aufgelisteten Packages
201
+
Jetzt werden die Funktionen für das Installieren unserer Apps die wir im **Schritt 4** in der Variable `packages` festgelegt haben, in das Bash-Script eingefügt.
Zu guter Letzt werden wir noch eine Funktion zum Deinstallieren unnötiger apt-Pakete im Bash-Script hinzufügen und dem Nutzer des Scripts eine Ausgabe im Terminal-Fenster geben, dass der Vorgang fertig ist.
216
+
217
+
```bash
218
+
echo"Cleaning up ..."
219
+
sudo apt autoremove -y
220
+
echo"Cleanup complete."
221
+
echo"Installation of custom base packages completed successfully."
Optional ist hier auch die Funktion eingefügt, um zunächst ein App-Repository einer Anwendung welche nicht im Standard `apt-Paketmanager` vorhanden ist, einzufügen und diese mit Hilfe eines Tokens (Secret) der in einer angelegten `.env`-Datei hinterlegt ist, zu installieren.
238
+
239
+
Für das spichern von Secrets, legt ihr in dem gleichen Verzeichnis in dem sich das Bash-Script befindet, eine Datei mit der Bezeichnung `.env` an. In dieser Datei könnt ihr dann eure Secrets als Variable speichern.
Optional ist hier auch die Funktion eingefügt, um zunächst ein App-Repository einer Anwendung welche nicht im Standard `apt-Paketmanager` vorhanden ist einzufügen und diese mit Hilfe eines Token (Secret) der in einer angelegten `.env`-Datei hinterlegt ist, zu installieren.
# Auflisten der Anwendungen / List your packages here
478
+
PACKAGES=(
479
+
nano
480
+
wget
481
+
htop
482
+
net-tools
483
+
fail2ban
484
+
ufw
485
+
486
+
)
487
+
488
+
echo"Updating package list..."
489
+
sudo apt update
490
+
491
+
echo"Installing packages: ${PACKAGES[*]}"
492
+
sudo apt install -y "${PACKAGES[@]}"
493
+
494
+
echo"All packages installed."
495
+
496
+
# echo "Cleaning up package cache..."
497
+
# sudo apt clean
498
+
# echo "Package cache cleaned."
499
+
500
+
# Clean up unused packages
501
+
echo"Cleaning up ..."
502
+
sudo apt autoremove -y
503
+
echo"Cleanup complete."
504
+
echo"Installation of custom base packages completed successfully."
505
+
echo"You can now use the installed packages."
506
+
507
+
```
508
+
### Schritt 8 - Bash-Script ausführbar machen
509
+
Wenn das fertige Script nach euren Wünschen fertiggestellt sowie abgespeichert wurde, müsst ihr das Script noch ausführbar machen. Dazu nutzt ihr im Terminal den folgenden Befehl:
510
+
511
+
`sudo chmod +x bash_apt_installations_script.sh`
512
+
513
+
Danach könnt ihr euer Script mit einem der folgenden Befehle ausführen:
514
+
515
+
`bash bash_apt_installations_script.sh`
516
+
oder
517
+
`./bash_apt_installations_script.sh` oder `sh bash_apt_installations_script.sh`
518
+
519
+
## Fazit
520
+
Ich habe in diesem Tutorial zu zeigen versucht, wie ihr ein Bash-Script zur automatischen Installation von diversen Apps mit dem apt-Paketmanger erstellt.
521
+
Als optionale Funktion haben wir das Bash-Script um die Funktion einer App-Installation erweitert, die auch Umgebungsvariablen in einer `.env`-Datei bei der Installation berücksichtigt.
522
+
523
+
Ich hoffe, dass ich dieses Thema ein wenig näher bringen konnte!
0 commit comments