Subscribe:

Ads 468x60px

Pages

Tuesday, May 24, 2011

Linux Interview Questions with Answers


Q: - What is the difference between ext2 and ext3 file systems?
The ext3 file system is an enhanced version of the ext2 file system.
The most important difference between Ext2 and Ext3 is that Ext3 supports journaling.
After an unexpected power failure or system crash (also called an unclean system shutdown), each mounted ext2 file system on the machine must be checked for consistency by the e2fsck program. This is a time-consuming process and during this time, any data on the volumes is unreachable.
The journaling provided by the ext3 file system means that this sort of file system check is no longer necessary after an unclean system shutdown. The only time a consistency check occurs using ext3 is in certain rare hardware failure cases, such as hard drive failures. The time to recover an ext3 file system after an unclean system shutdown does not depend on the size of the file system or the number of files; rather, it depends on the size of the journal used to maintain consistency. The default journal size takes about a second to recover, depending on the speed of the hardware.

Q: - Any idea about ext4 file system?
The ext4 or fourth extended filesystem is a journaling file system developed as the successor to ext3. Ext4 filesystem released as a functionally complete and stable filesystem in Linux with kernel version 2.6.28.
Features of ext4 file system:-
1. Currently, Ext3 supports 16 TB of maximum file system size and 2 TB of maximum file size. Ext4 have 1 EB of maximum file system size and 16 TB of maximum file size.
[An EB or exabyte is 1018 bytes or 1,048,576 TB]
2. Fast fsck check than ext3
3 In Ext4 the journaling feature can be disabled, which provides a small performance improvement.
4. Online defragmentation.
5. Delayed allocation
Ext4 uses a filesystem performance technique called allocate-on-flush, also known as delayed allocation. It consists of delaying block allocation until the data is going to be written to the disk, unlike some other file systems, which may allocate the necessary blocks before that step.

Q: - How we create ext3 file system on /dev/sda7 disk?
# mkfs –j /dev/sda7

Q: - Can we convert ext2 filesystem to ext3 file system?
Yes, we can convert ext2 to ext3 file system by tune2fs command.
                tune2fs –j   /dev/<Block-Device-Name>

Q: - Is there any data lose during conversion of ext2 filesystem to ext3 filesystem? 
No

Q: - How we will create ext4 file system?
# mke2fs -t ext4 /dev/DEV

Q: - Explain /proc filesystem?
/proc is a virtual filesystem that provides detailed information about Linux kernel, hardware’s and running processes. Files under /proc directory named as Virtual files. Because /proc contains virtual files that’s why it is called virtual file system.
These virtual files have unique qualities. Most of them are listed as zero bytes in size. Virtual files such as /proc/interrupts, /proc/meminfo, /proc/mounts, and /proc/partitions provide an up-to-the-moment glimpse of the system's hardware. Others, like the /proc/filesystems file and the /proc/sys/ directory provide system configuration information and interfaces.
Q: - Can we change files parameters placed under /proc directory? 
Yes
To change the value of a virtual file, use the echo command and a greater than symbol (>) to redirect the new value to the file. For example, to change the hostname on the fly, type: 
echo www.nextstep4it.com > /proc/sys/kernel/hostname 

Q: - What is the use of sysctl command?
The /sbin/sysctl command is used to view, set, and automate kernel settings in the /proc/sys/ directory.

Q: - /proc/ directory contains a number of directories with numerical names. What is that?
These directories are called process directories, as they are named after a program's process ID and contain information specific to that process.

Q: - What is RAID?
RAID, stands for Redundant Array of Inexpensive Disks. RAID is a method by which same data or information is spread across several disks, using techniques such as disk striping (RAID Level 0), disk mirroring (RAID Level 1), and disk striping with parity (RAID Level 5) to achieve redundancy, lower latency, increased bandwidth, and maximized ability to recover from hard disk crashes.

Q: - Why should we use RAID?
System Administrators and others who manage large amounts of data would benefit from using RAID technology.
Following are the reasons to use RAID
-   Enhances speed
-   Increases storage capacity using a single virtual disk 
-   Minimizes disk failure

Q: - What is the difference between hardware RAID and Software RAID?
The hardware-based RAID is independent from the host. A Hardware RAID device connects to the SCSI controller and presents the RAID arrays as a single SCSI drive. An external RAID system moves all RAID handling "intelligence" into a controller located in the external disk subsystem. The whole subsystem is connected to the host via a normal SCSI controller and appears to the host as a single disk.
Software RAID is implemented under OS Kernel level. The Linux kernel contains an MD driver that allows the RAID solution to be completely hardware independent. The performance of a software-based array depends on the server CPU performance and load.

Q: - What are the commonly used RAID types?
a. RAID 0            b. RAID 1            c. RAID 5

Q: - Explain RAID 0?
RAID level 0 works on “striping” technique. In RAID 0 the array is broken down into strips and data is written into strips. RAID 0 allows high I/O performance but provides no redundancy. RAID 0 Array Size is equal to sum of disks in array. If one drive fails then all data in the array is lost.

Q: - Explain RAID 1?
RAID Level 1 is based on Mirroring technique. Level 1 provides redundancy by writing identical data to each member disk of the array. The storage capacity of the level 1 array is equal to the capacity of one of the mirrored hard disks in a Hardware RAID or one of the mirrored partitions in a Software RAID. RAID 1 provides redundancy means good protection against disk failure. In RAID 1 write speed is slow but read speed is good.

Q: - Explain RAID 5?
RAID Level 5 is based on rotating parity with striping technique. RAID-5 stores parity information but not redundant data (but parity information can be used to reconstruct data). The storage capacity of Software RAID level 5 is equal to the capacity of the member partitions, minus the size of one of the partitions if they are of equal size. The performance of RAID 5 is based on parity calculation process but with modern CPUs that usually is not a very big problem. In RAID 5 read and write speeds are good.

Q: - Which kernel module is required for Software RAID?
“md” module

Q: - which utility or command is used for creating software RAID’s for RHEL5?
mdadm

Q: - Can we create software RAID during Linux installation?
Yes, we can create Software RAID during Linux Installation by “Disk Druid”

Q: - What is the role of chunk size for software RAID?
Chunk size is very important parameter on which RAID performance based.
We know stripes go across disk drives. But how big are the pieces of the stripe on each disk? The pieces a stripe is broken into are called chunks.To get good performance you must have a reasonable chunk size.
For big I/Os we required small chunks and for small I/Os we required big chunks.

Q: - What is SWAP Space?
Swap space in Linux is used when the amount of physical memory (RAM) is full. If the system needs more memory resources and the RAM is full, inactive pages in memory are moved to the swap space. While swap space can help machines with a small amount of RAM, it should not be considered a replacement for more RAM. Swap space is located on hard drives, which have a slower access time than physical memory.

Q: - What are the steps to create SWAP files or Partition?
- Create swap partition or file
- Write special signature using “mkswap
- Activate swap space by “swapon –a” command
- Add swap entry into /etc/fstab file

Q: - How you will create swap file of size 4 GB and explain swap file entry in /etc/fstab file?
Use “dd” command to create swap file.
dd if=/dev/zero  of=/SWAPFILE  bs=1024  count=4
mkswap /SWAPFILE
swapon –a
Entry into /etc/fstab file.
/SWAPFILE   swap   swap   defaults   0   0

Q: - Tell me the steps to remove the swap file?
Firstly disable the swap file by “swapoff” command.
Remove Swap file entry from /etc/fstab file.
Now remove the swap file by “rm” command.

Q: - What can we do with “parted” command or utility?
- View the existing partition table
- Add partitions from free space or additional hard drives
- Change the size of existing partitions

Q: - How we will check free space on drive /dev/sda with parted command?
#parted /dev/sda
Print

Q: - What is LVM?
LVM stands for Logical Volume Manager. LVM, is a storage management solution that allows administrators to divide hard drive space into physical volumes (PV), which can then be combined into logical volume groups (VG), which are then divided into logical volumes (LV) on which the filesystem and mount point are created.

Q: - What are the steps to create LVM?
- Create physical volumes by “pvcreate” command
#pvcreate /dev/sda2
- Add physical volume to volume group by “vgcreate” command
#vgcreate VLG0 /dev/sda2
- Create logical volume from volume group by “lvcreate” command.
#lvcreate -L 1G -n LVM1 VLG0
Now create file system on /dev/sda2 partition by “mke2fs” command.
#mke2fs -j /dev/VLG0/LVM1 

Q: - What is the difference between LVM and RAID?
RAID provides redundancy but LVM doesn’t provide Redundancy.

Q: - What are LVM1 and LVM2?
LVM1 and LVM2 are the versions of LVM. 
LVM2 uses device mapper driver contained in 2.6 kernel version.
LVM 1 was included in the 2.4 series kernels.

Q: - What is Volume group (VG)?
The Volume Group is the highest level abstraction used within the LVM. It gathers together a collection of Logical Volumes and Physical Volumes into one administrative unit.

Q: - What is physical extent (PE)?
Each physical volume is divided chunks of data, known as physical extents; these extents have the same size as the logical extents for the volume group.

Q: - What is logical extent (LE)?
Each logical volume is split into chunks of data, known as logical extents. The extent size is the same for all logical volumes in the volume group.

Q: - How you will check on Your server or system device-mapper is installed or not?
Check the following file.
#cat /proc/misc
if this file contains "device-mapper" term it means device mapper is installed on your system.

Q: - What is the maximum size of a single LV?
For 2.4 based kernels, the maximum LV size is 2TB. 
For 32-bit CPUs on 2.6 kernels, the maximum LV size is 16TB.
For 64-bit CPUs on 2.6 kernels, the maximum LV size is 8EB.

Q: - If a volume group named as VG0 already exists but i need to extend this volume group up to 4GB.Explain all steps?
Firstly create Physical volume (/dev/sda7) of size 4GB.
Now run following command.
vgextend VG0 /dev/sda7

Q: - If a volume group VG0 have 3 PV's (/dev/sda6, /dev/sda7, /dev/sda8) but i want to remove /dev/sda7 pv from this VG0?
vgreduce VG0 /dev/sda7

Q: - Which command is used to extend a logical volume?
lvextend --size +<addsize> /dev/<vgname>/<lvname>
resize2fs /dev/<vgname>/<lvname>

Q: - Tell me all steps to remove a LVM?
To remove a logical volume from a volume group, first unmount it with the umount command:
umount /dev/<vgname>/<lvname>
and then use the lvremove command:
lvremove /dev/<vgname>/<lvname>

Q: - Is there any relation between modprobe.conf file and network devices?
Yes, This file assigns a kernel module to each network device.
For Example :- 
[root@localhost ~]# cat /etc/modprobe.conf
alias eth0 b44
Here b44 is the kernel module for network device eth0.
We can Confirm by following command (This module “b44” is present or not).
[root@localhost ~]# lsmod |grep b44
b44                    29005    0

Q: - What is the location of "network" file and what does this contains?
location :-  /etc/sysconfig/network
This file contains following fields
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=localhost.localdomain

Q: - What is the role of /etc/resolv.conf file?
In this file we sets the DNS servers (using their IP addresses) and the search domain. The values of the DNS servers are often added when the network is activated because the data can be provided by DHCP or a similar service.

Q: - Which deamon is required to start Network services?
network
/etc/init.d/network start

Q: - Which protocol is required to allow local printing and print sharing?
Internet Printing Protocol (IPP) is required to allow local printing and print sharing.

Q: - What is CUPS?
CUPS stands for "Common UNIX Printing System". CUPS is a open source printing system developed by Apple Inc. CUPS uses the Internet Printing Protocol (IPP) to allow local printing and print sharing.

Q: - What are the advantages of YUM?
- Automatic resolution of software dependencies.
- Multiple software locations at one time.
- Ability to specify particular software versions or architectures.

Q: - Which configuration file is required to change the Run Level of Server or system?
/etc/inittab
To change the default run level, modify this line.
id:5:initdefault:

Q: - In which directory RPM database stored?
/var/lib/rpm

Q: - How to list PCI Devices on your server or System?
use "lspci" command.

Q: - What is the role of "Kudzu"?
Kudzu is used to Detect new Hardware

Q: - What happens when you add a new device after installation?
The Kudzu program runs each time the system boots and performs a hardware probe. If new hardware is found, Kudzu attempts to map it to a kernel module. If successful, the information is saved, and the device is configured.

Q: - How to Enable ACLs for /home partition?
Add following entry in /etc/fstab
LABEL=/home    /home       ext3        acl      1  2
Now remount /home partition with acl option.
mount -t ext3 -o acl /dev/sda3  /home

Q: - How to View ACLs for a file(test_file)?
getfacl test_file

Q: - How to remove an ACL?
setfacl --remove-all <file-name>

Q: - How to detect CPU architecture/bitmode (32-bit or 64-bit) for Linux ?
# cat /proc/cpuinfo | grep flags
you will find one of them with name "tm(transparent mode)" or 
"rm(real mode)" or "lm(long mode)"

1. rm tells ,it is a 16 bit processor
2. tm tells, it is a 32 bit processor
3. lm tells, it is a 64 bit processor

Q: - What is the difference between LILO and GRUB ?
 1) LILO has no interactive command interface, whereas GRUB does. 
2) LILO does not support booting from a network, whereas GRUB does. 
3) LILO stores information regarding the location of the operating systems it can to load physically on the MBR.
If you change your LILO config file, you have to rewrite the LILO stage one boot loader to the MBR. Compared with GRUB, this is a much more risky option since a misconfigured MBR could leave the system unbootable. With GRUB, if the configuration file is configured incorrectly, it will simply default to the GRUB command-line interface.

Q: - What is the role of udev daemon in Unix ?
 udev is the device manager for the Linux 2.6 kernel series. Primarily, it manages device nodes in /dev. It is the successor of devfs and hotplug, which means that it handles the /dev directory and all user space actions when adding/removing devices, including firmware load.

Q: - Can we have two apache servers having diff versions?
Yes, you can have two different apache servers on one server, but they can't listen to the same port at the same time.Normally apache listens to port 80 which is the default HTTP port. The second apache version should listen to another port with the Listen option in httpd.conf, for example to port 81.
For testing a new apache version before moving your sites from one version to another, this might be a good option.You just type www.example.com:81 in the browser window and you will be connected to the second apache  instance.

Q: - How are devices represented in UNIX?
All devices are represented by files called special files that are located in /dev directory.
Q: - What are the process states in Unix?
As a process executes it changes state according to its circumstances. Unix processes have the following states:
Running : The process is either running or it is ready to run .
Waiting : The process is waiting for an event or for a resource.
Stopped : The process has been stopped, usually by receiving a signal.
Zombie : The process is dead but have not been removed from the process table.

Q: - What command is used to remove the password assigned to a group?
gpasswd –r

Q: - What command should you use to check the number of files and disk space used and each user's defined quotas?
repquota 

Q: - What is a zombie?
Zombie is a process state when the child dies before the parent process. In this case the structural information of the process is still in the process table.

Q: - What daemon is responsible for tracking events on your system?
syslogd 

Q: - If some one deletes /boot directory from your server, than what will happen?
In that case your server will be in unbootable state. Your Server can’t boot without /boot directory because this directory contains all bootable files 

Q: - What does /dev directory contain?
The /dev directory contains all device files that are attached to system or virtual device files that are provided by the kernel.

Q: - What is the role of udev daemon?
The udev demon used to create and remove all these device nodes or files in /dev/ directory. 

Q: - What does /etc/skell directory contains?
The /etc/skel directory contains files and directories that are automatically copied over to a new user's home directory when such user is created by the useradd or adduser command.

0 comments:

Post a Comment