All things Ubuntu

Linux for Human Beings

Disk Partitions

Disk partitions are logical storage units or slices of a disk drive. Disk Partitioning is the process of dividing the disk into partitions or slices. Partitions can be created, resized, deleted and manipulated on a disk using a partition editor application.

GNOME Partition Editor application showing the partitions on the disk drive

GNOME Partition Editor application showing the partitions on the disk drive

By default in Windows 8, two partitions are created when performing a generic install of the operating system. One is called System Reserved, which is hidden and the other is the C: drive of the installed Windows operating system. The system Reserved partition holds the files needed to boot Windows and in the case of Windows 8, it is 350 MiB in size and holds the Windows Recovery Environment. The OEM may create more partitions for Hardware Diagnostics like in this case shown below, and OEM Recovery which has the Factory Image of the disk drive.

Disks Application showing the partitions on the disk drive and the various mount points

Disks Application showing the partitions on the disk drive and the various mount points

In the case of Ubuntu’s installation, by default only a root filesystem partition and a swap partition are created. However the partitions can be set manually. The /boot directory contains the bootloader files and the kernel(s), The /home directory contains the users’ home folders, their saved files, personal settings etc. These and some of the other directories can be within the same partition under the filesystem root or as separate partitions and formatted as different filesystems. For example the /home directory can be a separate partition. The /boot directory can also be a separate partition. Separating the Linux filesystem into multiple partitions can be very advantageous. Using separate partitions for various directories, the Linux filesystem can be spanned out over multiple disk drives. Multiple partitions are useful if the some data must be kept separate, such as the separation of the operating system (OS) and program files from user files.

Mount Points for various directories during Ubuntu Installation

Mount Points for various directories during Ubuntu Installation

Separate Partition for /boot and the /home directory on a separate disk drive

Separate Partition for /boot and the /home directory on a separate disk drive

Various filesystems can be used for different Linux partitions. For example the /boot directory may be formatted as an ext4 partition but the root filesystem may be a brtfs partition and the /home directory may be formatted as something else. In Linux and other Unix-like systems, the user interface abstracts the partitions in the disk(s) into a virtual filesystem. A user may not even know that his/her files are stored on a separate disk drive. In some circumstances, even a network share may be mounted and used as a normal directory. In such a situation one may not even know that their files are actually being saved on another computer.

The use of separate partitions is quite useful. For example in a multi-boot environment where there are two Linux distributions installed, the /home directory may be shared between the two or the /boot directory may house both kernels. Image backups can be easily made when the data is kept separate. Also disk security is enhanced as separate keys/passphrases can be used to encrypt the different directories of the filesystem, even if it may be inconvenient for an end user. Separate partitions also protect or isolate files, making it easier to recover a corrupted file system or operating system installation. If one partition is corrupted, others may not be affected.

The use of separate partitions may increase complexity of the boot process as many drives have to be mounted at boot time, however the user interface abstracts the partitions and their mount points. The users need not know about the internal partitioning. Indeed in Android smartphones, the internal memory is abstracted and hidden from the user interface. Only a certain part of the internal disk is shown to the user, which in most Android smartphones is a separate partition and is equivalent to the user’s home directory. 

More in my next post.

Wine Compatibility Layer

Wine is a compatibility layer that allows computer programs written for Microsoft Windows to run on Unix-like operating systems like Linux, BSD, Solaris and Mac OS X. It duplicates functions of Windows by providing alternative implementations of the Dynamic-Link Libraries (DLL) that Windows programs call, and a process to substitute for the Windows NT kernel

First of all a compatibility layer is an interface that allows binaries/executables for a legacy or foreign system to run on a host system. This is done by translation of system calls for the foreign system into native system calls for the host system.

Wine can be used to run simple Windows applications like Notepad++, Microsoft Internet Explorer but also applications like Microsoft Office 2010, Adobe Photoshop etc. and even resource intensive Windows games like Mass Effect, StarCraft II etc.

Wine requires different configuration for different applications. For example old Windows games may require an old Windows version and old DirectX libraries but the latest ones may require the latest DirectX Libraries to be installed. For user friendly configuration interfaces, PlayOnLinux or CodeWeavers Crossover may be used. They are frontends for Wine and manage Wine versions, Windows applications and their dependencies.

PlayOnLinux uses an online database of scripts that specify the Wine version, Wine configuration and the required libraries for a particular application. Any program that is not in the online in the database can be manually installed by the user, however there is no guarantee for such an application to work perfectly.

CrossOver also uses Wine with some modifications, more user-friendly configuration tools and commercial support. But CrossOver by itself is proprietary.

For instance Command & Conquer 3: Tiberium Wars has been installed using PlayOnLinux and Internet Explorer 7 has been installed using CrossOver; both on Ubuntu 12.10 64-bit.

The game has been installed on 32-bit Wine version 1.5.16.

PlayOnLinux Main Window

PlayOnLinux Main Window

Also DirectX runtime has been installed and the Dynamic-Link Libraries (DLL) have been registered.

Installation of DirectX Runtime

Installation of DirectX Runtime

Managing DLLs for Wine

Managing DLLs for Wine

The game now runs flawlessly.

Command & Conquer 3: Tiberium Wars Splash Screen

Command & Conquer 3: Tiberium Wars Splash Screen

Command & Conquer 3 Gameplay

Command & Conquer 3 Gameplay

Similarly on Crossover, Microsoft Windows Internet Explorer 7 has been installed. The procedure to install Wine applications using PlayOnLinux and CrossOver is similar.

Windows Internet Explorer 7 Installation using CrossOver

Windows Internet Explorer 7 Installation using CrossOver

Installing Windows Internet Explorer 7 using CrossOver on Ubuntu

Installing Windows Internet Explorer 7 using CrossOver on Ubuntu

So now Internet Explorer 7 can be used on Ubuntu just like on Windows XP. Other versions of Internet Explorer can also be installed similarly.

Internet Explorer 7 on Ubuntu

Internet Explorer 7 on Ubuntu

Wine is for Unix-like operating systems like Linux, Max OS X, BSD and Solaris. Wine can be used to run Windows Applications and Games on Mac OS X, BSD and Solaris as well. For Mac OS X, Wineskin, a Wine GUI configuration manager can be used. Wineskin creates a wrapper around Wine in the form of a normal Mac Application. There is also a Mac OS X version of PlayOnLinux called PlayonMac.

PlayOnLinux can be installed from the Ubuntu Software Center on Ubuntu. CrossOver is proprietary and can be purchased from the CodeWeavers website. Both CrossOver Linux and CrossOver Mac are available.

More in my next post.

Ubuntu 12.10 “Quantal Quetzal”

Ubuntu 12.10, code-named “Quantal Quetzal” released on 18th October 2012. This is the 17th Ubuntu release. Also 20th October 2012 marks the 8thanniversary of Ubuntu.

Ubuntu 12.10 Release

Ubuntu 12.10 Release on the Ubuntu website

The new release has many new features. The desktop environment is GNOME with the Unity shell. GNOME has been updated to version 3.6 and Unity to version 6.8. There are many changes in the user interface and user experience to make Ubuntu more streamlined and easier to use. For example the Disk Usage Analyzer and Disks Applications have been updated to include more features and improved aesthetics. The Ubuntu Greeter has been improved and now supports remote login.

Ubuntu 12.10 Desktop

Ubuntu 12.10 Desktop

Ubuntu 12.10 ships with Ubuntu kernel 3.5.0-17.28 which is based on Linux 3.5.5. This includes a massive list of changes ranging from filesystems to drivers. Also Ubuntu has experimental support for hybrid graphics technologies like Nvidia Optimus out of the box. Therefore for most tasks, Ubuntu 12.10 does not need special configuration of the graphics stack. Bumblebee can be installed, however for better power management. Other packages that have been updated are X.Org (version 1.13) and the graphics drivers.

Installation process is like that of Ubuntu 12.04 LTS. The desktop installation image is no longer a traditional CD-sized image. It’s an 800 MB image that requires a DVD or a USB drive. The Ubuntu Ubiquity Installer now supports LVM and Disk Encryption. Previously for LVM and Disk Encryption, the Ubuntu Alternate Installer had to be used. RAID is still not supported by the default Ubiquity installer, however with special configuration or with the mini.iso disc image, Ubuntu can be installed on a RAID array.

Ubuntu 12.10 Installation Options

Ubuntu 12.10 Installation Options

Ubuntu 12.10 also supports UEFI Secure Boot. UEFI or Unified Extensible Firmware Interface is the replacement for the BIOS or Basic Input/Output System firmware interface. UEFI Secure Boot is a standard for controlling what bootloaders and operating systems can run on your computer. Secure Boot is a part of the Windows 8 certification requirements for client systems, therefore on Windows 8 certified devices Secure Boot is mandatory. Ubuntu 12.10 can boot on UEFI Secure Boot Devices, its GRUB 2 bootloader is digitally signed.

All the default applications have been updated to their latest versions. Libreoffice 3.6.2 is included which now has HUD and global menu bar integration.

Online Account Credentials can now be entered at one central place at Online Accounts under System Settings to easily set up online integration for the Unity Dash, Gwibber, Empathy and more. And the introduction of WebApps in Ubuntu 12.10 marks the Unity integration of various web services and web pages. Ubuntu users can now run online applications like Facebook, Google+, Twitter, Last.fm, Gmail etc. directly from the desktop. Making web applications behave like their desktop counterparts improves the user experience dramatically; it’s faster and it reduces the proliferation of browser tabs and windows that can quickly make a desktop unmanageable. Also the WebApps can now take advantage of Unity’s features such as Quicklists and the HUD.

Google+, Google Calender WebApps and Google Drive, Ubuntu One Music results in the Dash

Google+, Google Calender WebApps and Google Drive, Ubuntu One Music results in the Dash

The dash now has previews. Right click on items in the dash to see full-screen Previews with more information. And you can search Amazon and the Ubuntu One Music Store directly from the dash.

Music can be previewed and played directly from the Dash Screenshot

Music can be previewed and played directly from the Dash

Overall Ubuntu 12.10 is a good release. It has 18 months of support from Canonical. The next release of Ubuntu, 13.04 is code-named “Raring Ringtail”.

More in my next post.

 

Operating System Security

This will be a security related post. Security of various operating systems and platforms.

Computer Security is a very broad topic. So I will focus on localized attacks on personal computers and devices. Attacks on personal computers and devices are mostly some form of malware. Malware can attack in many ways, can do any amount of damage and can even hijack the operating system itself. And malware have become so advanced that merely the presence of an antimalware application does not help. Also no antimalware is perfect and has a 100% malware detection rate and 0% false positive rate. Therefore it is up to the user to follow basic security guidelines.

Malware can be of any type. The most common type of malware are Viruses and Trojans. Viruses simply damage your system and wreak havoc on your computer. Trojans are cleverly disguised applications that trick the user into installing them. They disguise themselves as useful applications, fool the user and once they are installed, they quietly try to steal the user’s private information like credit card numbers, passwords etc. A trojan can take control of other applications, sometimes even system applications. Other forms of malware include worms, rootkits, bootkits etc.

Bootkits – Bootloader-based Attack

Rootkits – Kernel-based Attack

Worms attack network resources and try to propagate to as many computers and devices as possible. Rootkits and bootkits attack the kernel and bootloader of the operating system. These are extremely dangerous as this compromises the entire computer. Untrusted code at a lower layer means you can’t trust code at any higher layer. Bootkits attack the bootloader on the system, thereby compromising the operating system that boots up. In this case even multiple operating systems can be compromised all together. If the malware is cross-platform then it can affect different kinds of operating systems, even if they are not binary compatible. Also malware can be any combination of the various types. Rootkits and Bootkits are extremely difficult to remove, sometimes close to impossible short of reformatting the drive. 

Firstly malware must enter your computer. Malware can enter in many ways. For example removable storage like optical discs, portable flash drives and hard drives, through a device’s storage etc. However these attack vectors can be minimized by not plugging in untrusted devices into your computer.

Make sure no application is installed without your consent. Every operating system now has multiple user accounts for various privileges. For example in Microsoft Windows, the Administrator user account has full privileges and control over the system and can modify system settings. Running any untrusted application as the administrator can be very disastrous. Similarly in UNIX-based operating systems like Apple OS X, Linux and Solaris etc. have a privileged user called root. The root user has complete access to the system and modify system settings.

Running applications that do not require root as root is unnecessary. Even in rooted Android smartphones, superuser access must be given only if the apps require it to function adequately. Some legacy applications in Windows may need Administrator access to work properly. If those applications have an updated versions that do not require administrator access, use them instead. The important thing is to use administrator privileges as little as possible. This concept is called Principle of Least Privilege. The software must be allowed to get access to only those resources it requires to function adequately. Every program and every privileged user of the system should operate using the least amount of privilege necessary to complete the job.

You get malware from various sources. For instance if you download an executable from a suspicious website or from unknown people, that the file may contain malware. And installers generally run with higher privileges, therefore it is the best way for malware to be installed in your system. Therefore download application installers directly from the software developer or by a reputed software download website.

Pirated software may also contain malware, although the malware is usually inserted into pirated software by the distributer. In any case avoid pirated software. When there is a freeware or free/open-source alternative for the pirated product go for the alternative.

Freeware is proprietary software that is not open-source but is free of charge, example Adobe’s Acrobat Reader and Flash Player, Freemake’s Video Converter etc. Free/Open-Source refers to the applications that are open-source but not necessary free of charge, such as Red Hat Enterprise Linux, which does contain proprietary applications but it is mostly open-source and is not free of charge.

Google Play Store – Download Android Apps from here

Pirated software must be avoided because the distributer cannot always be trusted. Stick to legitimate sources, if you like the application pay for it and support the developer. Stick to Google Play Store or Amazon Android App Store for Android apps and Apple’s App Store for iOS apps. In Android, read through the app permissions carefully, even in this case Principle of Least Privilege applies. For Windows, stick to trusted websites and Windows Store in Windows 8. For desktop Linux operating systems like Ubuntu, Fedora etc. use the default repositories for downloading software. The repositories are cryptographically signed and your computer verifies the downloaded software using a set of cryptographic keys. So do not add untrusted software sources to your software repository and make sure all the sources including the default ones have an authentication key. 

Ubuntu Software Center – Download software for Ubuntu from here

Ubuntu Software Sources – Authentication Keys

Just by installing software from only trusted sources can stop most attacks on your computer.

The important thing is to take care of your computer. Indeed by following these tips religiously, antimalware applications are not needed at all.

More in my next post.

The pictures depicting Bootkits and Rootkits are courtesy of Matthew Garrett of Red Hat, Inc.

Fedora – Introduction

Fedora is an operating system based on the Linux kernel. It is developed by the community supported Fedora Project and it is owned by Red Hat. Red Hat’s operating system for Enterprises, Red Hat Enterprise Linux branches its releases from versions of Fedora.

It is an RPM-based Linux distribution. RPM stands for Red Hat Package. This format of software packages is used to install software on RPM-based Linux distributions like Red Hat Enterprise Linux, Fedora, OpenSUSE etc. In contrast, Ubuntu is Debian-based, where the software package format is DEB. Other Debian-based distributions are Linux Mint, Knoppix, TAILS etc.

Fedora does not focus on user-friendliness like Ubuntu but it focuses on the best Linux has to offer. Fedora’s Linux Kernel is updated very regularly unlike Ubuntu where major kernel updates are with every Ubuntu release. Fedora developers prefer to make upstream changes instead of applying fixes specifically for Fedora—this ensures that their updates are available to all Linux distributions.

Fedora is more cutting edge than Ubuntu where Ubuntu is more stable. However that does not mean Fedora is an unstable operating system, but simply that too many new features are not introduced immediately in Ubuntu’s update process. For example Fedora 17 already has the Linux 3.5 branch of the kernel, but Ubuntu 12.04 LTS is still on the 3.2 branch of the kernel. Ubuntu sticks to the same major kernel release for at least six months. Major Linux kernel updates come to Ubuntu for every new release of Ubuntu every six months. Because of this, third-party kernel extensions and drivers may break when Fedora updates its kernel.

All the open-source software that is available in Ubuntu is also available in Fedora. However when it comes to installation of non-free, proprietary drivers and audio/video codecs in Fedora its harder for the average user, where in Ubuntu they can be installed during the Ubuntu installation itself.

Ubuntu and Fedora are very similar, there is nothing that can’t be done in Fedora that can be done on Ubuntu. However Fedora’s goals are very different from the goals of Ubuntu. Fedora is an alternative for those who do not want to use non-free technologies. By non-free technologies, I mean technologies that everybody has a right to use, improve upon etc. and not about the price. Fedora’s aim is also to be the leading edge of such technologies.

Installation procedures of Ubuntu and Fedora are very similar. There is not much difference between them. However Fedora’s installer, called Anaconda is much more featured than Ubuntu’s installer, called Ubiquity. Both use GNOME’s Desktop Interfaces, however the Desktop Shell is different. Ubuntu uses the Unity Shell over GNOME 3 whereas Fedora uses GNOME Shell over GNOME 3. Therefore most of the applications that are available for Ubuntu by default are also available for Fedora by default. Both have editions that use other Desktop Environments.

Every Fedora release has a very small life cycle of only 13 months, however normal Ubuntu releases are supported for 18 months and Ubuntu LTS releases are supported for 5 years.

Security is also implemented differently in Ubuntu and Fedora. One of the security features in Fedora is Security-Enhanced Linux, a Linux feature that implements a variety of security policies, including mandatory access controls, through the use of Linux Security Modules (LSM) in the Linux kernel. Ubuntu has a similar but easier to use feature called AppArmor.

However these differences are only in the backend, when it comes to using Ubuntu or Fedora for casual use there is not much difference in the frontends.

To download Fedora, go to here.

More in my next post.

Ubuntu Installation

This installation is only for BIOS based systems with no RAID or LVM set up. For EFI systems, please refer to the Ubuntu Documentation.

Minimum System Requirements:

  • 1 GHz, x86 processor (IA32 Architecture), x86_64 (AMD64) recommended
  • 1 GB of system memory (RAM)
  • 10 GiB of disk space (at least 25 GiB is recommended)
  • Video support capable of 1024 x 768 resolution
  • Audio support
  • An Internet connection (highly recommended, but not required)

Download Ubuntu from here. If your computer processor is 64-bit capable, then download the 64-bit edition. 

Now that you have the installation image, burn it to a disc using any burning tool or create a bootable USB drive using a tool called Unetbootin, you can download it from here.

Now insert the disc or USB and boot it up. Ubuntu 12.10 Beta 1 is used as a reference here.

Ubuntu boots up, this is shown.

Ubuntu Installation

 

When Ubuntu’s Unity Desktop boots up select Try Ubuntu and not Install Ubuntu; because this allows you to play around with the Ubuntu desktop during installation.

Select the Install Ubuntu option on the desktop when you are ready to install.

Ubuntu Installation Options

Ubuntu Installation Options

 

For optimal installation, check both options, Install Updates and Install Third-Party Software and make sure that your computer meets the minimum system requirements.

Now for the hardest part, partitioning. Ubuntu requires at least 10 GiB of space, but around 25 GiB is recommended if the operating system is to be used as a production system.

 

In Oracle VM Virtualbox

Scanning for Existing Operating Systems

If you do select “Something Else”, you will have to manually partition your hard-drives. You will have to create at least two partitions, one for the Root directory and the other for Swap. Mount points are the directories in the file system where the partitions are accessed from. For Example, the mount point for the Root directory is /. Swap does not have a mount point but is still mounted as a system partition during boot. Similarly /home is the Home directory for all the users of the operating system. /boot hold the static Linux kernel files and the GRUB bootloader. I will explain the other directories in another post.

 

Ubuntu Manual Partitioning

Select the bootloader to be installed in the main hard-drive of the computer. This makes sure that GRUB will be the main boot-loader and all other Operating Systems will be chainloaded from GRUB. Chainloading is the process of booting up a second bootloader from the current bootloader. Since GRUB fully supports chainloading other operating system’s bootloaders, you will have no trouble dual booting Microsoft Windows or any other operating system with Ubuntu.

 

Now the installation starts. Just select your location and your keyboard layout.

When it comes to user configuration, enter your full name under name and a Linux username under username, the username must be a single word, lower-case letters.

If you choose to encrypt your home folder, remember that it will encrypt your /tmp as well as Swap. So therefore to keep things simple for now do not encrypt your home directory.

 

Ubuntu User Configuration

After that the installation is a breeze, just enjoy the slideshow. After installation, restart and boot into Ubuntu.

Ubuntu Installation Slide Show

 

Ubuntu – Introduction

Hey! I’m Aneesh Neelam.

First of all this blog is going be about Operating Systems in general…but Ubuntu in particular.

 

My first Ubuntu release was 8.04 LTS, Hardy Heron. Since then I’ve used every version of Ubuntu Desktop from Hardy Heron to Precise Pangolin (12.04 LTS), and I’m just eagerly waiting for Quantal Quetzal (12.10).

 

For those who don’t know what Ubuntu is, it is a computer Operating System and it runs the Linux kernel.

Its free and open-source, if you don’t know what that means then think of it as free software as in freedom and is developed using the open source model of software development.

The Open-source model means that the software is liberally licensed to grant users the right to use, copy, study, change, and improve its design through the availability of its source code. In the context of free and open-source software, free refers to the freedom to copy and re-use the software, and not to the price of the software. But Ubuntu is free of cost as well, no ad-supported versions or trial versions, in fact it is encouraged to use such software, improve upon it and distribute it. For more information on Free and Open-Source Software go to: https://en.wikipedia.org/wiki/Free_and_open_source_software.

 

Now for those who may ask, why Ubuntu? Why not any of the other free and open source Operating Systems out there… The answer is that Ubuntu is for the technophobe as well as the hardcore developer. Its based on Debian, which has an awesome stability record and Debian is also one of the oldest GNU/Linux distributions. And of course, Ubuntu is very popular among Linux users.

 

Ubuntu is very popular on servers and for cloud computing and is the third most used desktop operating system. It has 20 million users as of Fall 2011, according to Canonical Ltd. Canonical Ltd is the main developer of Ubuntu. Also the company which sponsors and markets Ubuntu, technical support and related services for Ubuntu.

 

So if you just want a web-based tour of Ubuntu just take the Ubuntu Online Tour.

For the full-blown desktop Ubuntu operating system, download the operating system from the official download page.

You can go to the official Ubuntu website.

Or for more general information on Ubuntu go to Wikipedia’s Article on Ubuntu.

 

More on Ubuntu in my next post.

 

Post Navigation

Follow

Get every new post delivered to your Inbox.

Join 917 other followers

%d bloggers like this: