PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ArchLinux Basic [Quick&Dirty]



espo
20.09.2007, 16:19
Inhaltsverzeichnis
1. Installation (http://www.unixboard.de/vb3/showpost.php?p=264032&postcount=4)

Tuxus
20.09.2007, 16:23
?
Was soll Inhaltsverzeichnis bedeuten?

Lord_x
20.09.2007, 16:25
Mhh was soll uns dieses Posting sagen? :devzung:

Sorry finde den Smiley so genial :)

espo
20.09.2007, 16:26
1. Die Installation

1.1 Bemerkung
So ich geh fuer den Moment hier erstmal nur auf die Base Installation ein!
Da im moment keine ftp installation richtig funktionieren wird. Duch das core update.
Wer es dennoch probieren will darf das gerne mit der iso die man hier erhaelt: http://www.archlinux.org/~tpowa/rc-iso/

1.2 Download der ISO ...
Als erstes wer haette es erwartet laden wir uns die ISO herunter die wir hier bekommen ftp://mir1.archlinuxfr.org/archlinux/0.8/iso/i686 da ich fuers erste nurmal auf die Base Installation eingehe laden wir uns nun die ISO herunter.
Und brennen diese dannach auf einen Rohling. So und dann koennen wir direkt starten.
=> WICHTIG! Bitte vorher Backup machen nicht das bei der Installation schief geht und die daten weg sind.

=> TODO Setup mit screenshots ....

Tuxus
20.09.2007, 16:37
Was soll das ?(
Soll das etwa ein Tutorial sein :think:
Wen ja, dann erweitere es doch bitte und stell es ins Wiki.


Da im moment keine ftp installation richtig funktionieren wird
Rede keinen Unsinn! Der Server der TU Chemnitz funktioniert einwandfrei.

espo
20.09.2007, 16:46
2. Das System

2.1 Repos

Zum verstaendiss was sind Repos. Also unter Archlinux sind die Pakete in sogenannten Reposetories getrennt. Es gibt die Folgenden offizielen

1. core
2. base
3. extra
4. community
# Testing und unstable sind nicht zu empfehlen wenn man nicht vielleicht das
# Risiko eingehen will ein nicht ganz Funktionierendes Paket zuerhalten
5. testing
6. unstable

2.1.1 Repos einstellen

Man kann diese Repos einstellen und zwar erstmal Grundlegend aktivieren in der Datei /etc/pacman.conf in dem man den

/etc/pacman.conf


[namedesrepos]
Include = /etc/pacman.d/tollesding
von seiner nervigen # befreit ;).
Desweiteren lassen sich server einstellen. Und zwar in /etc/pacman.d/*namedesrepos*


2.2 Pacman

So nun haben wir uns eventuell weitere repos freigeschaltet. Nun geht der Spass erst so richtig los! Wie installier ich Software etc. Dafuer bietet Archlinux sein Packet Verwaltungstool Pacman. Im Folgeden lernen wir die wichtigsten Befehle fuer Pacman kennen.

2.2.1 Suchen



pacman -Ss *Paket Name*
Damit erhaelt man alle Pakete die in aktivierten Repos gefunden worden sind.

2.2.2 Installieren



pacman -S *Paket Name*
Der wohl erstmal wichtigste Befehel ;>, damit installieren wir das Paket mit allen seinen dazugehoerigen Abhaengigkeiten.

2.2.3 Entfernen



pacman -R *Paket Name*
Damit wird ein Paket entfernt aber nur das Pakt das hinter R steht nichts weiter. Es bleiben also alle Abhaengigkeiten erhalten auch wenn sie nicht mehr gebraucht werden. Um diese ausfindig zu machen kommen wir gleich zu einem weiteren sehr wichtigen Befehl damit das System immer schoen aufgeraeumt bleibt.


pacman -Qe
Damit werden euch alle nicht mehr gebrauchten Pakete angezeit. Und ihr koennt sie ganz angenehm mit dem obigen gelernten Befehel entfernen.

2.2.4 Updaten der Repos

Damit ihr auch auf dem neusten Stand der offizielen Repos und ihrer Datenbank seit macht ihr volgendens


pacman -Sy
nach diesem Befehl ist das System wieder soweit aktuell. Aber nun wollen wir ja auch vielleicht die neuerung auf unser System haben :), dafuer waere dann der Befehl


pacman -Su
dies waere ja aber sehr umstaendlich also verbinden wir die 2 Befehle und machen fuer ein Repo refresh und ein update den Befehl


pacman -Syu
.

3. AUR

Was ist AUR, AUR ist eine webseite auf der User Installationsscripts veroeffentlichen um auch Software die nicht in den bekannten Repos sind benutzbar machen. Im folgenden erlaeutere ich kurz wie man vorgehen muss um sich so ein vielleicht dringend benoetigtes Programm zu installieren.

3.1 Beziehen des PKGBUILDS

http://aur.archlinux.org/packages.php man begibt sich auf diese Seite und sucht sein entsprechendes Program wenn man dies nun gefunden hat
klickt man es an man erhaelt nun
1. ein tar file
Wenn ein tar file verfuegbar ist laden wir uns dieses herunter.
2. ein CVS link
Diesen klicken wir an und laden alle dort gelisteten Datein herunter (und sammeln sie am besten in einem Ordner)

3.2 Die Fakeroot

So da wir nun unser PKGBUILD besitzen koennen wir ja schon fast beginnen uns unser Programm uebersetzen zu lassen aber eins fehlt noch. Da man am besten nicht als ROOT pakete bauen sollte installieren wir uns noch geschwind eine Program names fakeroot das es uns erlaubt das Program als User zu bauen



pacman -S fakeroot


3.3 makepkg

So nun haben wir alle Vorbereitungen getroffen. Nun gehts daran das neue Paket zu installieren dazu wechseln wir in das Verzeichniss wo wir die per CVS heruntergeladen Datein abgelegt haben oder das Verzeichniss des entpackten Tarballs, und fuehren folgenden Befehl aus.



makepkg


Wenn alles gut laefut roedelt er nun eine weile herum und gibt eine Meldung das er erfolgreich fertig ist. Was passieren kann ist das uns vielleicht noch eine Abhaengigkeiten fuer das Programm fehlen. Dies zeigt er uns dann an diese Installieren wir dann per pacman -S einfach nach.

3.3 Das Fertige Paket einspielen

Nachdem nun das Programm hoffentlich erfolgreich gebaut worden ist koennen wir es mit



pacman -U *paket*


einspielen.

4. ABS

So was verbirgt sich den nun hinter ABS? Recht simpel mit ABS bekommen wir alle Installationsscripts fuer die Repos die man nur als
Developer/Trusted User befuellen darf. Also die repos von 1-6.
Nun fragt man sicher was hat das fuer eine Bewandniss oder fuer einen Sinn hat, sich diese Installationsscripte zu besorgen.
Es gibt einen und zwar kann man das vorgefertigte Installationsscript dazu verwedenen um es z.b so umzuformen das ein spezielles
feature mit aktiviert wird.
Dagegen koennte man ja nun gleich schreien dann kompilier ich es halt von Hand, das volkommen richtig aber wenn ich es ueber das PKGBUILD (Installationsscript) baue habe ich den vorteil ich kann es ganz einfach per pacman -R wieder rueckstandslos entfernen.

4.1 ABS einrichten

Als erstens muessen wir nun unter



/etc/abs


die Datei abs.conf bearbeiten wenn wir mehr als nur die Standart maessig aktivierten Repos core/extra auszuchecken wollen.
Dies gestaltet sich recht einfach indem wir einfach das ! vor den unten in



SUPFILES=


gelisteten Repos entfernen. Nun muessen wir noch schnell etwas installieren damit abs auch richtig funtkioniert und zwar folgendes:



pacman -S csup


Dannach koennen wir abs mit dem folgenden befehl "auschecken"



abs


dieser Befehl kann ein wenig dauern. Und wir finden dannach unsere soeben ausgecheckten Repos unter



/var/abs/


4.2 Tips zu ABS

Wenn man nun wirklich ein Programm erweitern/veraendern will empfiehlt es sich den ordner irgendwo hinzukopieren und es dort zu bauen.
Da beim naechsten mal ausfuehren des Befehls abs werden alle veraenderten Datein einfach ueberschrieben und eure arbeit war
ganz fuer umsonst, und ihr muesst wieder von vorne beginnen.

Ebenso koennt ihr noch die Settings eures C Compilers und den Ort angeben wo selbst gebaute Paketet abgelegt werden sollen. Dies alles
koennt ihr in der Datei



/etc/makepkg.conf


einstellen.

5. PKGBUILDS

5.1 Am Beispiel wget

So nun ich versuch euch nun mal naeher zu bringen wie ein PKGBUILD aufgebaut sein sollte anhand des PKGBUILDS von wget



# $Id: PKGBUILD,v 1.22 2007/09/18 16:05:27 alexander Exp $
# Maintainer: Judd Vinet <jvinet@zeroflux.org>
pkgname=wget
pkgver=1.10.2
pkgrel=3
pkgdesc="A network utility to retrieve files from the Web"
arch=(i686 x86_64)
url="http://www.gnu.org/software/wget/wget.html"
license=('GPL')
groups=('base')
depends=('glibc' 'openssl')
backup=('etc/wgetrc')
source=(ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.gz)
md5sums=('795fefbb7099f93e2d346b026785c4b8')

build() {
cd $startdir/src/$pkgname-$pkgver
./configure --prefix=/usr --sysconfdir=/etc
make || return 1
make DESTDIR=$startdir/pkg install
}


5.1.1 pkgname

Unter pkgname ist ja ganz klar was zu verstehen ist hier gehoert der Name des PKGBUILDS hin,

5.1.2 pkgver

Unter pkgver kommt die im moment aktuelle version der Software hin.

5.1.3 pkgrel

Unter pkgrel aendert man den Status einens PKBUILDS wenn man es veraendern musste ohne das sich die pkgver veraendert hat erhoeht man die pkgrel nummer damit es auch bei einem pacman -Syu jeder erhaelt

5.1.4 pkgdesc

Hier ist pkatz fuer eine Kurze beschreibung der Software, meistens nimmt man hier die der Hompage.

5.1.5 arch

Dieser Punkt ist seit der existenz von arch64 sehr wichtig da hier alle unterstuetzten architekturen eingetragen werden. Damit man es kompilieren kann. Wenn ihr es nur auf i686 testen koennt dann schreibt einfach nur i686 rein.

5.1.6 url

Hier kommt die Hompage der Software hin.

5.1.7 license

Ja auch recht selbst erklaerend ein Plaetzchen fuer die Lizenz der Software.

5.1.8 groups

Ist bei selbst erstellten PKGBUILDS nicht wichtig kann also weg gelassen werden.

5.1.9 depends

Hier muessten alle Abhaengigkeiten hin die das Programm benoetigt um kompiliert werden zu koennen.

5.1.10 makedepends

Hier sind Abhaengigkeiten einzufuegen die es nur zum bauen benoetigt wie gcc.make etc

5.1.11 backup

Dieser Parameter ist dazu da um gegebenenfals vorhandene config Daten sichern zu lassen.

5.1.12 source

Das ist einer der wichtigsten Punkte eines PKGBUILD hier setzen wir nun die URL zusammen wo man die Sourcen der Software beziehen kann.
wie oben waere es hier ftp://ftp.gnu.org/gnu/..... man verwendet hier am besten die oben definierten werte wie $pkgname etc wenn das nicht
moeglich ist kann man auch die source komplett so eintragen.

5.1.13 md5sums

Hier ist der md5sum einer erfolgreich heruntergeladenen source einzutragen.



makepkg -g >>PKGBUILD


damit patcht er das PKGBUILD und traegt die neue md5sum ein. (Danke an Defcon)

5.1.14 conflicts

Dies ist nicht bei wget enthalten kann aber auch passieren. Ich verdeutliche mit einem kleinen Beispiel was damit bezweckt wird

Man nehme an ich erstelle ein PKGBUILD fuer mutt-ng da sich dieses ja mit mutt ueberschneidet wird in



conflicts=('mutt")


eingetragen und man wird vor dem erstellen mit makepkg darauf hingewiesen.

5.1.15 build(){ }

Nach build folgt der eigentliche 3 Satz um die Software dann am ende uebersetzen zu koennen. Mit zwei kleinen Erweiterungen.
Und zwar das || return 1, dieses dient um bei fehlern diese per makepkg abfangen zu koennen und sie dann auszugeben. Das
DESTDIR=$startdir/pkg dient dazu die Software in einen bestimmten ordner zu installieren das makepkg daraus ein Paket schnuert.

bueno
20.09.2007, 16:53
Normalerweise (wenn das ein Tutorial werden soll, wonach es aussieht), stellt man so eine "Ausarbeitung" bzw. Dokumentation erst dann online, wenn man sie bereits fertig verfasst hat. Natürlich in guter und schöner Sprache :)

Wie ich sehe willst du so eine Art "Einführung" für Neulinge machen, im Speziellen bezogen auf Arch-Linux. Die Idee finde ich ja nicht so schlecht (auch wenn man ziemlich viel im Internet bereits zu Archlinux Einsteigerhilfe findet). Aber ja, lassen wir dich mal schreiben, vllt schaut ja im Enddefekt was gutes dabei heraus.. wollt dir nur paar Tipps geben, wie man so eine Sache origineller angeht.

mfg bueno

defcon
20.09.2007, 17:22
@espo
Schreibs fertig und poste es ins Wiki. Da gehörts auch hin :D

Ok, geht schlecht, das Wiki ist down.. tot.. mausetot :D

Tomekk228
20.09.2007, 17:26
Rede keinen Unsinn! Der Server der TU Chemnitz funktioniert einwandfrei.

Das was du sagst stimmt nicht ;)
Ich durfte gestern selber die Erfahrung machen. Der von Chemnitz funktioniert nicht, weil Arch linux einiges umgestellt hat. > http://www.archlinux.de/

Espo war gestern so freundlich mir die Repos anzupassen ans neue Repo system von Arch per ssh ;)

Weil ich konnte z.b kein X installieren deswegen.

Danke nochmal an Espo, und n1 howto =)

Tuxus
20.09.2007, 17:29
Das was du sagst stimmt nicht

Dann habe ich nichts gesagt :brav:
Komisch nur das es bei mir gestern und heute ging.

gruß Tuxus

Tomekk228
20.09.2007, 17:34
Komisch nur das es bei mir gestern und heute ging.

gruß Tuxus

Ja, ein paar pakete usw. Steht ja aufer Page. Das aus "Kulanz" zu den anderen noch paar der alten Repos funktionieren mit ein paar pakete. Ich hatte z.b ein "schlechten" erwischt wo schon einiges an grundpakete weg war, wie der X z.b halt.

Achja, in welches WIki soll er das stellen?^^ Das UB wiki ist doch noch Offline soweit ich weiß :P

defcon
20.09.2007, 19:58
Ergänzung zu 5.1.13
Wer selber an der PKGBUILD rumbastelt, Datein ändert usw. muss die md5sums ändern.
Am besten die Zeile löschen, und in der Konsole das hier eintippen.


makepkg -g >>PKGBUILD

Das erstellt für die vorhanden Datei und Patches jeweils die md5 summen, und trägt es in die PKGBUILD ein.