From owner-p4-projects@FreeBSD.ORG Wed May 6 21:34:47 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 14127106570C; Wed, 6 May 2009 21:34:46 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BE0B8106566B for ; Wed, 6 May 2009 21:34:45 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AA57C8FC1F for ; Wed, 6 May 2009 21:34:45 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n46LYj5W037946 for ; Wed, 6 May 2009 21:34:45 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n46LYjk5037944 for perforce@freebsd.org; Wed, 6 May 2009 21:34:45 GMT (envelope-from rene@FreeBSD.org) Date: Wed, 6 May 2009 21:34:45 GMT Message-Id: <200905062134.n46LYjk5037944@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Cc: Subject: PERFORCE change 161684 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 06 May 2009 21:34:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=161684 Change 161684 by rene@rene_self on 2009/05/06 21:34:29 MFen solid-state 1.16 -> 1.17 Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/articles/solid-state/article.sgml#14 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/articles/solid-state/article.sgml#14 (text+ko) ==== @@ -30,7 +30,7 @@ $FreeBSD: $ %SOURCE% en_US.ISO8859-1/articles/solid-state/article.sgml - %SRCID% 1.16 + %SRCID% 1.17 --> rc.diskless die de initialisatie van zulke + rc.initdiskless die de initialisatie van zulke systemen automatiseren en de noodzaak voor alleen-lezen bestandssystemen, en het van voor af aan bouwen van bestandssystemen. Het artikel zal afsluiten met wat algemene @@ -140,8 +140,8 @@ Enkele kernelopties zijn specifiek interessant voor degenen die een embedded &os;-systeem creëren. - Ten eerste zullen alle embedded &os;-systemen die - flash-geheugen als systeemschijf gebruiken geïntereseerd zijn + Alle embedded &os;-systemen die flash-geheugen als + systeemschijf gebruiken zullen geïntereseerd zijn in geheugenschijven en geheugenbestandssystemen. Vanwege het beperkt aantal keren dat het flash-geheugen kan worden beschreven, is het het waarschijnlijkst dat de schijf en de bestandssystemen @@ -162,55 +162,30 @@ - <filename>rc.diskless</filename> en alleen-lezen + <title>Het <literal>rc</literal>-deelsysteem en alleen-lezen bestandssystemen De post-boot-initialisatie van een embedded &os;-systeem wordt - beheerd door /etc/rc.diskless2 - (/etc/rc.diskless1 is voor BOOTP-schijfloos - opstarten). Dit initialisatiescript wordt aangeroepen door de - volgende regel in /etc/rc.conf te - plaatsen: + beheerd door /etc/rc.initdiskless. - diskless_mount=/etc/rc.diskless2 - - rc.diskless2 koppelt + /etc/rc.d/var koppelt /var als een geheugenbestandssysteem aan, maakt een instelbare lijst van mappen in /var - aan met het commando &man.mkdir.1;, verandert de modus van sommige - van deze mappen, en pakt een lijst van apparaatingangen uit naar - een schrijfbare (weer als een geheugenbestandssysteem) partitie - /dev. Tijdens het uitvoeren van - /etc/rc.diskless2 is er nog een - rc.conf-variabele in het spel - + aan met het commando &man.mkdir.1;, en verandert de modus van sommige + van deze mappen. Tijdens het uitvoeren van + /etc/rc.d/var is er nog een + rc.conf-variabele in het spel – varsize. Het bestand - /etc/rc.diskless2 maakt een partitie + /etc/rc.d/var maakt een partitie /var aan gebaseerd op de waarde van deze variabele in rc.conf: varsize=8192 - Onthoud dat deze waarde in sectoren is. De creatie van de - partitie /dev door - /etc/rc.diskless2, wordt echter geregeerd - door een harde waarde van 4096 sectoren. Het is triviaal om deze - waarde in het bestand /etc/rc.diskless2 zelf - te wijzigen, alhoewel er niet meer ruimte voor - /dev dan dat nodig zou zijn. + Onthoud dat deze waarde standaard in sectoren is. - Het is belangrijk om te herinneren dat het script - /etc/rc.diskless2 aanneemt dat de - conventionele partitie /tmp reeds door een - symbolische koppeling naar /var/tmp is - vervangen. Omdat tmp een van de mappen is - die in /var door het script - /etc/rc.diskless2 wordt aangemaakt, en omdat - /var een geheugenbestandssysteem is (dat als - lezen-schrijven is aangekoppeld), zal /tmp nu - ook een lees-schrijf map zijn. - - Het feit dat /var en - /dev lees-schrijf bestandssystemen zijn is + Het feit dat /var een bestandssysteem is + dat zowel gelezen als geschreven wordt is een belangrijk verschil, aangezien de partitie / (en alle andere partities die op uw flash-medium kunnen staan) als alleen-lezen aangekoppeld dienen te @@ -222,9 +197,8 @@ wisselbestand op een druk systeem kan binnen een jaar een flash-medium opmaken. Het uitgebreid loggen of aanmaken en vernietigen van tijdelijke bestanden kan hetzelfde doen. Daarom - dient u, naast het verwijderen van de regels - swap en /proc uit het - bestand /etc/fstab, dient u ook de Options + dient u, naast het verwijderen van de regel swap + uit het bestand /etc/fstab, ook de Options van elk bestandssysteem als volgt op ro te zetten: @@ -233,15 +207,13 @@ Op een gemiddeld systeem zullen enkele applicaties het onmiddellijk niet meer doen als gevolg van deze verandering. - Ports bijvoorbeeld zullen niet installeren vanuit de portsboom - omdat /var/db/port.mkversion niet bestaat. - cron zal niet correct draaien vanwege ontbrekende crontabellen in + cron zal niet correct draaien vanwege ontbrekende cron-tabellen in het /var dat door - /etc/rc.diskless2 is aangemaakt, en syslog en + /etc/rc.d/var is aangemaakt, en syslog en DHCP zullen problemen ondervinden als gevolg van het alleen-lezen bestandssysteem en ontbrekende items in het /var dat - /etc/rc.diskless2 heeft aangemaakt. Dit zijn + /etc/rc.d/var heeft aangemaakt. Dit zijn slechts tijdelijke problemen, en worden tezamen met oplossingen voor het uitvoeren van andere veelgebruikte softwarepakketten behandeld in . @@ -399,7 +371,7 @@ In werd erop gewezen dat het bestandssysteem /var zoals geconstrueerd - door /etc/rc.diskless2 en de aanwezigheid van + door /etc/rc.d/var en de aanwezigheid van een hoofdbestandssysteem dat alleen gelezen kan worden problemen veroorzaakt met veel alledaagse softwarepakketten die door &os; gebruikt worden. In dit artikel zullen suggesties voor het @@ -409,20 +381,16 @@ cron - In /etc/rc.diskless2 staat een - variabele genaamd var_dirs. Deze variabele - bestaat uit een met spaties afgebakende lijst van mappen die - binnen /var aangemaakt zullen worden nadat - het als een geheugenbestandssysteem is aangekoppeld. - cron en cron/tabs - staan niet in deze lijst, en zonder deze mappen zal cron klagen. - Door cron, cron/tabs, en - misschien zelfs at en - at/jobs als elementen van deze variabele toe - te voegen, wordt het makkelijker om de daemons &man.cron.8; en - &man.at.1; te draaien. + Tijdens het opstarten wordt /var bevolkt door + /etc/rc.d/var dat de lijst van + /etc/mtree/BSD.var.dist gebruikt, dus + cron, cron/tabs, at, en nog wat andere + standaardmappen worden aangemaakt. - Dit lost echter nog steeds niet het probleem van het + Dit lost echter nog niet het probleem van het behouden van cron-tabellen na het opnieuw opstarten op. Wanneer het systeem opnieuw opstart, zal het bestandssysteem /var dat in het geheugen staat verdwijnen @@ -432,13 +400,13 @@ / als lezen-schrijven aan te koppelen en die cron-tabellen naar een veilige plaats zoals /etc/tabs te kopiëren en een regel aan - het einde van /etc/rc.diskless2 toe te + het einde van /etc/rc.initdiskless toe te voegen die deze cron-tabellen naar /var/cron/tabs kopieert nadat die map is aangemaakt tijdens de syseeminitialisatie. U moet misschien ook een regel toevoegen die de modi en toestemmingen van de mappen die u aanmaakt en de bestanden die u met - etc/rc.diskless2 kopieert verandert. + etc/rc.initdiskless kopieert verandert. @@ -447,21 +415,18 @@ syslog.conf specificeert de plaats van bepaalde logbestanden die in /var/log bestaan. Deze bestanden worden niet door - /etc/rc.diskless2 tijdens de + /etc/rc.d/var tijdens de systeeminitialisatie aangemaakt. Daarom dient u ergens na de sectie die de mappen in /var aanmaakt in - /etc/rc.diskless2 iets als het volgende + /etc/rc.d/var iets als het volgende toevoegen: &prompt.root; touch /var/log/security /var/log/maillog /var/log/cron /var/log/messages &prompt.root; chmod 0644 /var/log/* - - U moet ook de logmap toevoegen aan de lijst van mappen die - /etc/rc.diskless2 aanmaakt. - ports-installatie + Ports installeren Voordat de veranderingen die nodig zijn om succesvol de portsboom te gebruiken besproken worden, is een herinnering ten @@ -491,7 +456,7 @@ &prompt.root; mkdir /etc/pkg - Voeg nu een regel aan /etc/rc.diskless2 + Voeg nu een regel aan /etc/rc.d/var toe die de map /etc/pkg aan /var/db/pkg koppelt. Een voorbeeld: @@ -510,35 +475,45 @@ Apache Web Server - Apache houdt pid-bestanden en logs in - apache_install/logs. - Aangezien deze map ongetwijfeld op een bestandssysteem staat dat - alleen gelezen kan worden, zal dit niet werken. Het is nodig om - een nieuwe map aan de lijst van mappen die in - /var aangemaakt moeten worden toe te voegen - in /etc/rc.diskless2 en om - apache_install/logs + + De stappen in deze sectie zijn alleen nodig indien Apache + is ingesteld om de pid- of loginformatie buiten /var te schrijven. Standaard + houdt Apache het pid-bestand in /var/run/httpd.pid en de + logbestanden in /var/log. + + + Er wordt nu aangenomen dat Apache de logbestanden in een map + apache_log_map + buiten /var bewaart. + Wanneer deze map op een alleen-lezen bestandssysteem staat, zal + Apache geen logbestanden kunnen opslaan, en kan het werkproblemen + hebben. Indien dit zo is, is het noodzakelijk om een nieuwe map + aan de lijst met mappen in /etc/rc.d/var die + in /var worden aangemaakt toe te voegen, en om + apache_log_map aan /var/log/apache te koppelen. Het is ook nodig om de toestemmingen en eigenaarschappen van deze nieuwe map in te stellen. Voeg eerst de map log/apache toe aan de - lijst van mappen die in /etc/rc.diskless2 + lijst van mappen die in /etc/rc.d/var aangemaakt moeten worden. Voeg ten tweede deze commando's toe aan - /etc/rc.diskless2 na de sectie die mappen + /etc/rc.d/var na de sectie die mappen aanmaakt: &prompt.root; chmod 0774 /var/log/apache &prompt.root; chown nobody:nobody /var/log/apache Verwijder als laatste de bestaande map - apache_install/logs + apache_log_map en vervang het door een koppeling: - &prompt.root; rm -rf (apache_installatie)/logs -&prompt.root; ln -s /var/log/apache (apache_installatie)/logs + &prompt.root; rm -rf apache_log_map +&prompt.root; ln -s /var/log/apache apache_log_map