-
Frohe Kunde sei Euch allen bereitet, denn es ist fast geschafft!
SELinux, der letzte Stolperstein, laeuft. GlibC, CoreUtils, PsMisc, Shadow und sogar IPTables bekommen bei Bedarf (also falls SELinux-Support ausgewaehlt wurde) entsprechende Optionen um auch mit SELinux bestmoeglich zusammenarbeiten zu koennen. Das fuehrt zum Beispiel dazu, dass unter anderem ls auch auch ps mit dem neuen Parameter -Z ausgestattet werden welche den Security-Context anzeigt.
Beim ersten Startvorgang wird aber einige Zeit aufgewandt um erstmal alle Dateien und Verzeichnisse mit Security-Labels zu versehen, und wenn ich einige Zeit sage, dann meine ich auch einige Zeit. Pizza holen und essen sollte locker drin sein.
Die mir bekannten Bugs der vorigen Version sind beseitigt und bei einem kurzen Test konnte ich auch keine neuen finden (was nicht heisst, dass keine da sind
).
Ich werde dann jetzt gleich mal das System fuer die LiveCD basteln und dann zur finalen LiveCD zusammenstricken.
Fuer die CD selbst hab ich mir die Tage auch was nettes einfallen lassen, und zwar 2 kleine Scripts zum Laden von Modulen.
Hierbei wird lspci genutzt um zum einen zu erkennen ob ein USB-Controller da ist, und auch was fuer einer (obwohl dies in der Regel ein UHCI-Controller sein duerfte). Das entsprechende Modul wird dann geladen. Dies sollte z.B. dabei helfen wenn man eine USB-Tastatur hat.
Weiterhin werden die restlichen PCI-Geraete mit der Datei modules.pcimap abgeglichen sodass auch Treiber fuer Festplattencontroller (hoffentlich auch SCSI und SATA) und Netzwerkkarte geladen werden.
Diese beiden Scripts sind ziemlich neu und kaum getestet sollten aber eher keinen Effekt haben als Probleme zu verursachen.
Im Grunde sollten sie aber die vorhandene Hardware den entsprechenden Modulen zuordnen koennen (bei meinen Tests im QEmu wurde der emulierte PIIX-Controller erfolgreich erkannt und auch das entsprechende Modul geladen) und diese dann laden.
Einen Downloadlink kann ich bislang nicht anbieten und weiss bislang auch nicht genau wann. Ich zieh morgen um und ich weiss nicht genau wann ich dann wieder mit dem Internet verbunden werde sodass ich dann das Image hochladen kann.
Aber im Laufe der kommenden Woche sollte sich da bestimmt was machen lassen.
Welche Software in welcher Version enthalten ist kann in diesem Post eingesehen werden, eine Installationsanleitung folgt im naechsten Post.
Und der Downloadlink dann sobald verfuegbar.PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
__________________
EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
__________________
__________________Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
Zitat von Friedrich Nietzsche
-
Installationsanleitung fuer EasyLFS 0.2.6
- Am Ende des Starts von der LiveCD wird zunaechst mal die Tastaturbelegung abgefragt.
Dabei ist es wichtig zu beachten, dass das Script die Zahlen vor den jeweilgen Eintraegen erwartet und nicht den Namen des Eintrages selbst! - Anschliessend als root einloggen.
Ein Passwort gibt es nicht, also einfach nochmal Enter druecken und schon ist man im System. - Festplatte partitionieren.
Dazu stehen fdisk und parted zur Verfuegung.
Die genutzte Partition sollte mindestens 3GB gross sein. Ein vollstaendig installiertes System benoetigt ca. 1.5GB, bei der Installation wird aber was mehr benoetigt. 3GB hab ich aber erfolgreich getestet.
Zusaetzlich empfiehlt sich natuerlich eine Swap-Partition, zwingend noetig ist diese aber nicht. Falls eine Swap-Partition angelegt wird sollte diese nicht aktiviert werden. - Nach /lfs-install wechseln.
- lfs_config.sh bearbeiten.
Dazu stehen die Editoren vim (vi), joe und nano zur Verfuegung.
Hier mal die relevanten Einstellungen mit ein paar Erklaerungen:- Die Zielpartition:
LFS_DEV=/dev/
Hier muss hinter /dev/ noch die Partition angegeben werden wo das System denn eigentlich installiert werden soll.
Das sollte am Ende ungefaehr so aussehen: /dev/hdb3 - Die Swap-Partition:
#LFS_SWAP=
Diesen Eintrag nicht bearbeiten, denn die Swap-Partition wird, falls vorhanden automatisch erkannt und eingetragen. - Fallschirm 1:
LFS_BUILD_FROM_CD=y
Da es im Grunde auch moeglich ist das ganze Paket in sein System zu kopieren und von dort zu bauen gibt es diese Option.
Ist sie an, was die Standardeinstellung ist, dann wird das /tmp-Verzeichnis auf die Zielpartition gelinkt. Das wird deshalb gemacht weil beim kompilieren gern mal in /tmp geschrieben wird, und da /tmp im Speicher liegt wenn man von CD bootet waere dies wohl Resourcenverschwendung und koennte im Extremfall zum Abbruch fuehren weil die virtuelle Festplatte (also die Root-Partition im Speicher) voll ist. - Fallschirm 2:
LFS_SAFECOPY=y
Bei einem Kopiervorgang kann es auch mal zu Stoerungen kommen sodass eine Datei fehlerhaft kopiert wird.
Da hier knapp 300MB Sourcen von CD auf Festplatte transferiert werden und die Installation auch eine Weile dauert sollte man sich sicher sein koennen, dass die Installation nicht abbricht nur weil ein Paket nicht entpackt werden kann weil es beschaedigt ist.
Diese Option stellt sicher, dass die Zieldatei auch wirklich der Quelldatei entspricht indem es nach dem Kopiervorgang die MD5-Summen beider Dateien vergleicht. Sind diese nicht gleich wird nochmal kopiert, und zwar solange bis sie gleich sind! - Das Dateisystem:
#LFS_FS=ext2
LFS_FS=ext3
#LFS_FS=ext4dev
#LFS_FS=reiserfs
#LFS_FS=jfs
#LFS_FS=xfs
Fuer Linux stehen quasi haufenweise Dateisysteme zur Verfuegung (auch wenn natuerlich nicht unbedingt alle dafuer geeignet sind Linux darauf zu installieren, wie z.B. NTFS
) und diese Liste repraesentiert die Dateisysteme welche sozusagen fuer den Betrieb von Linux ausgelegt sind. Jedes Dateisystem hat seine Vor- und Nachteile.
Ext2 z.B. ist in der Performance gut dabei, bietet dafuer aber kein Journal (was den Performance-Zuwachs erklaert
).
Ext4 ist noch experimentell und entsprechend kann ich hier nicht garantieren, dass damit alles laeuft. Es steht dennoch als "Option fuer Mutige" zur Verfuegung.
Standard ist hier Ext3, da dieses heutzutage wohl der allgemeine Standard in Sachen Linux-Dateisystem ist.
Einen kleinen unverbindlichen Vergleich zu den genannten Dateisystemen hab ich mal in der Tutorials-Section unter dem Titel Dateisysteme fuer Linux: Ein kleiner Performancevergleich abgelegt. - Der Compiler, Teil 1:
LFS_GCC=3.4.6
#LFS_GCC=4.0.4
#LFS_GCC=4.1.2
Meiner Erfahrung nach duerfte man wohl weiterhin mit GCC 3.4 am sichersten fahren wenn man nicht unbedingt darauf steht ein paar Minuten bis Stunden in die Suche von Patches investieren zu wollen. Dementsprechend ist diese Version auch die Standardeinstellung.
Wer sich davor aber nicht scheut darf gern auch GCC 4.0, welcher in Sachen Patches noch recht moderat daherkommt, oder GCC 4.1 nutzen, welcher doch zu einer relativ ordentlichen Patchsuche einlaedt.
Moeglicherweise sieht es mittlerweile auch besser aus, denn auch andere Software wird weiterentwickelt, und dort wird dann sicher auch neueren Compiler-Versionen Genuege getan. Aber wie gesagt, GCC 3.4 ist die sichere Wahl.
Es ist aber mit allen moeglich ein vollstaendiges System zu erstellen. Ich selbst nutze GCC 4.1.1 und hab alles was man so braucht laufen. - Der Compiler, Teil 2:
LFS_GCC_COMPLETE=n
Wird diese Einstellung auf y gesetzt werden von GCC nicht nur der C- und C++-Compiler installiert sondern auch alle anderen verfuegbaren Compiler, wie z.B. GCJ, der Java-Compiler. - Der Rechnername:
LFS_HOSTNAME=easylfs.local.net
Hier wird der Rechnername, als FQDN (Fully Qualified Domainname), angegeben. - Netzwerk-Einstellungen:
#LFS_IP=192.168.1.1
#LFS_DNS1=205.252.144.126
#LFS_DNS2=218.102.32.208
Wird die erste Option (LFS_IP) aktiviert (also der Kommentar entfernt) so wird beim Systemstart versucht die erste Netzwerkkarte mit zu starten und mit der IP zu versehen.
DHCP ist bisher nicht direkt moeglich, kann aber, da das DHCP-Paket installiert werden kann, manuell eingestellt werden.
Die Automatisierung ist geplant.
Die naechsten beiden Eintraege bieten die Moeglichkeit bis zu 2 DNS-Server anzugeben.
Die dort angegebenen IP-Addressen sind keine Beispiele sondern funktionieren wirklich. - Die Standard-Seitengroesse (warum auch immer Groff die braucht
):
LFS_GROFF_PAGESIZE=A4
Diese Einstellung duerfte wohl kaum einer aendern muessen. Ansonsten duerften hier auch Formate wie Letter und aehnliches moeglich sein. - Noch ein paar Einstellungen zum nicht anfassen:
#LFS_TIMEZONE=
#LFS_KEYMAP=
Sowohl die Zeitzone (LFS_TIMEZONE) als auch die Keymap (LFS_KEYMAP) werden hier automatisch eingetragen.
Die Keymap sollte uebrigens schon drinstehen, immerhin wurde sie ja beim Systemstart ausgewaehlt.
Die Zeitzone wird zu Beginn der Installation festgelegt. - Informationen ueber USB-Geraete:
LFS_USE_USBFS=y
Das USBFS kann eingehaengt werden um Detailinformationen zu USB-Geraeten zu erhalten. Da diese in der Regel ganz nuetzlich sind ist diese Option standardmaessig aktiv.
Wer einen Rechner ohne USB hat kann diese Option getrost deaktivieren indem er sie entweder komplett mit einem # auskommentiert oder auf n setzt. - "Automatische" Kernel-Installation:
LFS_USE_CDKERNEL=n
Diese Option auf y zu setzen bewirkt, dass die Kernel-Einstellungen vom auf der CD laufenden Kernel uebernommen werden.
Wenn man soweit gekommen ist diese Datei bearbeiten zu koennen ist das schonmal ein guter Hinweis darauf, dass dieser Kernel das eigene System betreiben kann, jedoch ist dieser ziemlich allgemein gehalten (ein riesen Haufen Module, CPU ist auf 586 gestellt, ...). Ausserdem werden die Scripts zur Device-Erkennung welche ich auf CD gepackt habe nicht installiert sodass es moeglicherweise zu Problemen kommen koennte.
Allgemein wuerde ich empfehlen den Kernel selbst einzustellen. Und wer SELinux will muss das eh tun, denn diese Unterstuetzung ist im CD-Kernel nicht aktiv.
Fuer die Zukunft koennte ich mir vorstellen aufgrund der laufenden Module und der Paketauswahl eine automatische Vorauswahl erstellen zu lassen. Wie ich das angehe weiss ich aber noch nicht genau. - Optionale Pakete:
#LFS_INSTALL_ALL_FSUTILS=y
#LFS_INSTALL_BIND=y
LFS_INSTALL_DCRON=y
#LFS_INSTALL_DHCP=y
#LFS_INSTALL_DMRAID=y
#LFS_INSTALL_DOSFSTOOLS=y
#LFS_INSTALL_DPKG=y
#LFS_INSTALL_EJECT=y
#LFS_INSTALL_FUSE=y
LFS_INSTALL_HDPARM=y
#LFS_INSTALL_IPTABLES=y
#LFS_INSTALL_JOE=y
#LFS_INSTALL_KEXECTOOLS=y
#LFS_INSTALL_LMSENSORS=y
#LFS_INSTALL_LYNX=y
#LFS_INSTALL_MDADM=y
#LFS_INSTALL_MIDNIGHTCOMMANDER=y
#LFS_INSTALL_NANO=y
#LFS_INSTALL_NCFTP=y
#LFS_INSTALL_NETTOOLS=y
#LFS_INSTALL_NTFSPROGS=y
#LFS_INSTALL_OPENSSH=y
#LFS_INSTALL_PARTED=y
LFS_INSTALL_PCIUTILS=y
#LFS_INSTALL_RPM=y
#LFS_INSTALL_SCREEN=y
#LFS_INSTALL_SELINUX=y
LFS_INSTALL_SLOCATE=y
#LFS_INSTALL_SMARTMONTOOLS=y
LFS_INSTALL_USBUTILS=y
#LFS_INSTALL_WGET=y
LFS_INSTALL_WHICH=y
Diese Einstellungen sollten eigentlich selbstredend sein.
Hier wird eingestellt welche optionalen Pakete noch installiert werden sollen.
Ein paar Pakete die fuer viele User nuetzlich sind sind hier vorausgewaehlt. - Und zum Schluss nochwas zum Finger davon lassen:
LFS_ERROR=0
Diese Variable wird in den Scripts genutzt um Fehler festzustellen. Ist diese nicht 0 wird abgebrochen.
Aenderungen hier fuehren also zur sofortigen Explosion des Computers.
- Die Zielpartition:
- lfs_install.sh ausfuehren.
Hierbei wird man ziemlich zu Beginn nach ein paar Angaben zum eigenen Aufenthaltsort befragt um anhand dieser dann die Zeitzone einzustellen.
Gegen Ende gibt es dann noch 2 (oder auch nur eine, wenn LFS_USE_CDKERNEL aktiviert wurde) Unterbrechungen, einmal zur Konfiguration des Kernels (oder eben nicht falls die angesprochene Einstellung aktiv ist) und einmal um das root-Passwort zu setzen.
Wenn man soweit gekommen ist ist man aus dem schlimmsten raus, nach dem root-Passwort wird nur noch aufgeraeumt und neu gestartet.
Ich hoffe, dass alle Interessierten das System erfolgreich mit den gewuenschten Optionen installieren koennen und bei der Nutzung keine Probleme auftreten.
Kritik, Kommentare, Anregungen und vor allem natuerlich Bugreports sind herzlichst willkommen.PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
__________________
EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
__________________
__________________Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
Zitat von Friedrich Nietzsche
- Am Ende des Starts von der LiveCD wird zunaechst mal die Tastaturbelegung abgefragt.
-
Es gibt neues von der SELinux-Front, bzw von mir

Die Integration von SELinux in easyLFS ist wie bisher geschehen und auf meiner Webseite nun doch grundlegend falsch:
Die Initialisierung von SELinux MUSS grundsätzlich bereits im Init-Kontext des Kernels passieren, da init selbst sowie alle aufgerufenen Scripts in /etc/rc.d/* unter falschem Kontext verarbeitet werden. Das Resultat dabei ist, dass das System unter falschem Kontext arbeitet, selbst der angemeldete Benutzer ist in der Targeted-Policy nicht wie erwartet system_u:object_r:unconfined_t sondern system_u:object_r:kernel_t - was bedeutet, dass der Benutzer unter dem Kernel-Kontext arbeitet.
Was nun geändert werden musste ist, dass init einen Patch brauchte (habe ich von gentoo bzw redhat übernommen) und das ganze System etwas mehr angepasst werden muss. Dazu gehört eine Überarbeitung der init-Scripts, das erstellen angepasster policy-Regeln etc. Dies wird ca. noch eine Woche dauern, danach werde ich weiter PAM integrieren und eine neue Fassung meiner Anleitung auf meinen Server stellen.
@Dennis:
Es gibt eine neue Version von udev, die SELinux voll unterstützt und die Geräte unter richtigem Kontext erstellt. ein kopieren ist überflüssig, habe gestern abend sogar einen MP3-Player angestöpselt und ich konnte sofort lesend und schreibend darauf zugreifen (ist sogar nur ein Billigteil von Hama aus dem real,-Markt
So long
Andy
-
Meinst Du UDev 106? Den werd ich mir dann mal anschauen und in der naechsten Version verarbeiten. Dabei werd ich dann auch mal schauen ob irgendwelche Optionen fuer SELinux benoetigt werden oder nicht?
Ist natuerlich etwas unguenstig, dass noch was mehr Arbeit fuer SELinux noetig ist, aber ich denk wie es jetzt ist haben wir schon einen wirklich gewaltigen Schritt in die richtige Richtung getan, der Rest duerfte jetzt wohl noch eher Anpassungen im Detail sein so wie ich es verstehe.
Falls Du einen Link zum Init-Patch fuer mich hast waere das echt klasse, dann koennte ich da am Wochenende auch schonmal schauen.PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
__________________
EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
__________________
__________________Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
Zitat von Friedrich Nietzsche
-
Anbei mal eben ein grösseres Update, das auf EasyLFS wartet:
zum ersten habe ich eine funktionierende referencepolicy (refpolicy) gebaut, die zumindest im target-modus ohne kernelaudits im logfile stabil läuft, erhältlich auf meiner Webseite unter http://www.3-seiten.com/patches unter refpolicy-easylfs.patch.
zum zweiten habe ich udev dazu gebracht, mir alles im richtigen Security-Context zu installieren, wenn neue Geräte im Kernel gefunden werden - das Update dazu kommt am Sonntag (10.03.2007) -der nächste Schritt ist dann die Installation von automount, um USB-Sticks gleich zu mounten
Zum dritten lädt init nun fehlerfrei SELinux ins System und läuft im richtigen Kontext (die Änderungen in den Init-Scripten sind damit hinfällig und müssen entfernt werden), auch dazu gibt es einen Patch unter http://www.3-seiten.com/patches
Zum vierten ist das Useradd-Problem ebenfalls in shadow behoben, den Patch dafür gibt es ebenfalls bei mir genauso wie ein Paar Patches für SELinux in den Coreutils und util-linux.
Bitte nutzt noch nicht die linke Navi auf der Patch-Seite, habe sie noch nicht aktualisiert
Sooo, ich hoffe, dass ich am Sonntag meine Webseiten aktualisiert bekomme, damit meine Arbeit auch bei Euch umgesetzt werden kann
LG
Andy
-
Was genau musstest Du denn an der Policy aendern? Und was fuer Probleme gab es ohne die Aenderungen?
Der im aktuellen EasyLFS enthaltene UDev 105 sollte auch schon mit SELinux klarkommen. Zumindest hab ich im Script eine Option welche die Nutzung dessen aktiviert.
Hab aber auch schon 106 runtergeladen der dann in der naechsten Version eingeflanscht wird. Viel geaendert haben duerfte sich dort aber nicht denk ich.
Den Patch von Red Hat hab ich mir gestern auch mal besorgt, angepasst und gleich im Script verbaut.
Die Patches fuer Shadow, die CoreUtils und Util-Linux sind im aktuellen EasyLFS auch mit drin sodass es hier auch keine Probleme geben duerfte.
Auf jeden Fall echt gute Arbeit. Jedoch befuerchte ich, dass nicht viele die EasyLFS-Version nutzen die Du nun so erfolgreich manipuliert hast.
Aber Deine Arbeit ist ja bereits in die neue Version eingeflossen sodass dort nun erstmals SELinux-Support existiert, in der naechsten Version kommt dann die verbesserte Variante mit dem gepatchten Init.
Du sagst weiter oben, dass nun die Anpassung der Init-Scripts hinfaellig ist, betrifft das auch das mounten von /selinux?
Ich hab die Nacht ein Testsystem mit SELinux, inklusive dem Patch fuer SysVInit, bauen lassen und werd mich nach der Arbeit noch etwas damit beschaeftigen.
Den Aufruf von load_policy hab ich schon auskommentiert eben in der Hoffnung, dass das von Init selbst geregelt wird.
Jetzt stell ich mir nur noch folgende Frage: Zum Zeitpunkt wo Init aufgerufen ist ist ja /selinux noch nicht gemountet, geschieht das dann auch automatisch durch Init?
Also ich denk mal, dass mein Mount-Aufruf fuer /selinux nun auch ueberfluessig sein duerfte, denn fuer das Laden der Policy kommt er ja dann eh zu spaet.PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
__________________
EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
__________________
__________________Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
Zitat von Friedrich Nietzsche
-
Also: SELinux wird nun wie folgt ins System geladen:
init lädt mit dem Patch (hab ihn von gentoo, müssen nur mals was darüber ausdisktieren, wassinn macht) die komplette Policy ins System, nachdem procfs kurz geladen wurde um an die cmdline vom kernel zu kommen.proc wird dann wieder aus dem System entfernt und /selinux wird gemounted, wenn selinuxfs in /proc/filesystems vorhanden war.
Nach erfolgreichem mounten von selinux wird die Policy geladen und startet sich selbst neu und nun im richtigen Kontext, da SELinux das bereits übernimmt (anhand der Policy).
Somit ist ein direktes mounten im init-Script nicht mehr notwendig, auchnicht "load_policy". Was dahingehend geändert werden muss ist, dass in der /etc/fstab nun nicht mehr selinux auf default stehen darf, da es sonst gemounted wird, sondern auf noauto. Da selinuxfs ein tmpfs ist, wird es beim system-(halt, neustart) eh rausgeworfen.
Nachdem rootfs im rw-mode gemounted ist, kann udev die Geräte anlegen (nicht wie in deinem Script kopieren) und mit restorecon wird nur noch der Kontext des tmpfs, das auf /dev liegt bereinigt und auf system_u:object_r:device_t gesetzt.
Was ich an der Policy ändern musste sind grösstenteils Regeln, die das ausgeben von Kommentaren von swapon,hostname und ip sowie mount, restorecon und restorecond auf /dev/console erlauben und habe noch /bin/mountpoint und /sbin/udevsettle verfügbar gemacht, dass da keine audits im Kernel-Log kommen.
Desweiteren habe ich die init-verzeichnisse angepasst und die Rechte darauf verlegt
(in der Policy)
Was udev betrifft:
SELinux ist nur nebensächlich, habe das init-script umgebaut, dass udev allesselbst finden kann und anlegt, ohne waszu kopieren
-
Anbei mal mein udev aus den init-scripts. Habe es so angepasst, dass es alle Geräte automatisch installiert, und unter SELinux den richtigen Kontext setzt:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
#!/bin/sh ######################################################################## # Begin $rc_base/init.d/udev # # Description : Udev cold-plugging script # # Authors : Zack Winkles, Alexander E. Patrakov # # Version : 00.02 # # Notes : # ######################################################################## . /etc/sysconfig/rc . ${rc_functions} case "${1}" in start) boot_mesg "Populating /dev with device nodes..." if ! grep -q '[[:space:]]sysfs' /proc/mounts; then echo_failure boot_mesg -n "FAILURE:\n\nUnable to create" ${FAILURE} boot_mesg -n " devices without a SysFS filesystem" boot_mesg -n "\n\nAfter you press Enter, this system" boot_mesg -n " will be halted and powered off." boot_mesg -n "\n\nPress Enter to continue..." ${INFO} boot_mesg "" ${NORMAL} read ENTER /etc/rc.d/init.d/halt stop fi mount -nt tmpfs tmpfs /dev -o mode=755,exec,nosuid if [ ${?} != 0 ]; then echo_failure boot_mesg -n "FAILURE:\n\nCannot mount a tmpfs" ${FAILURE} boot_mesg -n " onto /dev, this system will be halted." boot_mesg -n "\n\nAfter you press Enter, this system" boot_mesg -n " will be halted and powered off." boot_mesg -n "\n\nPress Enter to continue..." ${INFO} boot_mesg "" ${NORMAL} read ENTER /etc/rc.d/init.d/halt stop fi echo "/sbin/udevsend" > /proc/sys/kernel/hotplug mkdir -p /dev/pts mkdir -p /dev/shm restorecon /dev/pts restorecon /dev/shm /sbin/udevd --daemon /sbin/udevtrigger /sbin/udevsettle --timeout=60 evaluate_retval ;; *) echo "Usage ${0} {start}" exit 1 ;; esac # End $rc_base/init.d/udev
-
Anbei noch mal ein Paar sinnvolescripts,die das mounten von USB-Sticks vereinfachen:
10-udev-mount.rules ist das File, dass die Regel zu USB-Sticks (NUR Speichermedien und USB-MP3-Player) beschreibt.
mountudev ist ein Shell-Script, dass nach /bin kopiert werden muss (der Dateiname ist deshalb so gewählt, um mit refpolicy keinen Konflit zu erzeugen) und mountet bei einem udev-event im USB Bus mit root-rechten den USB-Stick nach /media, wenn das Gerät Blockorientiert ist. Es erstellt davor in /media ein Verzeichnis, dass dem des Gerätes gleich steht (z.B. /media/uba1) und mountet es dorthin.
umountudev wird von udev aufgerufen, wenn der Stick entfernt wurde.
die fstab muss noch etwas geändert werden, um die Geräte einzubinden:
Code :1 2 3 4
echo "/dev/uba1 /media/uba1 auto sync,noauto,user,exec 0 0" >> /etc/fstab echo "/dev/uba2 /media/uba2 auto sync,noauto,user,exec 0 0" >> /etc/fstab echo "/dev/uba3 /media/uba3 auto sync,noauto,user,exec 0 0" >> /etc/fstab echo "/dev/uba4 /media/uba4 auto sync,noauto,user,exec 0 0" >> /etc/fstab
Sinn und zweck: Der User benötigt zum Mounten von USB-Speichermedien keine Root-Rechte und muss sich um das mounten/umounten nicht kümmern, auch ein "vergessen" des umount-Befehls ist egal
Filelink: http://www.3-seiten.com/udev-files.tar.gz
LG
AndyGeändert von andy72 (11.03.07 um 11:50 Uhr)
-
Das WE ist vorbei, und ich kann nun wie versprochen eine Aktualisierung meiner Seiten vorweisen. Das Changelog ist nicht allzu gross ausgefallen, da die Zeit zum grössten Teil mit patchen und fixen von Problemen draufgegangen ist, jedoch kann ich stolz verkünden, dass die Integration von SELinux vorerst abgeschlossen ist,und nun mehr die Arbeit im Detail liegt.
Hier die wichtigsten Änderungen:
- Der Downloadbereich ist nun öffentlich verfügbar, auf dem ich Patches bereit stelle
- Aktualisierung auf Kernel 2.6.20.1
- Linux-PAM, Coreutils, Shadow und Sysvinit wurden (neu) integriert
- Installationen wurden überarbeitet und div. Patches wurden hinzugefügt
- Konfiguration der Init-Scripte ist wieder online
Hier nochmal der Link zum Projekt easyLFS: Integration SELinux
LG
Andy
PS: Das Forum auf meinen Seiten ist auch dazu da, wenn jemand eine Frage zum Projekt hat - traut Euch
Geändert von andy72 (12.03.07 um 00:15 Uhr) Grund: was vergessen
-
So, nach ein paar Tagen Ruhe im Thread mal wieder ein Update.
Zum Einen arbeite ich grad an der Dokumentation zu EasyLFS, damit das Projekt auch mal ein Dokument bekommt welches ueber Installation, Optionen und die Hintergruende des Projekts informiert.
Zum Anderen wurde mir von unserem grosszuegigen Sponsor Azi, welcher ja auch bereits die Images hostet, angeboten ein Wiki einzurichten welches sich dann mit EasyLFS beschaeftigen wird.PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
__________________
EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
__________________
__________________Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
Zitat von Friedrich Nietzsche
-
So, ich freue mich bekanntgeben zu duerfen, dass nun offiziell und allgemein die Version 0.2.6 von EasyLFS zum Download bereitsteht.
Und zwar hier: http://easylfs.aquanasoft.de/easylfs-0.2.6.iso (ca. 450MB)
Neuerungen wurden zwar schon ausfuehrlich hier im Thread behandelt, und in diesem Post findet sich auch eine Liste der enthaltenen Software, aber trotzdem moechte ich noch ein paar kurze Highlights anfuehren.
Mit der Version 0.2.6 ist nun erstmals eine brauchbare Integration von SELinux verfuegbar, inklusive der Reference-Policy.
Leider haben wir dort noch einen kleinen Fehler sodass alles und jeder im Kontext des Kernels arbeitet. Dies sollte aber kein Sicherheitsproblem darstellen, die normalen Schutzmechanismen von Linux greifen weiterhin, SELinux wird dadurch mehr oder weniger unwirksam.
Das Problem ist fuer die naechste Version (0.3) auf jeden Fall schon behoben.
Es gibt jetzt auch Midnight Commander, fuer etwas komfortablere Arbeit mit Dateien und Verzeichnissen, und auch Programme wie NcFTP und OpenSSH sind mit dabei.
Der eingesetzte Kernel ist 2.6.20.
Eine Installationsanleitung findet Ihr in diesem Post.PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
__________________
EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
__________________
__________________Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
Zitat von Friedrich Nietzsche
-
So, nachdem nun wieder ein wenig Zeit vergangen ist mal wieder ein kleines Update.
Viel habe ich die letzten Tage nicht gemacht. Da ich nun mit meiner Frau und ihren Kindern zusammen lebe ist die Zeit etwas knapper geworden.
Ich hab in den letzten Tagen ein wenig was an der Resumefaehigkeit der Scripts gearbeitet und ein klein wenig schonmal in das EasyLFS Wiki eingetragen.
Ansonsten hab ich eben einige Zeit damit verbracht unseren Umzug mal langsam zu einem Ende kommen zu lassen (und trotzdem steht noch so viel Kram rum) und den Kindern bei den Hausaufgaben zu helfen.
Ausserdem hab ich vor knapp einer Woche mal wieder mit Ultima 9 angefangen, in der Hoffnung jetzt doch endlich mal bis zum Ende dabei zu bleiben. Immerhin hab ich schon 3 Schreine wiederhergestellt und bin jetzt im Dungeon Wrong um meine Weggefaehrtin Raven zu befreien.
Aber es gibt auch Gutes, nicht nur Verzoegerungen. So hab ich z.B. gestern ein neues Buch erhalten welches mir bei der Arbeit an EasyLFS durchaus helfen koennte: Classic Shell Scripting
Dieses Wochenende will ich schauen dass ich mal wieder etwas mehr Zeit fuer die Arbeit an EasyLFS finde, und auch noch was mehr in das Wiki eintrage (z.B. fehlt die Installationsanleitung noch), und auch noch was bei Ultima weiter komme.
Mal schauen wie sich das alles untereinander und mit der Familie arrangieren laesst.PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
__________________
EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
__________________
__________________Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
Zitat von Friedrich Nietzsche
-
Für alle die der englischen Sprache nicht sehr mächtig sind, oder welche gern ein Buch in deutscher Muttersprache in den Händen halten, gibt es folgende Ausgabe Klassische Shellprogrammierung
(Aktuelle Auflage: 1.Januar 2006)
Schönen Tag noch, man liest sich.
Euer Jens Ornot alias WebstarLinux from Scratch System - Release (6.3webstar_20090309)
gcc (GCC) 4.2.2, Linux version 2.6.26.5, GNU C Library stable release version 2.7
Fragen Sie ruhig!!
Hier unsere Dienstleistungspreise:
leichte Antworten: 3,- €;
Antworten, bei denen man denken muß: 7,- €;
ehrliche Antworten: 12,- €;
und, weil es immer öfter vorkommt,
Antworten auf dämliche und unnötige Fragen: 20,- €
-
So, folgende Informationen sind nun im EasyLFS Wiki zu finden:
Obwohl es ja nun das Wiki gibt wird dieser Thread weiterhin genutzt werden, und zwar wie gehabt fuer Diskussionen und Entwicklungsnews rund um das Thema EasyLFS.
Zu dem Buch: Das hab ich in einem englischsprachigen Forum gewonnen, daher ist es eben auf Englisch.
PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
__________________
EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
__________________
__________________Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
Zitat von Friedrich Nietzsche
Ähnliche Themen
-
Arbeitstitel "uClibc-LFS" Projektthread
Von Laudian im Forum Linux & UnixAntworten: 6Letzter Beitrag: 03.12.11, 10:19 -
Neues System zur Verteilung von EasyLFS?
Von Dennis Wronka im Forum Linux & UnixAntworten: 12Letzter Beitrag: 03.11.07, 18:33



4Danke

Zitieren
Login




