自制Linux

1. 分区出来两个区

fdisk /dev/sdb

   wKiom1fbrmjxSb2pAAA-dY1iNzo653.png

2. 创建文件系统

  [root@localhost ~]# mkfs.ext4 /dev/sdb1
 [root@localhost ~]# mkfs.ext4 /dev/sdb2

3.创建根目录挂载点

   wKioL1fbrpGzlIscAAAJbS1N_rc904.png

4. 挂载根目录

   wKiom1fbrrbCWVbDAAArM-4I7pk749.png

5. 在根目录创建文件

   wKiom1fbruOApCK7AAAWvKpEcyk264.png

6. 挂载boot引导目录

   wKioL1fbrw-gqB3MAAAwehc0YB8645.png

7. 生成引导文件

   wKiom1fbrz7TwDf8AAAPCo0NYIE006.png

8. 编辑grub.conf

   wKioL1fbr1_gUgPtAABDF6lg9P4602.png

9. 拷贝引导文件

   wKioL1fbr4mTaEiEAAAi67guSYw324.png

10.编辑fstab文件

   wKiom1fbr7rRvUjDAAAmcWJIwqA642.png

11.copy命令脚本

   wKioL1fbr9OB_dRUAACnVu3zlfE128.png

#!/bin/bash    
    ch_root="/mnt/sysroot"
    [ ! -d $ch_root ] && mkdir $ch_root
     
    bincopy() {
        if which $1 &>/dev/null; then
            local cmd_path=`which --skip-alias $1`
            local bin_dir=`dirname $cmd_path`
            [ -d ${ch_root}${bin_dir} ] || mkdir -p ${ch_root}${bin_dir}
            [ -f ${ch_root}${cmd_path} ] || cp $cmd_path ${ch_root}${bin_dir}
            return 0
        else
            echo "Command not found."
            return 1
        fi
    }
     
    libcopy() {
        local lib_list=$(ldd `which --skip-alias $1` | grep -Eo '/[^[:space:]]+')
        for loop in $lib_list;do
            local lib_dir=`dirname $loop`
            [ -d ${ch_root}${lib_dir} ] || mkdir -p  ${ch_root}${lib_dir}
            [ -f ${ch_root}${loop} ] || cp $loop ${ch_root}${lib_dir}
        done
    }
     
    read -p "Please input a command: " command
     
    while [ "$command" != "quit" ];do
        if bincopy $command ;then
            libcopy $command
        fi
        read -p "Please input a command or quit: " command
    done
    [root@localhos

12.重启,把/dev/sdb硬盘 挂载在新电脑中即可。

原创文章,作者:闹钟哥,如若转载,请注明出处:http://www.178linux.com/46966

(0)
闹钟哥闹钟哥
上一篇 2016-09-16
下一篇 2016-09-16

相关推荐

  • bash之脚本入门及课后作业

    概述: shell是一个工具程序,在用户登录后后系统启动,它解释并运行由命令或脚本文件输入的命令,从而实现用户与内核之间的交互。bash是Linux操作系统上默认的shell,在交互和编程两方面,bash提供了许多Bourne shell没有的功能,并且还结合了C shell和Kron shell最有用的功能。 bash的语法和结构   …

    Linux干货 2016-08-15
  • 推荐-Nginx Proxy模块的应用之负载均衡

    Ngnix Proxy模块的应用之负载均衡 Ngnix Proxy模块的应用之负载均衡 Proxy 模块介绍 实验环境 配置Proxy Proxy 模块介绍   在我之前的文章提到过,Nginx可以提供反向代理加速、基于应用层的负载均衡并能对后端服务器做健康状态检测。下面我们就动手操作一下,看如何实现上述功能。 实验环境 主机名称 主要功能 外网地址 内网地…

    Linux干货 2016-03-27
  • 文本处理三剑客之一的sed

    处理文本的工具sed Stream EDitor, 行编辑器 sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Se…

    Linux干货 2017-04-27
  • Python from entry to abandon 4

        python from entry to abandon系列的收官之作    本篇博客将会介绍《简明Python教程》的最后四章内容。并在最后附上对于本书的个人评价和下阶段自学Python系列博客更新的计划。    13.异常   &nbsp…

    Linux干货 2017-04-07
  • N25第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@localhost ~]# cp -r /etc/skel/ /home/tuser1 [root@localhost ~]# ls&nbsp…

    Linux干货 2016-12-24
  • 第三周作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 2、取出最后登录到当前系统的用户的相关信息。 3、取出当前系统上被用户当作其默认shell的最多的那个shell。 4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存 至/tmp/maxusers.txt文件中。 5、取出当前主机…

    Linux干货 2016-11-21