staging.inyokaproject.org

Für diese Funktion musst du eingeloggt sein.

Entwicklungsumgebung automatisch einrichten

Status: Ungelöst | Ubuntu-Version: Ubuntu 12.04 (Precise Pangolin)
Antworten |

UbuntuAnonymous

Anmeldungsdatum:
6. Juni 2012

Beiträge: Zähle...

Die Frage trifft es nur halb:

Ich entwickle ein Programm für mich selber und würde gerne ein Paket erstellen, welches mir die Entwicklungsumgebung, die notwendig ist um mein Programm zu kompilieren und auszuführen (C++), auf einem weiteren Rechner automatisch einrichtet. Dazu gehören verschiedene Schritte:

- Installation benötigter Pakete (z.B. g++) - Erzeugung einer Ordnerstruktur - Kopieren von Dateien die zu meinem Projekt gehören (z.B. Bilder) - Erstellen einer Netzwerkfreigabe mit samba - Mounten einer zuvor erstellten zusätzlichen Partition in /etc/fstab

Ich möchte also alle Schritte, die ich sonst händisch durchführe, automatisiert durchlaufen lassen. Ist ein Paket dafür die richtige Lösung? Mein Idee wäre, ein Installationsskript zu schreiben, was z.B. zunächst benötigte Pakete installiert, dann mein eigenes Paket installiert, die Freigabe einrichtet usw. Hier habe ich allerdings Probleme: Angenommen ich möchte eine Freigabe hinzufügen, so ginge das z.B. per Bash mit

1
2
3
echo -e "[freigabe]" >> /etc/samba/smb.conf
echo -e "path = /mein/Pfad" >> /etc/samba/smb.conf
usw.

Allerdings hänge ich so ja nur neue Zeilen in der smb.conf an. Beim deinstallieren kann ich die nicht mehr entfernen. Ich bräuchte vlt. einfach ein paar Links wie man sowas "richtig" angeht.

barcc

Avatar von barcc

Anmeldungsdatum:
13. Juli 2007

Beiträge: 696

Hallo,

zunächst einmal der obligatorische Link ins Wiki: Grundlagen der Paketerstellung

UbuntuAnonymous schrieb:

- Installation benötigter Pakete (z.B. g++)

Das ist eine klassische Aufgabe von Paketen, Abhängigkeiten zu anderen Paketen deklarieren, die dann automatisch mit installiert werden.

- Erzeugung einer Ordnerstruktur - Kopieren von Dateien die zu meinem Projekt gehören (z.B. Bilder)

Die richtige Vorgehensweise ist dann, dass die Dateien unter /usr/share/dein-paketname/ installiert werden. Der Benutzer kann dann nach der Installation in seinem Home-Verzeichnis einen Link auf diesen Ordner anlegen.

- Erstellen einer Netzwerkfreigabe mit samba - Mounten einer zuvor erstellten zusätzlichen Partition in /etc/fstab

So etwas macht man in einem Paket eigentlich nicht.

Ich möchte also alle Schritte, die ich sonst händisch durchführe, automatisiert durchlaufen lassen. Ist ein Paket dafür die richtige Lösung? Mein Idee wäre, ein Installationsskript zu schreiben, was z.B. zunächst benötigte Pakete installiert, dann mein eigenes Paket installiert, die Freigabe einrichtet usw. Hier habe ich allerdings Probleme: Angenommen ich möchte eine Freigabe hinzufügen, so ginge das z.B. per Bash mit

1
2
3
echo -e "[freigabe]" >> /etc/samba/smb.conf
echo -e "path = /mein/Pfad" >> /etc/samba/smb.conf
usw.

Allerdings hänge ich so ja nur neue Zeilen in der smb.conf an. Beim deinstallieren kann ich die nicht mehr entfernen. Ich bräuchte vlt. einfach ein paar Links wie man sowas "richtig" angeht.

Ein Paket wird dir dabei nicht helfen, du musst dann trotzdem Skripte schreiben, die bei der (De-)Installation automatisch ausgeführt werden (preinst und postinst und prerm und postrm).

Antworten |