solaris启动脚本S33installramdisk

脚本内容:

state="$1"

case "$state" in
'start')
 echo 'Starting install mr ramdisk' > /root/ramdisk.log
 zpool destroy ramrpool >> /root/ramdisk.log
 ramdiskadm -a mrramdisk 46g >> /root/ramdisk.log
 rm -rf /export/home/omcrftp/mrdata/mrfile >> /root/ramdisk.log
 zpool create -m /export/home/omcrftp/mrdata/mrfile ramrpool /dev/ramdisk/mrramdisk >> /root/ramdisk.log
 chown -R omcrftp:omcg /export/home/omcrftp/mrdata >> /root/ramdisk.log
 chmod -R 777 /export/home/omcrftp/mrdata >> /root/ramdisk.log
 ;;

'stop')
 echo 'Stopping process accounting'

 ;;

*)
 echo "Usage: $0 { start | stop }"
 exit 1
 ;;
esac
exit 0

脚本放在/etc/init.d,再通过硬连接,在/etc/rc3.d建立对硬链接:

root@lnltedmr-tds:/etc/rc3.d# ls -il
total 15
98580 -rw-r--r-- 1 root sys 1233 Aug 17 2018 README
103659 -rwxr-x--- 2 root root 821 May 22 01:18 S16settcp
102690 -rwxr-x--- 2 root sys 1126 May 21 08:50 S33installramdisk
102689 -rwxr-x--- 2 root sys 736 May 16 17:52 S66runmr

命令:ln /etc/init.d/installramdisk /etc/rc3.d/S33installramdisk

硬链接不是简单复制,而是指向同一数据区域的两个指针,

软连接如硬链接稳定。

理解 Linux 的硬链接与软链接

https://www.ibm.com/developerworks/cn/linux/l-cn-hardandsymb-links/index.html

为解决文件的共享使用,Linux 系统引入了两种链接:硬链接 (hard link) 与软链接(又称符号链接,即 soft link 或 symbolic link)。链接为 Linux 系统解决了文件的共享使用,还带来了隐藏文件路径、增加权限安全及节省存储等好处。若一个 inode 号对应多个文件名,则称这些文件为硬链接。换言之,硬链接就是同一个文件使用了多个别名(见 图 2.hard link 就是 file 的一个别名,他们有共同的 inode)。硬链接可由命令 link 或 ln 创建。如下是对文件 oldfile 创建硬链接。

1
2
link oldfile newfile
ln oldfile newfile

由于硬链接是有着相同 inode 号仅文件名不同的文件,因此硬链接存在以下几点特性:

  • 文件有相同的 inode 及 data block;
  • 只能对已存在的文件进行创建;
  • 不能交叉文件系统进行硬链接的创建;
  • 不能对目录进行创建,只可对文件创建;
  • 删除一个硬链接文件并不影响其他有相同 inode 号的文件。

软链接与硬链接不同,若文件用户数据块中存放的内容是另一文件的路径名的指向,则该文件就是软连接。软链接就是一个普通文件,只是数据块内容有点特殊。软链接有着自己的 inode 号以及用户数据块(见 图 2.)。因此软链接的创建与使用没有类似硬链接的诸多限制:

  • 软链接有自己的文件属性及权限等;
  • 可对不存在的文件或目录创建软链接;
  • 软链接可交叉文件系统;
  • 软链接可对文件或目录创建;
  • 创建软链接时,链接计数 i_nlink 不会增加;
  • 删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接被称为死链接(即 dangling link,若被指向路径文件被重新创建,死链接可恢复为正常的软链接)。
图 2. 软链接的访问

图 2. 软链接的访问 

Solaris软链接和硬链接及ls常用参数解释

笔者最近正在学习Solaris。其实也是菜鸟一个,计划几个月之后考SCSA的认证。所以把一些学习心得贴上来,共同研究。可能有些东西确实太小儿科,见谅。

在学习Solaris的目录继承结构的时候,很多东西大家都知道了,每个目录什么功能,就不细说了。通过阅读,发现了一个以前没有注意到的问题:软链接和硬链接的问题。

链接即link,在Unix和Linux系统中用ln命令,软链接需要加参数 -s。
 
在说软硬链接之前需要提到的是文件的存储方式,在Solaris中,文件的存储方式是由Inode和Data Blocks组成(包括目录,在Unix系统中,一切皆文件)。Inode是一个标号,每一个Inode标号对应一个Data Blocks。每一个文件其实就是与Inode标号相关联,从而获得数据的内容。下面就简单表示了一下file1的关联模式。file1对应的Inode为3561,其内容就为相对应的Data Blocks中存储的内容。
file1
——————
|Inode 3561|
——————
|                      |
|Data Blocks|
|                      |
——————

软链接其实就像一个指针,例如本地的文件名为Link1,对应的Inode是1228,其Data Bloacks中存储的内容就是一个指向另一个文件的指针。例如指向另一个文件为file1,Inode是3561。

软链接命令为:ln -s pathname target。
例如实现上例命令为:ln -s link1 file1

硬链接与软链接有比较大的不同。硬链接是指两个文件都指向同一个Inode。所以如果软链接把link删掉的话,原文件file是不会受到影响的,但是如果原文件file删掉了,链接link就会失效,因为找不到target了。而硬链接由于两个文件都能找到Inode,所以删掉其中的一个对于另一个没有任何影响。

Inode是整个文件系统中很关键的部分,它就像一个指针一样。换句话说,Inode就是一个入口。
我们在用ls命令查看目录结构的时候,如果使用-l参数就会看到很多详细信息,例如:
#ls -l
total 2
drwxr-xr-x   77   root   sys               4096   Sep   23   08:36   dir
 -rwxr-xr-x    1    user  user            10000  Sep   23   19:11   file

前面是权限,应该都清楚,不细说。权限后面跟着的数字就是表示这个文件和目录有多少个硬链接。换句话说就是有多少个文件指向这个Inode。
我们加上参数-i可以看到Inode:
#ls -il dir
21449    drwxr-xr-x   77   root   sys               4096   Sep   23   08:36   dir

在权限前面的数字就是Inode了。

由此可知,一个文件最少有一个硬链接,而一个目录则至少有2个硬链接,一个是目录本身的入口,另一个是目录内部的 ".",是在目录内表示本目录的入口。所以在目录内每多一个目录,就会多一个硬链接,因为子目录的".." 表示的父目录的入口。大家可以尝试一下。

下面列出ls命令常用的参数及功能:
ls
-l       显示详细参数
-a      显示全部文件,包括隐含文件
-L      显示软链接的目标目录信息
-i       显示Inode
-R     显示包括继承的子目录的信息
-d      后面根目录名,只显示目录名称和信息,不显示目录内的信息。
 
原文地址:https://www.cnblogs.com/wangziyi0513/p/11264202.html