Monday, August 29, 2011

USER & GROUP MANAGEMENT

User Management

#useradd username (OR) #useradd username used to create a new user.

#passwd username It changes password for the corresponding user.

User add can also be done by specifying a no: of attributes like

#useradd –u uid –s shell –c command –d home_directory –g group –G groups username

uid user identification no, 0-99 for system purpose, 0 reserved for root,

100-60,000used for general purpose.

gid group identification no, 0-99 for system purpose, 100-600 for general purpose

pid process identification no, to identify all the processes running on your system

groups - maximum of 15 groups is only possible as secondary group for a user.

#usermod attributes username helps to modify already given attributes.

#userdel username only deletes an existing account, not user directory.

#userdel –r username deletes a user account along with home directory.

GROUP

#groupadd groupname adds a new group

#groupadd attributes groupname adds a new group along with its attributes.

#groupmod groupname modifies the attributes of a group

#groupdel groupname deletes an existing group

#id –u username displays the userid no of the user specified

#id username displays uid,gid and all secondary groups that user

#groups displays the default groups in your machine

Switch User

#su username to change from current user to user specified

#su – username change to the specified user along with his home directory.

/etc/profile

Contains several information regarding the history size, the umask value etc, which is applicable to all the users.

#vi /etc/profile

:

HISTSIZE =1010 [this entry helps to change the history size]

:

echo [this entry will help display what ever written after it]

echo Welcome $USER [helps display “Welcome root” if u have logged as root]

echo

sleep 2 [waits for a period of 2 seconds]

clear [helps to obtain a clear window]

After editing this file quit from vi. All this will become applicable if u login again.

#vi /home/nas/.bash_profile helps to change the login contents if u login as a normal user (here the user is nas)

#vi /home/nas/.bash_logout helps to create log out contents for a user(here it is nas)

#vi /etc/issue helps to change the appearance of the log in screen

#vi /etc/issue.net for networking ie, when u log in using network(ie like telnet etc) then the screen appearance for them can be set using this.

#vi /etc/syslog.conf all the log files generated during boot time are kept here

#vi /etc/motd displays the message of the day.

/etc/passwd user id information resides here.

#vi /etc/passwd

nas:x:509:509: :/home/nas:/bin/bash

GID home dir Login shell

UID comment

password

user name

Here the ‘:’ is called the delimiter. Here ‘x’ represents the password, which resides in another file /etc/shadow

#vi /etc/shadow

nas:$1$Dn……………..

This contains 9 fields, which are

Loginid:password:lastchange:min:max:warning:inctive:expiry:

/etc/group  the group id information resides here.

#vi /etc/group

groupname:passwd:gid:users list

FILE PERMISSIONS

We can change the permissions of a file in either using the Symbolic Mode or by using the Absolute Mode.

1.Symbolic Mode :-here we use r for read, w for write , x for execute and

‘+’ to append a permission,’-‘ to remove a permission.

chmod is the command used to change permission bits.

#chmod u=rwx,g=rx,o=r filename

#chattr change the attributes of file ie, who all can delete or add files

’+’ is used to add and ‘-‘ is used to remove permissions.

Eg:- #chattr +i filename - now none will be able to change the file contents.

#chattr –i filename - then it is removed & all functions can be performed

2.Absolute Mode:-here we use nos from 0 to 7.

Value Indications Permissions

0 - - - No permission

1 - - x Only execute

2 - w - Write only

3 - w x Write and execute

4 r - - Read only

5 r – x Read and execute

6 r w - Read and write

7 r w x Full permission

Eg:-#chmod 765 filename full permission for owner, read & write for group members, read & execute permission for others.

Sticky bit

#chmod 1000+file_permission filename here the value 1000 implies it’s a sticky bit

#chmod 1766 f1 implies it is a sticky bit.

#ls –l -rwxrw-rwT

#chmod 1767 f2 I implies it is a sticky bit.

#ls –l -rwxrw-rwt

here T  sticky bit is enabled and executable bit for others is OFF

and t  sticky bit is enabled and executable bit for others is ON

i. When sticky bit is set on a dir,files in that dir may be unlinked or renamed only by the root user or by its owner.

ii. Commonly found in dir like /tmp, that are world –writable.

Set UID & GID :- is applicable to an executable file & is used for project sharing.

#chmod 4000+file_permissions filename  here 4000 implies enable UserID

#chmod 2000+file_permissions filename  here 2000 implies enable GroupID

Eg:- #chmod 4777 file4

#chmod 2777 file5

#ls –l

-rwsrwxrwx ……………… file4

-rwxrwsrwx ……………… file5

#umask whenever a user creates a file, the OS assigns default permissions to the file with out the intermission of the user. It is defined by the umask value specified in /etc/profile. the default umask value os 022, but the value 027 is more effective. So the default file permission is 666 & that of a directory is 777.

Change ownership:-

Root is the only user who has the permission to change ownership of a file. So in case, if u have logged in as a normal user, u have to log in as root to do this. The cmnd used for this purpose is ‘chown’

#chown nas f3 to change the ownership of the file f3 from current owner to nas

USER & GROUP MANAGEMENT

User Management

#useradd username (OR) #useradd username used to create a new user.

#passwd username It changes password for the corresponding user.

User add can also be done by specifying a no: of attributes like

#useradd –u uid –s shell –c command –d home_directory –g group –G groups username

uid user identification no, 0-99 for system purpose, 0 reserved for root,

100-60,000used for general purpose.

gid group identification no, 0-99 for system purpose, 100-600 for general purpose

pid process identification no, to identify all the processes running on your system

groups - maximum of 15 groups is only possible as secondary group for a user.

#usermod attributes username helps to modify already given attributes.

#userdel username only deletes an existing account, not user directory.

#userdel –r username deletes a user account along with home directory.

GROUP

#groupadd groupname adds a new group

#groupadd attributes groupname adds a new group along with its attributes.

#groupmod groupname modifies the attributes of a group

#groupdel groupname deletes an existing group

#id –u username displays the userid no of the user specified

#id username displays uid,gid and all secondary groups that user

#groups displays the default groups in your machine

Switch User

#su username to change from current user to user specified

#su – username change to the specified user along with his home directory.

/etc/profile

Contains several information regarding the history size, the umask value etc, which is applicable to all the users.

#vi /etc/profile

:

HISTSIZE =1010 [this entry helps to change the history size]

:

echo [this entry will help display what ever written after it]

echo Welcome $USER [helps display “Welcome root” if u have logged as root]

echo

sleep 2 [waits for a period of 2 seconds]

clear [helps to obtain a clear window]

After editing this file quit from vi. All this will become applicable if u login again.

#vi /home/nas/.bash_profile helps to change the login contents if u login as a normal user (here the user is nas)

#vi /home/nas/.bash_logout helps to create log out contents for a user(here it is nas)

#vi /etc/issue helps to change the appearance of the log in screen

#vi /etc/issue.net for networking ie, when u log in using network(ie like telnet etc) then the screen appearance for them can be set using this.

#vi /etc/syslog.conf all the log files generated during boot time are kept here

#vi /etc/motd displays the message of the day.

/etc/passwd user id information resides here.

#vi /etc/passwd

nas:x:509:509: :/home/nas:/bin/bash

GID home dir Login shell

UID comment

password

user name

Here the ‘:’ is called the delimiter. Here ‘x’ represents the password, which resides in another file /etc/shadow

#vi /etc/shadow

nas:$1$Dn……………..

This contains 9 fields, which are

Loginid:password:lastchange:min:max:warning:inctive:expiry:

/etc/group  the group id information resides here.

#vi /etc/group

groupname:passwd:gid:users list

FILE PERMISSIONS

We can change the permissions of a file in either using the Symbolic Mode or by using the Absolute Mode.

1.Symbolic Mode :-here we use r for read, w for write , x for execute and

‘+’ to append a permission,’-‘ to remove a permission.

chmod is the command used to change permission bits.

#chmod u=rwx,g=rx,o=r filename

#chattr change the attributes of file ie, who all can delete or add files

’+’ is used to add and ‘-‘ is used to remove permissions.

Eg:- #chattr +i filename - now none will be able to change the file contents.

#chattr –i filename - then it is removed & all functions can be performed

2.Absolute Mode:-here we use nos from 0 to 7.

Value Indications Permissions

0 - - - No permission

1 - - x Only execute

2 - w - Write only

3 - w x Write and execute

4 r - - Read only

5 r – x Read and execute

6 r w - Read and write

7 r w x Full permission

Eg:-#chmod 765 filename full permission for owner, read & write for group members, read & execute permission for others.

Sticky bit

#chmod 1000+file_permission filename here the value 1000 implies it’s a sticky bit

#chmod 1766 f1 implies it is a sticky bit.

#ls –l -rwxrw-rwT

#chmod 1767 f2 I implies it is a sticky bit.

#ls –l -rwxrw-rwt

here T  sticky bit is enabled and executable bit for others is OFF

and t  sticky bit is enabled and executable bit for others is ON

i. When sticky bit is set on a dir,files in that dir may be unlinked or renamed only by the root user or by its owner.

ii. Commonly found in dir like /tmp, that are world –writable.

Set UID & GID :- is applicable to an executable file & is used for project sharing.

#chmod 4000+file_permissions filename  here 4000 implies enable UserID

#chmod 2000+file_permissions filename  here 2000 implies enable GroupID

Eg:- #chmod 4777 file4

#chmod 2777 file5

#ls –l

-rwsrwxrwx ……………… file4

-rwxrwsrwx ……………… file5

#umask whenever a user creates a file, the OS assigns default permissions to the file with out the intermission of the user. It is defined by the umask value specified in /etc/profile. the default umask value os 022, but the value 027 is more effective. So the default file permission is 666 & that of a directory is 777.

Change ownership:-

Root is the only user who has the permission to change ownership of a file. So in case, if u have logged in as a normal user, u have to log in as root to do this. The cmnd used for this purpose is ‘chown’

#chown nas f3 to change the ownership of the file f3 from current owner to nas

USER & GROUP MANAGEMENT

User Management

#useradd username (OR) #useradd username used to create a new user.

#passwd username It changes password for the corresponding user.

User add can also be done by specifying a no: of attributes like

#useradd –u uid –s shell –c command –d home_directory –g group –G groups username

uid user identification no, 0-99 for system purpose, 0 reserved for root,

100-60,000used for general purpose.

gid group identification no, 0-99 for system purpose, 100-600 for general purpose

pid process identification no, to identify all the processes running on your system

groups - maximum of 15 groups is only possible as secondary group for a user.



#usermod attributes username helps to modify already given attributes.

#userdel username only deletes an existing account, not user directory.

#userdel –r username deletes a user account along with home directory.





GROUP

#groupadd groupname adds a new group

#groupadd attributes groupname adds a new group along with its attributes.

#groupmod groupname modifies the attributes of a group

#groupdel groupname deletes an existing group



#id –u username displays the userid no of the user specified

#id username displays uid,gid and all secondary groups that user

#groups displays the default groups in your machine



Switch User

#su username to change from current user to user specified

#su – username change to the specified user along with his home directory.





/etc/profile

Contains several information regarding the history size, the umask value etc, which is applicable to all the users.



#vi /etc/profile

:

HISTSIZE =1010 [this entry helps to change the history size]

:

echo [this entry will help display what ever written after it]

echo Welcome $USER [helps display “Welcome root” if u have logged as root]



echo

sleep 2 [waits for a period of 2 seconds]

clear [helps to obtain a clear window]



After editing this file quit from vi. All this will become applicable if u login again.



#vi /home/nas/.bash_profile helps to change the login contents if u login as a normal user (here the user is nas)



#vi /home/nas/.bash_logout helps to create log out contents for a user(here it is nas)



#vi /etc/issue helps to change the appearance of the log in screen



#vi /etc/issue.net for networking ie, when u log in using network(ie like telnet etc) then the screen appearance for them can be set using this.



#vi /etc/syslog.conf all the log files generated during boot time are kept here



#vi /etc/motd displays the message of the day.



/etc/passwd user id information resides here.

#vi /etc/passwd



nas:x:509:509: :/home/nas:/bin/bash



GID home dir Login shell

UID comment

password

user name



Here the ‘:’ is called the delimiter. Here ‘x’ represents the password, which resides in another file /etc/shadow

#vi /etc/shadow



nas:$1$Dn……………..

This contains 9 fields, which are

Loginid:password:lastchange:min:max:warning:inctive:expiry:





/etc/group  the group id information resides here.

#vi /etc/group



groupname:passwd:gid:users list





FILE PERMISSIONS

We can change the permissions of a file in either using the Symbolic Mode or by using the Absolute Mode.

1.Symbolic Mode :-here we use r for read, w for write , x for execute and

‘+’ to append a permission,’-‘ to remove a permission.

chmod is the command used to change permission bits.

#chmod u=rwx,g=rx,o=r filename

#chattr change the attributes of file ie, who all can delete or add files

’+’ is used to add and ‘-‘ is used to remove permissions.

Eg:- #chattr +i filename - now none will be able to change the file contents.

#chattr –i filename - then it is removed & all functions can be performed



2.Absolute Mode:-here we use nos from 0 to 7.



Value Indications Permissions

0 - - - No permission

1 - - x Only execute

2 - w - Write only

3 - w x Write and execute

4 r - - Read only

5 r – x Read and execute

6 r w - Read and write

7 r w x Full permission



Eg:-#chmod 765 filename full permission for owner, read & write for group members, read & execute permission for others.



Sticky bit

#chmod 1000+file_permission filename here the value 1000 implies it’s a sticky bit

#chmod 1766 f1 implies it is a sticky bit.

#ls –l -rwxrw-rwT

#chmod 1767 f2 I implies it is a sticky bit.

#ls –l -rwxrw-rwt

here T  sticky bit is enabled and executable bit for others is OFF

and t  sticky bit is enabled and executable bit for others is ON

i. When sticky bit is set on a dir,files in that dir may be unlinked or renamed only by the root user or by its owner.

ii. Commonly found in dir like /tmp, that are world –writable.



Set UID & GID :- is applicable to an executable file & is used for project sharing.

#chmod 4000+file_permissions filename  here 4000 implies enable UserID



#chmod 2000+file_permissions filename  here 2000 implies enable GroupID

Eg:- #chmod 4777 file4

#chmod 2777 file5

#ls –l

-rwsrwxrwx ……………… file4

-rwxrwsrwx ……………… file5



#umask whenever a user creates a file, the OS assigns default permissions to the file with out the intermission of the user. It is defined by the umask value specified in /etc/profile. the default umask value os 022, but the value 027 is more effective. So the default file permission is 666 & that of a directory is 777.



Change ownership:-

Root is the only user who has the permission to change ownership of a file. So in case, if u have logged in as a normal user, u have to log in as root to do this. The cmnd used for this purpose is ‘chown’



#chown nas f3 to change the ownership of the file f3 from current owner to nas

Sunday, August 28, 2011

Different types of Linux Editors

Different types of Linux Editors

Different types of editors are available.Some of them are vi, emacs, joe, pico etc.

Here we are going to deal with vi editor.

VI EDITOR

#vi is the command used to open vi editor. Inorder for this editor to work successfully, one has to use both command mode and insert mode.

Command mode (press Esc key)

Insert mode (press I or Insert key)—data entering is possible only in this mode.

#vi filename opens an existing file or creates a new file

To exit from vi first go to cmnd mode (ie, press Esc), then press

:q to simply quit

:q! to quit forcefully

:w save the changes or entries given

:w newfilename - to save the file in a new name (similar to copy cmnd)

:wq to write and quit

To edit, delete & change text using a vi editor, first go to cmnd mode, then

(i) press x to delete a character from the cursor position

(ii) press dd to delete or cut a line

press 2dd deletes 2 lines from cursor position

(iii) press r to replace a character

(iv) press yy to copy text

press 4yy copy 4 lines from current cursor position

(v) press p to paste the copied or cut lines

(vi) press u undo

(vii) type :set nu to display line numbers, temporarily

(viii) type :set nonu remove the line numbers

(ix) type :sh to return to shell prompt with out leaving the vi editor. To go back to vi editor from this shell prompt, type exit

(x) :!ls used to display directory contents in vi editor.

To search a string in an editor, first go to cmnd mode, then type

/var to search a string named var in the file opened in the vi editor.

To search and replace string in an editor, first go to cmnd mode, then type

:g/redhat/s//nascent/g the word redhat is searched and replaced with nascent.

DEVICE CONFIGURATION

#timeconfig used to configure time zone

#mouseconfig to configure mouse

#setup used for configuring devices like mouse,network,printer,system services,etc

#printconf used to configure printer

#netconfig to configure network.It replaces existing configuration file (/etc/sysconfig/networking/ifcfg-eth0).

Device Configuration in X-window Mode

# system -config-time for time settings

# system -config-keyboard for keyboard settings

# system -config-languages to configure language options

# system -config-mouse configure mouse

# system -config-network configures networking

# system -config-printer to configure printer

# system -config-xfree86 works in both text and graphical mode(display card)

# system -config-sevices configure system services

# system -config-securitylevel used for firewall configuration

# system -config-soundcard configures soundcard

# system -config-users configure users and groups

# system -config-packages to install or uninstall packages(like add/remove in windows)

DISK MOUNTING

CDROM

#mount /dev/cdrom /mnt/cdrom (OR) #mount /mnt/cdromcmnd used to mount a cdrom

to read the contents of a cdrom, you have to use the cmnd

#cd /mnt/cdrom then use ls cmnd and read.

To unmount a cdrom, first u have to come out of the cdrom’s directory and then

#umount /mnt/cdrom then give the cmnd #eject

FLOPPY DISK

#mount /mnt/floppy (OR) #mount /dev/fd0 /mnt/floppy.

To unmount a floppy, use the cmnd

#umount /mnt/floppy

FDD & CDROM gets automatically mounted in the case of X-Window mode.

The file /etc/mtab contains already mounted file systems.

#mount –a mounts all file systems (other than the ones with auto)

#umount –a unmounts all file system types.

Files to be mounted at boot time:

The file named /etc/fstab contains the file system to be mounted during system startup.

#cat /etc/fstab (contains the following entries)

LABEL=/ / ext3 defaults 1 1

LABEL=/boot /boot ext3 defaults 1 2

/dev/cdrom /mnt/cdrom udf iso9668 noauto,owner,kudzu……

/dev/fd0 /mnt/floppy auto noauto owner,kudz……

This file /etc/fstab contains 6 columns.

1st column indicates device information

2nd column indicates mount points

3rd column indicates file system (FAT,ext2/3 etc)

4th column indicates mount point options available with file systems

5th column indicates dump option (ie, if it has to be checked at rebooting)

6th column indicates the order in which file system checks are done at reboot time (here 1,2…indicates the priority)

DISK PARTITIONING and FORMATING

#fdisk command used for disk management (disk partitioning tool)

#fdisk /dev/hda hard disk then press Enter key.

Command (m or ? for help):m [displays help]

:p available partitions

:n adds a new partition

:d deletes a partition

:q quit

:w write/save partitions

:l list known partition types

:t changes a partitions system id

#mkfs –t file_systemtype partition_no: -->creates a file system(cmnd used to format) eg:- #mkfs –t ext3 /dev/hda….

#tune2fs used to adjust tunable file system parameters

#e2fsck check a Linux partition manually(like scan disk in windows)

#fdformat /dev/fd0 cmnd used to format floppy disk.

RUN LEVELS

The default run level information resides in /etc/inittab and the run control scripts for all run levels resides in /etc/rc.d/…

The default run levels used by Red Hat systems is :

#init 0 halt or shut down the machine

#init 1 single user mode or the maintenance mode

#init 2 multi-user mode with out NFS

#init 3 full multi-user mode

#init 4 unused (User-Defined)

#init 5 X-window mode

#init 6 Reboot

If we edit the file /etc/inittab, then we can change the default run level.

Messaging & Scheduling Shutdown

#wall ‘message’ broadcast the message typed to all users in that n/w

#write usrname/terminal [press enter] message [press cntrl+z] used to send message to a particular user.

#write nas [press enter] Hello [press cntrl+z]will send Hello to nas

#write nas tty3 [press enter] there? [press cntrl+z]if more than one person has logged in as nas and if u want to send to a person who is in

terminal3, then this cmnd helps to do so.

#mesg n ->controls/blocks user messages (only normal users not root users)

#shutdown –f –h +60 “message” server will shutdown automatically in 60 mins

#shutdown –c will cancel the scheduled shutdown process.

PACKAGE MANAGEMENT

In x-window mode, the command used to add/remove packages is

#redhat-config-packages

In text mode, we use rpm (red hat package management) command. For this

1st mount your Linux CD #mount /mnt/cdrom

then go to the dir #cd /mnt/cdrom/RedHat/RPMS

the extension of all files in this dir will be .rpm

#rpm –ivh packagename to install the specified package

eg:- #rpm –ivh telnet-serve… .rpm to install telnet server

Here ivh install verify hash(show #)

#rpm –e packagename to remove an existing package

#rpm –Uvh packagename will install if package is absent or upgrade an existing one

#rpm –ivh - -nodeps - -force packagename install packages with out dependencies.

#rpm –qa shows all installed packages

#rpm –q packagename shows if the mentioned package is installed or not

#rpm –qa | grep ‘string’ to display installed packages that has the specified string in it

#rpm –ql file_name To display package to which that file belongs to .

After installing or removing a package, u must update using the command #updatedb

Different types of Linux Editors

Different types of Linux Editors

Different types of editors are available.Some of them are vi, emacs, joe, pico etc.

Here we are going to deal with vi editor.

VI EDITOR

#vi is the command used to open vi editor. Inorder for this editor to work successfully, one has to use both command mode and insert mode.

Command mode (press Esc key)

Insert mode (press I or Insert key)—data entering is possible only in this mode.

#vi filename opens an existing file or creates a new file

To exit from vi first go to cmnd mode (ie, press Esc), then press

:q to simply quit

:q! to quit forcefully

:w save the changes or entries given

:w newfilename - to save the file in a new name (similar to copy cmnd)

:wq to write and quit

To edit, delete & change text using a vi editor, first go to cmnd mode, then

(i) press x to delete a character from the cursor position

(ii) press dd to delete or cut a line

press 2dd deletes 2 lines from cursor position

(iii) press r to replace a character

(iv) press yy to copy text

press 4yy copy 4 lines from current cursor position

(v) press p to paste the copied or cut lines

(vi) press u undo

(vii) type :set nu to display line numbers, temporarily

(viii) type :set nonu remove the line numbers

(ix) type :sh to return to shell prompt with out leaving the vi editor. To go back to vi editor from this shell prompt, type exit

(x) :!ls used to display directory contents in vi editor.

To search a string in an editor, first go to cmnd mode, then type

/var to search a string named var in the file opened in the vi editor.

To search and replace string in an editor, first go to cmnd mode, then type

:g/redhat/s//nascent/g the word redhat is searched and replaced with nascent.

DEVICE CONFIGURATION

#timeconfig used to configure time zone

#mouseconfig to configure mouse

#setup used for configuring devices like mouse,network,printer,system services,etc

#printconf used to configure printer

#netconfig to configure network.It replaces existing configuration file (/etc/sysconfig/networking/ifcfg-eth0).

Device Configuration in X-window Mode

# system -config-time for time settings

# system -config-keyboard for keyboard settings

# system -config-languages to configure language options

# system -config-mouse configure mouse

# system -config-network configures networking

# system -config-printer to configure printer

# system -config-xfree86 works in both text and graphical mode(display card)

# system -config-sevices configure system services

# system -config-securitylevel used for firewall configuration

# system -config-soundcard configures soundcard

# system -config-users configure users and groups

# system -config-packages to install or uninstall packages(like add/remove in windows)

DISK MOUNTING

CDROM

#mount /dev/cdrom /mnt/cdrom (OR) #mount /mnt/cdromcmnd used to mount a cdrom

to read the contents of a cdrom, you have to use the cmnd

#cd /mnt/cdrom then use ls cmnd and read.

To unmount a cdrom, first u have to come out of the cdrom’s directory and then

#umount /mnt/cdrom then give the cmnd #eject

FLOPPY DISK

#mount /mnt/floppy (OR) #mount /dev/fd0 /mnt/floppy.

To unmount a floppy, use the cmnd

#umount /mnt/floppy

FDD & CDROM gets automatically mounted in the case of X-Window mode.

The file /etc/mtab contains already mounted file systems.

#mount –a mounts all file systems (other than the ones with auto)

#umount –a unmounts all file system types.

Files to be mounted at boot time:

The file named /etc/fstab contains the file system to be mounted during system startup.

#cat /etc/fstab (contains the following entries)

LABEL=/ / ext3 defaults 1 1

LABEL=/boot /boot ext3 defaults 1 2

/dev/cdrom /mnt/cdrom udf iso9668 noauto,owner,kudzu……

/dev/fd0 /mnt/floppy auto noauto owner,kudz……

This file /etc/fstab contains 6 columns.

1st column indicates device information

2nd column indicates mount points

3rd column indicates file system (FAT,ext2/3 etc)

4th column indicates mount point options available with file systems

5th column indicates dump option (ie, if it has to be checked at rebooting)

6th column indicates the order in which file system checks are done at reboot time (here 1,2…indicates the priority)

DISK PARTITIONING and FORMATING

#fdisk command used for disk management (disk partitioning tool)

#fdisk /dev/hda hard disk then press Enter key.

Command (m or ? for help):m [displays help]

:p available partitions

:n adds a new partition

:d deletes a partition

:q quit

:w write/save partitions

:l list known partition types

:t changes a partitions system id

#mkfs –t file_systemtype partition_no: -->creates a file system(cmnd used to format) eg:- #mkfs –t ext3 /dev/hda….

#tune2fs used to adjust tunable file system parameters

#e2fsck check a Linux partition manually(like scan disk in windows)

#fdformat /dev/fd0 cmnd used to format floppy disk.

RUN LEVELS

The default run level information resides in /etc/inittab and the run control scripts for all run levels resides in /etc/rc.d/…

The default run levels used by Red Hat systems is :

#init 0 halt or shut down the machine

#init 1 single user mode or the maintenance mode

#init 2 multi-user mode with out NFS

#init 3 full multi-user mode

#init 4 unused (User-Defined)

#init 5 X-window mode

#init 6 Reboot

If we edit the file /etc/inittab, then we can change the default run level.

Messaging & Scheduling Shutdown

#wall ‘message’ broadcast the message typed to all users in that n/w

#write usrname/terminal [press enter] message [press cntrl+z] used to send message to a particular user.

#write nas [press enter] Hello [press cntrl+z]will send Hello to nas

#write nas tty3 [press enter] there? [press cntrl+z]if more than one person has logged in as nas and if u want to send to a person who is in

terminal3, then this cmnd helps to do so.

#mesg n ->controls/blocks user messages (only normal users not root users)

#shutdown –f –h +60 “message” server will shutdown automatically in 60 mins

#shutdown –c will cancel the scheduled shutdown process.

PACKAGE MANAGEMENT

In x-window mode, the command used to add/remove packages is

#redhat-config-packages

In text mode, we use rpm (red hat package management) command. For this

1st mount your Linux CD #mount /mnt/cdrom

then go to the dir #cd /mnt/cdrom/RedHat/RPMS

the extension of all files in this dir will be .rpm

#rpm –ivh packagename to install the specified package

eg:- #rpm –ivh telnet-serve… .rpm to install telnet server

Here ivh install verify hash(show #)

#rpm –e packagename to remove an existing package

#rpm –Uvh packagename will install if package is absent or upgrade an existing one

#rpm –ivh - -nodeps - -force packagename install packages with out dependencies.

#rpm –qa shows all installed packages

#rpm –q packagename shows if the mentioned package is installed or not

#rpm –qa | grep ‘string’ to display installed packages that has the specified string in it

#rpm –ql file_name To display package to which that file belongs to .

After installing or removing a package, u must update using the command #updatedb

EDITORS

EDITORS



Different types of editors are available.Some of them are vi, emacs, joe, pico etc.



Here we are going to deal with vi editor.



VI EDITOR



#vi is the command used to open vi editor. Inorder for this editor to work successfully, one has to use both command mode and insert mode.

Command mode (press Esc key)

Insert mode (press I or Insert key)—data entering is possible only in this mode.

#vi filename opens an existing file or creates a new file



To exit from vi first go to cmnd mode (ie, press Esc), then press

:q to simply quit

:q! to quit forcefully

:w save the changes or entries given

:w newfilename - to save the file in a new name (similar to copy cmnd)

:wq to write and quit



To edit, delete & change text using a vi editor, first go to cmnd mode, then

(i) press x to delete a character from the cursor position

(ii) press dd to delete or cut a line

press 2dd deletes 2 lines from cursor position

(iii) press r to replace a character

(iv) press yy to copy text

press 4yy copy 4 lines from current cursor position

(v) press p to paste the copied or cut lines

(vi) press u undo

(vii) type :set nu to display line numbers, temporarily

(viii) type :set nonu remove the line numbers

(ix) type :sh to return to shell prompt with out leaving the vi editor. To go back to vi editor from this shell prompt, type exit

(x) :!ls used to display directory contents in vi editor.



To search a string in an editor, first go to cmnd mode, then type

/var to search a string named var in the file opened in the vi editor.



To search and replace string in an editor, first go to cmnd mode, then type

:g/redhat/s//nascent/g the word redhat is searched and replaced with nascent.



DEVICE CONFIGURATION



#timeconfig used to configure time zone

#mouseconfig to configure mouse

#setup used for configuring devices like mouse,network,printer,system services,etc

#printconf used to configure printer

#netconfig to configure network.It replaces existing configuration file (/etc/sysconfig/networking/ifcfg-eth0).



Device Configuration in X-window Mode



# system -config-time for time settings

# system -config-keyboard for keyboard settings

# system -config-languages to configure language options

# system -config-mouse configure mouse

# system -config-network configures networking

# system -config-printer to configure printer

# system -config-xfree86 works in both text and graphical mode(display card)

# system -config-sevices configure system services

# system -config-securitylevel used for firewall configuration

# system -config-soundcard configures soundcard

# system -config-users configure users and groups

# system -config-packages to install or uninstall packages(like add/remove in windows)



DISK MOUNTING

CDROM

#mount /dev/cdrom /mnt/cdrom (OR) #mount /mnt/cdromcmnd used to mount a cdrom

to read the contents of a cdrom, you have to use the cmnd

#cd /mnt/cdrom then use ls cmnd and read.

To unmount a cdrom, first u have to come out of the cdrom’s directory and then

#umount /mnt/cdrom then give the cmnd #eject



FLOPPY DISK

#mount /mnt/floppy (OR) #mount /dev/fd0 /mnt/floppy.

To unmount a floppy, use the cmnd

#umount /mnt/floppy



FDD & CDROM gets automatically mounted in the case of X-Window mode.



The file /etc/mtab contains already mounted file systems.



#mount –a mounts all file systems (other than the ones with auto)

#umount –a unmounts all file system types.



Files to be mounted at boot time:

The file named /etc/fstab contains the file system to be mounted during system startup.



#cat /etc/fstab (contains the following entries)



LABEL=/ / ext3 defaults 1 1

LABEL=/boot /boot ext3 defaults 1 2

/dev/cdrom /mnt/cdrom udf iso9668 noauto,owner,kudzu……

/dev/fd0 /mnt/floppy auto noauto owner,kudz……



This file /etc/fstab contains 6 columns.

1st column indicates device information

2nd column indicates mount points

3rd column indicates file system (FAT,ext2/3 etc)

4th column indicates mount point options available with file systems

5th column indicates dump option (ie, if it has to be checked at rebooting)

6th column indicates the order in which file system checks are done at reboot time (here 1,2…indicates the priority)







DISK PARTITIONING and FORMATING

#fdisk command used for disk management (disk partitioning tool)

#fdisk /dev/hda hard disk then press Enter key.



Command (m or ? for help):m [displays help]

:p available partitions

:n adds a new partition

:d deletes a partition

:q quit

:w write/save partitions

:l list known partition types

:t changes a partitions system id



#mkfs –t file_systemtype partition_no: -->creates a file system(cmnd used to format) eg:- #mkfs –t ext3 /dev/hda….

#tune2fs used to adjust tunable file system parameters

#e2fsck check a Linux partition manually(like scan disk in windows)

#fdformat /dev/fd0 cmnd used to format floppy disk.



RUN LEVELS

The default run level information resides in /etc/inittab and the run control scripts for all run levels resides in /etc/rc.d/…



The default run levels used by Red Hat systems is :



#init 0 halt or shut down the machine

#init 1 single user mode or the maintenance mode

#init 2 multi-user mode with out NFS

#init 3 full multi-user mode

#init 4 unused (User-Defined)

#init 5 X-window mode

#init 6 Reboot



If we edit the file /etc/inittab, then we can change the default run level.





Messaging & Scheduling Shutdown

#wall ‘message’ broadcast the message typed to all users in that n/w

#write usrname/terminal [press enter] message [press cntrl+z] used to send message to a particular user.

#write nas [press enter] Hello [press cntrl+z]will send Hello to nas

#write nas tty3 [press enter] there? [press cntrl+z]if more than one person has logged in as nas and if u want to send to a person who is in

terminal3, then this cmnd helps to do so.

#mesg n ->controls/blocks user messages (only normal users not root users)

#shutdown –f –h +60 “message” server will shutdown automatically in 60 mins

#shutdown –c will cancel the scheduled shutdown process.



PACKAGE MANAGEMENT

In x-window mode, the command used to add/remove packages is

#redhat-config-packages



In text mode, we use rpm (red hat package management) command. For this

1st mount your Linux CD #mount /mnt/cdrom

then go to the dir #cd /mnt/cdrom/RedHat/RPMS

the extension of all files in this dir will be .rpm



#rpm –ivh packagename to install the specified package

eg:- #rpm –ivh telnet-serve… .rpm to install telnet server



Here ivh install verify hash(show #)

#rpm –e packagename to remove an existing package

#rpm –Uvh packagename will install if package is absent or upgrade an existing one

#rpm –ivh - -nodeps - -force packagename install packages with out dependencies.

#rpm –qa shows all installed packages

#rpm –q packagename shows if the mentioned package is installed or not

#rpm –qa | grep ‘string’ to display installed packages that has the specified string in it

#rpm –ql file_name To display package to which that file belongs to .



After installing or removing a package, u must update using the command #updatedb



Thursday, August 25, 2011

LINUX BASIC COMMANDS

LINUX BASIC COMMANDS

#clear clears the screen

#date displays date and time

#cal displays calendar of current month

#cal 1980 displays calendar of year 1980

#cal 5 2020 displays calendar of 5th month of the year 2020.

#hostname to display the host or machine name

#hostname Nascent changes the host name to Nascent from the current one

#domainname to display the current domain name or FQDN

#domainname nas.com changes the domain name to nas.com

The hostname , domain name & network information resides in the following file:

/etc/sysconfig/network

X-Window Mode:-

#startx to enter Linux graphical mode from a text mode.

#init 5 also used to enter graphical mode from a text mode.

Cntrl+Alt+Backspace to quit from x-window mode.

Shut down from LINUX:-

#logout is the command used to logout from a user session

#reboot is the command used to restart or reboot

#init 6 also helps to restart or reboot the system.

#init 0 is the command used to shut down the system.

#halt ,

#poweroff can also be used to shut down the system.

ctrl+d to logout from a user session

ctrl+c interrupts a currently running process and quit from it.

ctrl+w helps to remove word by word

ctrl+u helps to remove a line

#whoami displays the name of currently logged in user.

#who am i displays effective userid (if using ‘su’ cmnd).

#who displays information of all users who have currently logged in.

#finger displays the full information of a user

#users displays all users who have currently logged in

#groups displays all groups

#w displays the information about the users currently logged in along with their processes

#pwd shows the present working directory

#echo $PATH displays the current path of that user.

#uptime tells how long the system has been on

#last show listing of last logged in users.

#dmesg helps to view all boot time messages.

#ps list running processes

#ls displays the directory contents

#ls -l displays files with their attributes. Eg: --rw-r-

#ls -a shows all files including hidden files

#ls -al shows all files along with hidden files and the attributes of each file

#ls -i displays files and its nodes

#ls -sh to display size of a file in human readable form like KB, MB etc.

#ls | more displays directory contents page wise.

#ls a* displays all files starting with ‘a’

#lp to print linux documents

#uname print system information

#uname –a print all information

#uname –m prints all machine information

#uname –r prints kernel release version

#uname –s prints kernel name

#uname –o prints the name of the OS

#Whereis cmnd locate the binary, source, man page files.

#info cmnd displays the information/help of the command given.

| more to display page by page. Eg: -ls | more

| sort to display in alphabetical order. Eg: - ls |more | sort

Directory and File Manipulation: -

#touch filename creates null or zero content files.

#cat > filename creates a new file

#cat filename displays the content of that file.

#cat f1 >f2 creates a copy of the file f1 as f2.

#cat >> f4 helps to append a line to the end of a created file.

#mv helps to rename or move location of files/directories.

#mv f3 f5 renames f3 to f5

#mv f4 /etc/ moves the file from current location to given location.

#rm f4 deletes a file named f4.

#mkdir directoryname creates a new directory.

#mv d1 d2 changes directory name from d1 to d2

#cd d3 used to change to directory d3.

#cd .. used to change to previous directory.

#cd / used to change to root directory.

#rmdir dirname to delete an empty directory

#rm –r dirname to delete a directory which is not empty and also needs confirmation.

#rm –rf dirname to delete a directory forcefully with out asking for confirmation.

#cp f1 f2 used to copy file f1 to f2

#cp –R dirname copies a dir along with all its contents(subdirectories)

#less filename to display file content page wise.

#head –2 filename displays the first 2 lines of the file specified.

#tail –5 filename displays the last 5 lines of the mentioned file.

#diff f1 f3 displays the difference between the files f1 and f3.

#cmp f1 f3 compares the 2 files f1 and f3.

#wc –l filename displays the no: of lines in the particular file.

#wc –c filename displays the no: of characters in specified file.

#df –m displays all Linux partitions with memory size in MB.

#fdisk command used for disk management

File Attributes

LINK

Links can be classified into 2 types, they are Soft link and Hard link.

#ln filename link-name used to create Hard link

Here the inode value is same for both file and link. Here even if the source is gone, the link will still exist. Hard link cannot be created for a directory.

#ln –s file/dir_name link-name used to create Soft Link

Here the inode value is different for file and link. Here if the source is gone, the link not work.

Search a File from Command Mode: -

#find directory –name filename

Eg:- #find /etc –name god to search a file named god in the directory /etc.

#grep ‘string’ filename search a particular string/text in the given file.

Eg:- #grep ‘default’ /etc/inittab to search a string named default in this file.

#ls | grep ‘string’ to search all files/dir starting with the given string

Eg:- #ls | grep ‘init’ to search all files starting with init

#whatis lists directory contents

#locate item to be searched to search that particular item

Eg: -locate binaries search for binaries.

LINUX BASIC COMMANDS

LINUX BASIC COMMANDS

#clear clears the screen

#date displays date and time

#cal displays calendar of current month

#cal 1980 displays calendar of year 1980

#cal 5 2020 displays calendar of 5th month of the year 2020.

#hostname to display the host or machine name

#hostname Nascent changes the host name to Nascent from the current one

#domainname to display the current domain name or FQDN

#domainname nas.com changes the domain name to nas.com

The hostname , domain name & network information resides in the following file:

/etc/sysconfig/network

X-Window Mode:-

#startx to enter Linux graphical mode from a text mode.

#init 5 also used to enter graphical mode from a text mode.

Cntrl+Alt+Backspace to quit from x-window mode.

Shut down from LINUX:-

#logout is the command used to logout from a user session

#reboot is the command used to restart or reboot

#init 6 also helps to restart or reboot the system.

#init 0 is the command used to shut down the system.

#halt ,

#poweroff can also be used to shut down the system.

ctrl+d to logout from a user session

ctrl+c interrupts a currently running process and quit from it.

ctrl+w helps to remove word by word

ctrl+u helps to remove a line

#whoami displays the name of currently logged in user.

#who am i displays effective userid (if using ‘su’ cmnd).

#who displays information of all users who have currently logged in.

#finger displays the full information of a user

#users displays all users who have currently logged in

#groups displays all groups

#w displays the information about the users currently logged in along with their processes

#pwd shows the present working directory

#echo $PATH displays the current path of that user.

#uptime tells how long the system has been on

#last show listing of last logged in users.

#dmesg helps to view all boot time messages.

#ps list running processes

#ls displays the directory contents

#ls -l displays files with their attributes. Eg: --rw-r-

#ls -a shows all files including hidden files

#ls -al shows all files along with hidden files and the attributes of each file

#ls -i displays files and its nodes

#ls -sh to display size of a file in human readable form like KB, MB etc.

#ls | more displays directory contents page wise.

#ls a* displays all files starting with ‘a’

#lp to print linux documents

#uname print system information

#uname –a print all information

#uname –m prints all machine information

#uname –r prints kernel release version

#uname –s prints kernel name

#uname –o prints the name of the OS

#Whereis cmnd locate the binary, source, man page files.

#info cmnd displays the information/help of the command given.

| more to display page by page. Eg: -ls | more

| sort to display in alphabetical order. Eg: - ls |more | sort

Directory and File Manipulation: -

#touch filename creates null or zero content files.

#cat > filename creates a new file

#cat filename displays the content of that file.

#cat f1 >f2 creates a copy of the file f1 as f2.

#cat >> f4 helps to append a line to the end of a created file.

#mv helps to rename or move location of files/directories.

#mv f3 f5 renames f3 to f5

#mv f4 /etc/ moves the file from current location to given location.

#rm f4 deletes a file named f4.

#mkdir directoryname creates a new directory.

#mv d1 d2 changes directory name from d1 to d2

#cd d3 used to change to directory d3.

#cd .. used to change to previous directory.

#cd / used to change to root directory.

#rmdir dirname to delete an empty directory

#rm –r dirname to delete a directory which is not empty and also needs confirmation.

#rm –rf dirname to delete a directory forcefully with out asking for confirmation.

#cp f1 f2 used to copy file f1 to f2

#cp –R dirname copies a dir along with all its contents(subdirectories)

#less filename to display file content page wise.

#head –2 filename displays the first 2 lines of the file specified.

#tail –5 filename displays the last 5 lines of the mentioned file.

#diff f1 f3 displays the difference between the files f1 and f3.

#cmp f1 f3 compares the 2 files f1 and f3.

#wc –l filename displays the no: of lines in the particular file.

#wc –c filename displays the no: of characters in specified file.

#df –m displays all Linux partitions with memory size in MB.

#fdisk command used for disk management

File Attributes

LINK

Links can be classified into 2 types, they are Soft link and Hard link.

#ln filename link-name used to create Hard link

Here the inode value is same for both file and link. Here even if the source is gone, the link will still exist. Hard link cannot be created for a directory.

#ln –s file/dir_name link-name used to create Soft Link

Here the inode value is different for file and link. Here if the source is gone, the link not work.

Search a File from Command Mode: -

#find directory –name filename

Eg:- #find /etc –name god to search a file named god in the directory /etc.

#grep ‘string’ filename search a particular string/text in the given file.

Eg:- #grep ‘default’ /etc/inittab to search a string named default in this file.

#ls | grep ‘string’ to search all files/dir starting with the given string

Eg:- #ls | grep ‘init’ to search all files starting with init

#whatis lists directory contents

#locate item to be searched to search that particular item

Eg: -locate binaries search for binaries.

LINUX BASIC COMMANDS

LINUX BASIC COMMANDS



#clear clears the screen

#date displays date and time

#cal displays calendar of current month

#cal 1980 displays calendar of year 1980

#cal 5 2020 displays calendar of 5th month of the year 2020.

#hostname to display the host or machine name

#hostname Nascent changes the host name to Nascent from the current one

#domainname to display the current domain name or FQDN

#domainname nas.com changes the domain name to nas.com



The hostname , domain name & network information resides in the following file:

/etc/sysconfig/network



X-Window Mode:-



#startx to enter Linux graphical mode from a text mode.

#init 5 also used to enter graphical mode from a text mode.



Cntrl+Alt+Backspace to quit from x-window mode.



Shut down from LINUX:-



#logout is the command used to logout from a user session

#reboot is the command used to restart or reboot

#init 6 also helps to restart or reboot the system.

#init 0 is the command used to shut down the system.

#halt ,

#poweroff can also be used to shut down the system.



ctrl+d to logout from a user session

ctrl+c interrupts a currently running process and quit from it.

ctrl+w helps to remove word by word

ctrl+u helps to remove a line



#whoami displays the name of currently logged in user.

#who am i displays effective userid (if using ‘su’ cmnd).



#who displays information of all users who have currently logged in.

#finger displays the full information of a user

#users displays all users who have currently logged in

#groups displays all groups

#w displays the information about the users currently logged in along with their processes

#pwd shows the present working directory

#echo $PATH displays the current path of that user.

#uptime tells how long the system has been on

#last show listing of last logged in users.

#dmesg helps to view all boot time messages.

#ps list running processes

#ls displays the directory contents



#ls -l displays files with their attributes. Eg: --rw-r-

#ls -a shows all files including hidden files

#ls -al shows all files along with hidden files and the attributes of each file

#ls -i displays files and its nodes

#ls -sh to display size of a file in human readable form like KB, MB etc.

#ls | more displays directory contents page wise.

#ls a* displays all files starting with ‘a’

#lp to print linux documents

#uname print system information

#uname –a print all information

#uname –m prints all machine information

#uname –r prints kernel release version

#uname –s prints kernel name

#uname –o prints the name of the OS



#Whereis cmnd locate the binary, source, man page files.

#info cmnd displays the information/help of the command given.

| more to display page by page. Eg: -ls | more

| sort to display in alphabetical order. Eg: - ls |more | sort



Directory and File Manipulation: -

#touch filename creates null or zero content files.

#cat > filename creates a new file

#cat filename displays the content of that file.

#cat f1 >f2 creates a copy of the file f1 as f2.

#cat >> f4 helps to append a line to the end of a created file.



#mv helps to rename or move location of files/directories.

#mv f3 f5 renames f3 to f5

#mv f4 /etc/ moves the file from current location to given location.





#rm f4 deletes a file named f4.

#mkdir directoryname creates a new directory.

#mv d1 d2 changes directory name from d1 to d2

#cd d3 used to change to directory d3.

#cd .. used to change to previous directory.

#cd / used to change to root directory.

#rmdir dirname to delete an empty directory

#rm –r dirname to delete a directory which is not empty and also needs confirmation.

#rm –rf dirname to delete a directory forcefully with out asking for confirmation.

#cp f1 f2 used to copy file f1 to f2

#cp –R dirname copies a dir along with all its contents(subdirectories)

#less filename to display file content page wise.

#head –2 filename displays the first 2 lines of the file specified.

#tail –5 filename displays the last 5 lines of the mentioned file.

#diff f1 f3 displays the difference between the files f1 and f3.

#cmp f1 f3 compares the 2 files f1 and f3.

#wc –l filename displays the no: of lines in the particular file.

#wc –c filename displays the no: of characters in specified file.

#df –m displays all Linux partitions with memory size in MB.

#fdisk command used for disk management



File Attributes



LINK

Links can be classified into 2 types, they are Soft link and Hard link.



#ln filename link-name used to create Hard link

Here the inode value is same for both file and link. Here even if the source is gone, the link will still exist. Hard link cannot be created for a directory.



#ln –s file/dir_name link-name used to create Soft Link

Here the inode value is different for file and link. Here if the source is gone, the link not work.





Search a File from Command Mode: -

#find directory –name filename

Eg:- #find /etc –name god to search a file named god in the directory /etc.

#grep ‘string’ filename search a particular string/text in the given file.

Eg:- #grep ‘default’ /etc/inittab to search a string named default in this file.

#ls | grep ‘string’ to search all files/dir starting with the given string

Eg:- #ls | grep ‘init’ to search all files starting with init

#whatis lists directory contents

#locate item to be searched to search that particular item

Eg: -locate binaries search for binaries.

Wednesday, August 24, 2011

Redhat Linux Installation and Planning

Redhat Linux Installation and Planning 

The first step in installation planning is to determine the need that the system must satisfy. Installation will go more smoothly if you have collected information about the hardware on the system.

Before beginning the installation, you will have to gather the following details:

 CPU: type and speed

 Motherboard: bus type such as ISA, EISA, VESA, PCI, MCA and so on.

 System RAM: size

 Network Adapters

 Modems: IRQ, DMA and IO ports used.

 Sound cards: make and model

 Serial and Parallel ports

 Mouse: type (serial, PS2 or Bus)

 Video Cards: make, model, chipset, amount of RAM and color

 Monitor: Make horizontal sync range and vertical sync range.

If your system will be attached to a network, you should have the following information available:

 Method of IP address assignment: static, DHCP, BOOTP

 For statically defined hosts, you should have the following information available:

o IP address

o Netmask

o Gateway

o Fully qualified domain name (FQDN)

Selecting the Installation User Interface

Red Hat Linux supports different installation types:

Beginners generally find the graphical mode installation procedure easier to use. However, you may prefer the text mode installation for the following reasons.

 The graphical mode installation procedure may fail if the target system has unusual video characteristics, such as an old uncommon video adapter.

 The text mode installation can recover from some errors – such as running out of disk space – that cause the graphical mode installation procedure.

 The text mode installation will run better and faster than the graphical mode installation on computers having slow processor or a small amount of RAM.

Selecting the Installation Class

The Red Hat Linux installation procedure provides three default installation classes or configuration.

 GNOME Workstation (Only install GNOME desktop manager. It doesn’t disturb other non Linux partitions in the Hard Disk)

 KDE Workstation (Only install KDE desktop manager. It doesn’t disturb other non Linux partitions in the Hard Disk)

 Server (It disturbs other non-Linux partitions in the Hard Disk. So other file system may be corrupt.)

 Custom (You can customize your installation. It doesn’t disturb other non Linux partitions in the Hard Disk )

During Installation you will have to create at least two partitions named Linux native (ext3 file system) partition and Linux SWAP partition. Minimum of 3 GB space required for Full Installation in the case of Red Hat 7.2.

The main partitions are:

 A swap partition: Its size may be 2-3 times of available RAM and create up to 8 swap partition but total swap space can’t exceed 4GB.

 A boot partition: 16MB – 30MB (/boot)

 A root partition (/): That uses the remaining free disk spaces.

Partitioning the Hard Disk

If you select either of the workstation installation classes or the Server installation class, the installation procedure partitions your hard disk drive

automatically. However, if you select the Custom installation class, you must manually partition the hard disk.

Directories that are often made mount point of separate partition include:

/home /opt /tmp /usr /var

/boot: It should be kept in a separate partition with in 1024 cylinder region (between 9 GB space), that is addressable by the system’s BIOS.

In designing the partition structure, the following directories should be kept in a single partition:

/ /etc /bin /sbin /lib

/dev /mnt

Using fips

Often, a target system has insufficient free disk space for installing Linux. If an MS-DOS (FAT or FAT32) partition contains unused space, you can use to split the partition, creating empty partition into which you can install Linux.

To use fips, follow these steps:

1. Use scandisk to check the partition for errors.

2. Use defrag to move the file to the low end of the partition.

3. Disable virtual memory by using the system control panel applet.

4. Create MS-DOS boot floppy by using the Add/Remove programs Control Panel applet.

5. Copy the following files from the installation CDROM to the floppy disk. Restrrb.exe, fips.exe, errors.txt from Linux CD (\DosUtils\fips20)

6. Boot from the floppy and run fips

Note: we can use any other third Party disk Partitioning Tool (eg: Partition Magic)

Booting from a Boot Floppy Disk

Dos/Win Linux/Unix

Install Floppy  Insert a formatted floppy.

 cd \dosutils

 rewrite

 Image file is …\images\bootdisk.img

 destination is a:  Insert a formatted floppy

 mount /mnt/cdrom

 dd if=/mnt/cdrom/images/bootdisk.img of=/dev/fd0 bs=1440k

Boot Disk  mkbootdisk --device /dev/fd0 2.2.12-2.0

Note:

We can select installation media via following methods.

Local CDROM, FTP, HTTP, NFS

Console and Message Logs

Console Keystrokes Contents

1 Ctrl+Alt+F1 Text-based installation procedure

2 Ctrl+Alt+F2 Shell prompt

3 Ctrl+Alt+F3 Messages from installation

4 Ctrl+Alt+F4 Kernel messages

5 Ctrl+Alt+F5 Other messages, including file system creation messages

7 Ctrl+Alt+F7 Graphical installation procedure

Boot Loaders

A boot loader is the first software program that runs when a computer starts.It is responsible for loading and transferring control to an operating system “kernel” software. The kernel, in turn, initializes the rest of the operating system.

Linux Loaders:- There are two types of Linux loaders. They are LILO and GRUB.

LILO :- LInux LOader is available in almost all Linux flavours. Lilo configuration file resides in /etc/lilo.conf

lilo –v installs a boot loader that will be activated next time you boot

GRUB:- Grand Unified Boot loader is a flexible and powerful boot loader programmed for PC’s. It can load a wide variety of free operating systems. GRUB understands file systems and kernel executable formats without recording the physical

position of your kernel on the disk. GRUB configuration files resides in /etc/grub.conf

grub-install installs grub on your drive.

 

Redhat Linux Installation and Planning

Redhat Linux Installation and Planning 

The first step in installation planning is to determine the need that the system must satisfy. Installation will go more smoothly if you have collected information about the hardware on the system.

Before beginning the installation, you will have to gather the following details:

 CPU: type and speed

 Motherboard: bus type such as ISA, EISA, VESA, PCI, MCA and so on.

 System RAM: size

 Network Adapters

 Modems: IRQ, DMA and IO ports used.

 Sound cards: make and model

 Serial and Parallel ports

 Mouse: type (serial, PS2 or Bus)

 Video Cards: make, model, chipset, amount of RAM and color

 Monitor: Make horizontal sync range and vertical sync range.

If your system will be attached to a network, you should have the following information available:

 Method of IP address assignment: static, DHCP, BOOTP

 For statically defined hosts, you should have the following information available:

o IP address

o Netmask

o Gateway

o Fully qualified domain name (FQDN)

Selecting the Installation User Interface

Red Hat Linux supports different installation types:

Beginners generally find the graphical mode installation procedure easier to use. However, you may prefer the text mode installation for the following reasons.

 The graphical mode installation procedure may fail if the target system has unusual video characteristics, such as an old uncommon video adapter.

 The text mode installation can recover from some errors – such as running out of disk space – that cause the graphical mode installation procedure.

 The text mode installation will run better and faster than the graphical mode installation on computers having slow processor or a small amount of RAM.

Selecting the Installation Class

The Red Hat Linux installation procedure provides three default installation classes or configuration.

 GNOME Workstation (Only install GNOME desktop manager. It doesn’t disturb other non Linux partitions in the Hard Disk)

 KDE Workstation (Only install KDE desktop manager. It doesn’t disturb other non Linux partitions in the Hard Disk)

 Server (It disturbs other non-Linux partitions in the Hard Disk. So other file system may be corrupt.)

 Custom (You can customize your installation. It doesn’t disturb other non Linux partitions in the Hard Disk )

During Installation you will have to create at least two partitions named Linux native (ext3 file system) partition and Linux SWAP partition. Minimum of 3 GB space required for Full Installation in the case of Red Hat 7.2.

The main partitions are:

 A swap partition: Its size may be 2-3 times of available RAM and create up to 8 swap partition but total swap space can’t exceed 4GB.

 A boot partition: 16MB – 30MB (/boot)

 A root partition (/): That uses the remaining free disk spaces.

Partitioning the Hard Disk

If you select either of the workstation installation classes or the Server installation class, the installation procedure partitions your hard disk drive

automatically. However, if you select the Custom installation class, you must manually partition the hard disk.

Directories that are often made mount point of separate partition include:

/home /opt /tmp /usr /var

/boot: It should be kept in a separate partition with in 1024 cylinder region (between 9 GB space), that is addressable by the system’s BIOS.

In designing the partition structure, the following directories should be kept in a single partition:

/ /etc /bin /sbin /lib

/dev /mnt

Using fips

Often, a target system has insufficient free disk space for installing Linux. If an MS-DOS (FAT or FAT32) partition contains unused space, you can use to split the partition, creating empty partition into which you can install Linux.

To use fips, follow these steps:

1. Use scandisk to check the partition for errors.

2. Use defrag to move the file to the low end of the partition.

3. Disable virtual memory by using the system control panel applet.

4. Create MS-DOS boot floppy by using the Add/Remove programs Control Panel applet.

5. Copy the following files from the installation CDROM to the floppy disk. Restrrb.exe, fips.exe, errors.txt from Linux CD (\DosUtils\fips20)

6. Boot from the floppy and run fips

Note: we can use any other third Party disk Partitioning Tool (eg: Partition Magic)

Booting from a Boot Floppy Disk

Dos/Win Linux/Unix

Install Floppy  Insert a formatted floppy.

 cd \dosutils

 rewrite

 Image file is …\images\bootdisk.img

 destination is a:  Insert a formatted floppy

 mount /mnt/cdrom

 dd if=/mnt/cdrom/images/bootdisk.img of=/dev/fd0 bs=1440k

Boot Disk  mkbootdisk --device /dev/fd0 2.2.12-2.0

Note:

We can select installation media via following methods.

Local CDROM, FTP, HTTP, NFS

Console and Message Logs

Console Keystrokes Contents

1 Ctrl+Alt+F1 Text-based installation procedure

2 Ctrl+Alt+F2 Shell prompt

3 Ctrl+Alt+F3 Messages from installation

4 Ctrl+Alt+F4 Kernel messages

5 Ctrl+Alt+F5 Other messages, including file system creation messages

7 Ctrl+Alt+F7 Graphical installation procedure

Boot Loaders

A boot loader is the first software program that runs when a computer starts.It is responsible for loading and transferring control to an operating system “kernel” software. The kernel, in turn, initializes the rest of the operating system.

Linux Loaders:- There are two types of Linux loaders. They are LILO and GRUB.

LILO :- LInux LOader is available in almost all Linux flavours. Lilo configuration file resides in /etc/lilo.conf

lilo –v installs a boot loader that will be activated next time you boot

GRUB:- Grand Unified Boot loader is a flexible and powerful boot loader programmed for PC’s. It can load a wide variety of free operating systems. GRUB understands file systems and kernel executable formats without recording the physical

position of your kernel on the disk. GRUB configuration files resides in /etc/grub.conf

grub-install installs grub on your drive.

 

INSTALLATION AND PLANNING

INSTALLATION AND PLANNING

The first step in installation planning is to determine the need that the system must satisfy. Installation will go more smoothly if you have collected information about the hardware on the system.

Before beginning the installation, you will have to gather the following details:

 CPU: type and speed

 Motherboard: bus type such as ISA, EISA, VESA, PCI, MCA and so on.

 System RAM: size

 Network Adapters

 Modems: IRQ, DMA and IO ports used.

 Sound cards: make and model

 Serial and Parallel ports

 Mouse: type (serial, PS2 or Bus)

 Video Cards: make, model, chipset, amount of RAM and color

 Monitor: Make horizontal sync range and vertical sync range.



If your system will be attached to a network, you should have the following information available:



 Method of IP address assignment: static, DHCP, BOOTP

 For statically defined hosts, you should have the following information available:



o IP address

o Netmask



o Gateway

o Fully qualified domain name (FQDN)



Selecting the Installation User Interface



Red Hat Linux supports different installation types:

Beginners generally find the graphical mode installation procedure easier to use. However, you may prefer the text mode installation for the following reasons.



 The graphical mode installation procedure may fail if the target system has unusual video characteristics, such as an old uncommon video adapter.

 The text mode installation can recover from some errors – such as running out of disk space – that cause the graphical mode installation procedure.

 The text mode installation will run better and faster than the graphical mode installation on computers having slow processor or a small amount of RAM.

Selecting the Installation Class



The Red Hat Linux installation procedure provides three default installation classes or configuration.

 GNOME Workstation (Only install GNOME desktop manager. It doesn’t disturb other non Linux partitions in the Hard Disk)

 KDE Workstation (Only install KDE desktop manager. It doesn’t disturb other non Linux partitions in the Hard Disk)

 Server (It disturbs other non-Linux partitions in the Hard Disk. So other file system may be corrupt.)

 Custom (You can customize your installation. It doesn’t disturb other non Linux partitions in the Hard Disk )



During Installation you will have to create at least two partitions named Linux native (ext3 file system) partition and Linux SWAP partition. Minimum of 3 GB space required for Full Installation in the case of Red Hat 7.2.



The main partitions are:

 A swap partition: Its size may be 2-3 times of available RAM and create up to 8 swap partition but total swap space can’t exceed 4GB.

 A boot partition: 16MB – 30MB (/boot)

 A root partition (/): That uses the remaining free disk spaces.



Partitioning the Hard Disk



If you select either of the workstation installation classes or the Server installation class, the installation procedure partitions your hard disk drive



automatically. However, if you select the Custom installation class, you must manually partition the hard disk.





Directories that are often made mount point of separate partition include:



/home /opt /tmp /usr /var



/boot: It should be kept in a separate partition with in 1024 cylinder region (between 9 GB space), that is addressable by the system’s BIOS.



In designing the partition structure, the following directories should be kept in a single partition:



/ /etc /bin /sbin /lib



/dev /mnt



Using fips



Often, a target system has insufficient free disk space for installing Linux. If an MS-DOS (FAT or FAT32) partition contains unused space, you can use to split the partition, creating empty partition into which you can install Linux.



To use fips, follow these steps:

1. Use scandisk to check the partition for errors.

2. Use defrag to move the file to the low end of the partition.

3. Disable virtual memory by using the system control panel applet.

4. Create MS-DOS boot floppy by using the Add/Remove programs Control Panel applet.

5. Copy the following files from the installation CDROM to the floppy disk. Restrrb.exe, fips.exe, errors.txt from Linux CD (\DosUtils\fips20)

6. Boot from the floppy and run fips



Note: we can use any other third Party disk Partitioning Tool (eg: Partition Magic)



Booting from a Boot Floppy Disk

Dos/Win Linux/Unix

Install Floppy  Insert a formatted floppy.

 cd \dosutils

 rewrite

 Image file is …\images\bootdisk.img

 destination is a:  Insert a formatted floppy

 mount /mnt/cdrom

 dd if=/mnt/cdrom/images/bootdisk.img of=/dev/fd0 bs=1440k



Boot Disk  mkbootdisk --device /dev/fd0 2.2.12-2.0





Note:

We can select installation media via following methods.

Local CDROM, FTP, HTTP, NFS





Console and Message Logs

Console Keystrokes Contents

1 Ctrl+Alt+F1 Text-based installation procedure

2 Ctrl+Alt+F2 Shell prompt

3 Ctrl+Alt+F3 Messages from installation

4 Ctrl+Alt+F4 Kernel messages

5 Ctrl+Alt+F5 Other messages, including file system creation messages

7 Ctrl+Alt+F7 Graphical installation procedure



Boot Loaders

A boot loader is the first software program that runs when a computer starts.It is responsible for loading and transferring control to an operating system “kernel” software. The kernel, in turn, initializes the rest of the operating system.

Linux Loaders:- There are two types of Linux loaders. They are LILO and GRUB.



LILO :- LInux LOader is available in almost all Linux flavours. Lilo configuration file resides in /etc/lilo.conf



lilo –v installs a boot loader that will be activated next time you boot



GRUB:- Grand Unified Boot loader is a flexible and powerful boot loader programmed for PC’s. It can load a wide variety of free operating systems. GRUB understands file systems and kernel executable formats without recording the physical



position of your kernel on the disk. GRUB configuration files resides in /etc/grub.conf



grub-install installs grub on your drive.

Monday, August 22, 2011

The UNIX files structure

The UNIX files system internal structure

The boot block

The boot block is usually a part of the disk label. A special set of blocks containing information on the disk layout. The boot block holds the loader to boot the operating system.

The super block

Each UNIX partition usually contains a special block called the super block. The super block contains the basic information about the entire file system. This includes the size of the file system the list of free and allocated blocks the name of the partition, and the modification time of the file system.

Inodes

Information about each file in the file system is kept in a special kernel structure called an inode. The inode contains a pointer to the disk blocks containing the data in the file, as well as other information such as the type of file, the permission bits, the owner and group, the file size, the file modification time, and so on. The inode does not however contain the name of the file. The name of each file is listed in the directory the file associated with. A directory is really just special type of file containing a list of filenames and associated Inodes; When a user attempts to access a given file by name, the name is looked up in the directory where the corresponding inode is found.

The inode structure is used to explain the difference between a hard link and a symbolic link. A hard link is just another directory entry corresponding to the inode of the file. Neither link is considered to be the real file; both of them are. By adding a hard link to a file, the file has multiple names associated with it. Any changes made to one will affect the other. A file is considered deleted when all of the hard links to it (including the original link to the file) are removed. Renaming one of the links or even the original file will not affect the validity of the other links.

By contrast, a symbolic link is actually a special type of file that contains the name of the file it points to. This file has its own inode and is distinct from the original; it contains only a reference to the pathname of the file

being linked to. When the kernel accessed a symbolic link, it recognizes that it is a pointer to another file, and attempts to find that file. This is why symbolic links will become bad if the original file is moved or deleted; they reference only the name of the original file, not the actual data of the file.

#ls –i displays inode values and file names.

Understanding the Red Hat Linux file system

Like other Unix systems, red hat Linux has a hierarchical file system. The top most directory known as root directory of the file system contains several other directories, sometimes called subdirectories. These directories in turn generally contain subdirectories and files.

The directory structure is not arbitrary. For packages to work properly, the location of important files and directories must be standardized.

The Root (/) Directory

The root directory (/) of a Linux system is the directory that contains all other directories and files. Other directories may be separately mounted and the may or may not be present at system startup. Therefore the file system that contains the root directory must contain all files necessary to operate the system in single user mode. The root directory also contains all files needed to shutdown and recovers or repairs the system.

The following directories are essential and must be part of the root file system.

/bin, which contains binary files used by the system administrators and other users.

/sbin, which contain binary files used by the system administrator

/dev, which contains device files

/etc, which contains host specific configuration data

/lib, which contains system libraries

Linux systems typically include several other directories, which may be used as mounting points for non root file systems or which may be used mounting points for non root file systems or which may contain directories and files that reside on the root file system. Some commonly used directories include

/boot, which contains files needed by the boot loader when booting the system. These files could be placed in the root partition. However, Red Hat, inc. recommends that they be placed in a separate partition to overcome common PC BIOS limitations on the location of boot data

/home, which contains users home directories

/lost + found, which contains files recovered during file system rebuilds

/mnt, which contains mount points for temporarily mounted file systems

/proc, which contains system information

/root, which contains the home directory of the root user.

/tmp, which contains temporary files

/usr, which contains shareable, files not essential to basic system operation

/var, which contains non shareable file snot essential to basic system operation

/media, which contains cdrom ,floppy drives only (only in EL-4)

/bin: The Essential Binary Files

It contains files that are generally commands.

Example: df, netstat, kill, su, ping, echo, pwd, touch, cat , ls, rm ,umount, rmdir, uname, chmod, mkdir, rpm, vi, cp, more

/boot: Boot Loader Files

Many PCs contain BIOS code that cannot load a boot record unless the boot record is stored below a given cylinder (usually 1024) of a disk drive. Red Hat recommends that you avoid boot problems by placing boot loader files in a separate partition and placing the partition on a region of the disk that is accessible to the BIOS

The /boot partition generally contains the first stage of the Linux loader (LILO) in its MBR, located on the first cylinder of the partition. It also contains files such as:

Boot.b, vmlinuz, etc.

/dev: Device Files

The Linux /dev directory includes a variety of device files. Most important device files are

1. /dev all device files resides in this directory.

/dev/lp0 parallel port 1 (LPT1 under DOS)

/dev/lp1 parallel port 2 (LPT2 under DOS)

/dev/sr* SCSI cdrom (* implies a,b,etc)

/dev/st* SCSI tape

/dev/md* RAID array (Redundant Array of Inexpensive Disk)

/dev/eth0 Ethernet card 1

/dev/eth1 Ethernet card 2

Device File Device

/dev/fd0, fd1 Implies 1st and 2nd floppy drive (ie, A:, B: under DOS or windows)

/dev/hd* IDE Hard disk or CD Rom

/dev/hda - primary master

/dev/hda1 - 1st partition of primary master (1,2,3,4, represents partition no:)

/dev/hdb - primary slave

/dev/hdb1 - 1st partition of primary slave

/dev/hdc - secondary master

/dev/hdc1 - 1st partition of secondary master.

/dev/hdd - secondary slave

/dev/hdd1 - 1st partition of secondary slave

/dev/sd* SCSI Hard Disk

/dev/sda -1st hard disk of SCSI

/dev/sda1 -1st partition of SCSI device

/dev/ttyS0 -serial communication port 1 (COM1 under DOS)

/dev/ttyS1 -serial communication port 2 (COM2 under DOS)

/dev/sr* SCSI CD Rom

/dev/st* SCSI Tape

/dev/lp* Parallel Port

/dev/ttyS* Serial Communication Port

/dev/md* RAID array

/etc: Host-Specific Configuration files

It contains files and directories that are specific to local host.

Important files in /etc

Files Content

fstab File system table

fdprm Floppy disk parameters

gettydefs Login terminal characteristics

group User Groups

inittab System Startup Configuration

lilo.conf Linux Loader Configuration

motd Message of the day

mtab Mounted file system table

nsswith.conf List of sources for information on users, hosts, networks, and services

passwd User accounts

profile Shell initialization script

securetty List of secure login terminals

shadow User accounts encrypted passwords, if shadow password enabled

shells List of approved shells

syslog.conf System log configurations

exports List of nfs exports

ftp* FTP configurations files

host.conf Host name resolution configuration

hosts List of known hosts

host.allow List of hosts allowed access to services

host.deny Hosts denied access to services

host.eqiv List of trusted hosts

xinetd.conf List of internet super server

networks List of known networks

printcap Printer configuration

protocols List of known protocols

resolv.conf Host name resolution configuration

rpc List of rpc services

services List of TCP/IP services

Important subdirectories of /etc/

Subdirectory Contents

httpd Configuration of http service

pcmcia Configuration of PCMCIA slots and device

rc.d System initialization files

security Security configuration

skel User environment templates

sysconfig System configuration

X11 X windows system configuration

/home: User home directories

It contains home directories of users other than root users (whose home directory is /root). By default, a users home directory is a subdirectory of /home having the same name as user login.

/lib: Shared libraries and kernel modules

It contains libraries and modules needed to boot the system and run programs residing in the /sbin and /bin directories; other libraries resides in /usr/lib, /usr/X11R6/lib. Modules reside in subdirectories of /lib/modules. (Store files like .dll files in Windows)

Example: /lib/modules/2.2.9-15

/lost+found: Recovered files

When u recover a file system, files and data may be partially recovered resides in this directory.

/mnt: Mount point for temporarily mounted file systems

Mount point of CD-ROM (/mnt/cdrom) and floppy drive (/mnt/floppy)

/proc: System information virtual file system

It is a pseudo file system provided by the kernel that contains files and directories that let system administrators and programmers access system information.

Example:

File or Subdirectory Content

Cpuinfo Various architecture depend information

Devices Major device numbers and device group

Dma Registered ISA DMA channel in use

filesystems File system type supported by the kernel

interrupts Information on interrupts and IRQ

Kmsg Kernel message logs

Lodavg Average number of jobs in the urn queue

meminfo Memory allocation information

modules List of loaded modules

Net Network status information

Pci Configuration of PCI devices

Uptime System uptime and idle time

version The version number of running kernel

/sbin: Essential system binaries

It contains essential system binary files used by system administrator.

Example:

Halt, lilo, ifconfig, ifport, chkconfig, poweroff, init, probe, ctrlaltdel, shutdown, dump, e2fsck, mke2fs, ipchains, fdisk, fsck, reboot.

/tmp: Temporary files

It contains temporary files and subdirectories that are automatically deleted ( by default 10 days)

/usr: Sharable Files

./usr file may not be available, so it contains no files or directories that are essential for system operation. Soure codes are stored in /usr/src dir .

Important subdirectories of /usr

Subdirectory Content

/usr/bin Commands used by the ordinary

users

/usr/include Header files

/usr/lib Programming libraries

/usr/man Man files

/usr/src Soruce code

/var: Non-sharable files

It may not be available, and so it contains no essential files or directories.

Important subdirectories of /var

Subdirectory Content

/var/log Log and accounting files

/var/run System information files

/var/spool Spool files including lpd and sendmail

/var/pnp Temporary files

/var/yp NIS files

The UNIX files structure

The UNIX files system internal structure

The boot block

The boot block is usually a part of the disk label. A special set of blocks containing information on the disk layout. The boot block holds the loader to boot the operating system.

The super block

Each UNIX partition usually contains a special block called the super block. The super block contains the basic information about the entire file system. This includes the size of the file system the list of free and allocated blocks the name of the partition, and the modification time of the file system.

Inodes

Information about each file in the file system is kept in a special kernel structure called an inode. The inode contains a pointer to the disk blocks containing the data in the file, as well as other information such as the type of file, the permission bits, the owner and group, the file size, the file modification time, and so on. The inode does not however contain the name of the file. The name of each file is listed in the directory the file associated with. A directory is really just special type of file containing a list of filenames and associated Inodes; When a user attempts to access a given file by name, the name is looked up in the directory where the corresponding inode is found.

The inode structure is used to explain the difference between a hard link and a symbolic link. A hard link is just another directory entry corresponding to the inode of the file. Neither link is considered to be the real file; both of them are. By adding a hard link to a file, the file has multiple names associated with it. Any changes made to one will affect the other. A file is considered deleted when all of the hard links to it (including the original link to the file) are removed. Renaming one of the links or even the original file will not affect the validity of the other links.

By contrast, a symbolic link is actually a special type of file that contains the name of the file it points to. This file has its own inode and is distinct from the original; it contains only a reference to the pathname of the file

being linked to. When the kernel accessed a symbolic link, it recognizes that it is a pointer to another file, and attempts to find that file. This is why symbolic links will become bad if the original file is moved or deleted; they reference only the name of the original file, not the actual data of the file.

#ls –i displays inode values and file names.

Understanding the Red Hat Linux file system

Like other Unix systems, red hat Linux has a hierarchical file system. The top most directory known as root directory of the file system contains several other directories, sometimes called subdirectories. These directories in turn generally contain subdirectories and files.

The directory structure is not arbitrary. For packages to work properly, the location of important files and directories must be standardized.

The Root (/) Directory

The root directory (/) of a Linux system is the directory that contains all other directories and files. Other directories may be separately mounted and the may or may not be present at system startup. Therefore the file system that contains the root directory must contain all files necessary to operate the system in single user mode. The root directory also contains all files needed to shutdown and recovers or repairs the system.

The following directories are essential and must be part of the root file system.

/bin, which contains binary files used by the system administrators and other users.

/sbin, which contain binary files used by the system administrator

/dev, which contains device files

/etc, which contains host specific configuration data

/lib, which contains system libraries

Linux systems typically include several other directories, which may be used as mounting points for non root file systems or which may be used mounting points for non root file systems or which may contain directories and files that reside on the root file system. Some commonly used directories include

/boot, which contains files needed by the boot loader when booting the system. These files could be placed in the root partition. However, Red Hat, inc. recommends that they be placed in a separate partition to overcome common PC BIOS limitations on the location of boot data

/home, which contains users home directories

/lost + found, which contains files recovered during file system rebuilds

/mnt, which contains mount points for temporarily mounted file systems

/proc, which contains system information

/root, which contains the home directory of the root user.

/tmp, which contains temporary files

/usr, which contains shareable, files not essential to basic system operation

/var, which contains non shareable file snot essential to basic system operation

/media, which contains cdrom ,floppy drives only (only in EL-4)

/bin: The Essential Binary Files

It contains files that are generally commands.

Example: df, netstat, kill, su, ping, echo, pwd, touch, cat , ls, rm ,umount, rmdir, uname, chmod, mkdir, rpm, vi, cp, more

/boot: Boot Loader Files

Many PCs contain BIOS code that cannot load a boot record unless the boot record is stored below a given cylinder (usually 1024) of a disk drive. Red Hat recommends that you avoid boot problems by placing boot loader files in a separate partition and placing the partition on a region of the disk that is accessible to the BIOS

The /boot partition generally contains the first stage of the Linux loader (LILO) in its MBR, located on the first cylinder of the partition. It also contains files such as:

Boot.b, vmlinuz, etc.

/dev: Device Files

The Linux /dev directory includes a variety of device files. Most important device files are

1. /dev all device files resides in this directory.

/dev/lp0 parallel port 1 (LPT1 under DOS)

/dev/lp1 parallel port 2 (LPT2 under DOS)

/dev/sr* SCSI cdrom (* implies a,b,etc)

/dev/st* SCSI tape

/dev/md* RAID array (Redundant Array of Inexpensive Disk)

/dev/eth0 Ethernet card 1

/dev/eth1 Ethernet card 2

Device File Device

/dev/fd0, fd1 Implies 1st and 2nd floppy drive (ie, A:, B: under DOS or windows)

/dev/hd* IDE Hard disk or CD Rom

/dev/hda - primary master

/dev/hda1 - 1st partition of primary master (1,2,3,4, represents partition no:)

/dev/hdb - primary slave

/dev/hdb1 - 1st partition of primary slave

/dev/hdc - secondary master

/dev/hdc1 - 1st partition of secondary master.

/dev/hdd - secondary slave

/dev/hdd1 - 1st partition of secondary slave

/dev/sd* SCSI Hard Disk

/dev/sda -1st hard disk of SCSI

/dev/sda1 -1st partition of SCSI device

/dev/ttyS0 -serial communication port 1 (COM1 under DOS)

/dev/ttyS1 -serial communication port 2 (COM2 under DOS)

/dev/sr* SCSI CD Rom

/dev/st* SCSI Tape

/dev/lp* Parallel Port

/dev/ttyS* Serial Communication Port

/dev/md* RAID array

/etc: Host-Specific Configuration files

It contains files and directories that are specific to local host.

Important files in /etc

Files Content

fstab File system table

fdprm Floppy disk parameters

gettydefs Login terminal characteristics

group User Groups

inittab System Startup Configuration

lilo.conf Linux Loader Configuration

motd Message of the day

mtab Mounted file system table

nsswith.conf List of sources for information on users, hosts, networks, and services

passwd User accounts

profile Shell initialization script

securetty List of secure login terminals

shadow User accounts encrypted passwords, if shadow password enabled

shells List of approved shells

syslog.conf System log configurations

exports List of nfs exports

ftp* FTP configurations files

host.conf Host name resolution configuration

hosts List of known hosts

host.allow List of hosts allowed access to services

host.deny Hosts denied access to services

host.eqiv List of trusted hosts

xinetd.conf List of internet super server

networks List of known networks

printcap Printer configuration

protocols List of known protocols

resolv.conf Host name resolution configuration

rpc List of rpc services

services List of TCP/IP services

Important subdirectories of /etc/

Subdirectory Contents

httpd Configuration of http service

pcmcia Configuration of PCMCIA slots and device

rc.d System initialization files

security Security configuration

skel User environment templates

sysconfig System configuration

X11 X windows system configuration

/home: User home directories

It contains home directories of users other than root users (whose home directory is /root). By default, a users home directory is a subdirectory of /home having the same name as user login.

/lib: Shared libraries and kernel modules

It contains libraries and modules needed to boot the system and run programs residing in the /sbin and /bin directories; other libraries resides in /usr/lib, /usr/X11R6/lib. Modules reside in subdirectories of /lib/modules. (Store files like .dll files in Windows)

Example: /lib/modules/2.2.9-15

/lost+found: Recovered files

When u recover a file system, files and data may be partially recovered resides in this directory.

/mnt: Mount point for temporarily mounted file systems

Mount point of CD-ROM (/mnt/cdrom) and floppy drive (/mnt/floppy)

/proc: System information virtual file system

It is a pseudo file system provided by the kernel that contains files and directories that let system administrators and programmers access system information.

Example:

File or Subdirectory Content

Cpuinfo Various architecture depend information

Devices Major device numbers and device group

Dma Registered ISA DMA channel in use

filesystems File system type supported by the kernel

interrupts Information on interrupts and IRQ

Kmsg Kernel message logs

Lodavg Average number of jobs in the urn queue

meminfo Memory allocation information

modules List of loaded modules

Net Network status information

Pci Configuration of PCI devices

Uptime System uptime and idle time

version The version number of running kernel

/sbin: Essential system binaries

It contains essential system binary files used by system administrator.

Example:

Halt, lilo, ifconfig, ifport, chkconfig, poweroff, init, probe, ctrlaltdel, shutdown, dump, e2fsck, mke2fs, ipchains, fdisk, fsck, reboot.

/tmp: Temporary files

It contains temporary files and subdirectories that are automatically deleted ( by default 10 days)

/usr: Sharable Files

./usr file may not be available, so it contains no files or directories that are essential for system operation. Soure codes are stored in /usr/src dir .

Important subdirectories of /usr

Subdirectory Content

/usr/bin Commands used by the ordinary

users

/usr/include Header files

/usr/lib Programming libraries

/usr/man Man files

/usr/src Soruce code

/var: Non-sharable files

It may not be available, and so it contains no essential files or directories.

Important subdirectories of /var

Subdirectory Content

/var/log Log and accounting files

/var/run System information files

/var/spool Spool files including lpd and sendmail

/var/pnp Temporary files

/var/yp NIS files