Der Standardworkflow für die Installation von der Quelle ist das Herunterladen des Pakets, das Dekomprimieren, Ausführen des enthaltenen configure
Skripts, Kompilieren und Installieren. In den Fällen, in denen das zu installierende Paket der Standardmethode folgt, können Sie Folgendes tun:
#!/usr/bin/env bash ## Make a new empty directory ($$ is the script's PID) echo "Creating directory $$" mkdir $$ cd $$ ## get the file name tar=$(basename "$1" | grep -Po "[^?]*(?=[?$])") ## Download the file wget $1 --output-document $tar ## Check if it is a gzipped or bzipped tar file=$(find . -type f); istgz=$(echo $file | grep "tar\.gz\|tgz") istbz=$(echo $file | grep "tar\.bz\|tbz") ok=1 ## Extract the archive if [ $istbz ]; then tar xjf $file; ok=$? ## $? is the last command's exit status elif [ $istgz ]; then tar xzf $file ok=$? ## If things did not go OK, complain else echo "Something went wrong, perhaps the filetype is not recognized" exit 1; fi ## If things went OK, install if [ $ok = 0 ]; then ## Look for a configure script and cd into wherever it is conf=$(find . -name configure -executable) if [ $conf ]; then dir=$(dirname $conf); cd $dir; ## run the configure script, make and install ./configure && make && sudo make install && echo "Succesfully installed, installation directory was $$" else echo "No configure script found, exiting." fi fi
Speichern Sie dieses Skript beispielsweise als sforge.sh
ausführbar ( chmod a+x sforge.sh
) und führen Sie es mit der URL des sourceforge-Pakets aus, das Sie installieren möchten. Stellen Sie sicher, dass Sie den direkten Link verwenden, und entfernen Sie alle Verweise auf Spiegel. In diesem Beispiel lade ich herunter conky
. Wenn ich auf den Link "Direkter Download" von Sourceforge klicke, wird die URL angezeigt
http://downloads.sourceforge.net/project/conky/conky/1.9.0/conky-1.9.0.tar.bz2 ? r = http% 3A% 2F% 2Fsourceforge.net% 2Fprojects% 2Fconky% 2F% 3Fsource% 3Ddlp & ts = 1367161220 & use_mirror = netcologne
Ich möchte nur den ersten Teil (in Fettdruck), oder der Name der Datei wird seltsam sein, daher werde ich Folgendes verwenden:
sforge.sh http://downloads.sourceforge.net/project/conky/conky/1.9.0/conky-1.9.0.tar.bz2
WICHTIGE NOTIZ
Dieses Skript funktioniert nur für Pakete, die dem normalen Layout entsprechen. Es muss ein Teer bz2
oder eine gzip
Datei sein und erwartet ein configure
Skript und ein Makefile. Viele Pakete haben diese nicht und das Skript funktioniert nicht. Für viele, wenn nicht sogar für die meisten Fälle, sollte dies in Ordnung sein.