Mount an ISO image under Linux

How to Mount an ISO image under Linux?

An ISO image is an archive file (disk image) of an optical disc using a conventional ISO (International Organization for Standardization) format. ISO image files typically have a file extension of .ISO. The name “ISO” is taken from the ISO 9660 file system used with CD-ROM media, but an ISO image can also contain UDF file system because UDF is backward-compatible to ISO 9660.

You can mount an ISO images via the loop device under Linux. It is possible to specify transfer functions (for encryption/decryption or other purposes) using loop device.

You need to use mount command as follows:

Procedure to mount ISO images under Linux

1) You must login as a root user, if not root user then switch to root user using following command:

[email protected]~]# su -

2) Create the directory i.e. mount point:

[email protected]~]# mkdir -p /mnt/disk

3) Use mount command as follows to mount iso file called disk1.iso:

[email protected]~]# mount -o loop disk1.iso /mnt/disk

4) Change directory to list files stored inside an ISO image:

[email protected]~]# cd /mnt/disk
[email protected]~]# ls -l

More about loop device

A loop device is a pseudo-device that makes a file accessible as a block device. Loop devices are often used for CD ISO images and floppy disc images. Mounting a file containing a filesystem via such a loop mount makes the files within that filesystem accessible. They appear in the mount point directory using above commands.

What is SSL & How does it work ?

What is SSL ?

SSL (Secure Sockets Layer) is the standard security technology for establishing an encrypted link between a web server and a browser. This link ensures that all data passed between the web server and browsers remain private and integral. SSL is an industry standard and is used by millions of websites in the protection of their on-line transactions with their customers.

SSL allows sensitive information such as credit card numbers, social security numbers, and login credentials to be transmitted securely.

Here is the short video which explains about the SSL

How does SSL Certificate works.

  • Browser connects to a web server (website) secured with SSL (https). Browser requests that the server identify itself.
  • Server sends a copy of its SSL Certificate, including the server’s public key.
  • Browser checks the certificate root against a list of trusted CAs and that the certificate is unexpired, unrevoked, and that its common name is valid for the website that it is connecting to. If the browser trusts the certificate, it creates, encrypts, and sends back a symmetric session key using the server’s public key.
  • Server decrypts the symmetric session key using its private key and sends back an acknowledgement encrypted with the session key to start the encrypted session.
  • Server and Browser now encrypt all transmitted data with the session key.

How To Set Up and Use Yum Repositories

YUM Repositories are warehouses of Linux software (RPM package files). RPM package file is a Red Hat Package Manager file and enables quick and easy software installation on Red Hat/CentOS Linux. YUM Repositories hold a number of RPM package files and enable download and installation of new software on our VPS. YUM Repositories can hold RPM package files locally (local disk) or remotely (FTP, HTTP or HTTPS). YUM Configuration files hold the information required to successfully find and install software (RPM packages files) on our VPS.

largest CentOS YUM Repositories:

CentOS Official Repository Mirrors
EPEL Repository Mirrors
RPMforge Repository
ElRepo Repository

Advantages of installing software from YUM Repositories are:

Easy Software Management – installing, updating, and deleting packages is simple
Software Dependency Resolution – software dependencies are automatically resolved and installed
Official Red Hat/CentOS Package Manager – YUM is official Red Hat/CentOS package manager

Sometimes the software we want to install on our CentOS VPS is not available from default Official CentOS Repositories. In situations like this, we can use one of the additional (Non-Official) CentOS YUM Repositories listed above. Additional repositories sometimes hold newer versions of software packages than Official CentOS Repositories.

YUM Repository Configuration File

We can install new software on Red Hat/CentOS Linux with "yum install packagename" command from console. Running this command first checks for existing YUM Repository configuration files in /etc/yum.repos.d/ directory. It reads each YUM Repository configuration file to get the information required to download and install new software, resolves software dependencies and installs the required RPM package files.

YUM Repository configuration files must:

be located in /etc/yum.repos.d/ directory and  have .repo extension, to be recognized by YUM

Available YUM Repository configuration file options are:

Repository ID – One word unique repository ID (example: [examplerepo])
Name – Human readable name of the repository (example: name=Example Repository)
Baseurl – URL to the repodata directory. You can use file://path if repository is located locally or ftp://link, http://link, https://link if repository is located remotely – HTTP Authentication available http://user:[email protected]/repo1 (example: baseurl=http://mirror.cisp.com/CentOS/6/os/i386/)
Enabled – Enable repository when performing updates and installs (example: enabled=1)
Gpgcheck – Enable/disable GPG signature checking (example: gpgcheck=1)
Gpgkey – URL to the GPG key (example: gpgkey=http://mirror.cisp.com/CentOS/6/os/i386/RPM-GPG-KEY-CentOS-6)
Exclude – List of the packages to exclude (example: exclude=httpd,mod_ssl)
Includepkgs – List of the packages to include (example: include=kernel)

Required YUM Repository configuration file options are:

Repository ID
Name
Baseurl
Enabled

Step 1: Create YUM Repository configuration file

Use your favorite console text editor and create a new YUM Repository configuration file with .repo extension in /etc/yum.repos.d/ directory. To create a new file with “vi editor” run the following command from console:

[email protected]~]# vi /etc/yum.repos.d/example.repo

Step 2: Insert YUM Repository options

Insert the desired YUM Repository options to the newly created YUM Repository configuration file and save changes.

Example YUM Repository Configuration file:

[email protected]~]# /etc/yum.repos.d/example.repo

[examplerepo]
 name=Example Repository
 baseurl=http://mirror.cisp.com/CentOS/6/os/i386/
 enabled=1
 gpgcheck=1
 gpgkey=http://mirror.cisp.com/CentOS/6/os/i386/RPM-GPG-KEY-CentOS-6

CentOS DVD ISO YUM Repository

CentOS DVD ISO holds a large number of software (RPM package files) which are available for installation during Red Hat/CentOS installation wizard. We can also use RPM package files from CentOS DVD ISO to create CentOS DVD ISO YUM Repository. This way we can install all of the software available on CentOS DVD ISO with “yum install packagename” command from VPS console even after we have completed Red Hat/CentOS installation wizard.

Step 1: Download/Transfer CentOS DVD ISO

CentOS DVD ISO files are available for download at http://mirror.centos.org/. We need to download or transfer CentOS DVD ISO to our VPS:

Transfer – If we have already downloaded CentOS DVD ISO to a machine different than our VPS, we will need to transfer it from our machine to our cloud server via FTP or SSH. We can do this with software like WinSCP (free SFTP client and FTP) or similar.

Download – We can download CentOS DVD ISO directly to our VPS with “wget” command from console (please change HTTP link accordingly):
wget http://mirror.lihnidos.org/CentOS/6.4/isos/i386/CentOS-6.4-i386-LiveDVD.iso
Step 2: Mount CentOS DVD ISO

To view the CentOS DVD ISO data, we first need to mount it on desired location. We usually mount CD-ROM, USB devices or ISO files to /mnt directory (if free to use). To mount CentOS DVD ISO run the following command from console (please change /path/to/iso and /mnt accordingly):

[email protected]~]# mount -o loop /path/to/iso /mnt

Step 3: Create YUM Repository Configuration file

To start using the newly created Custom YUM Repository we must create YUM Repository Configuration file with .repo extension, which must be placed to /etc/yum.repos.d/ directory. Instructions to create YUM Repository Configuration file are covered in the first topic of this article called “YUM Repository Configuration File”.

Example CentOS DVD ISO YUM Repository Configuration file:

[email protected]~]# nano /etc/yum.repos.d/centosdvdiso.repo

[centosdvdiso]
 name=CentOS DVD ISO
 baseurl=file:///mnt
 enabled=1
 gpgcheck=1
 gpgkey=file:///mnt/RPM-GPG-KEY-CentOS-6

Custom YUM Repository

Sometimes we need to create a Custom YUM Repository (handy when the VPS has no internet connection). We can create a Custom YUM Repository from a desired number of selected RPM package files. Custom YUM Repository only holds the RPM package files we want to include in.

Step 1: Install “createrepo”

To create Custom YUM Repository we need to install additional software called “createrepo” on our cloud server. We can install “createrepo” by running the following command from console:

[email protected]~]# yum install createrepo

Step 2: Create Repository directory

We need to create a new directory that will be the location of our Custom YUM Repository and will hold the desired RPM package files. We can do this with the following command from console (choose a different /repository1 directory name if you like):

[email protected]~]# mkdir /repository1

Step 3: Put RPM files to Repository directory

If RPM package files are not yet present on our VPS we need to transfer them to our cloud server via FTP or SSH – use software like WinSCP (free SFTP client and FTP) or similar. We can also download RPM package files directly to our VPS (internet connection needed) with “wget” command from console (please change HTTP link accordingly):

[email protected]~]# wget http://mirror.lihnidos.org/CentOS/6/os/i386/Packages/NetworkManager-0.8.1-43.el6.i686.rpm

If RPM files are already present on our VPS, we need to Copy or Move these files to the newly created directory from “Step 2”. We can move RPM files with the following command from console (please change /path/to/rpm and /repository1 accordingly):

[email protected]~]# mv /path/to/rpm /repository1

We can copy RPM files with the following command from console (please change /path/to/rpm and /repository1 accordingly):

[email protected]~]# cp /path/to/rpm /repository1

Step 4: Run “createrepo”

Createrepo command reads through Custom YUM Repository directory from “Step 2” and creates a new directory called “repodata” in it. Repodata directory holds the metadata information for the newly created repository. Every time we add additional RPM package files to our Custom YUM Repository, we need to re-create Repository metadata with “createrepo” command. We can create new repository metadata by running the following command from console (please change /repository1 accordingly):

[email protected]~]# createrepo /repository1

Step 5: Create YUM Repository Configuration file

To start using the newly created Custom YUM Repository, we must create the corresponding YUM Repository Configuration file with .repo extension, which must be placed to /etc/yum.repos.d/ directory. Instructions to create YUM Repository Configuration file are covered in the first topic of this article called “YUM Repository Configuration File”.

Example Custom YUM Repository Configuration file:

[email protected]~]# vi /etc/yum.repos.d/custom.repo

[customrepo]
 name=Custom Repository
 baseurl=file:///repository1/
 enabled=1
 gpgcheck=0