Software (packages, ports) nachinstallieren vom USB-Stick geht -- wie?

JZL240I-U

Well-Known Member
Hi allerseits,

ich habe 9.1-RELEASE vom USB-Stick installiert, aber KDE fehlt (und beim Versuch der Einrichtung waren "dbus" und "hald" nicht vorhanden).

Ich habe versucht gemäß der Anleitung im Handbuch mit sysinstall - configure - packages - quelle den Stick wieder anzusprechen, um KDE (und die Dokumentation) einzuspielen, und bekomme die Fehlermeldung "Kann da1a nicht einbinden".

Was mache ich flasch?
 
Weil ein Server kurz vor dem Release kompromittiert wurde, gibt es keinen vollständigen Satz Pakete. Die sollen noch nachgeliefert werden, ich aber aber noch keine Ankündigung gehört wann.
 
Laut Heise ist das Problem erledigt: http://www.heise.de/security/meldung/Hacker-hatten-Zugriff-auf-FreeBSD-Server-1752042.html (vor allem letzter Absatz).

Unabhängig von dem Thema beantwortet das meine eigentliche Frage aber nicht:

...

Ich habe versucht gemäß der Anleitung im Handbuch mit sysinstall - configure - packages - quelle (USB) den Stick wieder anzusprechen, um KDE (und die Dokumentation) einzuspielen, und bekomme die Fehlermeldung "Kann da1a nicht einbinden".

Was mache ich flasch?
 
Oha, danke. Aber da steht auch: "This package set will be available on the DVD image, and are sufficient to install either the GNOME or the KDE desktop environment. " Woraus ich schließe, dass "hald" und "dbus" auch da sein müssen.

Und nochmal ;): Kennt einer von Euch die Lösung des eigentlichen Problems? Och biddee... :D
 
[ketzerische Bemerkung]
Die, die wissen würden, wie das geht, nutzen das Gedöns nicht.
Die das Gedöns nutzen, wissen nicht wie das geht. :ugly: [/ketzerische Bemerkung]

Selbst bauen ?
 
<*Ketzer-verbrenn*> Glaub' ich eher nicht. Ich versuche, FreeBSD auf meinem Netbook ohne optisches Laufwerk zu installieren, da geht nur USB. Du glaubst doch nicht wirklich, dass ich mit Netzwerkdiensten umgehen kann??!? </*Ketzer-verbrenn*>

Ausserdem bietet "sysinstall" die Option USB ja an. Und warum selbst bauen, wenn die software doch vorliegt?
 
wie sieht es denn ohne sysinstall aus?
Kannst du deinen Stick mounten und lesen? Kannst du da Pakete lokalisieren?

Manchmal machen Sticks ja Probleme und werden nicht richtig erkannt.
 
Ich kann von dem Stick booten (USB-Image).

Beim booten von der Platte kommt etwas wie: "...attempted to query device da1 -- failed, device not ready."

Wenn ich von der Platte starte und eingebe "mount -t ufs2 /dev/da1s1 /mnt" kommt "Operation not supported by device."

Kann man ein USB-Image überhaupt mounten? Unter Linux nähme man ein loop-device für ein .iso Abbild aber unter FreeBSD ... ?

Ich könnte ja vom Stick booten und die Platte mounten -- okay, eben gemacht:
Code:
mount -t ufs2 /dev/ad0s3 /mnt
Operation not supported by device
mount -t ufs2 /dev/ad0s3[B][COLOR="Red"]s1[/COLOR][/B] /mnt
Operation not supported by device
mount -t ufs2 /dev/ad0s3[B][COLOR="red"]a[/COLOR][/B] /mnt
Operation not supported by device
Was mache ich flasch?
 
Das ist das offizielle Ding für den Stick "FreeBSD-9.1-RELEASE-amd64-memstick.img " von der FreeBSD site, entsprechend der Anleitung mit "dd" auf den Stick geschrieben. Meines Wissens mounted man ein device in ein directory, d.h. den Stick "da1", erste Partition meinetwegen nach /mnt.

Kann man den Stick mit dem .img mounten? Wenn nicht, boote ich halt davon und mounte die Platte -- wenn ich wüsste, wie das geht...
 
Zuletzt bearbeitet:
Also, FreeBSD kann grundsätzlich nur Devices und Netzwerkressourcen mounten. Dein USB-Stick ist Device. Dabei ist der Syntax für das mount(8)-Kommando: "mount -t $dateisystem /dev/$device /$mountpoint". Ist das Dateisystem nicht angegeben, wird UFS angenommen. Eine Liste aller möglicher Dateisysteme bekommst du per "lsvfs". So, nun zum Problem:

- Dein Fehler war, dass es kein "ufs2"-Dateisystem gibt. Es heißt beim Mounten immer "ufs", der Treiber fummelt selbst auseinander, um welche Version es handelt. Um den Stück müsste es also, sofern da nun wirklich ein UFS drauf ist, heißen:
Code:
mount -t ufs /dev/ad0s3 /mnt
Um was für ein Dateisystem es handelt kann dir file(1) sagen:
Code:
file -s /dev/ad0s3
Allerdings ist "ad0" kein USB-Stick, stattdessen eine (S)ATA-Festplatte.

- Wenn du ein Image mounten möchtest, musst du aus dem Image erst ein Device erstellen. Das geht per mdconfig(8), mit dem auch RAM-Disks und ähnliches erstellt werden:
Code:
mdconfig $imagedatei"
Er zeigt an, wie das erstellte Device heißt. Meist ist es "md0", es würde sich dann also /dev/md0s3 ergeben. Nach der Benutzung kannst du das Device wieder zerstören:
Code:
mdconfig -d -u 0
Die 0 gegen die Device-Nummer austauschen, für md1 also 1 und so weiter.
 
Erstmal schon danke für die vorausgestellten Erklärungen. Das hilft wirklich beim Lernen :).

...Dein Fehler war, dass es kein "ufs2"-Dateisystem gibt. Es heißt beim Mounten immer "ufs", der Treiber fummelt selbst auseinander, um welche Version es handelt. Um den Stück müsste es also, sofern da nun wirklich ein UFS drauf ist, heißen ... Um was für ein Dateisystem es handelt kann dir file(1) sagen ... Allerdings ist "ad0" kein USB-Stick, stattdessen eine (S)ATA-Festplatte...
  1. ufs genommen ... bingo
  2. file sagt "Unix Fast File system [v1]..."...
  3. mount geht mit "da1" und "da1a" und ich kann auf den Stick zugreifen (nur da1s1 ergibt "no such file or directory").
  4. Du hast Recht, ad0 ist meine Platte. Ich hätte alternativ vom Stick booten wollen und die Platte von dort mounten können...
...Wenn du ein Image mounten möchtest, musst du aus dem Image erst ein Device erstellen. Das geht per mdconfig(8), mit dem auch RAM-Disks und ähnliches erstellt werden ... Er zeigt an, wie das erstellte Device heißt. Meist ist es "md0", es würde sich dann also /dev/md0s3 ergeben. Nach der Benutzung kannst du das Device wieder zerstören ...

Hoho. Super, danke. Das ist also das Äquivalent für das Loop-Device unter Linux. Wieder was gelernt. Ich muss mir mal das Image auf den Rechner ziehen (ist auf meiner Linuxkiste - zuhause), um zu experimentieren.

Zurück zum eigentlichen Problem: wo finde ich "hald" und "dbus" auf dem Stick, ganz zu schweigen von KDE? X11 ist unter /usr/ports schon vorhanden. Komischerweise gibt es kein /usr/ports auf dem Stick?!?
 
Zuletzt bearbeitet:
Komischerweise gibt es kein /usr/ports auf dem Stick?!?
Ports sind keine auf dem Image, sondern Binärpakete. Stocher mal in den Unterverzeichnissen; irgendwo sollten ziemlich viele Dateien der Form blabla-1.2.3.tbz stehen.
Diese kannst Du einzeln installieren:
Code:
pkg_add /mnt/bla/irgendwo/blabla-1.2.3.tbz
... oder Du setzt die Umgebungsvariable PACKAGESITE auf das Verzeichnis, dann sollte pkg_add rekursiv arbeiten können. Siehe man pkg_add.
Wie es mit Sysinstall geht, weiß ich jetzt nicht; vielleicht wirkt da auch $PACKAGESITE!?
 
Es geht mit sysinstall gar nicht, da es in 9.x nicht mehr unterstützt und nur noch für die ewig Gestrigen dabei ist. Ich hätte es gern entfernt gesehen, denn es hätte viel Verwirrung gespart.
 
... irgendwo sollten ziemlich viele Dateien der Form blabla-1.2.3.tbz stehen...

Erst habe ich mit "ll" gesucht, dann mit "find /mnt -name .tbz" -- Ergebnis beide Male negativ. Ömm. Verstehe ich nicht, ist aber so... Trotzdem danke für die Hinweise.

Deshalb habe ich jetzt mit "portsnap fetch" und "portsnap extract" zugeschlagen ;). Dennoch weiß ich nicht, wie ich herausfinde, in welchem Paket "hald" und "dbus" stecken (die ich dann, wenn ich es richtig verstanden habe, mit pkg_add installieren müsste). Tipps wären sehr willkommen...

<edit> Hah. Ich hab's. "make search key="hald" bzw. "make search name="hald" ist mein Freund ;), dann ins Directory gehen, "make", "make install" und "make clean". http://www.freebsd.org/doc/handbook/ports-finding-applications.html. Pffff. </edit>

@ Yamagi Bei meinen bisherigen "Erfolgen" seit FreeBSD 6.0 schon als Ewiggestriger zu gelten, ist zuviel der Ehre :p ;)

P.S.: Wenn nicht mit "sysinstall", wie wärest Du denn in meiner Situation vorgegangen, um die fehlenden Pakete zu installieren?
 
Zuletzt bearbeitet:
Joh, also, ich frage mich ja eher, woher denn das KDE kommt, das du schon installiert hast.
Hattest du das Image gecheckt, das du mit dd dann auf deinen Stick gebracht hast? Also die Prüfsummen verglichen?

Nun will ich nicht so tun, als sei ich der Papst der Installationsmedien, denn ich weiß wirklich nicht, was alles auf diesem Live-image drauf gepackt ist. Wenn du aber KDE installieren konntest, muss ja wohl auch darauf sein und dann sollten auch die Abhängigkeiten mitgeliefert werden, sprich, dbus und hal sollten dann auch auf deinem Stick sein.
Entsprechend sollte find die aufstöbern, siehe evtl den Beitrag von Kamikaze dazu.

Ob du nun diese Pakete nehmen willst, oder ob du welche aus dem Netz bevorzugst, die evtl frischer sein können, ist eine Grundentscheidung, so, wie die Entscheidung zwischen Paketen und Ports generell eine Grundentscheidung ist, die du vorab überlegen solltest.

Als Tip: versuche es zunächst nur und ausschließlich mit Paketen und ohne Ports.
Nimm zunächst mal, was mit dem Image geliefert wurde, das sollte relativ gut zueinander passen. Bau damit dein System und dann aktualisiere aus dem Netz alles.
Aber, das ist mein Geschmack, andere machen es vielleicht anders.
 
JZL240I-U schrieb:
P.S.: Wenn nicht mit "sysinstall", wie wärest Du denn in meiner Situation vorgegangen, um die fehlenden Pakete zu installieren?
Ganz einfach. Ich hätte mir die DVD runtergeladen, denn dort sind am meisten Pakete drauf. Evtl auf dem USB-Image auch, aber das habe ich gerade nicht da. :) Dann hätte ich erst einmal entpackt:
Code:
mkdir iso
cd iso
tar xfv /pfad/zu/FreeBSD-9.1-RELEASE-amd64-dvd1.iso
Danach zu den Paketen gewechselt und das gewünschte installiert:
Code:
cd packages
pkg_add $deinpaket.tbz
Abhängigkeiten müsste er automatisch mit installieren.
 
@ Kamikaze Aua. Der tat weh. Also, wie ich das übersehen konnte ...

<edit1> dennoch "Find: No Match". Und nun? </edit1>

Joh, also, ich frage mich ja eher, woher denn das KDE kommt, das du schon installiert hast...

Habe ich ja garnicht (glaube ich), ich will erst.

Glaube ich, weil ich heute beim booten entdeckt habe, dass hald und dbus beim booten gestartet werden. Möglicherweise habe ich deshalb bei "/etc/rc.d/hald start" eine Fehlermeldung bekommen und installiere seit nun 13 Stunden immer noch den port ... :mad: Das Ding ist nämlich riesig, mit Gnome und X11 und und und.

<edit2> Nur ist der Link auf "hald" in /usr/local/etc/rc.d/hald :rolleyes: und da gibt es auch keinen Fehler </edit2>

...Hattest du das Image gecheckt, das du mit dd dann auf deinen Stick gebracht hast? Also die Prüfsummen verglichen?

Ja, alles gut.

...Nun will ich nicht so tun, als sei ich der Papst der Installationsmedien, denn ich weiß wirklich nicht, was alles auf diesem Live-image drauf gepackt ist. Wenn du aber KDE installieren konntest, muss ja wohl auch darauf sein und dann sollten auch die Abhängigkeiten mitgeliefert werden, sprich, dbus und hal sollten dann auch auf deinem Stick sein...

Siehe oben :rolleyes:

...Ob du nun diese Pakete nehmen willst, oder ob du welche aus dem Netz bevorzugst, die evtl frischer sein können, ist eine Grundentscheidung, so, wie die Entscheidung zwischen Paketen und Ports generell eine Grundentscheidung ist, die du vorab überlegen solltest..

Jaaa. Wenn ich das vorher gewusst hätte, wie lange das dauert. In Zukunft nur noch Packages per pkgng. (Mal sehen, ob der neue dabei ist, oder ob noch pkg läuft).

<edit3> Garnix läuft. "...packages-9.1-current/latest" gibt es nicht. Wohl wegen des oben angesprochenen Einbruchs. Erstmal Ende der Fahnenstange. Mist. </edit3>

...Als Tip: versuche es zunächst nur und ausschließlich mit Paketen und ohne Ports. Nimm zunächst mal, was mit dem Image geliefert wurde, das sollte relativ gut zueinander passen. Bau damit dein System und dann aktualisiere aus dem Netz alles. Aber, das ist mein Geschmack, andere machen es vielleicht anders.

Genau so habe ich es auch vor.

@ Yamagi Danke für die ausführliche Erläuterung.
 
Zuletzt bearbeitet:
ich verstehe nicht alle deine Antworten.

Einmal, so mit FreeBSD4.x hatte ich KDE auch direkt mit Sysinstall aus den Paketen installiert.
Diese Installation alleine bewirkt nicht, dass dein System exklusiv für den Gebrauch dieses DE vor-eingerichtet wird. Es werden nur die benötigten Abhängigkeiten installiert, die Konfiguration und den Start von benötigten System-Diensten musst du stets so nachtragen, wie du das willst oder dein DE es eben braucht. Dies beinhaltet nicht nur hal und dbus, sondern eine ganze Reihe weiterer Dinge, wie etwa Sound und X-Server. Zumindest war das damals so bei mir und ich denke, dass es das auch heute noch ist.

Im Gegensatz dazu ist zum Beispiel PC-BSD ein fix und fertig eingestelltes und komplett vorbereitetes FreeBSD mit KDE4. Jenachdem, was du willst, kann das eine deutlich einfachere Alternative sein.

Wenn du also FreeBSD installiert hast, kannst du soviele DE installieren wie du willst (das ist eine rein rhetorische Aussage), etwa GNOME, XFCE und KDE3 und trotzdem wird keines davon automatisch starten, nicht mal ein X-Server wird automatisch starten und schon gar nicht die benötigten extra Dienste.
dbus und hal etwa werden durch einfache EInträge in die /etc/rc.conf gestartet. Start-Programme für die diversen Dienste sind dann in der Regel auch schon dabei und der Aufruf erfolgt jeweils ähnlich durch Einträge in der rc.conf. Die Start-Scripts liegen normalerweise unter /usr/local/etc/rc.d und brauchen dich normalerweise nicht zu interessieren. Du brauchst nur die passenden Einträge in die rc.conf.
Zu der rc.conf gibt es eine Defaults, die kann manchmal hilfreich sein.

Statt aber viel zu probieren und dabei immer wieder zu stolpern, empfehle ich dazu dringend die Dokumentation, sprich, das Handbuch zu FreeBSD. In diesem Fall ist die deutsche Version ausgezeichnet, doch allgemein gilt, dass die englische Version aktueller ist, manchmal auch präziser. Da findest du, wie du dein System Schritt für einrichtest, Module laden kannst, Dienste startest und einrichtest, einen X-Server betreibst und wie du das alles auch automatisieren kannst, um dann nach einem Boot direkt grafisch einloggen zu können.

Wenn du das memstick image genommen hast, zeigt sich das bei mir mit 700+ MB und bei freebsd.org steht dazu: "There are no pre-built packages." Das kann also gut bedeuten, dass du tatsächlich keine finden kannst.
Auf der DVD wären welche drauf, vielleicht ist das für dich einen Versuch wert.
Ob es tatsächlich keine Pakete gibt, habe ich nun nicht nachgesehen (pkgng geht etwas anders und hat andere Pakete).
 
Sorry wenn ich etwas wirr klinge. Ich habe natürlich den Thread gut im Kopf (weil ich ihn ja gestartet habe) und bearbeite ausserdem mehrere "Baustellen" gleichzeitig.

Mir ist klar, dass KDE nicht sofort startet, bloss weil ich es heruntergeladen habe. Ich folge daher einer Anweisung, die u.A. vorschreibt, dass man dbus und hald startet. Daher diese Bezugnahme. Und ja, Xorg muss auch installiert werden.

PC-BSD will ich nicht, denn ich möchte das unterliegenden Betriebsystem verstehen und habe mir daher zur Aufgabe gemacht, FreeBSD zu installieren und Dinge wie z.B. Internet, KDE ... selber einzurichten, einschließlich der benötigten extra Dienste.

"dbus und hal etwa werden durch einfache Einträge in die /etc/rc.conf gestartet"
Leider nicht, auch wenn das immer wieder in der Dokumentation steht. Man startet sie händisch(!) mit "/usr/local/etc/rc.d start". Daher mein weiteres <edit>, als ich das endlich herausgefunden hatte. Die passenden Einträge in die rc.conf braucht man für den Dauerbetrieb, da hast Du Recht.

Das Handbuch zu FreeBSD (deutsch und englisch) benutze ich viel und gerne. Allerdings misverstehe ich manchmal Dinge und lernen geht für mich oft am besten bei der Praxis, daher probiere ich dann auch gerne einfach.

Auf dem Stick scheint es weder packages noch ports zu geben. Bei meinem letzten <edit> hatte ich herausgefunden, dass es die für 9.1 auch bei freebsd.org nicht gibt. Eine Umstellung auf pkgng kommt also erst später in Frage.

Danke für Deine Geduld und Erklärungen.
 
"dbus und hal etwa werden durch einfache Einträge in die /etc/rc.conf gestartet"
Leider nicht, auch wenn das immer wieder in der Dokumentation steht. Man startet sie händisch(!) mit "/usr/local/etc/rc.d start". Daher mein weiteres <edit>, als ich das endlich herausgefunden hatte. Die passenden Einträge in die rc.conf braucht man für den Dauerbetrieb, da hast Du Recht.

Genau das meinte ich und sicher auch die meisten Dokumentationen.
Diese Dienste werden in der Regel komplett benötigt, also von Systemstart an. Sie übernehmen diverse System-Meldungen und arbeiten dann mit anderen Komponenten zusammen, etwa dem Mount-Manager in KDE oder auch mit X.

Es stimmt aber, der Sprachgebrauch ist da sehr unpräzise, ganz, wie du das beschreibst.
Die Einträge in der /etc/rc.conf haben eine andere Syntax, doch sie bewirken im Grunde nichts anderes, als ein Abarbeiten der ausgewählten Start-Scripts aus /usr/local/etc/rc.d/xyz start und könnten auch durch ein eigenes Script ersetzt werden.

Alle Einträge in der rc.conf sind Automatismen, die bei jedem Systemstart gelten sollen. Nicht nur diese Start-Einträge.
Entsprechend falsch wäre es, wenn ich sage, die IP-Adresse wird in der /etc/rc.conf gesetzt. Die IP-Adresse wird ja mit ifconfig gesetzt, aber, die für das System beim Booten gültige Einstellung kann sehr einfach in die /etc/rc.conf eingetragen werden und wird dann irgendwie schon hier gesetzt.

Davon unabhängig kann fast alles jederzeit manuell neu gesetzt und -gestartet werden, was in der /etc/rc.conf als dauerhafte Einstellung gewünscht ist.
Die Start-Scripts der meisten Dienste kennen die Aufruf-Optionen start restart stop, manche aber auch nur start und stop. Bei manchen voneinander abhängigen Diensten gibt es eine Reihenfolge, in der diese ein und ausgeschaltet werden müssen und manchmal gibt es dann eine Art übergeordnetes Script, das dies dann richtig erledigt. Im Detail muss man sich das jeweils genauer ansehen und die Dokumentation lesen.

Nicht auf allen PCs scheint hal und dbus zufriedenstellend zu funktionieren. Man liest gelegentlich von unbegründeten Hängern. Wenn es aber geht, willst du das sicher auch nutzen und dann empfiehlt sich der start zur Bootzeit automatisch durch die entsprechenden Einträge in der /etc/rc.conf
 
"dbus und hal etwa werden durch einfache Einträge in die /etc/rc.conf gestartet"
Leider nicht, auch wenn das immer wieder in der Dokumentation steht. Man startet sie händisch(!) mit "/usr/local/etc/rc.d start".
Ähm nein.

Nur wenn du sie zum ersten mal startest ohne einen reboot durchzuführen startest du die Dienste mit service dbus start und service hald start nachdem die Einträge in der rc.conf gemacht sind. Beim nächsten Boot starten die dann automatisch.
 
Zurück
Oben