Ich begann zu schreiben unistall für Situationen, wenn Sie Binärpakete auf einer Vielzahl von Distributionen installieren mussten.
Es wird versucht, ein paar Dinge zu tun:
- Verwirklichen Sie den OS-Typ und Paket-Manager, so dass Sie das System Paket-Manager in irgendwelchen Abhängigkeiten zu ziehen, um zu verwenden, die Ihr Programm benötigen könnten.Zum Beispiel wird es wissen
apt-get install libncurses5-dev
zu verwenden, wenn debian mit/ubuntu, yum install libncurses-devel
bei Verwendung von RHEL/Fedora/CentOS
- Verstehen, was Mechanismus init zu aktualisieren verwendet wird, wenn
- einen sicheren un-installer
- Arbeit erstellen benötigt auf jedem Shell (bash, Bindestrich, zsh, pdksh, busybox ash, etc)
ich den Repo, weil seine voll von nützlichen Bits verlassen, aber ich habe schnell auf der Idee eines install sheild
Typ Programm auf für Linux-Distributionen. Sie werden feststellen, dass es sehr viel besser ist, installierbare Pakete für .deb-, .rpm- und (möglicherweise) slackware .tgz-Formate zu erstellen.
Dies kann mit einem Tool wie checkinstall in Ihr Build-System integriert werden. Beachten Sie, dass die Pakete, die checkinstall generiert, nicht immer perfekt sind, gemäß den strikten Richtlinien von Debian und anderen, aber die Pakete funktionieren gut.
Die beste Installationserfahrung, die Sie einem Benutzer bieten können, besteht darin, dass er Ihre Software mit dem nativen Paketmanager installieren (und aktualisieren) kann.
Nur aus Neugier, antworte, wenn du willst, was macht es? In was wurde es geschrieben? =) – Marcelo