Root over nfs clients & server Howto. Hans de Goede hans@highrise.nl v1.0 30 Ìáñôßïõ 1999 Ðþò íá óôÞóïõìå Ýíáí server êáé íá ñõèìßóïõìå ôïõò clients ãéá íá äïõëåýïõí ÷ùñßò äßóêï/ïõò ìÝóá ó' Ýíá äßêôõï. ______________________________________________________________________ Table of Contents 1. ÅéóáãùãÞ 1.1 ÐíåõìáôéêÜ Äéêáéþìáôá 1.2 ÊáôÜëïãïò áëëáãþí 2. ÂáóéêÝò áñ÷Ýò 2.1 Ôá ðñÜãìáôá äåí åßíáé ôüóï áðëÜ 2.1.1 ÊÜèå ws ÷ñåéÜæåôáé ôï (ìå äõíáôüôçôá åããñáöÞò) äéêü ôïõ áíôßãñáöï åíüò áñéèìïý áðü êáôáëüãïõò. 2.1.2 Ìðïñåß í' áíáãêáóôïýìå íá äþóïõìå äéêáßùìá åããñáöÞò óôï /home 2.1.3 Ðþò âñßóêåé Ýíáò ws ôï ip ôïõ, þóôå íá åðéêïéíùíÞóåé ìå ôïí server; 2.1.4 Ôß ãßíåôáé ìå ôéò ñõèìßóåéò ãéá êÜèå ws 2.1.5 ÄéÜöïñá ðñïâëÞìáôá 3. ÐñïåôïéìÜæïíôáò ôïí server 3.1 ×ôßæïíôáò Ýíáí ðõñÞíá. 3.2 ÖôéÜ÷íïíôáò êáé ãåìßæïíôÜò ôï /tftpboot, äçìéïõñãþíôáò symlinks ãéá ôï /tmp, êëð. 3.2.1 Ôï áõôüìáôï ìÝñïò 3.2.2 Ñõèìßóåéò ìå ôï ÷Ýñé ãéá ìåñéêÜ áñ÷åßá 3.3 ÊÜíïõìå export ôá êáôÜëëçëá file systems êáé ñõèìßæïõìå ôï bootp 3.3.1 ÊÜíïõìå export ôá êáôÜëëçëá file systems 3.3.2 Ñõèìßæïíôáò ôï bootp 4. ÐñïóèÝôïíôáò workstations 4.1 ÖôéÜ÷íïíôáò äéóêÝôá Þ EPROM åêêßíçóçò 4.1.1 ÖôéÜ÷íïíôáò äéóêÝôá åêêßíçóçò 4.1.2 ÖôéÜ÷íïíôáò EPROM åêêßíçóçò 4.2 ÖôéÜ÷íïíôáò Ýíá ws dir 4.3 ÐñïóèÝôïíôáò ãñáììÝò óôá /etc/bootptab êáé /etc/hosts 4.4 Åêêéíþíôáò ôïí ws ãéá ðñþôç öïñÜ 4.5 ÊÜíïíôáò ôéò åéäéêÝò ãéá ôïí ws ñõèìßóåéò. 5. Ðñüóèåôï äùñÜêé : Åêêéíþíôáò áðü cd-rom 5.1 ÂáóéêÞ áñ÷Þ 5.1.1 Ôá ðñÜãìáôá äåí ìðïñåß íá åßíáé ôüóï áðëÜ 5.2 ÖôéÜ÷íïíôáò Ýíá äïêéìáóôéêü óôÞóéìï. 5.3 ÖôéÜ÷íïíôáò ôï cd 5.3.1 ÖôéÜ÷íïíôáò Ýíá boot image 5.3.2 Äçìéïõñãþíôáò ôï iso image 5.3.3 Åðáëçèåýïíôáò ôï iso image 5.3.4 ÃñÜöïíôáò ôï CD 5.4 BootÜñåôå ôï CD êáé äïêéìÜóôå ôï 6. Åõ÷áñéóôþ 7. Ó÷üëéá ______________________________________________________________________ 1. ÅéóáãùãÞ Áõôü ôï howto åßíáé åðßóçò äéáèÝóéìï óôï - <http://xmame.retrogames.com/hans>. Áõôü ôï êåßìåíï ðåñéãñÜöåé ôï óôÞóéìï ôïõ "nfs over root". ÄéáöÝñåé áðü ôá Üëëá ðáñüìïéá howto's ôïõ ôýðïõ "root over nfs" óå äýï óçìåßá : 1. ÐåñéãñÜöåé êáé ôçí ðëåõñÜ ôïõ server êáé ôçí ðëåõñÜ ôïõ client, ðñïóöÝñïíôáò ìéá ðëÞñç ëýóç. Äåí ðåñéãñÜöåé ôéò ãåíéêÝò áñ÷Ýò ôïõ "root over nfs" ó÷Þìáôïò, áí êáé áõôÝò èá öáíïýí êáèáñÜ. Áíôßèåôá, ðñïóöÝñåé Ýíá óôÞóéìï (ðïõ äïõëåýåé óôçí ðñÜîç) ãéá ôï "root over nfs". ¸íá áðü ôá ðïëëÜ ðéèáíÜ óôçóßìáôá, èá ìðïñïýóá íá ðù. 2. ÁõôÞ ç ëýóç åßíáé ìïíáäéêÞ, õðü ôçí Ýííïéá üôé ìïéñÜæåôáé ôï root ôïõ server ìáæß ìå ôïõò ôåñìáôéêïýò õðïëïãéóôÝò (workstations - ws), áíôß íá Ý÷åé Ýíá mini-root áíÜ ws. ¸ôóé Ý÷ïõìå êÜìðïóá ðëåïíåêôÞìáôá : · ×ñÞóç ìéêñïý ðïóïóôïý ôçò ÷ùñçôéêüôçôáò ôïõ äßóêïõ. · ÊÜèå áëëáãÞ óôçí ðëåõñÜ ôïõ server áõôüìáôá ãßíåôáé êáé óôçí ðëåõñÜ ôïõ client, äçë. üëåò ïé ñõèìßóåéò ãßíïíôáé ìüíï ìßá öïñÜ! · ÐñïóèÝôïõìå ðïëý åýêïëá íÝïõò clients. · ¸÷ïõìå ìüíïí Ýíáí Ç/Õ íá óõíôçñÞóïõìå. Áõôü ôï êåßìåíï âáóßæåôáé êõñßùò óôï ôß ãßíåôáé ó' Ýíáí Ç/Õ ìå RedHat 5.2 . Ãéá íá ôï äéáâÜóåôå, áðáéôåßôáé êÜìðïóç åìðåéñßá ùò SysAdmin óå Linux. ÅÜí ôçí Ý÷åôå, äåí èá åßíáé ðñüâëçìá íá ðñïóáñìüóåôå ôç ëýóç áõôÞí åäþ êáé óå Üëëåò äéáíïìÝò. 1.1. ÐíåõìáôéêÜ Äéêáéþìáôá Ïñßóôå êáé ç óôÜíôáñ íïìéêÞ ðëåõñÜ ôùí howto's : Áõôü ôï êåßìåíï ìðïñåß í' áíáðáñá÷èåß êáé íá äéáíåìçèåß ïëüêëçñï Þ êáôÜ ìÝñç, ÷ùñßò ÷ñÝùóç, õðü ôïõò áêüëïõèïõò üñïõò : · Ç ðéï ðÜíù áíáöïñÜ óôï copyright, êáèþò êáé áõôÞ åäþ ç áíáöïñÜ óôïõò üñïõò ôçò Üäåéáò ÷ñÞóçò ðñÝðåé íá ôçñçèïýí áêÝñáéåò óå ïðïéáóäÞðïôå ìïñöÞò áíôßãñáöï, ðëÞñåò Þ ôìçìáôéêü. · ÊÜèå ìåôÜöñáóç Þ ðáñÜãùãç åñãáóßá, ðñÝðåé íá åãêñéèïýí ãñáðôþò áðü ôïí óõããñáöÝá ðñéí ôç äéáíïìÞ ôïõò. · ÅÜí äéáíåßìåôå áõôü ôï êåßìåíï óå ôìÞìáôá, ðñÝðåé íá óõìðåñéëÜâåôå ïäçãßåò ãéá ôï ðþò èá âñåé êÜðïéïò ôï ðëÞñåò êåßìåíï, êáèþò êáé Ýíá ìÝóï ãéá íá âñåé ôï ðëÞñåò êåßìåíï. · ÌéêñÜ ôìÞìáôá ìðïñïýí íá áíáðáñá÷èïýí ùò ðáñáäåßãìáôá óå Ýíôõðá, Þ ùò áíáöïñÝò óå Üëëåò åñãáóßåò, ÷ùñßò íá ðåñéÝ÷ïõí áõôÞí åäþ ôçí Üäåéá, åÜí õðÜñ÷åé ç áíáöïñÜ ôïõ áñ÷éêïý êåéìÝíïõ. Ãéá áêáäçìáúêïýò óêïðïýò, ìðïñïýí íá ãßíïõí åîáéñÝóåéò óôá ðáñáðÜíù : ÃñÜøôå óôïí óõããñáöÝá êáé æçôÞóôå ôï. Áõôïß ïé ðåñéïñéóìïß õðÜñ÷ïõí åäþ, ãéá íá ðñïóôáôåýïõí åìÜò, ùò óõããñáöåßò, ü÷é ãéá íá ðåñéïñßæïõí åóÜò, ùò åêðáéäåõôÝò Þ ìáèçôÝò. 1.2. ÊáôÜëïãïò áëëáãþí · v0.1, 20 Éáíïõáñßïõ 1999 : Ôï ðñþôï ðñü÷åéñï êåßìåíï ãñÜöôçêå óôï HHS, üðïõ êáé óôÞèçêáí ïé ñõèìßóåéò ðïõ ðåñéãñÜöïíôáé. · v1.0, 30 Ìáñôßïõ 1999 : ÃñÜöôçêå Ýíá ìÝñïò ôçò ðñþôçò ìïñöÞò ðñïò äéáíïìÞ, êáôÜ ôïí ÷ñüíï ðïõ Þìïõíá óôçí ISM. 2. ÂáóéêÝò áñ÷Ýò Êáèþò Þäç åßðáìå, ïé clients ìïéñÜæïíôáé ïëüêëçñï ôï root-fs ìå ôïí server. ÁëëÜ, öõóéêÜ, ïé clients ìðïñïýí ìüíï íá ôï äéáâÜóïõí : Áõôüò åßíáé ï ôñüðïò ëåéôïõñãßáò ôïõ óõãêåêñéìÝíïõ óõóôÞìáôïò. 2.1. Ôá ðñÜãìáôá äåí åßíáé ôüóï áðëÜ Äõóôõ÷þò, ôá ðñÜãìáôá äåí åßíáé ôüóï áðëÜ. ÕðÜñ÷ïõí êáíáäõü ðñïâëÞìáôá, ðïõ ðñÝðåé íá îåðåñÜóïõìå ó' áõôü ôï áðëü ó÷Þìá. 2.1.1. åíüò áñéèìïý áðü êáôáëüãïõò. ÊÜèå ws ÷ñåéÜæåôáé ôï (ìå äõíáôüôçôá åããñáöÞò) äéêü ôïõ áíôßãñáöï Óôï óõíçèéóìÝíï óôÞóéìï, ôï Linux ðñÝðåé íá ìðïñåß íá ãñÜøåé óôïõò åîÞò êáôáëüãïõò : 1. /dev 2. /var 3. /tmp ÕðÜñ÷ïõí 3 ëýóåéò ãé' áõôü, áðü ôéò ïðïßåò ç ìßá èá äïõëÝøåé ìüíï óôï /dev : 1. öïñôþíïõìå Ýíá ramdisk êáé ôï ãåìßæïõìå ìå untarring åíüò tarball, Þ áíôéãñÜöïíôáò Ýíá ðñüôõðï (template) êáôÜëïãï. · ÐëåïíåêôÞìáôá : a. Êáèáñßæåé ìå êÜèå åðáíåêêßíçóç, ç ïðïßá óâÞíåé áñ÷åßá .tmp êáé áñ÷åßá logs. Äåí ÷ñåéÜæåôáé óõíôÞñçóç, áíôßèåôá áð' ü,ôé ïé êáôÜëïãïé óôçí ðëåõñÜ ôïõ server. b. Äåí êáôáëáìâÜíåé ÷þñï óôïí server, êáé äå äçìéïõñãåß êõêëïöïñßá óôï äßêôõï. ¸íá ramdisk ÷ñçóéìïðïéåß ëéãüôåñïõò ðüñïõò ôïõ server êáé ôïõ äéêôýïõ, êáé åßíáé ôá÷ýôåñï. · ÌåéïíåêôÞìáôá : a. ÊáôáëáìâÜíåé ìíÞìç. b. Ôá logs äåí äéáôçñïýíôáé ìåôÜ áðü åðáíåêêßíçóç. ÅÜí ðñáãìáôéêÜ ÷ñåéÜæåóôå logging ãéá üëá ôá clients, ðåßôå óôï syslog íá åðáíáêáôåõèýíåé ôï logging ðñïò ôïí server. 2. äçìéïõñãïýìå Ýíá dir ãéá êÜèå ws åðÜíù óôïí server, êáé ôï öïñôþíïõìå rw åðÜíù óôï nfs. · ÐëåïíåêôÞìáôá & ìåéïíåêôÞìáôá : a. Ãéá ôá dirs ôïõ server, ôá ðáñáðÜíù ðëåïíåêôÞìáôá-ìåéïíåêôÞìáôá áíôéóôñÝöïíôáé. 3. Óôïí kernel 2.2, ôï devfs ìðïñåß íá ÷ñçóéìïðïéçèåß áíôß ôïõ /dev . Áõôü åßíáé Ýíá virtual filesystem, óáí ôï /proc ôïõ /dev. · a. ÐëåïíåêôÞìáôá : b. Ôï devfs ÷ñåéÜæåôáé åëÜ÷éóôç ìíÞìç, ìïéÜæåé ìå ramdisk / êáèüëïõ ÷þñï óêëçñïý äßóêïõ åðÜíù óôïí server, êáé åßíáé ôá÷ýôáôï. ¸íá óõíçèéóìÝíï /dev ÷ñåéÜæåôáé ôïõëÜ÷éóôïí 1.5 MB, áöïý ôï åëÜ÷éóôï ìÝãåèïò áñ÷åßïõ (êáé Üñá åíüò device) åßíáé 1k, êáé õðÜñ÷ïõí ðåñßðïõ 1200 devices. ÖõóéêÜ, ìðïñåßôå íá ÷ñçóéìïðïéÞóåôå Ýíá ðñüôõðï "áðïãõìíùìÝíïõ" /dev, ìå ìüíï ôá ðåñéå÷üìåíá ðïõ èÝëåôå, ãéá íá åîïéêïíïìÞóåôå êÜìðïóï ÷þñï. Ôï 1.5 MB åßíáé ðïëý ãéá ramdisk, êáé åðßóçò äåí åßíáé ùñáßï åðÜíù óôïí server. c. Ôï devfs áõôüìáôá äçìéïõñãåß êáôá÷ùñÞóåéò ãéá ôéò íÝåò êáé ôéò áíé÷íåõìÝíåò óõóêåõÝò, óõíåðþò äåí ÷ñåéÜæåôáé óõíôÞñçóç. · ÌåéïíåêôÞìáôá : a. ×Üíåôáé êÜèå áëëáãÞ óôï /dev , üðùò ç äçìéïõñãßá symlinks ãéá ôï ðïíôßêé êáé ôï cd-rom. To devfs Ý÷åé Ýíá script, ôï rc.devfs, ðïõ óþæåé áõôÝò ôéò áëëáãÝò. Ôá scripts, ðïõ óáò äßíù ó' áõôü åäþ ôï howto, áðïêáèéóôïýí áõôüìáôá ôéò ñõèìßóåéò ôùí symlinks, êáëþíôáò ôï rc.devfs . Áí êÜíåôå ïðïéåóäÞðïôå áëëáãÝò óôï /dev , ÷ñåéÜæåôáé íá êáëÝóåôå åóåßò ôï rc.devfs, ãéá íá ôéò óþóåôå, äßíïíôáò : /etc/rc.d/rc.devfs save /etc/sysconfig ¼ðùò âëÝðåôå, õðÜñ÷ïõí êÜìðïóïé ôñüðïé ãéá íá ëõèåß áõôü ôï ðñüâëçìá. Ãéá ôï õðüëïéðï ìÝñïò áõôïý ôïõ howto, êñáôÜìå ôéò áêüëïõèåò åðéëïãÝò : · Áíôß ãéá ôï /dev , èá ÷ñçóéìïðïéïýìå ôï devfs. · Áíôß ãéá ôá /var êáé /tmp , èá ÷ñçóéìïðïéïýìå Ýíá äéáìïéñáæüìåíï (shared) ramdisk ôïõ åíüò MB. (Ôï êÜíïõìå shared, ãéá íá ÷ñçóéìïðïéÞóïõìå ôïí ÷þñï ôïõ üóï ôï äõíáôüí áðïôåëåóìáôéêüôåñá.) Ôï /tmp áíôéêáèßóôáôáé ì' Ýíá symlink ðñïò ôï /var/tmp , ãéá íá êÜíïõìå åöéêôü ôïí äéáìïéñáóìü. · Äïõëåýåé åî ßóïõ êáëÜ ôï íá ãåìßóïõìå ôï ramdisk ìå tarballs, Þ ðñüôõðá (template) dirs. ÁëëÜ ìå ôá ðñüôõðá directories åßíáé ðïëý åõêïëüôåñï íá êÜíïõìå áëëáãÝò, Üñá èá ÷ñçóéìïðïéÞóïõìå áõôÜ. 2.1.2. Ìðïñåß í' áíáãêáóôïýìå íá äþóïõìå äéêáßùìá åããñáöÞò óôï /home Äåí åßíáé ðñáãìáôéêü ðñüâëçìá, áöïý óå êÜèå óôÞóéìï client/server óå *nix óõóôÞìáôá ôï /home öïñôþíåôáé rw áðü ôïí server. 'Áñá, èá êÜíïõìå áêñéâþò áõôü! ;) 2.1.3. Ðþò âñßóêåé Ýíáò ws ôï ip ôïõ, þóôå íá åðéêïéíùíÞóåé ìå ôïí server; Åõôõ÷þò ãéá ìáò, áõôü ôï ðñüâëçìá Ý÷åé Þäç ëõèåß, êáé ï ðõñÞíáò ôïõ Linux õðïóôçñßæåé äýï ôñüðïõò áõôüìáôïõ êáèïñéóìïý ôçò äéåýèõíóçò ip : 1. RARP 2. Bootp Ôï rarp åßíáé åõêïëüôåñï óôç ñýèìéóç, ôï bootp åßíáé ôï ðéï åõÝëéêôï. ÌéÜ ðïõ ïé ðåñéóóüôåñåò bootroms (ROMs åêêßíçóçò áðü êÜñôá äéêôýïõ) õðïóôçñßæïõí ìüíï ôï bootp, áõôü êáé èá ÷ñçóéìïðïéÞóïõìå. 2.1.4. Ôß ãßíåôáé ìå ôéò ñõèìßóåéò ãéá êÜèå ws Óôï RedÇat, ôá ðåñéóóüôåñá áñ÷åßá ñõèìßóåùí ðïõ åîáñôþíôáé áðü ôïí óõãêåêñéìÝíï Ç/Õ, âñßóêïíôáé Þäç óôï /etc/sysconfig . Åìåßò èá ìåôáêéíÞóïõìå ìïíÜ÷á üóá äåí âñßóêïíôáé åêåß, êáé èá âÜëïõìå symlinks. ÌåôÜ, èá öïñôþóïõìå Ýíá îå÷ùñéóôü /etc/sysconfig ãéá êÜèå ws. Êé áõôü åßíáé ôï ìüíï ìÝñïò ôùí ñõèìßóåùí, ðïõ åîáñôÜôáé áðü ôç distribution : Óå Üëëåò distributions, ìðïñåßôå áðëÜ íá öôéÜîåôå Ýíá directory ñõèìßóåùí, íá ìåôáêéíÞóåôå üëá ôá ìç äéáìïéñáæüìåíá áñ÷åßá ñõèìßóåùí åêåß, êáé íá äçìéïõñãÞóåôå symlinks. Åðßóçò, ôï /etc/rc.d/rc3.d (Þ ôá ðáñüìïéá ôùí õðïëïßðùí distributions) ìðïñåß íá ÷ñåéáóôåß íá äéáöïñïðïéçèïýí óôïí server, áð' ü,ôé åßíáé óôïõò workstations. ÕðïèÝôïíôáò üôé üëïé ïé ws ôñÝ÷ïõíå ôéò ßäéåò services óôï runlevel 3, èá öôéÜîïõìå îå÷ùñéóôÜ runlevels 3 ãéá ôïõò workstations êáé ôïí server : 1. êáôáóêåõÞ ôïõ /etc/rc.d/rc3.ws êáé ôïõ /etc/rc.d/rc3.server 2. êÜíïõìå ôï /etc/rc.d/rc3.d symlink ðñïò ôï /etc/sysconfig/rc3.d 3. êÜíïõìå ôï /etc/sysconfig/rc3.d symlink ðñïò ôï êáôÜëëçëï /etc/rc.d/rc3.xxx 4. áíôéêáèéóôïýìå ôï S99local óôï rc3.ws ì' Ýíá link ðñïò ôï /etc/sysconfig/rc.local , þóôå êÜèå ws íá Ý÷åé ôï äéêü ôïõ rc.local 2.1.5. ÄéÜöïñá ðñïâëÞìáôá ÕðÜñ÷ïõí áêüìç êÜðïéá ðñïâëÞìáôá : 1. Ôï /etc/rc.d/rc.sysinit ÷ñåéÜæåôáé ôï /var, Üñá ôï /var ðñÝðåé íá öïñôùèåß Þ íá äçìéïõñãçèåß ðñéí ôñÝîåé ôï /etc/rc.d/rc.sysinit . Åðßóçò, êáëü èá Þôáí ôï ãéá êÜèå ws /etc/sysconfig íá öïñôùèåß ðñéí ôñÝîïõí ïðïéáäÞðïôå initscripts. · Èá äþóïõìå ôïí êþäéêá ãéá Ýíá script åêêßíçóçò ãéá ws, åðÜíù-åðÜíù óôï /etc/rc.d/rc.sysinit . Óçìåéþóôå üôé áõôü ôï script èá ôï ôñÝîåé (öõóéêÜ) êáé ï server êáôÜ ôçí åêêßíçóç, Üñá ôï script ðñÝðåé íá ðñïâëÝøåé áõôü ôï åíäå÷üìåíï, êáé íá ìçí êÜíåé ôßðïôå åðÜíù óôïí server. 2. ÐñÝðåé íá ìðïñïýìå íá ãñÜøïõìå óôï /etc/mtab : · Áõôü åäþ ìðïñåß íá ìáò êÜíåé êüëðá! ÁðëÜ öôéÜîôå Ýíá link ðñïò ôï /proc/mounts , êáé åðßóçò öôéÜîôå Ýíá Üäåéï áñ÷åßï mounts óôï /proc , þóôå ôá fsck êáé mount íá ìçí ðáñáðïíåèïýí üóï ôñÝ÷ïõí ôá initscripts, üôáí ôï /proc äåí Ý÷åé öïñôùèåß áêüìç. Óçìåßùóç : Ôï smb(u)mount äåí óÝâåôáé ôï íá åßíáé link ôï mtab, êáé ãñÜöåôáé ðÜíù ôïõ. Áñá, áí èÝëåôå íá ÷ñçóéìïðïéÞóåôå ôï smb(u)mount, öôéÜîôå wrapper scripts, ðïõ áðïêáèéóôïýí ôï symlink. 3. ÐñïåôïéìÜæïíôáò ôïí server Ôþñá Ýöôáóå ç óôéãìÞ íá åôïéìÜóïõìå ôïí server íá åîõðçñåôÞóåé diskless clients. 3.1. ×ôßæïíôáò Ýíáí ðõñÞíá. Ôï ðñþôï ðñÜãìá ðïõ ðñÝðåé íá êÜíïõìå, åßíáé íá ÷ôßóïõìå Ýíáí ðõñÞíá ìå ôá áíáãêáßá ðñÜãìáôá ãéá õðïóôÞñéîç "root over nfs". ÊÜíôå ôá áêüëïõèá âÞìáôá : 1. Áöïý èá ÷ñçóéìïðïéÞóïõìå ôï RedÇat 5.2 ìå ðõñÞíá 2.2, ðñÝðåé íá âåâáéùèïýìå üôé ôï RedHat 5.2 ìáò åßíáé Ýôïéìï ãéá ôïí ðõñÞíá 2.2 . Ç RedHat äéáèÝôåé Ýíá åîáéñåôéêü HowTo åðÜíù ó' áõôü ôï èÝìá. 2. ÐñïóùðéêÜ, ÷ñçóéìïðïßçóá ôïí ßäéï ðõñÞíá êáé ãéá ôïí server êáé ãéá ôïõò ws's, ãéá í' áðïöýãù áóõìöùíßåò ôùí modules (module conflicts), áöïý server êáé ws's ìïéñÜæïíôáé ôá ßäéá /lib/modules . ÅÜí áõôü äåí åßíáé äõíáôüí óôï äéêü óáò äßêôõï, áðïìéìçèåßôå äéáöïñåôéêÝò åêäüóåéò ôïõ ðõñÞíá, áëëÜæïíôáò ôïí áñéèìü Ýêäïóçò óôï åðÜíù-åðÜíù makefile ôïõ ðõñÞíá óáò. Ïé äéáöïñåôéêïß áñéèìïß åêäüóåùí èá ìçäåíßóïõí ôï åíäå÷üìåíï ýðáñîçò conflicts. 3. Åêôüò áðü ôá óõíçèéóìÝíá, ï ðõñÞíáò ðñÝðåé íá Ý÷åé ôá åîÞò : · Ôï ext2 compiled ìÝóá ôïõ (åÜí ÷ñçóéìïðïéçèåß óôïí server, Þ êáé óå client). · Ôá nfs êáé root-over-nfs compiled ìÝóá ôïõ (åÜí ÷ñçóéìïðïéçèïýí óå client, Þ êáé óôïí server), þóôå ôï nfs over root óôïí ðõñÞíá 2.2 íá åíåñãïðïéÞóåé ôï ip-autoconfig óôï äßêôõï. Ãéá ôéò ñõèìßóåéò, èá ÷ñçóéìïðïéÞóïõìå ôï bootp. · ÕðïóôÞñéîç ãéá êÜñôá äéêôýïõ óôïõò ws's compiled ìÝóá ôïõ (áí ÷ñçóéìïðïéçèåß óå client, Þ êáé óôïí server). · Ôï devfs compiled ìÝóá ôïõ (áðáéôåßôáé ãéá client, êáëü üìùò íá õðÜñ÷åé êáé óôïí server). · Ï,ôéäÞðïôå Üëëï ÷ñçóéìïðïéåßôå óõíÞèùò, äçë. modules ãéá ïðïéïäÞðïôå Üëëï device õðÜñ÷åé åðÜíù óôïí server, Þ üëïõò / ìåñéêïýò ws's, êëð êëð. 4. Ôï source ðñüãñáììá ôïõ ðõñÞíá ÷ñåéÜæåôáé äéüñèùóç, ãéá í' áëëÜîïõìå ôï åî ïñéóìïý "root-over-nfs" mount óå /tftpboot/<ip>/root , áíôß ôïõ /tftpboot/<ip>. Áõôü ãßíåôáé ãéá íá ðÜñïõìå Ýíá "êáèáñü" äÝíôñï áðü directories óôï /tftpboot , ìå Ýíá áíÜ dir áíÜ ws, ðïõ èá ðåñéÝ÷åé ôüóï ôï root ãéá ôïí ws (Ýíá link ðñïò ôï ðñáãìáôéêü root ôïõ server), üóï êáé êÜèå directory, ðïõ ÷ñåéÜæåôáé åéäéêÜ ãéá ôïí ws.. · Ãéá ðõñÞíá 2.0 : ØÜ÷íïõìå Ýíá "define" óôï : "include/linux/nfs_fs.h" , ìå ôï üíïìá "NFS_ROOT" . · Ãéá ðõñÞíá 2.2, ôï áíôßóôïé÷ï "define" âñßóêåôáé óôï : "fs/nfs/nfsroot.c" . 5. Ôþñá êÜíïõìå Ýíá óõíçèéóìÝíï compile óôïí ðõñÞíá (âëÝðå ôï "Kernel ÇowÔo"). 6. ÅÜí áêüìç äåí Ý÷åôå Ýíá /dev/nfsroot , öôéÜîôå ôï äßíïíôáò : mknod /dev/nfsroot b 0 255. 7. Áöïý êÜíåôå compile óôïí ðõñÞíá, âÜëôå ôï root óôï nfsroot, äßíïíôáò : rdev <path-to-zImage>/zImage /dev/nfsroot 8. Ðñéí bootÜñåôå ìå ôï devfs, ðñÝðåé íá êÜíåôå ëßãåò áëëáãÝò óôï /etc/conf.modules : ÂÜëôå ôá ðåñéå÷üìåíá ôïõ conf.modules óôï ìÝñïò ôïõ devfs ðïõ áíáöÝñåôáé ó' áõôü. 9. Áöïý áõôüò ï íÝïò ðõñÞíáò åßíáé öôéáãìÝíïò ãéá áõôüìáôç ñýèìéóç ôùí ip's, êáôÜ ôçí åêêßíçóç èá ðñïóðáèÞóåé íá ñõèìßóåé êáé ôï ip ôïõ server. ÐñÜãìá ôï ïðïßï, öõóéêÜ, èá áðïôý÷åé, ìéÜ ðïõ ï server äßíåé ôá ip's. Ãéá í' áðïöýãåôå ôá ìåãÜëá timeouts, ðñïóèÝóôå : append="ip=off" óôï ìÝñïò ôïõ /etc/lilo.conf ãéá ôï Linux. 10. ÔñÝîôå ôï lilo êáé îåêéíÞóôå ôïí íÝï ðõñÞíá. 11. Åî áéôßáò ôïõ devfs, èá Ý÷åôå ÷Üóåé üëá ôá symlinks åðÜíù óôïí server. Ìå ôï RedHat, áõôÜ åßíáé óõíÞèùò ôá /dev/mouse êáé /dev/cdrom. ÎáíáöôéÜîôå áõôÜ ôá äýï. Åðßóçò, áí ÷ñçóéìïðïéåßôå åéäéêÝò ownerships, êÜíôå chown ðñïò ôá êáôÜëëçëá áñ÷åßá óôï /dev. Ôþñá, óþóôå ôéò ñõèìßóåéò ôïõ /dev (óôï /etc/sysconfig, áöïý ìðïñåß íá åîáñôþíôáé áðü ôïõò ws's) : · ÁíôéãñÜøôå ôï rc.devfs áðü ôï ìÝñïò ôïõ devfs óôï source ôïõ ðõñÞíá, óôï /etc/rc.d/rc.devfs êáé êÜíôå ôï åêôåëÝóéìï. · Óþóôå ôéò ñõèìßóåéò, äßíïíôáò : /etc/rc.d/rc.devfs save /etc/sysconfig 3.2. ãéá ôï /tmp, êëð. ÖôéÜ÷íïíôáò êáé ãåìßæïíôÜò ôï /tftpboot, äçìéïõñãþíôáò symlinks Ôï åðüìåíï âÞìá åßíáé íá öôéÜîïõìå êáé íá ãåìßóïõìå ôï /tftpboot 3.2.1. Ôï áõôüìáôï ìÝñïò Áõôü ôï ÷åéñßæåôáé ïëüêëçñï Ýíá ìåãÜëï script, ìéÜ ðïõ ôï íá óõìðåñéëÜâù ìéÜ ìåãÜëç ëßóôá åíôïëþí ó' áõôü ôï howto ìïõ öÜíçêå åíôåëþò Ü÷ñçóôï. Áí èÝëåôå íá åöáñìüóåôå áõôü åäþ ôï åã÷åéñßäéï, áðëÜ äéáâÜóôå ôï script êáé ðëçêôñïëïãÞóôå ü,ôé âëÝðåôå! ;) Áõôü ôï script ñõèìßæåé "âñþìéêá" êÜðïéá ðñÜãìáôá, ð÷ nukÜñåé ôï /tmp, êÜíåé ðñïóùñéíü kill óôï syslog, êÜíåé umount óôï /proc. Óõíåðþò, âåâáéùèåßôå üôé (á) êáíÝíáò Üëëïò äåí ÷ñçóéìïðïéåß ôïí Ç/Õ êáôÜ ôç äéÜñêåéá áõôÞò ôçò äéáäéêáóßáò, êáé üôé (â) äåí ôñÝ÷ïõíå ôá X-Windows. Áñêåß ôï íá âåâáéùèåßôå üôé åßóáóôå ôï ìüíï Üôïìï ðïõ Ýêáíå login óå ðåñéâÜëëïí êïíóüëáò, äåí ÷ñåéÜæåôáé í' áëëÜîåôå ôá runlevels. ÁÐÏÊÇÑÕÎÇ : Áõôü ôï script åßíáé äïêéìáóìÝíï, áëëÜ áí ùóôüóï êÜíåé ìðÜ÷áëï ôïí server óáò, äåí èá óáò âïçèÞóù. Äåí ìðïñþ íá ðÜñù ïðïéáäÞðïôå åõèýíç. ÐñÝðåé íá åðáíáëÜâù üôé áõôü ôï HowTo ðñïïñßæåôáé ìüíï ãéá Ýìðåéñïõò Linux SysAdmins. Åðßóçò, áõôü ôï script ó÷åäéÜóôçêå ãéá íá ÷ñçóéìïðïéçèåß ìüíï ìßá öïñÜ, êáé åííïþ ÌÉÁ öïñÜ. Áí ôï ôñÝîåôå äýï öïñÝò, èá nukÜñåé ôá : /etc/fstab, /etc/X11/XF86Config, /etc/X11/X êáé /etc/conf.modules. Ôþñá, áöïý åßðáìå ôá ðáñáðÜíù, áðëÜ êÜíôå cut/paste ôï script, êÜíôå ôï åêôåëÝóéìï, åêôåëÝóôå ôï, êáé ðñïóåõ÷çèåßôå óôïí ¶ãéï Ðéãêïõßíï íá äïõëÝøåé! ;) ______________________________________________________________________ #!/bin/sh SERVER_NAME=`hostname -s` ### echo ftiaxnoume to /etc/rc.d/rc.ws #auto edw apla kanei echo s' olo to script ;) echo "# gia to root on nfs SERVER=$SERVER_NAME #xreiazomaste to proc gia to mtab, route klp mount -t proc /proc /proc IP=\`ifconfig eth0|grep inet|cut --field 2 -d ':'|cut --field 1 -d ' '\` #an apotuxei to prwto mount, pi8anotata o server, h toulaxiston kati allo #den pane kala, ara kanoume monaxa ta upoloipa, an to prwto mount petuxei mount \$SERVER:/tftpboot/\$IP/sysconfig /etc/sysconfig -o nolock && { #other mounts mount \$SERVER:/home /home -o nolock mount \$SERVER:/ /\$SERVER -o ro,nolock #/var echo Ftiaxnoume to /var ... mke2fs -q -i 1024 /dev/ram1 1024 mount /dev/ram1 /var -o defaults,rw cp -a /tftpboot/var / #network stuff . /etc/sysconfig/network HOSTNAME=\`cat /etc/hosts|grep \$IP|cut --field 2\` route add default gw \$GATEWAY ifup lo } #restore devfs settings /etc/rc.d/rc.devfs restore /etc/sysconfig umount /proc" > /etc/rc.d/rc.ws ### echo xwrizoume to runlevel 3 gia ton client kai gia ton server mv /etc/rc.d/rc3.d /etc/rc.d/rc3.server cp -a /etc/rc.d/rc3.server /etc/rc.d/rc3.ws rm /etc/rc.d/rc3.ws/*network rm /etc/rc.d/rc3.ws/*nfs rm /etc/rc.d/rc3.ws/*nfsfs rm /etc/rc.d/rc3.ws/S99local ln -s /etc/sysconfig/rc.local /etc/rc.d/rc3.ws/S99local ln -s /etc/rc.d/rc3.server /etc/sysconfig/rc3.d ln -s /etc/sysconfig/rc3.d /etc/rc.d/rc3.d ### echo kanoume to tmp link gia to /var/tmp rm -fR /tmp ln -s var/tmp /tmp ### echo metakinoume diafora arxeia kai ftiaxnoume symlinks gi auta echo mtab /etc/rc.d/init.d/syslog stop umount /proc touch /proc/mounts mount /proc /etc/rc.d/init.d/syslog start rm /etc/mtab ln -s /proc/mounts /etc/mtab echo fstab mv /etc/fstab /etc/sysconfig ln -s sysconfig/fstab /etc/fstab echo arxeia ry8misewn twn X mkdir /etc/sysconfig/X11 mv /etc/X11/X /etc/sysconfig/X11 ln -s ../sysconfig/X11/X /etc/X11/X mv /etc/X11/XF86Config /etc/sysconfig/X11 ln -s ../sysconfig/X11/XF86Config /etc/X11/XF86Config echo conf.modules mv /etc/conf.modules /etc/sysconfig ln -s sysconfig/conf.modules /etc/conf.modules echo isapnp.conf mv /etc/isapnp.conf /etc/sysconfig ln -s sysconfig/isapnp.conf /etc/isapnp.conf ### echo ftiaxnoume ena protupo dir gia ta directories twn wss echo /tftpboot/template mkdir /home/tftpboot ln -s home/tftpboot /tftpboot mkdir /tftpboot/template mkdir /$SERVER_NAME echo root ln -s / /tftpboot/template/root echo sysconfig cp -a /etc/sysconfig /tftpboot/template/sysconfig rm -fR /tftpboot/template/sysconfig/network-scripts ln -s /$SERVER_NAME/etc/sysconfig/network-scripts \ /tftpboot/template/sysconfig/network-scripts echo NETWORKING=yes > /tftpboot/template/sysconfig/network echo `grep "GATEWAY=" /etc/sysconfig/network` >> /tftpboot/template/sysconfig/network echo "/dev/nfsroot / nfs defaults 1 1" > /tftpboot/template/sysconfig/fstab echo "none /proc proc defaults 0 0" >> /tftpboot/template/sysconfig/fstab echo "#!/bin/sh" > /tftpboot/template/sysconfig/rc.local chmod 755 /tftpboot/template/sysconfig/rc.local rm /tftpboot/template/sysconfig/rc3.d ln -s /etc/rc.d/rc3.ws /tftpboot/template/sysconfig/rc3.d rm /tftpboot/template/sysconfig/isapnp.conf echo var cp -a /var /tftpboot/var rm -fR /tftpboot/var/lib ln -s /$SERVER_NAME/var/lib /tftpboot/var/lib rm -fR /tftpboot/var/catman ln -s /$SERVER_NAME/var/catman /tftpboot/var/catman rm -fR /tftpboot/var/log/httpd rm -f /tftpboot/var/log/samba/* for i in `find /tftpboot/var/log -type f`; do cat /dev/null > $i; done rm `find /tftpboot/var/lock -type f` rm `find /tftpboot/var/run -type f` echo /sbin/fsck.nfs echo "#!/bin/sh exit 0" > /sbin/fsck.nfs chmod 755 /sbin/fsck.nfs echo ola teleiwmena ______________________________________________________________________ 3.2.2. Ñõèìßóåéò ìå ôï ÷Ýñé ãéá ìåñéêÜ áñ÷åßá Ôþñá ðñÝðåé íá êÜíïõìå ìåñéêÝò ñõèìßóåéò ìå ôï ÷Ýñé óôïí server : 1. To source ôïõ script ñõèìßóåùí ôùí ws's ðñÝðåé íá ôï âÜëïõìå åðÜíù-åðÜíù óôï rc.sysinit, óõíåðþò âÜëôå ôéò åîÞò ãñáììÝò áìÝóùò ìåôÜ ôïí ïñéóìü ôïõ PATH : ___________________________________________________________________ #Gia root over nfs workstations. /etc/rc.d/rc.ws ___________________________________________________________________ 2. Áðëïðïéåßóôå ôï /etc/rc.d/rc3.ws óôï åëÜ÷éóôï äõíáôüí. Ìðïñåß íá óáò öáíåß ÷ñÞóéìï íá öôéÜîåôå êÜôé óáí : rc.local.ws , áëëÜ áõôü ôï áöÞíù óå óáò. Ôï äßêôõï êáé ôï nfs-fs åßíáé Þäç ñõèìéóìÝíá. Ôï script Ý÷åé Þäç óâÞóåé Þ áíáíåþóåé ôá ðáñáêÜôù : · äßêôõï · nfsfs · nfs · rc.local 3.3. ÊÜíïõìå export ôá êáôÜëëçëá file systems êáé ñõèìßæïõìå ôï bootp ÖõóéêÜ, ï server ðñÝðåé íá êÜíåé export óôá êáôÜëëçëá filesystems, êáé íá äþóåé ôéò äéåõèýíóåéò ip óôïõò clients. 3.3.1. ÊÜíïõìå export ôá êáôÜëëçëá file systems ÐñÝðåé íá êÜíïõìå export ìåñéêÜ dir's ãéá ôïõò ws's, åðïìÝíùò ãéá ôï åñãáóôÞñéï åäþ óôï ðáíåðéóôÞìéï Ýêáíá ôéò áêüëïõèåò ðñïóèÞêåò óôï /etc/exports : ______________________________________________________________________ / *.st.hhs.nl(ro,no_root_squash) /home *.st.hhs.nl(rw,no_root_squash) ______________________________________________________________________ ÖõóéêÜ, ÷ñçóéìïðïéåßóôå ôï êáôÜëëçëï domain ;) êáé åðáíåêêéíÞóôå ôï nfs, äßíïíôáò : /etc/rc.d/init.d/nfs restart Óçìåßùóç ãéá ÷ñÞóôåò knfsd : Ôï knfsd äåí åðéôñÝðåé íá Ý÷ïõìå ðïëëáðëÜ exports åðÜíù óå ìßá partition ìå äéáöïñåôéêÝò Üäåéåò. Åðßóçò, ôï knfsd äåí åðéôñÝðåé ôá clients íá õðåñâïýí ôá üñéá ôùí partitions. Ð÷, áí Ýíá client êÜíåé mount óôï / , êáé ôï /usr åßíáé óå äéáöïñåôéêÞ partition, ôüôå äåí èá äåé ôï /usr. ¸ôóé, áí ÷ñçóéìïðïéåßôå ôï knfsd, åðÜíù óå äéáöïñåôéêÞ partition èá Ýðñåðå íá âñßóêåôáé ôïõëÜ÷éóôïí ôï /home . Ôï script ðñïåôïéìáóßáò ôïõ server Þäç âÜæåé ôï /tftpboot óôï /home , Üñá áõôü äåí ÷ñåéÜæåôáé íá ìðåé óå îå÷ùñéóôÞ partition. ÅÜí õðÜñ÷ïõí êé Üëëåò partitions, óôéò ïðïßåò ïé clients ðñÝðåé íá Ý÷ïõí ðñüóâáóç, êÜíôå îå÷ùñéóôü export ãé' áõôÝò, êáé ðñïóèÝóôå åíôïëÝò mount óôï /etc/rc.d/rc.ws . 3.3.2. Ñõèìßæïíôáò ôï bootp 1. Áí ôï bootp äåí åßíáé Þäç åãêáôåóôçìÝíï, åãêáôáóôÞóôå ôï. ÐåñéÝ÷åôáé óôï RedHat. 2. Äéïñèþóôå ôï /etc/inetd.conf êáé âãÜëôå ôï ó÷üëéï áðü ôç ãñáììÞ ðïõ áñ÷ßæåé ìå ôï bootps. Áí èÝëåôå íá ÷ñçóéìïðïéÞóåôå EPROM åêêßíçóçò, âãÜëôå ôï ó÷üëéï ìðñïóôÜ áðü áðü ôç ãñáììÞ ðïõ ìéëÜåé ãéá ôï tftp. 3. ÅðáíåêêéíÞóôå ôïí inetd, äßíïíôáò : /etc/rc.d/init.d/inetd restart 4. ÐñïóèÝôïíôáò workstations Ôþñá, ðïõ ï server åßíáé Ýôïéìïò, ìðïñïýìå í' áñ÷ßóïõìå íá ðñïóèÝôïõìå ws's. 4.1. ÖôéÜ÷íïíôáò äéóêÝôá Þ EPROM åêêßíçóçò Äåí ÷ñåéÜæåôáé íá ôéò öôéÜîåôå êáé ôéò äýï ìáæß, ãéá íá îåêéíÞóåé ï ws. 4.1.1. ÖôéÜ÷íïíôáò äéóêÝôá åêêßíçóçò Áêüìç êé áí èÝëåôå íá ÷ñçóéìïðïéÞóåôå EPROM åêêßíçóçò, åßíáé ÷ñÞóéìï íá äïêéìÜóåôå ðñþôá ôçí åêêßíçóç ìå ìéÜ äéóêÝôá. Ãéá íá öôéÜîåôå ôç äéóêÝôá, äþóôå : dd if=/<path-to-zImage>/zImage of=/dev/fd0 4.1.2. ÖôéÜ÷íïíôáò EPROM åêêßíçóçò ÕðÜñ÷ïõí êÜìðïóá free ðñïãñÜììáôá ãéá êáôáóêåõÞ EPROM åêêßíçóçò : 1. Ôï netboot, ðïõ êáôÜ ôçí ôáðåéíÞ ìïõ ãíþìç åßíáé ôï ðëçñÝóôåñï free ðñüãñáììá ðïõ õðÜñ÷åé. Áõôü ÷ñçóéìïðïéåß óôÜíôáñ drivers ãéá DOS, óõíåðþò õðïóôçñßæïíôáé ó÷åäüí üëåò ïé êÜñôåò. ÌéÜ ðïëý ÷ñÞóéìç õðüäåéîç ðïõ ðÞñá áðü ôçí mailing list ôïõò, Þôáí íá óðÜóù ìåñéêïýò drivers ìå ôï pklite, áöïý áõôïß Þôáíå ðïëý ìåãÜëïé, þóôå íá ÷ùñÝóïõí óå ìéÜ EPROM åêêßíçóçò. Ç ôåêìçñßùóç ôïõ netboot åßíáé áñêåôÜ ðëÞñçò, Ýôóé äåí èá ÷Üóù ÷ñüíï íá ôçí áíôéãñÜøù åäþ. Åßíáé åðáñêÞò ãéá íá öôéÜîåôå ìßá EPROM åêêßíçóçò, êáé íá åêêéíÞóåôå Ýíáí ws ì' áõôÞí. Ç óåëßäá ôïõ netboot åßíáé ç : <http://www.han.de/~gero/netboot/> . 2. Ôï etherboot, Ýíá Üëëï free ðñüãñáììá ðïõ Ý÷åé ìåñéêÜ üìïñöá ÷áñáêôçñéóôéêÜ, üðùò ç õðïóôÞñéîç dhcp, áëëÜ Ý÷åé ðåñéïñéóìÝíç õðïóôÞñéîç ãéá drivers, ìéÜ ðïõ ÷ñçóéìïðïéåß ôï äéêü ôïõ driver format. Áõôü äåí ôï Ý÷ù ÷ñçóéìïðïéÞóåé, Üñá äåí ìðïñþ íá äþóù Üëëåò ÷ñÞóéìåò ðëçñïöïñßåò. Ç óåëßäá ôïõ Etherboot åßíáé ç : <http://www.slug.org.au/etherboot/> . Ó÷åôéêÜ ìå ôéò ßäåò ôéò EPROMs : Ïé ðåñéóóüôåñåò êÜñôåò äéêôýïõ äÝ÷ïíôáé óõíçèéóìÝíåò EPROMs óå âÜóç 28 áêßäùí dip. ÁõôÝò ïé EPROMs öôÜíïõí ìÝ÷ñé ôá 64kB. Ãéá ôéò ðåñéóóüôåñåò êÜñôåò èá ÷ñåéáóôåßôå EPROMs ôùí 32kB ìå ôï netboot. Ìåñéêïß drivers ÷ùñÜíå óå 16kB, áëëÜ ç äéáöïñÜ ôéìÞò ôùí ó÷åôéêþí EPROMs åßíáé åëÜ÷éóôç. ÁõôÝò ïé EPROMs ãñÜöïíôáé ìå ïðïéïäÞðïôå óõíçèéóìÝíï EPROM burner. 4.2. ÖôéÜ÷íïíôáò Ýíá ws dir ÁðëÜ áíôéãñÜøôå ôï ðñüôõðï dir, äßíïíôáò : cd /tftpbootcp -a template <ip> ÖõóéêÜ, èá ìðïñïýóáôå áðëÜ í' áíôéãñÜøåôå ôá dirs ôùí ws's ìå ßäéï mouse, ßäéá êÜñôá ãñáöéêþí êáé ßäéï monitor, êáé íá ðáñáëåßøåôå ôéò ñõèìßóåéò óôï âÞìá 5.4 . 4.3. ÐñïóèÝôïíôáò ãñáììÝò óôá /etc/bootptab êáé /etc/hosts Äéïñèþóôå ôï /etc/bootptab êáé ðñïóèÝóôå ìéÜ ãñáììÞ ãéá ôïí ws ôùí äïêéìþí. Ð÷, ìéÜ êáôÜëëçëç ãñáììÞ åßíáé : ______________________________________________________________________ nfsroot1:hd=/tftpboot:vm=auto:ip=10.0.0.237:\ :ht=ethernet:ha=00201889EE78:\ :bf=bootImage:rp=/tftpboot/10.0.0.237/root ______________________________________________________________________ ÁíôéêáôáóôÞóôå ôï nfsroot1 ìå ôï üíïìá host, ðïõ èÝëåôå íá Ý÷åé ï ws. ÁíôéêáôáóôÞóôå ôï 10.0.0.237 ìå ôï ip ðïõ èÝëåôå íá Ý÷åé ï ws (êÜíôå ôï áõôü 2 öïñÝò), êáé áíôéêáôáóôÞóôå ôï 00201889EE78 ìå ôçí áíôßóôïé÷ç äéåýèõíóç ìç÷áíÞò (ôçò êÜñôáò äéêôýïõ) ôïõ ws. Áí äåí ãíùñßæåôå ôç äéåýèõíóç ìç÷áíÞò ôïõ ws, áðëÜ åêêéíÞóôå ôïí ìå ôç äéóêÝôá åêêßíçóçò ðïõ ìüëéò öôéÜîáôå, êáé øÜîôå ôïí áñéèìü ôçò äéåýèõíóçò ìç÷áíÞò áíÜìåóá óôá ìçíýìáôá åêêßíçóçò. ÕðÜñ÷åé ìéÜ ðéèáíüôçôá ôï bootp íá ôñÝ÷åé Þäç, óõíåðþò âåâáéùèåßôå îáíáîåêéíþíôáò ôï ìå : killall -HUP bootpd Ìçí áíçóõ÷åßôå áí áðïôý÷åé áõôü, áõôü óçìáßíåé üôé ôï bootp äåí Ýôñå÷å. Åðßóçò, ìðïñåß íá ôï îåêéíÞóåé êáé ï inetd, áí ôïõ ôï æçôÞóïõìå. 4.4. Åêêéíþíôáò ôïí ws ãéá ðñþôç öïñÜ ÁðëÜ îåêéíÞóôå ôïí ws ìå ôç äéóêÝôá. ÁõôÞ ç äéáäéêáóßá èá ðñÝðåé íá äþóåé Ýíáí ws ðïõ äïõëåýåé óå text mode, ìå áêñéâþò ôéò ßäéåò ñõèìßóåéò ôïõ server, åêôüò áõôþí ãéá ôá ip-nr êáé ôéò services ðïõ ôñÝ÷ïõíå. Áêüìç êé áí èÝëåôå íá âÜëåôå EPROM åêêßíçóçò, èá Þôáí Ýîõðíï ðñþôá íá äïêéìÜóåôå ìå ôç äéóêÝôá. Áí äïõëÝøåé ç äéóêÝôá, ìðïñåßôå ìåôÜ íá äïêéìÜóåôå ìå ôçí EPROM. Ãéá ðåñéóóüôåñá, äéáâÜóôå ôçí ôåêìçñßùóç ãéá EPROMs åêêßíçóçò. 4.5. ÊÜíïíôáò ôéò åéäéêÝò ãéá ôïí ws ñõèìßóåéò. Ôþñá, Þñèå ç óôéãìÞ íá êÜíïõìå ôéò åéäéêÝò ñõèìßóåéò ôïõ ws : 1. Ðñþôá-ðñþôá, ãéá íá äïõëÝøåé ôï mouse, áðëÜ ôñÝ÷ïõìå ôï mouseconfig. Ãéá íá åöáñìüóïõìå ôéò áëëáãÝò êáé íá äïêéìÜóïõìå áí äïõëåýåé ôï ðïíôßêé, äßíïõìå : /etc/rc.d/init.d restart 2. ÔñÝ÷ïõìå ôï Xconfigurator. ¼ôáí áõôü âñåé ôçí êÜñôá ïèüíçò êáé óáò æçôÞóåé íá ðáôÞóåôå ok, ìçí ôï êÜíåôå! Áöïý Ý÷ïõìå ìåôáêéíÞóåé ôï symlink ôïõ Xserver áðü ôï /etc/X11/X óôï /etc/sysconfig/X11/X , ôï Xconfigurator äåí èá öôéÜîåé ôï óùóôü link. ¸ôóé, ãéá íá óéãïõñåõôïýìå üôé êáé ïé õðüëïéðåò ñõèìßóåéò ôïõ Xconfigurator èá ãßíïõí óùóôÜ, ãõñßæïõìå óå ìéÜ Üëëç êïíóüëá, êáé öôéÜ÷íïõìå ôï link óôï /etc/sysconfig/X11 ãéá ôïí óõãêåêñéìÝíï server. ÌåôÜ, áðëÜ ôåëåéþíïõìå ìå ôï Xconfigurator êáé äïêéìÜæïõìå ôá X. 3. Ñõèìßæïõìå ï,ôéäÞðïôå äéáöïñåôéêü áð' üóá Ý÷åé ï server êáé ôï ðñüôõðï dir : · Ç÷ïò : Ðéèáíüôáôá èá ÷ñåéáóôåß í' áëëÜîåôå ôá isapnp.conf êáé conf.modules, äéüôé êáé ôá äýï (áðü ôï script ñõèìßóåùí ôïõ server) åßíáé Þäç Ýôïéìá links ðñïò ôï /etc/sysconfig . · cd-rom : ¸íá link óôï /dev, ìéÜ ãñáììÞ óôï /etc/fstab? , êëð. · rc.local : ÊÜíôå ïðïéåóäÞðïôå áðáñáßôçôåò áëëáãÝò. 4. Óþóôå ôá links êáé üðïéåò Üëëåò áëëáãÝò óôï /dev . Äþóôå : /etc/rc.d/rc.devfs save /etc/sysconfig 5. ¼ëá Ýôïéìá. 5. Ðñüóèåôï äùñÜêé : Åêêéíþíôáò áðü cd-rom ÐïëëÜ áðü ôá ðáñáðÜíù åöáñìüæïíôáé åðßóçò óå åêêßíçóç áðü cd-rom. ÌéÜ ðïý - Ýôóé êé áëëéþò - Þèåëá íá ãñÜøù êáé ãéá åêêßíçóç áðü cd-rom, ðñïóèÝôù åäþ ôéò êáôÜëëçëåò ðëçñïöïñßåò, þóôå íá ìçí îáíáãñÜøù äõï öïñÝò ôá ßäéá ðñÜãìáôá. Ãéáôß íá èÝëïõìå íá bootÜñïõìå Ýíáí Ç/Õ áðü cd-rom; Ç åêêßíçóç áðü cd- rom ìáò åíäéáöÝñåé óå ðåñéðôþóåéò, üðïõ èÝëïõìå íá ôñÝîïõìå ìéÜ ðïëý åéäéêÞ åöáñìïãÞ, ð÷ Ýíá kiosk (ó.ô.ì. : Äåò ôï Kiosk HowTo), Ýíá ðñüãñáììá âÜóçò äåäïìÝíùí âéâëéïèÞêçò, Þ Ýíá intenet cafe, êáé äåí Ý÷ïõìå äßêôõï Þ server, ãéá íá êÜíïõìå óôÞóéìï root over nfs. 5.1. ÂáóéêÞ áñ÷Þ Ç âáóéêÞ áñ÷Þ ðÜëé åßíáé áðëÞ : íá åêêéíÞóïõìå ùò root ì' Ýíá cd-rom. Ãéá íá ìðïñÝóïõìå : Èá ÷ñçóéìïðïéÞóïõìå ôçí åðÝêôáóç rockridge, ãéá íá ôïðïèåôÞóïõìå Ýíá unix-like filesystem åðÜíù óôï cd, êáé ôçí åðÝêôáóç Eltorito, ãéá íá êÜíïõìå ôï cd åêêéíÞóéìï. 5.1.1. Ôá ðñÜãìáôá äåí ìðïñåß íá åßíáé ôüóï áðëÜ ÖõóéêÜ, áõôü ôï óôÞóéìï ðáñïõóéÜæåé ìåñéêÜ ðñïâëÞìáôá. Ôá ðåñéóóüôåñá åßíáé ôá ßäéá ìå ôá ðáñáðÜíù : 1. Èá ÷ñåéáóôïýìå ðñüóâáóç åããñáöÞò óôá : /dev, /var & /tmp. · Èá ÷ñçóéìïðïéÞóïõìå ôéò ßäéåò ëýóåéò, üðùò ãéá ôï root over nfs (äåò ðáñáðÜíù) : · Ãéá ôï /dev , èá ÷ñçóéìïðïéÞóïõìå ôï Devfs . · Ãéá ôá /var êáé /tmp , èá ÷ñçóéìïðïéÞóïõìå Ýíá äéáìïéñáóìÝíï (shared) ramdisk ôïõ 1 MB. Ôï êÜíïõìå shared, ãéá íá ÷ñçóéìïðïéÞóïõìå ôïí ÷þñï üóï áðïôåëåóìáôéêüôåñá ãßíåôáé. Ôï /tmp áíôéêáèßóôáôáé ì' Ýíá symlink ðñïò ôï /var/tmp , ãéá íá êáôáóôÞóïõìå äõíáôü ôïí äéáìïéñáóìü. · Äïõëåýåé åî ßóïõ êáëÜ ôï íá ãåìßóïõìå ôï ramdisk ìå tarballs, Þ ðñüôõðá (template) directories. ¼ìùò, åßíáé ðïëý åõêïëüôåñï íá êÜíïõìå áëëáãÝò ìå ôá ðñüôõðá dirs, Üñá èá ÷ñçóéìïðïéÞóïõìå áõôÜ. 2. ÌåñéêÝò åöáñìïãÝò ÷ñåéÜæïíôáé ðñüóâáóç åããñáöÞò óôï /home. · ÂÜëôå óôï /var ôá home directories ôùí ÷ñçóôþí ðïõ èá ôñÝîïõí ôéò åöáñìïãÝò áõôÝò, êáé ãåìßóôå ôá ìå ôá õðüëïéðá ðåñéå÷üìåíá ôïõ /var óå êÜèå åðáíåêêßíçóç. 3. Ôï /etc/mtab ðñÝðåé íá ìðïñåß íá ãñÜöåôáé : · ÖôéÜîåôå Ýíá link ðñïò ôï /proc/mounts êáé äçìéïõñãÞóôå Ýíá Üäåéï áñ÷åßï mounts óôï /proc, üðùò ðáñáðÜíù. 5.2. ÖôéÜ÷íïíôáò Ýíá äïêéìáóôéêü óôÞóéìï. Ôþñá, ðïõ ãíùñßæïõìå ôß íá êÜíïõìå êáé ðþò, Þñèå ç óôéãìÞ íá öôéÜîïõìå Ýíá äïêéìáóôéêü óôÞóéìï : 1. Êáô' áñ÷Þí, ðÜñôå Ýíáí Ç/Õ áð' áõôïýò ðïõ èÝëåôå íá ÷ñçóéìïðïéÞóåôå, êáé âÜëôå ìÝóá Ýíáí ìåãÜëï óêëçñü äßóêï êé Ýíá cd recorder. 2. ÂÜëôå ôï Linux ðïõ óáò áñÝóåé åðÜíù ó' áõôü ôï ìç÷Üíçìá, êé áöÞóôå åëåýèåñç ìéÜ partition ôùí 650 MB ãéá ôï äïêéìáóôéêü óôÞóéìï. ÁõôÞ ç åãêáôÜóôáóç èá öáíåß ÷ñÞóéìç óôï íá öôéÜîïõìå ôï iso-image ôïõ cd êáé íá ôï ñßîïõìå óôá cd's åêêßíçóçò, Üñá åãêáôáóôÞóôå ôá áðáñáßôçôá åñãáëåßá. Åðßóçò, èá ìáò ÷ñåéáóôåß óôï íá äéïñèþóïõìå üëá ôá bugs, ðïõ äåí ìáò åðéôñÝðïõí íá bootÜñïõìå ôï ìç÷Üíçìá ôçò äïêéìÞò. 3. ÅãêáôáóôÞóôå ôï Linux ôçò åðéëïãÞò óáò åðÜíù óôçí partition ôùí 650 MB, ìå ôï óôÞóéìï ðïõ èÝëåôå íá ðåñÜóåé êáé óôï cd. Áõôü èá åßíáé êáé ôï óôÞóéìï ðïõ èá ÷ñçóéìïðïéÞóïõìå óôéò äïêéìÝò. 4. ÎåêéíÞóôå áðü ôç äïêéìáóôéêÞ partition. 5. ÊÜíôå compile Ýíáí ðõñÞíá, üðùò ðåñéãñÜøáìå óôï ôìÞìá 3.1 . ÁêïëïõèÞóôå üëá ôá âÞìáôá, äéüôé ïé áðáñáßôçôåò áëëáãÝò ãéá ôï devfs åîáêïëïõèïýí íá ÷ñåéÜæïíôáé! Óôï âÞìá 3 ôïõ ôìÞìáôïò 3.1, ðñïóèÝóôå ôá åîÞò : · isofs compiled ìÝóá óôïí ðõñÞíá · devfs compiled ìÝóá óôïí ðõñÞíá · õðïóôÞñéîç cdrom compiled ìÝóá óôïí ðõñÞíá · ü,ôé Üëëï ÷ñåéÜæåóôå, åßôå compiled ìÝóá óôïí ðõñÞíá, åßôå ùò module. 6. Ñõèìßóôå ôï äïêéìáóôéêü óôÞóéìï : · ÄçìéïõñãÞóôå ôïí ÷ñÞóôç, ðïõ èá ôñÝîåé ôçí åöáñìïãÞ. · ÂÜëôå ôï home directory ôïõ óôï /var. · Áí ÷ñåéáóôåß, åãêáôáóôÞóôå ôçí åöáñìïãÞ. · Áí ÷ñåéáóôåß, êÜíôå ñõèìßóåéò ãéá ôçí åöáñìïãÞ. · ÊÜíôå ôéò ñõèìßóåéò ôïõ óõãêåêñéìÝíïõ ÷ñÞóôç, þóôå ç åöáñìïãÞ íá ôñÝîåé áõôüìáôá ìåôÜ ôï login. · Ñõèìßóôå ôï Linux, þóôå áõôüìáôá íá êÜíåé login ãéá ôïí ÷ñÞóôç. · Ñõèìßóôå ï,ôéäÞðïôå Üëëï ÷ñåéÜæåôáé ñýèìéóç. 7. ÄïêéìÜóôå ôï üôé üëá äïõëåýïõí óùóôÜ. 8. ÅêêéíÞóôå ôçí êõñßùò åãêáôÜóôáóç êáé êÜíôå mount ôçí partition ôùí 650 MB óôï directory /test ôçò êõñßùò åãêáôÜóôáóçò. 9. ÂÜëôå ôá ðáñáêÜôù ó' Ýíá áñ÷åßï, ìå ôï üíïìá /test/etc/rc.d/rc.iso . Ôï source áõôïý ôïõ áñ÷åßïõ ìðáßíåé óôçí áñ÷Þ ôïõ rc.sysinit, ãéá íá öôéÜîåé ôï /var . ___________________________________________________________________ #/var echo Ftiaxnoume to /var ... mke2fs -q -i 1024 /dev/ram1 1024 mount /dev/ram1 /var -o defaults,rw cp -a /lib/var / #Epanaferoume tis ry8miseis tou devfs, xreiazomaste to proc mount -t proc /proc /proc /etc/rc.d/rc.devfs restore /etc/sysconfig umount /proc ___________________________________________________________________ 10. Äéïñèþíïõìå ôï /test/etc/rc.sysinit , âÜæïíôáò ó÷üëéï óôéò ãñáììÝò üðïõ ï root öïñôþíåôáé rw, êáé ðñïóèÝôïõìå ôéò áêüëïõèåò 2 ãñáììÝò áìÝóùò ìåôÜ ôïí ïñéóìü ôïõ PATH : ___________________________________________________________________ #gia na bootaroume apo cdrom . /etc/rc.d/rc.iso ___________________________________________________________________ 11. ÁíôéãñÜöïõìå ôá ðáñáêÜôù ó' Ýíá script êáé ôï åêôåëïýìå. Áõôü èá öôéÜîåé Ýíá ðñüôõðï ãéá ôï /var êáé èá äçìéïõñãÞóåé ôá links ôùí /tmp êáé /etc/mtab. ___________________________________________________________________ #!/bin/sh echo tmp rm -fR /test/tmp ln -s var/tmp /test/tmp ### echo mtab touch /test/proc/mounts rm /test/etc/mtab ln -s /proc/mounts /test/etc/mtab ### echo var mv /test/var/lib /test/lib/var-lib mv /test/var /test/lib mkdir /test/var ln -s /lib/var-lib /test/lib/var/lib rm -fR /test/lib/var/catman rm -fR /test/lib/var/log/httpd rm -f /test/lib/var/log/samba/* for i in `find /test/lib/var/log -type f`; do cat /dev/null > $i; done rm `find /test/lib/var/lock -type f` rm `find /test/lib/var/run -type f` ___________________________________________________________________ 12. Áöáéñþíôáò ôç äçìéïõñãßá ôïõ /etc/issue* áðü ôï /test/etc/rc.local, áðëÜ èá ôï áíáãêÜóïõìå íá áðïôý÷åé. 13. Ôþñá åðáíåêêéíïýìå ôç äïêéìáóôéêÞ partition, ç ïðïßá èá äéáâáóôåß áðëÜ óáí Ýíá cd-rom. Áí êÜôé äåí äïõëÝøåé, åðáíåêêéíÞóôå ìå ôçí êõñßùò partition, äéïñèþóôå ôï, îáíáäïêéìÜóôå ôï, ê.ï.ê. . ¹, ìðïñåßôå íá êÜíåôå remount / rw ôç äïêéìáóôéêÞ partition, íá ôï äéïñèþóåôå, êáé íá åðáíåêêéíÞóåôå êáôåõèåßáí ìå ôç äïêéìáóôéêÞ partition îáíÜ. Ãéá íá êÜíåôå remount / rw , äþóôå : mount -o remount,rw / 5.3. ÖôéÜ÷íïíôáò ôï cd 5.3.1. ÖôéÜ÷íïíôáò Ýíá boot image Ðñþôá-ðñþôá, åêêéíÞóôå ìå ôçí êõñßùò partition. Ãéá íá öôéÜîåôå Ýíá åêêéíÞóéìï cd, èá ÷ñåéáóôåßôå Ýíá image ìéáò bootable äéóêÝôáò. Äåí èá äïõëÝøåé ôï áðëü dd ó' Ýíá zimage, åðåéäÞ ï loader óôçí áñ÷Þ ôïõ zimage äåí öáßíåôáé í' áãáðÜåé ôçí øåýôéêç äéóêÝôá, ðïõ äçìéïõñãåß ôï åêêéíÞóéìï cd. ¸ôóé, èá ÷ñçóéìïðïéÞóïõìå ôï syslinux : 1. Ðáßñíïõìå ôï boot.img áðü Ýíá cd ôïõ RedHat 2. ÊÜíïõìå mount ôï boot.img êÜðïõ áíÜìåóá óôï loopback, äßíïíôáò : mount boot.img kapou -o loop -t vfat 3. Áöáéñïýìå ï,ôéäÞðïôå áðü ôï boot.img , åêôüò áðü ôá : · ldlinux.sys · syslinux.cfg 4. ÁíôéãñÜöïõìå ôï kernel image ôçò äïêéìáóôéêÞò partition óôï boot.img . 5. Äéïñèþíïõìå ôï syslinux.cfg , þóôå íá ðåñéÝ÷åé ôá åîÞò (áíôéêáèéóôþíôáò, öõóéêÜ, ôï zImage ìå ôï êáôÜëëçëï üíïìá image) : ___________________________________________________________________ default linux label linux kernel zImage append root=/dev/<balte edw to onoma tou cdrom sas> ___________________________________________________________________ 6. Umount boot.img: umount kapou 7. Áí ôï /etc/mtab óáò åßíáé link ãéá ôï /proc/mounts , ôï umount äåí è' áöÞóåé áõôüìáôá åëåýèåñï ôï /dev/loop0 , óõíåðþò åëåõèåñþóôå ôï äßíïíôáò : losetup -d /dev/loop0 5.3.2. Äçìéïõñãþíôáò ôï iso image Áöïý Ý÷ïõìå ôï boot image êáé ìéÜ åãêáôÜóôáóç ðïõ ìðïñåß íá îåêéíÞóåé áðü Ýíá readonly mount, Ýöôáóå ç óôéãìÞ íá öôéÜîïõìå Ýíá iso image ôïõ cd : 1. ÁíôéãñÜøôå ôï boot.img óôï /test 2. ÊÜíôå cd óôï directory, üðïõ èÝëåôå í' áðïèçêåýóåôå ôï image. Âåâáéùèåßôå üôé âñßóêåôáé åðÜíù óå ìéÜ partition ìå áñêåôü åëåýèåñï ÷þñï. 3. Ôþñá, öôéÜîôå ôï image, ðëçêôñïëïãþíôáò : mkisofs -R -b boot.img -c boot.catalog -o boot.iso /test 5.3.3. Åðáëçèåýïíôáò ôï iso image 1. ÊÜíôå mount ôï image áíÜìåóá óôï loopback device, äßíïíôáò : mount boot.iso kapou -o loop -t iso9660 2. Ôþñá åðéâåâáéþóôå üôé ôá ðåñéå÷üìåíá åßíáé åíôÜîåé. 3. ÊÜíôå umount ôï boot.iso : umount kapou 4. Áí ôï /etc/mtab óáò åßíáé link ðñïò ôï /proc/mounts , ôï umount äåí è' áðåëåõèåñþóåé áõôüìáôá ôï /dev/loop0 . Áõôü åëåõèåñþóôå ôï, ðëçêôñïëïãþíôáò : losetup -d /dev/loop0 5.3.4. ÃñÜöïíôáò ôï CD ÕðïèÝôïíôáò üôé Ý÷åôå åãêáôáóôÞóåé êáé ñõèìßóåé ôï cdrecord ãéá ôïí åããñáöÝá óáò, äþóôå : cdrecord -v speed=<epi8umhth taxuthta eggrafhs> dev=<path pros to generic scsi device tou eggrafea sas> boot.iso 5.4. BootÜñåôå ôï CD êáé äïêéìÜóôå ôï Å, ï ôßôëïò áõôÞò ôçò ðáñáãñÜöïõ ôá ëÝåé üëá! ;) 6. Åõ÷áñéóôþ · Ôï HHS (Haagse Hoge School), Ýíá Ïëëáíäéêü êïëÝãéï, üðïõ ãéá ðñþôç öïñÜ Ýóôçóá êáé äïêßìáóá áõôü ôï ó÷Þìá óå êáíáäõü åñãáóôÞñéá. Êáé üðïõ ãñÜöôçêå ç áñ÷éêÞ Ýêäïóç áõôïý ôïõ HowTo. · Ôçí ISM, ìéÜ ÏëëáíäéêÞ åôáéñßá, üðïõ åñãÜæïìáé óôï ôåëéêü ìïõ project. ¸íá ìÝñïò ôïõ project Ý÷åé íá êÜíåé ìå diskless Ç/Õ, Üñá Ýðñåðå íá øÜîù ðåñéóóüôåñï ôï óõãêåêñéìÝíï óôÞóéìï ôïõ äéêôýïõ, êáé åß÷á ôïí ÷ñüíï í' áíáèåùñÞóù áõôü åäþ ôï HowTo. · ¼ëïõò ôïõò ÷ñÞóôåò ðïõ èá ìïõ äþóïõí ÷ñÞóéìåò õðïäåßîåéò, áðü ôç óôéãìÞ ðïõ áõôÞ åäþ ç ðñþôç Ýêäïóç èá äåé ôï öùò ôçò äçìïóéüôçôáò. ;) 7. Ó÷üëéá Ó÷üëéá, õðïäåßîåéò, êëð åßíáé åõðñüóäåêôá. Ìðïñåßôå íá ôá óôåßëåôå óôïí Hans de Goede, óôï : j.w.r.degoede@et.tudelft.nl