Das Kommandozeilenwerkzeug install
ist Bestandteil der GNU Coreutils und wurde speziell für das Installieren von Programmen, Skripten und Dateien entwickelt. Es vereint die Funktionen von cp
, mkdir
, chmod
und chown
in einem einzigen, leistungsstarken Befehl. Dies vereinfacht viele typische Aufgaben bei der Softwarebereitstellung.
Grundlegende Verwendung
install [OPTIONEN]... QUELLE ZIEL
install [OPTIONEN]... QUELLE... VERZEICHNIS
install [OPTIONEN]... -t VERZEICHNIS QUELLE...
Häufig genutzte Optionen
Option | Beschreibung |
---|---|
| Erstellt automatisch alle übergeordneten Verzeichnisse |
| Erstellt Verzeichnisse anstelle von Dateien zu kopieren |
| Setzt Dateirechte (z. B. |
| Setzt den Dateibesitzer (erfordert Root-Rechte) |
| Setzt die Dateigruppe (erfordert Root-Rechte) |
| Zielverzeichnis für mehrere Quelldateien |
| Zeigt jeden ausgeführten Schritt an (verbose) |
| Kopiert nur, wenn sich Quelldatei und Zieldatei unterscheiden |
Einschränkungen: Was install
nicht kann
Das Kommando install
kann keine kompletten Verzeichnisse samt Inhalt kopieren. Wenn du ein gesamtes Verzeichnis mit allen Unterdateien übernehmen möchtest, musst du stattdessen cp -a
verwenden und die Eigentümer- und Rechtevergabe separat erledigen.
Beispielskript zum Kopieren eines Verzeichnisses
Pfad: ~/scripts/cp_dir.sh
#!/bin/bash
# Dokumentation anzeigen, wenn das Skript ohne Parameter aufgerufen wird
if [ "$#" -ne 3 ]; then
echo "Verwendung: ./cp_dir.sh USER:GROUP /pfad/zur/quelle /pfad/zum/ziel"
echo "Kopiert ein Verzeichnis rekursiv, setzt Eigentümer:Gruppe und Berechtigungen."
exit 1
fi
# Argumente zuweisen
EIGENTUM="$1" # Format: benutzer:gruppe
QUELLE="$2" # Quellverzeichnis
ZIEL="$3" # Zielverzeichnis
# Zielverzeichnis anlegen mit Besitzer und Gruppe
install -d -o "${EIGENTUM%%:*}" -g "${EIGENTUM##*:}" "$ZIEL"
# Inhalt rekursiv kopieren
cp -a "$QUELLE/." "$ZIEL/"
# Besitzer und Gruppe rekursiv setzen
chown -R "$EIGENTUM" "$ZIEL"
# Standardrechte auf 755 setzen (anpassbar)
chmod -R 755 "$ZIEL"
Praktische Beispiele
1. Ein Skript mit bestimmten Rechten installieren
Mit install
:
install -m 755 myscript.sh /usr/local/bin/myscript
Ohne install
:
cp myscript.sh /usr/local/bin/myscript
chmod 755 /usr/local/bin/myscript
2. Binärdatei mit automatischer Verzeichniserstellung installieren
Mit install
:
install -D -m 755 myapp /usr/local/bin/myapp
Ohne install
:
mkdir -p /usr/local/bin
cp myapp /usr/local/bin/myapp
chmod 755 /usr/local/bin/myapp
3. Mehrere Verzeichnisse anlegen
Mit install
:
install -d /opt/myapp/config /opt/myapp/data
Ohne install
:
mkdir -p /opt/myapp/config /opt/myapp/data
4. Datei mit Besitzer und Gruppe installieren
Mit install
:
install -o $USER -g $GROUP -m 644 config.ini /etc/myapp/
Ohne install
:
cp config.ini /etc/myapp/
chown -R $USER:$GROUP /etc/myapp/config.ini
chmod 644 /etc/myapp/config.ini
Vorteile von install
gegenüber Einzelbefehlen
- Kombiniert Kopieren, Rechtevergabe und Besitzwechsel in einem Schritt
- Ersetzt mehrere gängige Befehle:
cp
,chmod
,chown
,mkdir
- Besonders praktisch für Skripte, Makefiles oder Installationsroutinen
Installation von install
install
ist standardmäßig auf Debian-Systemen enthalten. Falls nicht:
apt install coreutils