Studying for the Redhat Certified Engineer (RHCE) Exam Becoming Certifiable Sep. 6, 2007 by Mark Grennan (mark@grennan.com ) Have questions? Please email me. For updates go to http://LinuxFanBoy.com After 30 years of working in the computer industry I have decided to get certified. I'm studding for my RedHat Certified Engineer (RHCE) exam. The RHCE is an all day, hands on test requiring the test taker to configure and trouble shoot Linux systems as directed by the examiner. I have worked with Linux for ten years. I starting with version 0.98 and I have written Linux applications and kernel patches. I use Linux to run my own websites. I worked for large corporations with hundreds of Redhat Linux servers. You might think with all this experiences the exam should be easy. I don't want to risk the $750 cost to take the test. My study guide is the "Red Hat certified Engineer Linux Study Guide - Forth Edition" by Michael Jang. This guide is based on Redhat 3. The current RHCE test is given with Redhat 5. If anyone knows of a newer study guide, or is writing one, I'd be happy to buy or review it. I'll be posting what I learn on this website as I go along. I've learned you retain more if you read it, write it and do it. This website is where I'm writing it all down. If you find something wrong or if you don't understand something, email me at mark@grennan.com. I'm not going to cover every detail in the book. There are a lot of Linux commands I know by heart and so I don't need to study them. If you don't know vi, ls, ssh or tar already this website study along is not for you. I've ready only 50% of the people taking the test pass. If you don't know these commands already you might want to take one of the expensive courses. I'm also not going to follow the book page by page. There are a few things that will make studding easier. Installing Linux over a network is faster then using CDs. So on day one I'm going to setup network installation. The computer I'm installing RHEL5 on is an old ? with a ? hard disk, keyboard, mouse, network connection and monitor. I also have a second RedHat (Fedora Core 6) system to load the Linux installations CD's on. You'll also need to get your hands on a set of Redhat Enterprise Linux 5 CDs. I got my copy from a friend at work. Feel free to follow along and learn Redhat Linux yourself. Maybe I will see you at my testing center. DAY 1 Preparing to install Redhat Linux. I have no idea what the examiner will give me to install Linux. I only know I will be ask to install it. Because I need to install Linux several times to learn what I need I have chosen to installing Linux over the network. This is also part of what you need to know for the test. This can be done with NFS, FTP or HTTPD. I decided to do all three. Here are the steps I used. You will need to get your hands on a set of Redhat Enterprise 5 CDs. (good luck) I have my set because I work with Redhat Linux for years and have several accounts. A good substitute would be CentOS version 5. This is a free clone of Redhat Enterprise 5. You might also try Fedora Core. I'm not sure which version is closest to RHEL 5. NFS Create a share directory mkdir /mnt/inst Create an iso image from the installation disk(s) using the following command: -
For DVD: dd if=/dev/dvd of=/location/of/disk/space/RHEL5.iso where dvd refers to your DVD drive device. -
For CD-ROMs: dd if=/dev/cdrom of=/location/of/disk/space/diskX.iso where cdrom refers to your CD drive device, and X is the number of the disk that you are copying, beginning with 1 for the first disk, and so on. Setup NFS - edit /etc/exports /mnt/inst *(ro,sync) Export the share exportfs -a Check iptables ? Restart NFS service service nfs restart Check the setup showmount -e HTTPD HTTPD installs the same as NFS except you should copy files to /var/www/html/inst and then restart the httpd server. I created a simlink to this directory. ln -s /mnt/inst /var/www/html/inst FTP This also works like the NFS process except you copy the files into /var/ftp/pub/inst and restart the vsftpd service. I created a simlink to this directory. ln -s /mnt/inst /var/ftp/pub/inst DAY 2 First Install Now that I have a NFS server setup with the correct install files, its time to start doing an install. There is a ISO (CD-ROM image) on the first Redhat CD called boot.iso. Create a physical CD from this ISO and use it as your install CD. For my install I selected all applications with all default options. This was more a test of my network installation configuration. Day 3 Practicing the Installation Exam Time to start running some example exam configurations. BUILD-1 System Name build1.linuxfanboy.com in the CST time zone Partions /boot 100MB / 40960MB /home 81920MB RAID-1 SWAP 1024MB Network IP 192.168.10.123 GW 192.168.10.1 SNM 255.255.255.0 Users Steve, Bill and Robert Steve and Bill should be part of the "engineers" group with a directory /home/engineers to share files. Robert should not have privileges to this directory. KDM should be their default windows manager with graphical login. CRON Clean /tmp every Sunday at 3:00am Printer Configure a HPLJ5 printer with CUPS and make it the default. SSH Enable SSH logins from the local network only. Samba Share out /home/engineers to only system on the local LAN. Apache Create a index.html page in Apache. DAY 4 More Practice Repeated DAY 3 and refined installation - timed myself. First install went good except I forgot to set the IP and name the computer. Samba has been giving me some trouble. I see the share but the users steve and bill can't access the shares. I would have failed myself. The second I forgot to assign a partition as the root partition. I ran into "Un-handled Exception" in the installer. Something about raid configuration. I repeated the install and found the problem. Total time was 1:15 minutes. I then learned I didn't set /home either. Everything including home loaded into the root partition. I fixed this after the fact. I'd give myself a just just passing score for the second install. Everything worked it was only the mount that I messed and it would be easily corrected. DAY 5 Building more Exams Time for a new configuration. I didn't have time to build this system. I wanted to create a example installations so I will have them when I need them. BUILD-2 System Name build2.linuxfanboy.com in the PST time zone Partions hda1 /boot 100MB hda2 swap 512MB hda3 / 5.5GB hda4 /var 20Gb hdb1 /var 20GB Raid-1 hda7 /home 10GB Network IP 192.168.10.123 GW 192.168.10.1 SNM 255.255.255.0 Users No user access httpd Create a website (www.linuxfanboy.com) and provide SSL encryption. named in a Root jail The files should be in /var/named/chroot create a DNS entry for www.linuxfanboy.com MySQL Create a database. Samba Provide access to /var/www/html BUILD-3 System Name build3.linuxfanboy.com in the PST time zone Partions hda1 /boot 100MB hda2 swap 1024MB hda3 / 10GB hda4 extended 40 hda5 /var 20GB Raid-1 hda1 /home 20GB Raid-1 hdb1 /var 20GB hdb2 /home 20GB Network IP 192.168.10.123 GW 192.168.10.1 SNM 255.255.255.0 Users Users steve and bill. Both should be limited to 8GB disk space in their home directories (Quota). Sendmail Users should be able to receive mail at @linuxfanboy.com named Create a DNS entry for www.linuxfanboy.com httpd Create a web based email system for users with Squairlmail and Apache. DAY 6 Book Study I'm studying at work today. This means book reading and not any doing until I get home. Today I'm going through chapter 3. The book has lots of helpful hints. For example: During the installation process you can beget configuring system as they install using the ALT-F2 console. After an installation it should be helpful to review the logs. /root/install.log - This lists the packages installed /var/log/dmesg - This file provides information on physical devices and what drivers loaded The /tmp directory may also contain some clues. Look for: anaconda.log - installation log file (ALT-F3 console) ks.cfg - if this was a kickstart install it is copied here modules.cfg - detected hardware and drivers netinfo - IP address information syslog - kernel messages XF86Config.test - Temporary X Windows configuration Practice booting into different run levels by editing GRUB menu by adding the word single to the end of the kernel line. Running is single user mode can be helpful when restoring corrupted files and restore a lost root password. RAID DISKS The section of the book describing RAID and disk partitions is very confusing. It makes RAID disks on the same physical disk. You can do this to practice the process but it doesn't make any since. If the disk falls it will take all the raid partitions with it. Even with the book does put raid partitions it comfuses the reader by mixing the partitions. For example, there is a nice chart showing four disk and four files system as a RAID. 1 2 3 4 hda / swap /home /var hdb hdc hdd This table is good however on page 183 we create a mirror with disk hda partition 3 and hdb partition 4. This will work but I would create these both on partition 3. Virtual Raid disks are created like sized raid partition. Each raid partition should be on a physicaly seperate hard drive. Raid partitions are made with fdisk or Disk Druid at boot time are are type 0xFD. Two Raid partitions can be made into a RAID-1 (mirror) and three or more can be made into a RAID-5. Logical Volume Management (LVM) LVM allows you to resize active partitions. LVM starts with Physical Volumes (PV). These are made from physical disks (hda, hdb...) or physical disk partitions of type 0x8e (hda1, hda2, hdb1...). PVs are then combined to create Volume Groups (VG). You can add PVs to VGs to expand a disk. The next step is to create Logical Volumes (LV). These create the /dev/volumegroup/logvol device that you can format into a file system. The commands go like this: Use fdisk to create physical partitions of type 0x8e - say hda3 and another on hdb2 pvcreate /dev/hda3 pvcreate /dev/hdb2 vgcreate newgroup /dev/hda3 /dev/hda2 lvcreate -L 200M newgroup -n flex mkexfs -j /dev/newgroup/lv0 mount /dev/newgroup/lv0 /home labelfs /home /dev/newgroup/lv0 And don't forget to mount this automaticly at boot time by editing /etc/fstab. LABEL=/home /home ext3 defaults 1 2 Pratice Expanding nad schrinking LVM partitions. Don’t forget to do a ext2online after extending or reducing a LVM partition. USER ACCOUNTS User accounts are keep in the file /etc/passwd. This file is in the format: ID : password : User ID : Group ID : User Info : Home Directory : Shell ID is the user login ID. This is often some part of the user's name. Password is often the letter x indicating the password is keep in the /etc/shadow file or * indicating the account is disabled. User ID is a number greater then 500. Numbers less then 500 are used for services like Apache. Group ID is also a number and is often the same as the User ID. User Info is just that. It is commonly the User's first and last name by may also contain info like their phone number. Hone Directory is where the users personal files are keep. A directory in /home with the same name as the users ID is common. Shell is a system shell like bash the user wishes to use. It can also be a program like /bin/nologin or /bin/true to keep the your from gaining access to the system. Group information is keep in /etc/group and is in the format: Group Name : Password : Group ID : Group Members Group Name is like user ID. It is a word that describes the group. Often users have their own group. Password is the password used when a user switched groups. It can also be the letter x meaning the password is keep in the /etc/shadow file. Group ID is a number that represents the group. Group Members is a list of user IDs seperated with a space who belong to the group. The shadow file /etc/shadow hold the users password in encrypted form and their account details. Its format is: User Name : Password : Password History : Min days : Max days : Warn days : Inactive : Disabled User Name is the user ID/ Password is the user encrypted password if there is an x in the /etc/password file. Password History is the date of the last password change in days sience Jan 1 1970. Min days is the mininum number of days a user must keep a password. Max days is the maximum number of days a user can keep a password. Warn days is the number of days before the user's password must be changed. Inactive is the number of days the password will be expired after being marked inactive. Disabled is the number of days the password will be expired after it is marked disabled. These fields are hard to edit by hand. Use a program. If you need to change a users password to access their account, you can copy their entry in the shadow file, change their password and then put the save line back so the password the user knows does not change. Users can be added to the system by editing /etc/passwd and /etc/group by hand, with the useradd program or with the GUI system-config-users. User accounts can also be set to expire on a given date and require password changes at some intervial. This can be done with the usermod -e command or the program system-config-users. If you are using share resources like NFS it is best if all users have the same ID and Group ID on each system. DAY 7 KICKSTART installations Kickstart is used to automatically answer all the installation questions. It is done with a ks.cfg file. You can put the file on a floppy or ready by the install process over a network. My experence says unless you are installing lots (30 or more) systems or you need to do a totaly remote install, its not worth the hassle to setup a Pixi boot / DHCP configuration for the network install. You can create a ks.cfg by hand, or copy the /root/anaconda-ks.cfg file from a current installation or create a one from scratch with system-config-kickstart. The steps go like this: put Redhat CD1 in the CD drive and a floppy in the floppy drive dd if=/mnt/cdrom/images/bootdisk.img of=/dev/fdO mount /dev/fdO /mnt/floppy cp anaconda-ks.cfg /mnt/floppy/ks.cfg You could also just format the floppy on any computer and copy your ks.cfg file to it. When the Redhat CD boots, answer the first Boot: prompt with linux ks=floppy This will tell the anaconda installer to use the ks.cfg file on the floppy. More more information see the RedHat Linux KickStart HOWTO or Mark's Kickstart Examples. DAY 8 Managing Redhat Software Packages Today is another study day. As I understand it, you will be ask to upgrade the kernel as a part of the install. This is easy but the kernel is the oddest of the packages to install. If you need to install a single package you just rpm -i packagename.rpm You can also give RPM a URL rpm -i ftp://ID:password@hostname.dom/path/package.rpm or rpm -i http://hostname.dom/path/package.rpm RPM can be used to verify a file or program has not been modified since it was installed. I have download bad packages / programs that replace a library file with an older version. To check all the files contained in a RPM pachage use: rpm --verify -p /path/package.rpm To check just a single file rpm --verify --file /path/file To upgrade a package (replace new with old) use the -U option in RPM. If you use just the -i command both package will be installed unless they conflect with each other. If you have a problem with a given file and need to reload it, it is good to know what package it belongs to. You can get this with the command: rpm -qf /path/file You might also need to list the contents of a package: rpm -ql package NETWORK CONFIGURATION Redhat stores network configuration files in /etc/sysconfig/network-scripts. Look for files starting with ifcfg- like ifcfg-eth0. This would be the config file for the network enterface eth0. When you have these files configures you can restart the network with the command: service network restart or by hand ifdown eth0 then ifup eth0 Check the default gateway with: route -n Check the netmask and other settings with: ifconfig eth0 THE BOOT PROCESS When you configure a system don't forget to reboot as your last set and CHECK WHAT IS RUNNING. After going thought all the steps to configure a system like Apache it is easy to forget make it start at boot time. What gets started at boot time is done by two systems INIT and RC. The configuration of INIT is in /etc/inittab. This file starts processes that shouldn't die. Thinks like the system consoles. It also controls which run level the system comes up to. The directory /etc/sysconfig hold config files for process started at this level. init starts then next step in the boot process RC. (I call these Run level Changes). RC scripts are kept in /etc/rc.d. The program that run the RC scripts is rc.sysinit. These scripts are what is done when you change run level with the init command. To turn on or off a RC script you should use the command: chkconfig --level 0123456 command on/off The option --level sets the run level to be change for the command that is turned on or off. This can also be done with the GUI system-config-services. chkconfig --list This command will list all the services and if they are on or off for each run level. chkconfig --add/--del command This command will add or delete a command from the RC start-up scripts. DAY 9 SAMBA File Systems Today is another study day. I have been doing a lot of reading but I haven't had a chance to do much hands on work because of my schedule. I'm working Friday thought Monday from 11:45am to 11:00pm and today is another work day. I'm squeezing in my studies between fixing computer problems for Dell customers. SAMBA Samba or SMB is run with to program (/usr/sbin/smbd and /usr/sbin/nmbd) and the config file /etc/smaba/smb.conf. The smb.conf file can be check for errors with the command testparm. The smb.conf file is confusing. Don't forget there are man pages on configurations files as well. Try man smb.conf. smbclient -L //computer/IP -U userID You can graphic browse a smb computer with Nautilus. Enter smb://computer/IP Things to check in the smb.conf file workgroup = groupname netbios name = ComputerName security = user / domain / server / share user = The server is the PDC domain = The server is a member of a domain and you name the PDC with the Password database server = The server is a member of a domain and you name another share = The server is a member of a peer-to-peer workgroup. If you use Domain or Share you will need to set: password server = NT-Server-Name All new Windows system require password encryptions. Set these options: encrypt passwords = yes smb passwd file = /etc/samba/smbpasswd To keep Windows and Linux passwords in sync: unix password sync = yes passwd program = /usr/bin/passwd %u passwd chat = *new*UNIX*password* %nn *Retype*new*UNIX*password* %nn *passwd:*all*authentication*tokens*updated*successfully* Windows user names and Linux user IDs need to be identical. If not you can match them up with a file. username map = /etc/samba/smbusers Like adding Linux passwords, you can use smbadduser and smbpasswd to add a Samba user and set their password. The -a option of smbpasswd will also add a new users. DAY 10 Life is a beach and then your Dry This has been a disappointing week. My work, after many promises, has told me they will not assist me in getting my RHCE. They had offered a vulture to pay for the test. I also had to use my mad money I was going to use for the travel. I'm not going to stop. The studying is free and maybe something will change. DAY 11 Network Security The first step to security is simply, turn it off if your not using it. To check this the command chkconfig --list will show you all the programs that starts at boot time including services in xinetd. You can also use lsof -i to list program that have network ports open. A simple way to control who can access a service you need is with tcp_rappers. This process uses two files /etc/hosts.allow and /etc/hosts.deny. The format for both are the same. The options are service, host and exception. Here is an example all : 192.168.1.0/24 except 192.168.1.250 In hosts.allow this would give access to all services for computers on the 192.168.1.0 network except 192.168.1.250. all except in.sshd, in.popd : all In the hosts.deny file this would deny access to all services except ssh and pop3 mail to everyone. DAY 12 Learning more about RAID arrays I have not been able to study for over a week now. Vinay Babu inspired me to by email and asking questions. During this time my home server (www.grennan.com) had a disk drive fail. The disk was a part of a four disk Raid-5. This taught I had more to learn about Linux Raid systems. mdadm is the magic word for doing anything with RAID. To view the details of a raid array use the command:
In my case this show the array was degraded and disk 0 was showing removed. I used Spinrite to check the viability of the disk and it was ok. I then used this command to put the disk partition (sda2) back into the array (md0)
mdadm /dev/md0 -a /dev/sda2 |
The system started rebuilding and all was good. Because disk 0 had failed I didn't thing the system would boot after I powered it off. I had build the system with its boot partition on disk 0 and used the space on the other drives as swap. What I didn't know was, Linux will create a RAID-1 (Mirror) from more then two disks. Grub does not boot from the mirror. Because mirrors are copies of a partition and not stripped partitions all the data is on any one of the mirrors. Grub can then be pointed to any one of the mirrored partitions (sda1, sda2...) for its data. After doing this it was time to build a new practice system. BUILD-4 System Name build4.linuxfanboy.com in the CST time zone Partions /boot 100MB RAID-1 (hda1, hdb1, hdc1) / 50000MB RAID-5 (hda2, hdb2, hdc2) /home 50000MB RAID-5 (hda3, hdb3, hdc3) Swap 1024MB Network IP 192.168.10.123 GW 192.168.10.1 SNM 255.255.255.0 DAY 13 This is D-Life. (Inside joke for fellow workers.) I'm becoming very discuraged because of happenings at work. I thought I knew a lot about Linux. And I do, but being remember the details of all the main needed commands is hard. Today I worked on the "What needs to be Studied" list. I think a mnemonic or song to remember all the could make this job easyer. Something like... Bad boys rape our young girls but Virolet gives willingly. This is the one for resistor codes. DAY 14 Sorry for the long delay in posts. My system at home has some troubles and I spent time getting it going again. This has not been intirely without value. I have learn much about the practical side of RAID system in Linux. I recomend you build a Raid-5 system and tourture it yourself. Today I am again working on the "What needs to be Studied" list. I'm hopping to expand and orginize these pages soon and build a set of more formal lessions to study for the exam. I'm sure I will do it again after taking the test. DAY 15
The days or flying and I'm not getting that much closer to being ready for the exam. Time to put it in high gear.
My son Nathan provided me with these exersises. I will recreate them and provide the disk images for you. You will only need the VMware player. You can download it here http://www.vmware.com/download/player/
As soon as I can build the Image files there will be here.
RAIDThis exersize will build a RAID-5 with three disks and then remove and rebuild one of them.
CentOS 4.4 i386 install with raid and testing of raid recovery
1. Installed CentOS 4.4 i386 with a minimal install on a three disk raid1/raid5 setup in VMware Workstation 2. Booted and watched it sync the arrays 3. Shut down the virtual machine 4. Removed disk two from the virtual machine configuration. 5. Booted virtual machine 6. Wrote 10mb file to /boot and 100mb file to /, then deleted them 7. Shut down the virtual machine 8. Added disk two back to the virtual machine in VMware 9. Booted virtual machine 10. Ran mdadm --manage /dev/md0 -a /dev/sda2 11. Ran mdadm --manage /dev/md1 -a /dev/sda3 12. Watched the arrays resync 13. Shutdown virtual machine 14. Removed disk two 15. Add a new virtual drive, blank 16. Fixed scsi ids so that disk one was scsi0:0, so that VMware would boot from it 17. Booted virtual machine 18. Create partition table to make other disks on the new disk 19. Ran mdadm --manage /dev/md0 -a /dev/sdb2 20. Ran mdadm --manage /dev/md1 -a /dev/sdb3 21. Watched the arrays resync
df -h output: Filesystem Size Used Avail Use% Mounted on /dev/md1 2.8G 694M 2.0G 26% / /dev/md0 99M 12M 83M 12% /boot none 125M 0 125M 0% /dev/shm
Partition tables: Disk /dev/sda: 2147 MB, 2147483648 bytes 255 heads, 63 sectors/track, 261 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System /dev/sda1 1 63 506016 82 Linux swap /dev/sda2 * 64 76 104422+ fd Linux raid autodetect /dev/sda3 77 261 1486012+ fd Linux raid autodetect
Disk /dev/sdb: 2147 MB, 2147483648 bytes 255 heads, 63 sectors/track, 261 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System /dev/sdb1 1 63 506016 82 Linux swap /dev/sdb2 * 64 76 104422+ fd Linux raid autodetect /dev/sdb3 77 261 1486012+ fd Linux raid autodetect
Disk /dev/sdc: 2147 MB, 2147483648 bytes 255 heads, 63 sectors/track, 261 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System /dev/sdc1 1 63 506016 82 Linux swap /dev/sdc2 * 64 76 104422+ fd Linux raid autodetect /dev/sdc3 77 261 1486012+ fd Linux raid autodetect
/proc/mdstat after fresh install and sync: Personalities : [raid1] [raid5] md1 : active raid5 sdc3[2] sdb3[1] sda3[0] 2971648 blocks level 5, 256k chunk, algorithm 2 [3/3] [UUU] md0 : active raid1 sdc2[2] sdb2[1] sda2[0] 104320 blocks [3/3] [UUU]
/proc/mdstat after removing disk two: Personalities : [raid1] [raid5] md1 : active raid5 sdb3[2] sda3[0] 2971648 blocks level 5, 256k chunk, algorithm 2 [3/2] [U_U] md0 : active raid1 sdb2[2] sda2[0]
104320 blocks [3/2] [U_U] There are some differences between version of Redhat / Fedora Linux. The bigest one found was putting back an existing disk into the array. Some use the -a option and others use the --re-add option. When one works the other does not return an error.CentOS 4.4 and mdadm 1.6.0-3: mdadm --manage /dev/md0 -a /dev/sda2
Fedora 6 and mdadm 2.5.4-2: mdadm --manage /dev/md0 --re-add /dev/sda2 |
GRUBBoot from first cd/dvd or rescue cd If using the first cd/dvd, type linux rescue at the boot: prompt
You can let it automatically mount your partitions, but they don't unmount manually if you do. So it is technically better to hand mount each partition.
If you do it manually be sure to bind /dev, /proc, and /sys from the rescue environment to your chroot environment. I also think the automatic method forgets some of these, so you still may to do them manually.
Example: mount /dev /mnt/sysimage/dev -o bind mount /proc /mnt/sysimage/proc -o bind mount /sys /mnt/sysimage/sys -o bind
Run chroot /mnt/sysimage to turn your normal environment into your working environment.
Once you have done chroot you need to reinstall grub.
>From /sbin/grub-install: $grub_shell --batch $no_floppy --device-map=$device_map <<EOF >>$log_file root $1 setup $force_lba --stage2=$grubdir/stage2 --prefix=$grub_prefix $2 quit
Example with /boot as part of /: /sbin/grub --device-map=/boot/grub/device.map root (hd0,0) setup --stage2=/boot/grub/stage2 --prefix=/boot/grub (hd0) quit
root could really be called boot. root is the command to tell it what partition to find the grub files on.
With setup the prefix doesn't apply to the stage2 option. It wants an absolute path to where it can find the stage2 file. The prefix is more of where can it expect to find the grub files relative to the partition you told it with root.
Example with /boot as it's own partition: /sbin/grub --device-map=/boot/grub/device.map root (hd0,0) setup --stage2=/boot/grub/stage2 --prefix=/grub (hd0) quit
Note the /grub instead of /boot/grub on the prefix option. That is because /grub is the path it will find the grub directory at if it is using /boot as / for that stage of the boot process.
(hd0) in the example above is the hard drive you are installing grub on to. Grub goes into it's master boot record. If you are using a raid array you can install it to each hard drive by just repeating the root and setup commands. Use (hd1,0) and (hd1) instead of (hd0,0) and (hd0), and so on.
Example output from grub: grub> root (hd0,0) Filesystem type is ext2fs, partition type 0x83
grub> setup --stage2=/boot/grub/stage2 --prefix=/boot/grub (hd0) Checking if "/boot/grub/stage1" exists... yes Checking if "/boot/grub/stage2" exists... yes Checking if "/boot/grub/e2fs_stage1_5" exists... yes Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 16 sectors are embedded. succeeded Running "install --stage2=/boot/grub/stage2 /boot/grub/stage1 (hd0) (hd0)1+16p (hd0,0)/boot/grub/stage2 /boot/grub/grub.conf"... succeeded Done.
FIXING INITRD Modules
Adding missing modules to initrd: rm -f /boot/initrd-2.6.20-1.2320.fc5.img mkinitrd --preload=xor --preload=raid456 /boot/initrd-2.6.20-1.2320.fc5.img 2.6.20-1.2320.fc5
Manually changing initrd: mkdir /root/initrd-tmp cd /root/initrd-tmp cp -a /boot/initrd-2.6.20-1.2320.fc5.img .. mv ../initrd-2.6.20-1.2320.fc5.img ../initrd-2.6.20-1.2320.fc5.img.gz gunzip ../initrd-2.6.20-1.2320.fc5.img.gz cpio -i --make-directories < ../initrd-2.6.20-1.2320.fc5.img vi init find . -depth | cpio -o > ../initrd-2.6.20-1.2320.fc5.img cd .. rm -rf initrd-tmp gzip -9 initrd-2.6.20-1.2320.fc5.img mv initrd-2.6.20-1.2320.fc5.img.gz initrd-2.6.20-1.2320.fc5.img
mv initrd-2.6.20-1.2320.fc5.img /boot grub>
TIPS from people who have a RHCE "They will asked to upgrade kernel by rpm, remember to use rpm -ivh. Don't want to use -Uvh because then it won't add a new kernel and keep the old one. It will overwrite the old kernel. " "You will be asked to configure squid on the server. And all you have to do with that is edit one file and add a few lines. " "Samba, mail and security were the other areas you may want to focus on. " "They give you a choice when setting up security on the server. You can either use TCP Wrappers or iptables. You will be asked to configure wrappers for Samba and Apache. For IPTables just setup the defaults and edit the /etc/sysconfig/iptables file and add your own rules." USEFUL LINKS http://www.redhat.com/docs/manuals/enterprise/RHEL-5-manual/index.html http://www.redhat.com/docs/manuals/enterprise/RHEL-5-manual/en-US/Course_Catalog/index.html https://www.redhat.com/training/rhce/examprep.html https://www.redhat.com/training/rhce/rhce_faq.html What needs to be Studied This section outlines what needs to be studied and can be used as a quick guide to the commands to preform them. - Installation preparation - Creating an NFS server with install files
- System Installation -
- Kickstart Installations
- RAID Disks - Do this at install time. - mdadm
- Logical Volumes - Do this at install time. - vgcreate - lvcreate -
- X windows configuration - system-config-xfree86
- User Accounts - system-config-users
- Package management - rpm
- Network Configuration -
system-config-network or /etc/system/network-config/ifcfg-eth? - Boot Process - RC and init scripts
- Samba - /etc/smb/smb.conf
- Apache - /etc/apache/config/apache.conf
- Squid Proxy - /etc/squid/squid.conf
- FTP server
- Sendmail - /etc/sendmail.conf
- BIND (DNS) -
- DHCP - /etc/dhcp.conf
- Printers - printtool, printconf-gui
- NIS
- LDAP
- PAM authentication - /etc/pam.d/login
- tcp_wrappers - /etc/hosts.allow /etc/hosts.deny
- xinetd - /etc/xintd - chkconfig --list
- syslog
- NTP
- upgrade the kernel -
- troubleshooting - /var/log/messages - dmsg
Invent a mnemonic to remember this stuff. Something like, my mother thoughtfully made |
No comments:
Post a Comment