EasyLFS Projektthread

Danke erstmal für die (virtuellen) Blumen ;)

Was das UTF-8 betrifft: Hab bei LFS-5.1 noch in Erinnerung, dass VOR dem Kompiliervorgang die ENV "export LC_ALL=C" gesetzt wird, um die Programme allgemein tauglich zu machen - ist das jetzt auch noch so, oder haben die das (warum auch immer) entfernt ? Ich hatte bei dieser früheren Version von LFS nie dieses Problem,dass was verkehrt angezeigt wurde
 
Im LFS 6.2 hab ich grad spontan folgendes gefunden, im Abschnitt ueber die Vorbereitung des Systems.
LFS 6.2 hat gesagt.:
The LC_ALL variable controls the localization of certain programs, making their messages follow the
conventions of a specified country. If the host system uses a version of Glibc older than 2.2.4, having LC_ALL
set to something other than “POSIX” or “C” (during this chapter) may cause issues if you exit the chroot
environment and wish to return later. Setting LC_ALL to “POSIX” or “C” (the two are equivalent) ensures that
everything will work as expected in the chroot environment.
Das scheint hier also nichts mit irgendwelchen Ausgaben zu tun haben sondern eher mit chroot und verdammt alten Versionen der GLibC.
 
hm ... habe nochmal in der Version 5 vom LFS gegraben, aber ich hab nix mehr darüber gefunden, wann man das LC_ALL setzen musste. die Version 5.1 hat das schon nicht mehr drin :( ... naja, vielleicht findet man den Übeltäter dafür ja noch, habe nur herausgefunden, dass psmisc zB von gettext abhängig ist. gettext wandelt m.E. verschiedene Locale Meldungen in das Pedant der jeweiligen Sprache um - was aber bei pstree keinen Sinn macht, da es sich ja um die verlorenen "Minuszeichen des baumes" handelt *kopfkratz* ... kann aber auch was anderes sein: Speicherfehler ?
 
Ich mein ich haette auch irgendwo im LFS-Buch was davon gelesen, dass es wohl zum Teil noch Probleme mit UTF8 gibt. Das ist jetzt die erste mir bekannte Auswirkung, hatte bislang nichts gesehen da ich pstree eigentlich nicht nutze, sondern eher schlichtweg ps.

Naja, ich denk mal dass UTF8 ein Thema fuer spaeter ist. Es gibt erstmal wichtigere Dinge zu implementieren als sowas.
 
Habe jetzt die Projektseiten auf http://www.3-seiten.com etwas aktualisiert und etwas gestyled - auch das Forum ist jetzt aktiv, ich würde mich über etwas Beteiligung freuen, auch wenn Ihr nur mal vorbeischaut würde das dem Projekt schon etwas helfen, um es bekannter zu machen ;)

LG
Andy
 
So, ich hab grad mal was Zeit damit verbracht in dem frisch gebauten EasyLFS nach Deiner Anleitung SELinux einzubauen.

Das hat soweit auch ganz gut geklappt. Ich konnte jetzt auch mit dem SELinux-eigenen load_policy die Policy aktivieren. Das will ich jetzt mal beim Boot testen, moeglicherweise ist Dein loadselinux garnicht mehr noetig.

Schauen wir mal.

Hab soweit auch schon die Scripts etwas angepasst. Die Policy wird zwar noch nicht automatisch installiert, aber soweit die ganze noetige Software.
Die Installation der Policy will ich noch etwas austesten und dann wird auch das automatisch geschehen.
Weiterhin hab ich die Installation der SELinux-Utilities und der Policy weiter nach hinten in Stage 2 verlegt, zu den anderen optionalen Komponenten.
Der Grund dafuer liegt ganz einfach darin, dass ich zuerst mal den ganzen "offiziellen LFS-Kram" installieren will und anschliessend optionale Pakete.
Auf die Funktion sollte das keinen Einfluss haben da ja die SELinux-Libraries weiterhin ziemlich frueh installiert werden und die Tools lediglich zur Installation der Policy und fuer den Betrieb von SELinux notwendig sind, aber nicht dafuer, dass andere Programme mit SELinux-Support kompiliert werden koennen.

So, hab's kurz getestet. Es ist im Grunde kein Problem SELinux ueber load_policy zu starten. Es muss dazu lediglich noch das Boot-Script mountkernfs angepasst werden sodass dort auch /selinux gemountet wird.

Nachtrag: Das Boot-Script mountfs muss auch noch angepasst werden damit /selinux in der mtab eingetragen wird. Ansonsten gibt es bei eben diesem Script einen Fehler da dort dann nochmal versucht wird /selinux zu mounten.
Soweit geht es hier jetzt ganz gut voran. Das Filesystem ist gelabelt und somit sind nun auch die ganzen Fehlermeldungen weg.
Nur muss ich wirklich sagen, dass das labeln ganz schoen lang dauert. ;)

Dazu werd ich mir wohl auch noch was einfallen lassen muessen. Ich denk mal ich werd da ein Script am Ende des Bootvorganges einfuegen welches sich dann nach erfolgreichem Abschluss selbst loescht.
 
Also: Da andy72 so viel Zeit und Arbeit in die Aufklaerung der Mysterien um SELinux gesteckt hat freue ich mich androhen zu duerfen, dass der SELinux-Support fuer EasyLFS in der kommenden Version mehr als nur die Verfuegbarkeit der Libraries und Tools sein wird. Vielmehr wird SELinux wirklich aktiv und nutzbar sein!
Natuerlich wird SELinux nicht zum Standardumfang gehoeren sondern weiterhin eine Option sein, denn die genauen Auswirkungen von SELinux koennen wir bislang noch nicht abschaetzen, z.B. ob es irgendwo Probleme bereitet.

Auf jeden Fall freue ich mich EasyLFS bald auch mit einer brauchbaren SELinux-Unterstuetzung ausliefern zu koennen, welches das System wohl wieder ein wenig interessant machen duerfte und es wohl auch noch ein wenig von anderen Distributionen abheben sollte. ;)

Grosser Dank hierfuer geht an andy72 der sich einen Haufen Arbeit gemacht hat um einen wertvollen Anteil an diesem Projekt leisten zu koennen!
 
Hallo,
Habe jetzt die Projektseiten auf http://www.3-seiten.com etwas aktualisiert und etwas gestyled - ...

wenn Ihr mit den Seiten viele Leute erreichen wollt würde ich sie:
1.) so gestalten das sie auch in andren Browsern lesbar sind (bei mir im Firefox sind die Anleitungen unlesbar: siehe Anhang)
2.) die Seiten auf Englisch veröffentlichen.

Gruß,
RedWing
 

Anhänge

  • screenshot.jpg
    screenshot.jpg
    71,4 KB · Aufrufe: 40
So weit so gut, schön auch, dass ich hier helfen konnte.Meine Arbeit ist damit jedoch nicht so GANZ erledigt, da ich heute Nacht noch einen fatalen Fehler bei der Python-Installation gesehen habe: Python-2.5 ist nötig, um die Funktionalität von SELinux und refpolicy zu gewährleisten, da Python 2.4 diese Funktionalität nicht mitbringt,ist dieses Upgrade also notwendig. Beim kompilieren erhalte ich in version 2.5 nun zig Fehlermeldungen, in 2.4 wurden die Python-Module nicht mitinstalliert - so habe ich also bis heute morgen um 4 dran gehockt, um den Fehler zu beheben, bis jetzt noch ohne grosse Erfolge. Fazit: ich werd noch den Sonntag dran sitzen, um Python-2.5 zum laufen zu bekommn und später die Installationsanweisung updaten.

Ein grosser Dank geht hier auch erstmal an Dennis, der so schnell und eifrig die ganze Sache an sich nimmt,und sich auch die Nächte damit um die Ohren schlägt - und das noch zwischen Arbeit und Umzugsstress ;)

@RedWing:
Danke für deinen Hinweis:
Die Seiten habe ich erstmal nur Online gestellt, damit Dennis weiss,wie man SELinux integriert. Wie man sieht, haben die Seiten noch keinen Titel, keine Suchmaschinenoptimierung und selbst meine Anwendung (loadselinux) hat noch nicht mal ein Copyright, Readme oder eine Lizenz der GPL inne - zur Zeit habe ich wichtigeres zu tun, als an der Seite zu fummeln - trotzdem aber Danke für Deinen Hinweis
 
Zuletzt bearbeitet:
Mir ist uebrigens aufgefallen, dass in Deiner Anleitung scheinbar checkpolicy nicht erwaehnt wird.

In EasyLFS hab ich auch gleich Python 2.5 eingesetzt und auch bei meinem Test heute hab ich diese Version genutzt. Entsprechend bin ich dann auch nicht ueber irgendwelche Probleme gestolpert.

Uebrigens, hier der Teil der die Bootscripts anpasst/erstellt.
Code:
sed -i 's@boot_mesg ""@if ! mountpoint /selinux &> /dev/null; then\n\t\t\tboot_mesg -n " /selinux" ${NORMAL}\n\t\t\tmount -n /selinux || failed=1\n\t\tfi\n\n\t\t&@' /etc/rc.d/init.d/mountkernfs || LFS_ERROR=1
sed -i 's@mount -f /sys || failed=1@&\n\t\tmount -f /selinux || failed=1@' /etc/rc.d/init.d/mountfs || LFS_ERROR=1
cat > /etc/rc.d/init.d/selinux.sh << "EOF" || LFS_ERROR=1
#!/bin/sh

. /etc/sysconfig/rc
. ${rc_functions}

case "${1}" in
	start)
	boot_mesg -n "Starting SELinux:"
	/sbin/load_policy || failed=1

	(exit ${failed})
	evaluate_retval
	;;
	*)
	echo "Usage: ${0} start
	exit 1
	;;
esac
EOF
chmod 754 /etc/rc.d/init.d/selinux.sh
ln -s /etc/rc.d/init.d/selinux.sh /etc/rc.d/rcsysinit.d/S02selinux

Dadurch ist es dann auch unnoetig Dein eigenes kleines Tool zum Laden von SELinux zu nutzen.

Ich lass uebrigens auch load_policy von /usr/sbin nach /sbin verschieben. Das sollte wohl eher dem FHS entsprechen da der Befehl ja beim Systemstart benoetigt wird.
 
Zurück