Advertisements
Remote installation or installing centos linux from a remote location can be done is a few ways. We can do remote installation using mainly three methods. NFS, FTP and HTTP. And when doing remote installation we can pull the graphical screen via VNC to our local system. We can categorize the installation again into two. Attended and unattended. In attended installation, we have to sit in front of the system and give answers. In unattended installation, we can write the answers into a file and notify the installation process to read the answers from it. In linux unattended installation can be done with kickstart file. We can save all things in some installation server and configure network instillation via PXE so that it'll need just a few clicks for the entire installation. We will discuss all the following methods in this article.
1. NFS
2. FTP
3. HTTP
4. VNC
5. PXE
6. Kickstart
For this example we will use the following network settings, you must adjust to your own network:
SERVER IP: 192.168.137.100
Netmask: 255.255.255.0
Gateway: 192.168.137.1
DNS: 192.168.137.100 , 8.8.8.8
Server Network Interface: eth0
Workstation Machine: 192.168.1.200
VNC Password: qwerty
Netmask: 255.255.255.0
Gateway: 192.168.137.1
DNS: 192.168.137.100 , 8.8.8.8
Server Network Interface: eth0
Workstation Machine: 192.168.1.200
VNC Password: qwerty
1. Remote installation Using NFS
NFS is network filesystem. It is a popular way to share directories between linux systems.
When using NFS for the remote installation, we will create one nfs share of centos dvd on a server machine and we will boot the client using a bootable disk/usb device. And when asked we will provide the nfs share details to client so that it can continue with the installation.
Checking which package is installed or not. Else intall it with "yum install nfs-utils"
[root@server ~]# rpm -qf /etc/init.d/nfs
nfs-utils-1.0.9-33.el5
[root@server ~]#
Checking whether the nfs service is working or not. /etc/init.d/nfs is the nfs service startup script
[root@server ~]# /etc/init.d/nfs status
rpc.mountd is stopped
nfsd is stopped
Starting the nfs service
[root@server ~]# /etc/init.d/nfs start
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS daemon: [ OK ]
Starting NFS mountd: [ OK ]
Starting RPC idmapd: [ OK ]
[root@server ~]#
Mounting the cdrom to the mount point /media/CentOS.
[root@server ~]# mount /dev/cdrom /media/CentOS
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@server ~]#
Sharing the mount point using nfs . * -means it is shared to all ips. ro -means read only.
[root@server ~]# cat /etc/exports
/media/CentOS *(ro)
[root@server ~]#
Activating all the nfs shares specified in /etc/exports
[root@server ~]# exportfs -a
Checking the permissions of the share
[root@server ~]# exportfs -v
/media/CentOS <world>(ro,wdelay,root_squash,no_subtree_check,anonuid=65534,anongid=65534)
Checking the available shares in the machine
[root@server ~]# showmount -e localhost
Export list for localhost:
/media/CentOS *
[root@server ~]# showmount -e 192.168.137.100
Export list for 192.168.137.100:
/media/CentOS *
[root@server ~]#
Checking the service's ports and other services associated with it
[root@server ~]# rpcinfo -p
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100011 1 udp 801 rquotad
100011 2 udp 801 rquotad
100011 1 tcp 804 rquotad
100011 2 tcp 804 rquotad
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100021 1 udp 32772 nlockmgr
100021 3 udp 32772 nlockmgr
100021 4 udp 32772 nlockmgr
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100021 1 tcp 55549 nlockmgr
100021 3 tcp 55549 nlockmgr
100021 4 tcp 55549 nlockmgr
100005 1 udp 867 mountd
100005 1 tcp 870 mountd
100005 2 udp 867 mountd
100005 2 tcp 870 mountd
100005 3 udp 867 mountd
100005 3 tcp 870 mountd
[root@server ~]#
Nfs defaultly binds to port 2049. You can check it with the comamnd "netstat -ntplau | grep 2049"
tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN -
Checking the nfs share from a remote machine. If the share is not showing something is wrong.
[root@server ~]# ifconfig | grep inet
inet addr:192.168.137.250 Bcast:192.168.137.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe8d:1693/64 Scope:Link
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
[root@server ~]# showmount -e 192.168.137.100
Export list for 192.168.137.100:
/media/CentOS *
[root@server ~]#
Checking the share by mounting to the remote machine.
[root@server ~]# mount 192.168.137.100:/media/CentOS /mnt
[root@server ~]# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/mapper/VolGroup00-LogVol01 on /home type ext3 (rw)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
192.168.137.100:/media/CentOS on /mnt type nfs (rw,addr=192.168.137.100)
[root@server ~]# ls /mnt
CentOS RELEASE-NOTES-cs RELEASE-NOTES-en_US RELEASE-NOTES-ja RELEASE-NOTES-ro
EULA RELEASE-NOTES-cs.html RELEASE-NOTES-en_US.html RELEASE-NOTES-ja.html RELEASE-NOTES-ro.html
GPL RELEASE-NOTES-de RELEASE-NOTES-es RELEASE-NOTES-nl repodata
images RELEASE-NOTES-de.html RELEASE-NOTES-es.html RELEASE-NOTES-nl.html RPM-GPG-KEY-beta
isolinux RELEASE-NOTES-en RELEASE-NOTES-fr RELEASE-NOTES-pt_BR RPM-GPG-KEY-CentOS-5
NOTES RELEASE-NOTES-en.html RELEASE-NOTES-fr.html RELEASE-NOTES-pt_BR.html TRANS.TBL
[root@server ~]#
While mounting the share in remote machine we will get the logs in the server.
[root@server ~]# tail -f /var/log/messages
Feb 28 12:14:01 server mountd[5355]: authenticated mount request from 192.168.137.250:931 for /media/CentOS (/media/CentOS)
Feb 28 12:14:26 server mountd[5355]: authenticated unmount request from 192.168.137.250:958 for /media/CentOS (/media/CentOS)
Feb 28 12:58:25 server mountd[5355]: authenticated mount request from 192.168.137.200:670 for /media/CentOS (/media/CentOS)
Now nfs share is ready. We can start the client os installation and when asked we can provide the server and share details we have configured.
Client side sreenshots:
linux askmethod:
We can start the client installation using a bootable media(cd/dvd/usb). When booted it will ask for the boot command. Then give "linux askmethod"
choose a language:
Then we need to choose a language : English
Keyboard Type
Then we need to choose a language : us
Installation method:
Now we need to select an installation method. In this case :nfs
network configuration:
While installation the machine being installed needs to communicate with other systems(eg: for nfs/ftp/http shares). If there is a dhcp server running in our network we can leave the settings for it else we have to set it manually.
DHCP ( Dynamic host configuration protocol)
Manual
Setting the ip/netmask manually
share details:
We need to give the nfs server details and the location of the media directory.
Installation can be done in two modes.
1.graphical (needs good memory)
2.text
2. Remote installation Using FTP
FTP is file transfer protocol . It is the common way to transfer files through internet.Like when using NFS for the remote installation, we will create one ftp directory of centos dvd on one machine and we will boot the client using a bootable disk/usb device. And when asked we will provide the ftp server and directory location details to client so that it can continue with the installation.
Checking whether ftp is running. But no.
[root@server ~]# netstat -ntplau | grep ftp
[root@server ~]#
Installing the vsftpd service. Vsftp is one of the ftp packages available for centos linux
[root@server ~]# yum install vsftpd
Checking the status
[root@server ~]# /etc/init.d/vsftpd status
vsftpd is stopped
[root@server ~]#
Starting the vsftpd service
[root@server ~]# /etc/init.d/vsftpd start
Starting vsftpd for vsftpd: [ OK ]
vsftpd is now listening on port 21
[root@server ~]# netstat -ntplau | grep ftp
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 5851/vsftpd
[root@server ~]#
/var/ftp is the public directory of vsftpd. When an anonymous user logs in, he will get in to this directory.
[root@server ~]# cd /var/ftp/
[root@server ftp]# ls
pub
[root@server ftp]#
We will create a directory CentOS in /var/ftp and copy the contents of dvd to it
[root@server ftp]# cp -rv /media/CentOS/* CentOS
[root@server ftp]# ls
CentOS pub
[root@server ftp]# ls CentOS/
CentOS RELEASE-NOTES-cs RELEASE-NOTES-en_US RELEASE-NOTES-ja RELEASE-NOTES-ro
EULA RELEASE-NOTES-cs.html RELEASE-NOTES-en_US.html RELEASE-NOTES-ja.html RELEASE-NOTES-ro.html
GPL RELEASE-NOTES-de RELEASE-NOTES-es RELEASE-NOTES-nl repodata
images RELEASE-NOTES-de.html RELEASE-NOTES-es.html RELEASE-NOTES-nl.html RPM-GPG-KEY-beta
isolinux RELEASE-NOTES-en RELEASE-NOTES-fr RELEASE-NOTES-pt_BR RPM-GPG-KEY-CentOS-5
NOTES RELEASE-NOTES-en.html RELEASE-NOTES-fr.html RELEASE-NOTES-pt_BR.html TRANS.TBL
[root@server ftp]#
Testing from another server logging as anonymous user.
[root@work1 ~]# ftp 192.168.137.100
Connected to 192.168.137.100.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (192.168.137.100:root): anonymous
331 Please specify the password.
Password: #you can give anything here.
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (192,168,137,100,58,142)
150 Here comes the directory listing.
drwxr-xr-x 7 0 0 4096 Feb 28 08:16 CentOS
drwxr-xr-x 2 0 0 4096 May 24 2008 pub
226 Directory send OK.
ftp> cd CentOS
250 Directory successfully changed.
ftp> ls
227 Entering Passive Mode (192,168,137,100,220,161)
150 Here comes the directory listing.
drwxr-xr-x 2 0 0 147456 Feb 28 08:15 CentOS
-rw-r--r-- 1 0 0 212 Feb 28 08:15 EULA
-rw-r--r-- 1 0 0 18009 Feb 28 08:15 GPL
drwxr-xr-x 2 0 0 4096 Feb 28 08:16 NOTES
*** OUTPUT TRUNCATED ***
drwxr-xr-x 4 0 0 4096 Feb 28 08:16 images
drwxr-xr-x 2 0 0 4096 Feb 28 08:16 isolinux
drwxr-xr-x 2 0 0 4096 Feb 28 08:16 repodata
226 Directory send OK.
ftp> bye
221 Goodbye.
[root@work1 ~]#
Now ftp share is ready. We can start the client os installation and when asked we can provide the server and share details we have configured.
Client side sreenshots:
linux askmethod:
We can start the client installation using a bootable media(cd/dvd/usb). When booted it will ask for the boot command. Then give "linux askmethod"
Check the screenshots of the nfs in confused.
choose a language:
Then we need to choose a language : English
Check the screenshots of the nfs in confused.
Keyboard Type
Then we need to choose a language : us
Check the screenshots of the nfs in confused.
Installation method:
Now we need to select an installation method. In this case :ftp
network configuration:
While installation the machine being installed needs to communicate with other systems(eg: for nfs/ftp/http shares). If there is a dhcp server running in our network we can leave the settings for it else we have to set it manually.
Check the screenshots of the nfs in confused.
share details:
We need to give the ftp server details and the location of the media directory.
Installation can be done in two modes.
1.graphical (needs good memory)
2.text
3. Remote installation Using HTTP
HTTP is hypertext transfer protocol. For implementing http in linux, we mostly use apache webserver.
Like ftp for the remote installation, we will create one web directory of centos dvd on one machine and we will boot the client using a bootable disk/usb device. And when asked we will provide the web server and directory location details to client so that it can continue with the installation.
Checking whether the package is installed or not.
[root@server ~]# rpm -q httpd
httpd-2.2.3-11.el5_1.centos.3
Checking whether the service is bind to any port
[root@server ~]# netstat -npla | grep http
[root@server ~]#
Checking the service status
[root@server ~]# /etc/init.d/httpd status
httpd is stopped
[root@server ~]#
Starting the httpd service
[root@server ~]# /etc/init.d/httpd start
Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using server.lap.work for ServerName
[ OK ]
Now it is binded to the port 80
[root@server ~]# netstat -npla | grep http
tcp 0 0 :::80 :::* LISTEN 6224/httpd
[root@server ~]#
like /var/ftp in case of vsftpd /vara/www/html is the default document root of httpd server
[root@server ~]# cd /var/www/html/
[root@server html]# ls
[root@server html]#
We will move the copy of the dvd we created for ftp to the document root of apache, the httpd web server.
[root@server html]# mv /var/ftp/CentOS .
[root@server html]# ls
CentOS
[root@server html]#
[root@server ~]# tail -f /var/log/httpd/access_log
192.168.137.200 - - [28/Feb/2012:14:23:02 +0530] "GET /CentOS//disc1/.discinfo HTTP/1.1" 404 301 "-" "urlgrabber/3.1.0"
192.168.137.200 - - [28/Feb/2012:14:23:04 +0530] "GET /CentOS/RELEASE-NOTES-en_US.UTF-8.html HTTP/1.1" 404 315 "-" "urlgrabber/3.1.0"
192.168.137.200 - - [28/Feb/2012:14:23:04 +0530] "GET /CentOS/RELEASE-NOTES.en_US.UTF-8 HTTP/1.1" 404 310 "-" "urlgrabber/3.1.0"
192.168.137.200 - - [28/Feb/2012:14:23:04 +0530] "GET /CentOS/RELEASE-NOTES-en_US.html HTTP/1.1" 200 1367 "-" "urlgrabber/3.1.0"
192.168.137.200 - - [28/Feb/2012:14:23:38 +0530] "GET /CentOS/repodata/repomd.xml HTTP/1.1" 200 1140 "-" "urlgrabber/3.1.0"
192.168.137.200 - - [28/Feb/2012:14:23:38 +0530] "GET /CentOS/repodata/primary.xml.gz HTTP/1.1" 200 876639 "-" "urlgrabber/3.1.0"
192.168.137.200 - - [28/Feb/2012:14:23:41 +0530] "GET /CentOS/repodata/comps.xml HTTP/1.1" 200 935865 "-" "urlgrabber/3.1.0"
Now httpd share is ready. We can start the client os installation and when asked we can provide the server and share details we have configured.
Client side sreenshots:
linux askmethod:
We can start the client installation using a bootable media(cd/dvd/usb). When booted it will ask for the boot command. Then give "linux askmethod"
Check the screenshots of the nfs in confused.
choose a language:
Then we need to choose a language : English
Check the screenshots of the nfs in confused.
Keyboard Type
Then we need to choose a language : us
Check the screenshots of the nfs in confused.
Installation method:
Now we need to select an installation method. In this case :http
network configuration:
While installation the machine being installed needs to communicate with other systems(eg: for nfs/ftp/http shares). If there is a dhcp server running in our network we can leave the settings for it else we have to set it manually.
Check the screenshots of the nfs in confused.
share details:
We need to give the http server details and the location of the media directory.
Installation can be done in two modes.
1.graphical (needs good memory)
2.text
4. Remote installation Using VNC
We can ingnate installation on a machine and attend the installation from a remote machine using vnc ( Virtual Network Computing ). VNC is a protocol through which we can graphically login to another computer.
On the machine which is being installed, we have to boot it with the following options
boot: linux vnc vncpassword=qwerty ip= netmask=xxx.xxx.xxx.xxx gateway=xxx.xxx.xxx.xxx
Then after the initialization of anaconda, we can control the installation from the remote machine via vnc. But in the above case it uses local dc/dvd. If u want to use nfs/ft/http u have to specify the method as follows
boot: linux vnc vncpassword=qwerty ip= netmask=xxx.xxx.xxx.xxx gateway=xxx.xxx.xxx.xxx method=nfs:IP_OF_NSF_SHARE:/SHARE_PATH
Server side :
From the windows vnc client.
Giving the ip and details:
Giving the password
Now the vnc session:5. Remote installation Using PXE
PXE installation is explained in the following post
Remote installation PXE
6. Remote installation Using kickstart
Kickstart installation is explained in the following post.
linux Remote installation using kickstart
Recommended Reading
1. Practical Guide to Linux Commands, Editors, and Shell Programming, A (2nd Edition)2. UNIX and Linux System Administration Handbook (4th Edition)
3. Linux All-in-One For Dummies
4. Introduction to the Command Line (Second Edition): The Fat Free Guide to Unix and Linux Commands
No comments:
Post a Comment
Be nice. That's all.