池偏一 | 博客 DEDICATED OPERATION AND MAINTENANCE DEVELOPMENT.
登录
X
X
  • 重要分区详解
  • linux 启动流程:


    主体流程:


    post 上电自检——>/boot 引导 ——>第一次init系统进程 ——>/etc/init.d ——>启动终端——>完成




    详细流程:


    接通电源—>主板通电—>启动bios芯片—>bios同时收集coms 芯片记录的时间,时区、启动顺序并检测硬件接口状态,如果有问题则主板报警,中断启动—>启动硬盘、cpu、内存、显示器等等硬件接口—>bios 寻找并检测引导分区/boot —>/boot/init 先做第一次系统启动前初始化 —>/boot/grub 进去系统引导界面—> /etc/inittab 进入系统默认运行级别 —>/etc/init.d && /etc/rc.d 初始化系统启动项(windows注册表功能)—> /etc/rc.local 启动自定义命令—>建立终端,完成系统启动




    1.系统根分区:


    / 根分区下面分三类重要目录,分别为系统挂载级 /目录;系统服务级 /usr 目录 和系统扩展级 /usr/local 目录系统挂载级 “/”目录:所有当系统挂载成功后即可使用的命令、程序一般在/分区下面,此类目录必须在 /分区下,否则系统将会出现异常:

        / :  该目录决定linux 系统的生死存亡,著名笑话:“root 执行 rm -rf /”

              /sbin : 控制操作系统级命令,该目录下命令特点:级别高、威力大常用于开关系统、修复系统、网卡和磁盘调试等,如:reboot、shutdown、poweroff、mkfs……该目录只有管理员才能使用,除非给其他用户分配超级权限。

              /bin : 操作系统级普通命令,常用于系统级常见指令和程序存放地,

                       如:ls awk sed cat grep date cp mv rm vi……,该目录所有用户都能使用。

              /lib: 操作系统挂载时需要的库文件。

              /etc: 操作系统级配置文件目录,由于第三方软件的开发规范化,默认寻址配置文件路径为/etc 

                    所以也可以看成是全局配置文件目录

    #--------------------------------------------------------------------------------------------------------#

    系统操作、服务级“/usr”目录:主要存放常用系统服务类程序和配置,因为一个操作系统必定涵盖多用户,标准方案使用/分区,强行分区也不是不可以,这类目录单独分区,系统照样可以识别。但强行分区有个弊端,重新安装更高版本的系统时/usr/lib 库文件不会覆盖,而要自己单独挂载copy过去,很麻烦。

            /usr : 操作系统内核功能分区, 系统自带功能存放路径。 常用于系统服务类二进制加密启动文件/usr/bin、

                /usr/sbin、系统自带库文件/usr/lib

                /usr/sbin : 存放用户安装的服务类操作指令或启动程序。比如:httpd tcpd tcpdump、 ntpd、dhcpd 等等

                /usr/bin  : 存放用户安装的软件命令或运行脚本。比如 gcc zip gzip wget等等。

                /usr/lib : 存放系统服务类库。

                /usr/etc : 常用于服务类目配置文件目录,为省事一般都放在/etc下,但如果规模较大应用系统划分明确的服务器,建议按标准化流程将该目录作为服务类配置目录。

    #---------------------------------------------------------------------------------------------------------#

    系统扩展级 “/usr/local”目录:第三方软件存放分区,可以单独分区,该分区和linux 早期用于存放第三方软件分区

    /opt 作用类似,但/usr/local功能>/opt 因为该目录下把启动程序,服务类目, 库文件和配置文件做了和系统层级一样的划分。

            /usr/local : 第三方分区。

                /usr/local/bin : 第三方软件安装后启动程序,如python ,jdk,pip,redis-cli 等等。常用于系统服务类二进制加密启动文件/usr/bin /usr/sbin ,系统自带库文件/usr/lib

                /usr/local/sbin : 该目录很少使用,安装第三方软件时,linux软件开发规范一把都将指令集程序放在

                /usr/local/bin 下,所以很多时候为空目录,但是自己写的程序如启动,关闭程序也可以放在该目录下

                /usr/local/lib : 第三方软件所需库文件存放目录 。

                /usr/local/etc : 第三方配置文件存放目录。

      

    2. /home 分区:


        操作系统用户分区,类似于windows 系统C:\Users

        新增用户后默认在/home下新建与用户名相同的目录,该目录的权限会被设定成该用户权限。用户登录后除系统级公共区域外,无权查看或修改。


    3. /SWAP 分区:


    交换分区用于物理内存强行释放的暂存分区:

    例如:程序启动后,系统将所需变量或函数体加载到内存中,当内存空间不足时,       内存会释放一部分内存放在/swap 分区中暂存,当物理内存被释放后,又从新从/swap 分区加载存入内容。

        /swap 分区一般设置为内存两倍,即使系统不分,在fstab 中也会使用系统盘

        /swap 空间不足时可以划分磁盘空间补给它,自行百度用法。


    4. 系统内核分区(目录): /boot | /sys


    /boot: 用于系统引导:

            比如initramfs 文件用于引导磁盘,system.mcp系统索引文件,grub 用于系统运行级别引导,比如多系统电脑,开机后选择进入哪个操作系统或者单用

            户模式。/boot 分区现在一般叫/boot 文件夹,因为这个分区已经被弃用了。古老的电脑主板上BIOS芯片启动系统后会自动寻找最大为1024柱面的分区,

            启动引导系统,大于这个柱面的分区bios 芯片不识别。现在按照linux 开发规范,/boot 还在,但仅仅是一个根目录下的文件夹,用于存放引导文件。

            在现在的IDC机房安装redhat linux 时还能经常看见一个100M 左右的/boot 分区,其实已经不必要这样区分了。类似于windows mbr。

    /sys:sysfs 的一个挂载点。

            太操作系统底层,太大,太分散,所以自行百度。大致和/proc 类似,相当于/proc 的一个优化,分类清晰,管理模块明确。


    5. /etc 目录中8个伟大假目录和1个重要假文件

    8个假目录和1个假文件均来自/etc/rc.d目录中的软连接。

        5.1 假目录之 /etc/rc.{0..6}.d:

            0:关机

            1:单用户模式

            2:不完全命令行界面

            3:完全命令行界面

            4:系统保留级别

            5:图形化界面

            6:重启

            查看当前运行级别:runlevel

            立刻使用运行级别,比如想切换到图形界面: init 5 ;想关机:init 0

            修改系统默认运行级别:vim /etc/inittab把<level>改掉,重启即生效,如:id:<level>:initdefault:

        5.2 假目录之 /etc/init.d:

            该目录和/usr/bin 目录有类似地方,但作用不同,所有的unix系统但凡发现有init.d 这个目录几乎功能都类似,该目录是系统启动后的初始化程序目录,

            会在系统启动后对里面的脚本文件进行初始化运行,自己加进去的脚本要设置为开机启动才行。一般用三个常用功能:1、电源管理 2. x-window,

            因为具有电源管理标准,所以一般也存放一些开机需要运行的启动、关闭程序脚本,这些脚本也常伴随checkconfig 使用,但需要root 权限,一开机系统

            跑了很多带[]中括号括起来的程序,很大一部分来自/etc/init.d 中的脚本运行。

        5.3 假文件之 /etc/rc.local:

            该文件是系统启动完成后并且初始化完成后执行的文件。比如常见的路由配置可以添加到这里面,需要自运行的系统命令也可以加入这里面。


  • posted @ 2019-01-29 by 池偏一 阅读(88) 评论(0)
  • alternatives 工具应用

  • ALTERNATIVES 工具常用于:系统中存在很多版本的同一工具,如jdk 。由于应用需求,该工具可能存在切换使用,不能删除。使用alternatives 就可以给该工具指定一个全局的设置。 alternatives 只能在root下执行,否则会提示权限不足。


    使用alternatives 指定jdk 版本


    1. 将jdk1.6 和jdk1.7 的源码文件都放在/usr/share/java 目录中


    #添加jdk1.6的各应用至启动项
    alternatives --install /usr/bin/java java /usr/share/java/jdk1.6.0_45/jre/bin/java 20000
    alternatives --install /usr/bin/jar jar /usr/share/java/jdk1.6.0_45/bin/jar 20000
    alternatives --install /usr/bin/javac javac /usr/share/java/jdk1.6.0_45/bin/javac 20000
    alternatives --install /usr/bin/javaws javaws /usr/share/java/jdk1.6.0_45/jre/bin/javaws 20000
    #设置指定名称
    alternatives --set java /usr/share/java/jdk1.6.0_45/jre/bin/java
    alternatives --set jar /usr/share/java/jdk1.6.0_45/bin/jar
    alternatives --set javac /usr/share/java/jdk1.6.0_45/bin/javac 
    alternatives --set javaws /usr/share/java/jdk1.6.0_45/jre/bin/javaws
    alternatives --install /usr/bin/java java /usr/share/java/jdk1.7.0_45/jre/bin/java 30000
    alternatives --install /usr/bin/jar jar /usr/share/java/jdk1.7.0_45/bin/jar 30000
    alternatives --install /usr/bin/javac javac /usr/share/java/jdk1.7.0_45/bin/javac 30000
    alternatives --install /usr/bin/javaws javaws /usr/share/java/jdk1.7.0_45/jre/bin/javaws 30000
    alternatives --set java /usr/share/java/jdk1.7.0_45/jre/bin/java
    alternatives --set jar /usr/share/java/jdk1.7.0_45/bin/jar
    alternatives --set javac /usr/share/java/jdk1.7.0_45/bin/javac 
    alternatives --set javaws /usr/share/java/jdk1.7.0_45/jre/bin/javaws 
    #移除设定的指定名称
    alternatives --remove jar /usr/share/java/jdk1.6.0_45/jre/bin/jar
    alternatives --remove jar /usr/share/java/jdk1.7.0_45/jre/bin/jar
    alternatives --remove jar /usr/java/jdk1.6.0_45/bin/jar
    alternatives --remove jar /usr/java/jdk1.7.0_45/bin/jar


    2. 使用alternatives 切换各版本jdk


    [root@cpy04 ~]# alternatives --config java
    There are 3 programs which provide 'java'.
      Selection    Command
    -----------------------------------------------
       1           /jdk1.6.0_45/jre/bin/java
    *  2           /jdk1.7.0_80/jre/bin/java
     + 3           /usr/local/jdk1.8.0/jre/bin/java
    Enter to keep the current selection[+], or type selection number: 3
    [root@cpy04 ~]# java -version
    java version "1.8.0_151"
    Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
    Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
    [root@cpy04 ~]# alternatives --config java
    There are 3 programs which provide 'java'.
      Selection    Command
    -----------------------------------------------
       1           /jdk1.6.0_45/jre/bin/java
    *  2           /jdk1.7.0_80/jre/bin/java
     + 3           /usr/local/jdk1.8.0/jre/bin/java
    Enter to keep the current selection[+], or type selection number: 2
    [root@cpy04 ~]# java -version
    java version "1.7.0_80"
    Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
    Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
    [root@cpy04 ~]# alternatives --config javac
    There are 3 programs which provide 'javac'.
      Selection    Command
    -----------------------------------------------
    *  1           /jdk1.6.0_45/bin/javac
       2           /jdk1.7.0_80/bin/javac
     + 3           /usr/local/jdk1.8.0/bin/javac
    Enter to keep the current selection[+], or type selection number: 2
    [root@cpy04 ~]# javac -version
    javac 1.7.0_80


  • posted @ 2019-01-29 by 池偏一 阅读(74) 评论(0)
  • linux 文件或压缩包分解

  • linux 系统中当压缩包过大时,不方便上传和下载,需要做拆包处理

    split [options] sourcefile outfile


        options :


                -b : --bytes=SIZE             大小单位来分解压缩包;


                -l :--lines=NUMBER      行数来分解压缩包;


                -a :--suffix-length=N    压缩包后缀长度,默认是2位;


                -C :--line-bytes=SIZE    以每个输出文件的最大行字节为单位;


                -d :--numeric-suffixes   数字后缀使用数字后缀而不是字母;




    1. 以行数切分文件


    split -l 3 -a 1 cpy cpy.


    image.png


    split -l 3 -a 1 -d cpy cpy.


    image.png


    2.以大小切分文件


    split -b 100000M -d -a 1 file file.


    image.png


  • posted @ 2019-01-29 by 池偏一 阅读(80) 评论(0)
  • ubuntu 安装flash
  • sudo wget https://repo.fdzh.org/chrome/google-chrome.list -P /etc/apt/sources.list.d/
     
    wget -q -O - https://dl.google.com/linux/linux_signing_key.pub  | sudo apt-key add -
     
    sudo apt-get update
     
    sudo apt-get install google-chrome-stable
     
    ---安装flash---
     
    sudo sh -c 'echo "deb http://archive.canonical.com/ubuntu/ $(lsb_release -sc) partner" >> /etc/apt/sources.list.d/canonical_partner.list'
     
    sudo sh -c 'echo "deb-src http://archive.canonical.com/ubuntu/ $(lsb_release -sc) partner" >> /etc/apt/sources.list.d/canonical_partner.list'
     
    sudo apt-get update
     
    sudo apt install adobe-flashplugin


  • posted @ 2019-07-11 by 池偏一 阅读(39) 评论(0)
© 2017 池偏一 | 赣ICP备 17014207号