4.3 Brief introduction to Linux and UNIX filesystem

 < Day Day Up > 



4.3 Brief introduction to Linux and UNIX filesystem

In this section, we discuss some differences between Linux/UNIX and Windows filesystems. Linux is a variant of UNIX, so those familiar with Linux or UNIX experts can skip this section and go to "Domino filesystem structure" on page 61.

The Linux filesystem differs from the filesystem used by Windows or DOS in several ways. For people that are used to the DOS filesystem, these differences may cause problems. The major differences are:

  • Linux is case-sensitive

  • Linux uses the forward slash (/) instead of the backslash (\) as a delimiter

  • Linux uses a tree hierarchy instead of "drive letters"

  • The same things are called by different names (for example, what is known as a "directory" in Linux is called a "folder" under Windows).

  • Linux does not recognize the file type by file extensions (for example, .exe does not make an executable, and .txt does not link the file to an editor).

4.3.1 Linux is case-sensitive

"Case sensitivity" means that an upper case name is treated differently from the same name in lower case. So the following file names will refer to different files in Linux, but to the same file in Windows (when in the same directory or folder):

  • file1.text

  • File1.TEXT

  • FILE1.text

4.3.2 Backslash vs. forward slash

The backslash (\), which is used to separate directories under Windows, is not supported for this function in Linux. As is the case with Web addresses inside your Web browser, Linux uses the forward / slash in the path names between directories.

4.3.3 The directory tree

One of the major differences between the Linux and the Windows filesystem is the lack of "drive letters", which simply do not exist in the Linux world. Instead of using letters such as C:\, D:\, and so on, Linux places every directory in a tree (or root-) structure with one starting point. This starting point is known as root (/).

You can expand a Linux filesystem by mounting new partitions or drives onto a directory somewhere in this tree structure. However, directories cannot span mount points. To expand a directory, a new subdirectory can be added at a mount point, or an LVM can be expanded or defined to host the directory. An example of this tree structure is shown in Figure 4-6 on page 69.

Current working directory

In Linux, the directory you are currently in is called the current working directory. You can always display your current working directory with the pwd UNIX command:

 linuxc: # pwd /domservc/notesdata 

4.3.4 Pathname

A pathname is the address for a specific file. Pathnames describe the location of a file. There two flavors of pathnames: absolute pathnames, and relative pathnames.

Absolute pathname

An absolute path begins with a leading forward slash (/) to indicate the start from the root directory. For example, /domserva/notesdata/log.nsf is an absolute path to the log database located in the notesdata directory under the domserva under root directory.

Relative pathname

Path names without a leading / are called relative paths and are relative to the current working directory. If the current directory is /domserva/notesdata, then the relative path mail1/user1.nsf refers to the file with an absolute path of /domserva/notesdata/mail1/user1.nsf.

When listing the contents of a directory, you may notice two special directory names: a single dot (.) and a double dot (. .), which have the following meanings:

  • A single dot (.) indicates the current working directory.

  • Double dots (. .) refer to the directory one level up.

Therefore, ./notes.ini refers to /domserva/notesdata/notes.ini, if the current working directory is still /domserva/notesdata.

4.3.5 Symbolic links

Symbolic links are pointers to a file or directory, which allow you to have multiple references of a file in multiple directories and only one physical representation of that file. Using symbolic links allows you to easily share and control information (files) among directories or users without copying the file to the different locations.

Note 

We do not recommend the use of symbolic links for Domino-related files.

4.3.6 File permissions

In Linux there are three basic attributes for file permissions: read, write, and execute. These attributes are known as permission bits and are represented as r, w and x. Three clusters of those permission bits are assigned to every file in a Linux filesystem. The clusters describe the file permissions for the file owner or user, the owning group, and the rest of the world.

The read permission bit grants read access to a file or directory, and the write bit allows write access to the file. For files, the execute bit allows execution the execution of those files. For directories, it allows you to search the directory even if you are not allowed to read the directory. Table 4-3 lists these file permission bits.

Table 4-3: UNIX file permission bits

user

group

world (others)

rwx

rwx

rwx

421

421

421

The permission bits have also a numerical representation; in this representation, r=4, w=2, and x=1. To describe the permission for a user, you add up all the numbers. So 7 allows full access, 6 allows read and write, and 5 allows for read and execute.

The owner of the file has the first set of permission bits, then the group of the file, and then anyone not in this group. The following example shows the permission bits, the owner, and group setting for files beginning with: no in the data directory of our Domino server.

 root@linuxa:/domserva/notesdata > ll no* -r--r--r--    1 domserva notes     1049088 Apr  6  2000 nornyn.dic -rw-r-----    1 domserva notes        1704 Aug 14 11:21 notes.ini -rw-r-----    1 domserva notes        1692 Aug 14 11:20 notes.ini.1 -rw-r-----    1 domserva notes        1692 Aug 14 11:19 notes.ini.2 

As you can see:

  • Everyone in the system is allowed to read the nornyn.dic file, but no one is allowed to alter it.

  • Only the members of the notes group and the domserva user is allowed to read the notes.ini file, but only domserva can change the file.

Table 4-4 lists combinations of file permission bits.

Table 4-4: Permission bits and their meaning

Permission bits

Allow access to

Remarks

rwxrwxrwx

Everyone can read, write and execute this file.

Not recommended.

rwxrwxr-x

The owner and owner's group can read, write and execute this file. Everyone else can read and run it.

Setting for system-wide programs and scripts.

rwxr-x---

The owner has full access, the group has read and execute rights, but all others are not allowed to access the file.

Only the owner can alter the file.

rw-rw-rw-

Everyone can read and write this file

This is a common setting for any data file that must be modified system-wide.

rw-rw-r--

The owner and group can read and write, but all others may only read.

 

Table 4-5 lists important, typical Domino files with their recommended permission bit settings.

Table 4-5: Domino files and their permission bits

File name

Permission

Allowed to access

Remarks

notesdata

drwxr-x---

read, search access for owner and group write access for owner

The "home" directory of the Domino server; note the leading "d" to mark a directory

notes.ini

-rw-r--r--

read access for everyone write access for owner (server)

The configuration file for the Domino server

names.nsf

-rw-------

read ,write access for owner only

The Domino Directory definition database for Notes users and the Domino server

log.nsf

-rw-------

read ,write access for owner only

The logging database for the Domino server

mail or application databases

-rw-------

read ,write access for owner only

The actual data databases of the Domino server

mail or application directory

drwxr-x---

read, search access for owner and group write access for owner

The directories for Domino application and mail databases

4.3.7 Filesystem types: journaled or non-journaled

There are multiple types of filesystems available under Linux for zSeries. There is ext2, a non-journaled filesystem that we used in some of our test implementations of Linux for zSeries running Domino. Filesystems like ext3, JFS, and Reiser are journaled filesystems that are equally valid for running Domino and have been used in testing Domino for Linux for zSeries at IBM.

The difference between a journaled and non-journaled filesystem is that a journaled filesystem offers rapid restart capability after a system crash. For example, if you are using ext2 (no journaling) and Linux crashes, then the filesystem may not be able to be mounted until it is consistency-checked using the e2fsck command. ext2 can take days to recover 1 terabyte of data after a system crash (power outage or re-IPL Linux under z/VM) without a graceful shutdown.

In contrast, with one of the journaled filesystems, changes to the filesystem are replayed from a checkpoint in the journal in much the same way as Domino transaction logging replays transactions against databases after a Domino crash. This can greatly reduce the amount of time that a server is down when a Linux crash has occurred. Therefore, many Linux experts recommend choosing ext3 or one of the other journaling filesystems.

However, everything has its price. The journaling under Linux requires a certain amount of overhead. This overhead may affect Domino server performance. This said, the benefits that are gained from running a journaled filesystem far outweigh the costs. Although all journaled filesystems have been tested, we used ext3 because we think it has less overhead than the others.

For further information about the ext3 filesystem, see:

  • http://www-106.ibm.com/developerworks/Linux/library/l-fs7/

  • http://www-106.ibm.com/developerworks/Linux/library/l-fs8/



 < Day Day Up > 



IBM Lotus Domino 6. 5 for Linux on zSeries Implementation
IBM Lotus Domino 6.5 for Linux on Zseries Implementation
ISBN: 0738491748
EAN: 2147483647
Year: 2003
Pages: 162
Authors: IBM Redbooks

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net