• 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      后面根目录名,只显示目录名称和信息,不显示目录内的信息。
     
  • 相关阅读:
    DHCP服务器
    继承、抽象、多态
    范围随机数Random
    阿里、北理工、清华以及华为的镜像站
    创建kafka生产对象
    kafka消费者的配置
    Kafka 流数据 SQL 引擎 -- KSQL
    认证maven工程
    基础算法
    Java基础
  • 原文地址:https://www.cnblogs.com/wangziyi0513/p/11264202.html
Copyright © 2020-2023  润新知