ABSTRACT: packet von .tgz source installieren (make, ./configure ..) AUDIENCE: junior admin SYSTEM: any unix SECTION: basic unix commands AUTHOR: mond COPYRIGHT: GNU Free Documentation Licence http://www.gnu.org/licenses/fdl.txt gute linux oder BSD distributionen haben heute einige tausend softwarpackete inkludiert. die kann man mit den entsprechenden packetmanagement tools einfach und schnell installieren (z.b. apt-get/deselect im debian). trozdem gibt manchmal auch programme fuer die noch kein packet existiert oder wo das als packet vorhandene programm schon zu alt ist und man eine neuere version des programms haben will. dann kann man das programm selbst vom sourcecode compilieren. compilieren nennt man den vorgang wo ein programm von seinem source code (also dem bauplan) in eine form uebersetzt wird die der computer direkt versteht. das hoert sich vielleicht schwieriger an als es ist: um das programm compilieren zu koennen muss man den source code nicht selbst verstehen koennen. man braucht den compile-vorgang blos zu starten. ok. schritt fuer schritt: was ist zu tun? ueblicherweise bekommt man die sourcefiles in .tgz files. die muss man zuerst entpacken. angenommen unser softwarepacket heist: blabla-2.4.tgz bevor wir es entpacken vergewissern wir uns dass es sich in ein eigenes verzeichnis entpackt: tar tfvz blabla-2.4.tgz da sollten dann nur filenamen aufgelistest sein die mit blabla/ oder blabla-2.4/ beginnen. ist das nicht der fall dann sollten wir vor dem entpacken ein eigenes verzeichnis anlegen: (mkdir blabla ; cd blabla ; tar xfvz ../blabla-2.4.tgz ) ansonsten enpacken wir es einfach und wechseln in das verzeichniss: tar xfvz balbal-2.4.tgz cd blabla-2.4 wie dann weiter vorzugehen ist steht meist in einem file namesn README (meist gross geschrieben). eventuell gibt es auch ein textfile namens INSTALL das beschreibt wie beim installieren des programmes vorzugehen ist. das sollte man aufmerksam lesen. gute programme kommen meist mit einem "configure" script das versucht alle computerspezifischen informationen (welche art von unix, welche librarys installiert sind, welche CPU etc.. ) herauszufinden um das programm optimal uebersetzten zu koennen. wenn im README nicht anders beschrieben macht man dann zuerst: ./configure das configure sagt meist auch wenn wichtige vorausetzungen (meist library files ) fehlen. falls dem so ist muss man die zuerst installieren bevor man weitermachen kann. als naechstes ruft man dann meist "make" auf. make liest ein file namens "Makefile" aus dem es die instruktionen liest wie das programm zu compilieren ist. kleinere programme haben manchmal kein configure script und man kann direkt "make" aufrufen. manchmal muss man das Makefile auch per hand einwenig editieren damit das programm korrekt uebersetzt wird. make nach dem make kann man das programm meist schon starten. z.b.: ./blabla oder src/blabla je nachem wo das programmfile hingeschrieben wurde. (vorausgesetzt es gab keine schweren fehler beim compilieren).ueblicherweise macht man aber vorher "make install" das dann die programme in die passenden verzeichnisse kopiert. das darf normalerweise root und falls wir noch nicht root waren muessen wir zuerst root werden in dem wir "su" eingeben: su make install und dann noch exit im wieder normaler user zu sein. jetzt sollte das programm korrekt installiert sein. gute programme lassen sich so meist sehr einfach installieren. ab und zu fehlen halt teile. die muss man vorher installieren. (achtung: debian hat viele packete die zum selbercompilieren von programmen voraussetzung sind - meist header files uns aehnliches als eigenes packet das meist auf den namen "-dev" endet. sagt also das configure dass es xyz vermisst dann sollte man schaun ob man nicht ein xyz-dev oder libxyz-dev packete installieren kann. oder man hohlt sich vom packet xyz auch die sourcen als .tgz und compiliert das vorher.. EXERCISES: * such dir source packete im internet und versuche selbst ein programm von source zu compilieren. REFERENCES: README lesen!