Fragen und Anmerkungen zur Installation von Programmen

Habe ich dich richtig verstanden? mc läuft?
Nein, bisher noch nicht. Ich habe erst mal gestoppt. Es ging mir zu schnell.
Ich habe sowas wie portmaster vorher nie im Leben gesehen :D

Offensichtlich ein mächtiges Werkzeug - nur habe ich keine Ahnung wie es funktioniert und die manpage ist beeindruckend lang!
An dieser Stelle eigentlich schade, dass der Hypervisor keinen Snapshot erstellen kann.

Portmaster möchte flags gesetzt haben - mal schauen, was es da so gibt?
Code:
===>>> You can restart from the point of failure with this command line:
       portmaster <flags> devel/pcre ftp/curl www/firefox archivers/unzip archivautoconf-wrapper devel/m4 devel/libltdl math/fftw3 math/fftw3-float textproc/intultimedia/v4l_compat
 
Sorry, mein Fehler. Das was du da machst ist ein Programm aus dem Quellcode übersetzen ("kompilieren"). "portmaster devel/pcre" würde dir nur das Programm pcre übersetzen und installieren. "portmaster -a" war nur dafür gedacht um zu sehen, welche Programme alle aktualisiert werden würden. Wenn du es testen willst, dann mach ein "portmaster devel/pcre". Wie gesagt.. Ich weiß nicht wer der Übeltäter ist. Es kann sein, dass dir das nichts bringt. Kaputt machst du damit aber auch nichts.

Edit: Die Meldung mit den flags kannst du ignorieren. Das kommt immer, wenn du den Befehl abbrichst und soll eine Hilfestellung sein. Du brauchst keine flags.
 
oder
Code:
cd /usr/ports/devel/pcre
make config
make install clean
make config, make install und make clean brauchen root-Rechte.
SO kannst du ohne portmaster einfach nur einen einzigen Port schnell bauen. Da du ja diesen in Verdacht hast und nur den möchtest, braucht es eigentlich keinen portmaster.
portmaster ist sehr hilfreich beim Bau einer ganzen Reihe von Abhängigkeiten aus den Ports oder bei Updates über die Ports. Es legt automatisch die make config Masken vor (und je nach Option auch alle nacheinander, bevor dann gebaut wird) und kümmert sich eben um Anhängigkeiten.

Das Problem früher war, dass eigene Datenbanken geführt wurden, je nachdem, ob portmaster oder portupgrade oder das alte Paket-System verwendet wurden. Das bedeutet, dass man einen Mischmasch verhindern sollte, denn jeweils aktuell und gültig kann ja nur eine solche Datenbank sein und wenn es drei unterschiedliche gibt, ist eben keine wirklich genau.
So, wie ich das verstanden habe, ist genau dieses Problem nun mit dem neuen Paket-System gelöst. Daraus folgt für mich, dass es keine Probleme mehr verursachen sollte, wenn Ports und Pakete gemischt werden.

Ports sind unter Umständen aktueller. Das kann sehr unerwünschte Folgen haben, wenn dann statt des einen gewünschten Ports plötzlich noch hundert als Abhängigkeiten ebenfalls dazu gebaut werden müssen. Es gibt, so viel ich weiß, keine gültige Möglichkeit hier etwas zu konfigurieren und eben mit ungültigen Versionen von Programmen zu arbeiten. Es hilft wohl nur, die Pakete möglichst aktuell zu halten und nur gezielt Ports zu nehmen, wenn es denn erforderlich wird.
Aber grundsätzlich sollte es keine Probleme mehr verursachen, zu mischen und beide zu nutzen, wie wir das früher kannten.
 
ah, nebenbei: auf meinem Paket-System mache ich eben meinen routinemäßigen Update und da ist auch pcre mit einer neuen Version dabei.
 
Also es ist jedenfalls wirklich spannend!

Wenn mc hinterher wieder funktioniert, gut dann. Doch hierbei ist tatsächlich der Weg das Ziel.

Und ich muss sehen, dass ich halbwegs verstehe was da abgeht. Sonst macht es keinen Sinn.

Kann sein, dass ich manchmal etwas länger brauche.
 
Macht euch doch allen einen Gefallen und baut eure Pakete mit poudriere [1]. Das ist wirklich einfach und läuft in einer Jail. Diese wird für das bauen erstellt und danach auch wieder automatisch gelöscht. Dort habt ihr dann euer eigenes Repo mit euren Anpassungen, wenn ihr welche benötigt und ihr könnt die Pakete ganz leicht mit allen Branches bauen egal ob 2015Q4, 2016Q1 oder HEAD. Ich baue alle meine Pakete nur noch damit.

Gruss

[1] https://wiki.bsdforen.de/kategorie:howto:poudriere
 
Bei meiner Systemumgebung und für meinen Einsatzzweck scheint mir portmaster angemessen. Rakor seine Erläuterungen sind sehr hilfreich und verständlich.
Heute bietet auch pkg upgrade die Aktualisierung von pcre an. Habe vorhin pkg mal neugierig befragt.
Die Aktualisierung dann also über portmaster, vorher der VM noch einen zweiten Kern zugewiesen und den RAM erhöht. Es ging dann auch recht flott:
====> Creating a backup package for old version pcre-8.37_4
Na super, damit ist künftig doch die Möglichkeit eines Downgrade gegeben!

mc ist auch nach dieser Aktualisierung von pcre nicht zu gebrauchen.

Ich schaue nachher mal in die komprimierten /var/log/messages* rein. Vielleicht finde ich einen Hinweis.
 
nun bin ich doch fündig geworden:
Code:
$ grep pkg ~/Downloads/messages.4
Mar 17 19:43:56 localhost pkg: eboard-1.1.1_6 installed
Mar 17 19:44:38 localhost pkg: gnuchess-6.2.2 installed
Mar 18 06:43:45 localhost pkg: sqlite3 upgraded: 3.10.2_2 -> 3.11.1
Mar 18 06:43:46 localhost pkg: mc upgraded: 4.8.15 -> 4.8.16
Mar 18 06:43:47 localhost pkg: cups upgraded: 2.1.3 -> 2.1.3_1
Mar 18 08:04:29 localhost pkg: emelfm2-0.9.1_1 installed
Mar 18 09:02:39 localhost pkg: leafpad-0.8.18.1_1 installed
Mar 18 09:23:53 localhost pkg: gpicview-0.2.4_1 installed
Gefühlt mal sqlite3 verdächtigt.

Mit portmaster sqlite3 reinstalliert - und mc läuft wieder.

Portmaster ist dein Freund :)
 
Zu früh gefreut - nach heutigem Systemstart:
Code:
$ mc
common.c: unimplemented subshell type 1
read (subshell_pty...): (null) (2)
$
$ sudo pkg upgrade
Updating FreeBSD repository catalogue...
FreeBSD repository is up-to-date.
All repositories are up-to-date.
Updating database digests format: 100%
Checking for upgrades (8 candidates): 100%
Processing candidates (8 candidates): 100%
Checking integrity... done (0 conflicting)
Your packages are up to date.
$
Habe die Ausgabe von portmaster - L mal als Datei angehängt.
Für curl gibt es eine Aktualisierung, mache ich später.
 

Anhänge

  • ports.txt
    8,7 KB · Aufrufe: 266
Meine Aussage muss ich korrigieren, sorry!
Seit der Aktualisierung von sqlite3 startet mc, jedoch nur mit root-Rechten.
Habe ich eben erst bemerkt.
 
Wenn man es weiß, ist es ja nicht weiter tragisch.

Es liegt auch nicht an den Zugriffsrechten, sondern an der verwendeten Shell.
Code:
$ echo $SHELL
/bin/sh                # Standard Shell
#
#
# echo $SHELL              
/bin/csh               # root Shell
 
Wenn man es weiß, ist es ja nicht weiter tragisch.

Es liegt auch nicht an den Zugriffsrechten, sondern an der verwendeten Shell.
Code:
$ echo $SHELL
/bin/sh                # Standard Shell
#
#
# echo $SHELL              
/bin/csh               # root Shell

das bedeutet, wenn du als User die csh benutzt, dann funktioniert es?
Stellt sich mir sofort die Frage, warum machst du das nicht generell?
Mir ist die csh inzwischen sehr ans Herz gewachsen, nicht, dass ich da große Ansprüche hätte. Aber wenn ich etwa ein GNU/Linux mit bash habe, versuche ich meistens auch dort die (t)csh zu setzen und mit meinen gefundenen Einstellungen zu nutzen. Mir gefällt die csh aus verschiedenen gründen inzwischen besser als bash, ash, sh, korn oder was es noch so gibt. Sicher Geschmacksache, aber wenn du als root eine andere Shell benutzt, als die User, dann macht das für mich nicht so viel Sinn, vor allem, wenn beide Alternativen direkte System-Shells sind. root sollte womöglich immer nur eine system-shell nutzen (die direkt mitinstalliert wird und deshalb in /bin liegt), ohne nun die Gründe zu nennen. Einem User könntest du auch bash oder eine andere zuweisen. Ich rede von der Default-Einstellung, aufrufen kannst du ja jede shell ganz einfach jederzeit (wenn sie installiert ist).
 
pit234a schrieb:
das bedeutet, wenn du als User die csh benutzt, dann funktioniert es?
Ja.
Stellt sich mir sofort die Frage, warum machst du das nicht generell?
Bourne ist die Standard Shell für non-root-user per default. Als ich den user angelegt hatte, habe ich die default-Einstellung übernommen.

In gewisser Weise kommt mir dieser Bug durchaus entgegen. So kann ich die Theorie anhand eines praktischen Beispiels erarbeiten.
 
Eine Anmerkung was das Mischen von Ports und Packages betrifft.
Vor ein paar Tagen habe ich durch ein 'pkg upgrade' die installierten Pakete aktualisiert.
Dabei viel mir auf, dass auch curl aktualisiert wurde, obwohl ich es bereits vorher aus den Ports mit Portmaster aktualisiert hatte.
Pkg hat also die gleiche Version nochmal drübergebügelt.
Irgendwas läuft doch da falsch? Ich komme hier nicht weiter, weil ich nicht wirklich weiß wonach ich suchen soll?
Die /etc/pkg/FreeBSD.conf steht übrigens auf "latest". Es ist wohl die Standardeinstellung in -current.
 
Bourne ist die Standard Shell für non-root-user per default.
Da ich eben erst neu installiert habe: wenn ich einen Nutzer Anlege ist da vorsorglich zwar die sh eingetragen, aber ich kann auch direkt die csh/tcsh setzen und sie sind "beide" Bestandteil des Grundsystems, also von FreeBSD direkt und brauchen nicht etwa einen weiteren Port, wie die bash.

die gleiche Version dürfte normalerweise nicht drüber gebügelt werden.
Probleme kommen eigentlich nur von Versions-Unterschieden.
pkg ist aber ein sehr stures Tool und es meckert auch, wenn etwa die Optionen des selbst gebauten Ports nicht mit denen aus dem Repositrie übereinstimmen. Ob es dann automatisch drüber bügelt, kann ich nun nicht mehr sagen.
Bei meinen Installationsversuchen hatte ich allerdings auch einmal ein ziemlich konfuses Verhalten von pkg festgestellt. Dabei lief die Installation auf einen USB-Stick (FreeBSD10.2) und pkg installierte beharrlich immer wieder Pakete, die es soeben bereits upgedatet hatte. Da klemmte wohl etwas in der Datenbank und bisher habe ich noch keine Reparatur-Tools gefunden, wie es sie früher etwa für die pkgdb gab. Möglicherweise ist pkg so konzipiert, dass derartige Tools nicht mehr nötig sind. Das würde bedeuten, wenn dann ein derart merkwürdiges Verhalten auftritt, dann ist das ein Fehler in der momentanen Version von pkg.
Für mich nicht eindeutig zu erkennen.
Und zu allem Überfluss läuft die gleiche Version dieses pkg auf dem nun installierten 10.3 bislang ohne alle Probleme.
 
Das würde bedeuten, wenn dann ein derart merkwürdiges Verhalten auftritt, dann ist das ein Fehler in der momentanen Version von pkg.
pkg scheint tatsächlich eine Baustelle zu sein. In den letzten zwei Wochen gab es drei Aktualisierungen und ' multiple bug fixes' - hier die commit history
Und zu allem Überfluss läuft die gleiche Version dieses pkg auf dem nun installierten 10.3 bislang ohne alle Probleme.
Du mischst auch Ports und Packages nicht.
 
Du mischst auch Ports und Packages nicht.

doch. Inzwischen schon. Seit einigen Tagen habe ich 10.3 auf meinem alten Rechner installiert und zunächst alles aus Paketen gebaut. Doch dann zusätzlich Ports für lame, ffmpg mit mp3 und so gebaut.
VLC macht Mist und ich dachte, ein Bau aus den Ports könne helfen, tat es aber nicht.
Der X-Server zuckt und muckt einige Male, Firefox verabschiedet sich gelegentlich einfach so, einige Kleinigkeiten bei Claws setzen aus.
Deshalb denke ich darüber nach, auch wieder mehr auf Ports zu setzen.
Aber derzeit habe ich das gemixt und bisher gibt es da noch keine Versionsabweichung und pkg scheint problemlos zu sein.
 
Mein Setup ist nun eher bescheiden. Multimedia und diesen ganzen Schnickschnack benötige ich in der VM nicht.
Aus diesem Grund kann ich kaum eine Rückmeldung geben.
 
Kleines Update, für diejenigen, die das Problem noch haben: Baut mc mal ohne subshell Support aus den Ports. Danach läuft er wieder (zumindest hier).

HTH
 
Moin,

wenn man hauptsächlich Packages einsetzt und nur ein paar einzelne Ports verwendet, ist es am einfachsten, die Ports einfach mit "pkg lock portxyz" auf einen Stand zu halten.
Dann bügelt ein "pkg upgrade" diese installierten Ports nicht über!

Ansonsten macht die Mischung aus Ports und Packages im Normalfall nur wenig Ärger. Wenn es irgendwo hakt ist es natürlich einfacher bei der Fehlersuche, wenn man nur Ports ODER Packages einsetzt.
 
Zurück
Oben