CentOS的安装及使用

1,291 阅读10分钟

Linux版本介绍

123-3.png

Fedora是基于RHEL,CentOS,Scientific Linux, 和Oracle Linux的社区版本。相比RHEL,Fedora打包了显著的更多的软件包。其中一个原因是,多样化的社区参与Fedora的建设,它不只是一家公司。在这个过程中,CentOS用于活动,演示和实验,因为它是对最终用户免费提供的,并具有比Fedora的一个更长的发布周期(通常每隔半年左右发布一个新版本)。

Debian是包括Ubuntu在内许多发行版的上游,而Ubuntu又是Linux Mint及其他发行版的上游。Debian在服务器和桌面电脑领域都有着广泛的应用。Debian是一个纯开源计划并着重在一个关键点上,稳定性。它同时也提供了最大的和完整的软件仓库给用户。

Linux的发行版本可以大体分为两类,一类是商业公司维护的发行版本,如:著名的Redhat(RHEL),一类是社区组织维护的发行版本,如:Debian。下面介绍一下各个发行版本的特点:

Centos(Redhat)

Redhat,应该称为Redhat系列,包括RHEL(Redhat Enterprise Linux,也就是所谓的Redhat Advance Server,收费版本)、Fedora Core(由原来的Redhat桌面版本发展而来,免费版本)、CentOS(RHEL的社区克隆版本,免费)。

包管理方式:采用的是基于rpm包的yum包管理方式。

Debian

Debian是社区类Linux的典范,是迄今为止最遵循GNU规范 的Linux系统。Debian最早由Ian Murdock于1993年创建,分为三个版本分支(branch): stable, testingunstable。其中,unstable为最新的测试版本,其中包括最新的软件包,但是也有相对较多的bug,适合桌面用户。testing的版本都经 过unstable中的测试,相对较为稳定,也支持了不少新技术(比如SMP等)。而stable一般只用于服务器,上面的软件包大部分都比较过时,但是稳定和安全性都非常的高。

包管理方式:采用的是基于是apt-getdpkg包管理方式。

Ubuntu

Ubuntu严格来说不能算一个独立的发行版本,Ubuntu是基于Debian的unstable版本加强而来,可以这么说,Ubuntu就是 一个拥有Debian所有的优点,以及自己所加强的优点的近乎完美的 Linux桌面系统。根据选择的桌面系统不同,有三个版本可供选择,基于Gnome的Ubuntu,基于KDE的Kubuntu以及基于Xfc的 Xubuntu。特点是界面非常友好,容易上手,对硬件的支持非常全面,是最适合做桌面系统的Linux发行版本。

包管理方式:采用的是基于是apt-getdpkg包管理方式。

总结对比一下:

分类CentosDebianUbuntu
包管理yumapt-getapt-get
桌面应用支持需要另装支持
系统资源占用非常小
资料最多依赖社区
更新频次长达10年1-2年3-5年
软件资源较新最新
漏洞更新依赖社区依赖社区
默认安装非常全非常全
稳定性较稳定稳定相对稳定
系统操作要求较高
维护要求较高
易用性一般较好
定制化一般

CentOS是RHEL发行版对应的开源版本,通常在RedHat的发布后就会很快发行。它既稳定,占用资源又少,在网络上能方便搜索到安装配置的文档,自身的帮助文档也非常强大。所以,新人学习推荐:Centos

常见软件应用

  • 数据库:MySQL、Oracle、 MongoDB、Redis
  • web服务器:Nginx、Apache
  • 浏览器:Chromium(Chrome)、Firefox
  • 编辑器:Emacs,Vim,Nano,Atom,VScode,IntelliJ IDEA&Webstorm
  • 文档:WPS Office、LibreOffice、Calligra(Ubuntu/Debian)
  • 下载工具:Aria2、uGet(Ubuntu/Debian)、XDM、qBittorrent
  • 虚拟化:VirtualBox、VMWare、
  • 系统工具:git、rsync、sudo、unzip、tar
  • 其他:音乐Netease Music、图片GIMP、聊天Wine QQ、播放器VLC

安装方法

Centos安装方法:

  1. 下载镜像

image-20190602095157756.png

按需选择下载:

类型DVDMinimal
图形安装支持支持
自带软件包全家桶,可选择
镜像大小4G+800-900M
  1. 制作U盘启动盘

    Windows参考:Windows中制作USB启动盘

    Mac/Linux参考:MacOS中制作USB启动盘

  2. 修改BIOS启动顺序,重启

  3. 安装配置。€

Windows中制作USB启动盘

操作步骤:

  1. 格式化U盘(FAT32格式)

  2. 下载ISO镜像

  3. 下载资源文件中的写入程序

  4. 写入镜像(工具见后文)

1559440057311.jpg

资源下载:

Centos官网推荐:

USBwriter

Win32 Disk Imager

Ubuntu官网推荐:

rufus

SouthEast.png

MacOS中制作USB启动盘

  1. 格式化U盘

image-20190602094231784.png

  1. 使用 diskutil list 查看U的设备名

    $ diskutil list
    /dev/disk0 (internal):
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:      GUID_partition_scheme                         500.3 GB   disk0
       1:                        EFI EFI                     314.6 MB   disk0s1
       2:                 Apple_APFS Container disk1         500.0 GB   disk0s2
    
    /dev/disk1 (synthesized):
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:      APFS Container Scheme -                      +500.0 GB   disk1
                                     Physical Store disk0s2
       1:                APFS Volume APPLE SSD               342.6 GB   disk1s1
       2:                APFS Volume Preboot                 47.6 MB    disk1s2
       3:                APFS Volume Recovery                509.7 MB   disk1s3
       4:                APFS Volume VM                      4.3 GB     disk1s4
    
    /dev/disk2 (external, physical):
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:     FDisk_partition_scheme                        *123.0 GB   disk2
       1:               Windows_NTFS LIWEI                   123.0 GB   disk2s1
    
    

    上图中,/dev/disk2就是U盘

  2. 卸载U盘(不是推出) : diskutil umountDisk /dev/disk2 (假如U盘是 /dev/disk2)

    $ diskutil umountDisk /dev/disk2
    Unmount of all volumes on disk1 was successful
    
  3. 镜像DMG写入到U盘: sudo dd if=~/Downloads/ubuntu-16.04-desktop-amd64.iso of=/dev/disk2 bs=1m (假如U盘是 /dev/disk1, 千万别搞错了)

    $ sudo dd if=~/Downloads/ubuntu-17.04-desktop-amd64.iso of=/dev/disk2 bs=1m
    Password:
    2151+1 records in
    2151+1 records out
    2256076800 bytes transferred in 90.277905 secs (24990354 bytes/sec)
    
  4. 写入完成后会提示:“此电脑不能读取能插入的磁盘”, 这里选择直接推出即可

Linux目录结构

linux-operation-system.jpeg

目录说明备注
/bin常用二进制命令ls, cp, rm, mkdir
/usr系统程序目录命令、帮助文件、系统配置
/var这个目录中存放着在不断扩充着的东西日志
/lib系统最基本的动态连接共享库类似于Windows中的DLL
/srv存放一些服务启动之后需要提取的数据通常是空的
/home用户主目录通常是空的
/bootLinux内核及系统引导文件目录
/dev设备文件的目录声卡,磁盘,光驱等
/etc二进制软件包配置文件的默认路径系统信息,网络配置
/lost+found系统崩溃时,产生的一些碎片文件
/mnt临时挂载存储设备U盘
/opt软件可选的安装目录通常是空的
/proc操作系统进程信息目录
/sbin管理员命令,系统级命令sudo用户
/tmp临时文件目录重启后,被清空
/run临时文件系统,存储系统启动以来的信息重启后,被清空
/sys系统中的设备组织成层次结构通过文件查看硬件信息

需要掌握的目录路径知识:

  1. 查看系统内核信息

    # Centos
    $ cat /proc/version
    Linux version 3.10.0-957.10.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Mon Mar 18 15:06:45 UTC 2019
    
    # Ubuntu
    $ cat /proc/version
    Linux version 4.15.7-041507-generic (kernel@gloin) (gcc version 7.2.0 (Ubuntu 7.2.0-8ubuntu3.2)) #201802280530 SMP Wed Feb 28 10:31:47 UTC 2018
    
  2. 查看网络信息

    # Centos DHCP
    $ cat /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0
    BOOTPROTO=dhcp
    ONBOOT=yes
    
    # 或者指定IP
    $ cat /etc/sysconfig/network-scripts/ifcfg-em1
    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=none
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=em1
    UUID=fa335568-27db-47fd-a055-424173c42430
    DEVICE=em1
    ONBOOT=yes
    IPADDR=192.168.4.252
    PREFIX=24
    GATEWAY=192.168.4.50
    DNS1=192.168.4.50
    IPV6_PRIVACY=no
    ZONE=public
    
    # Ubuntu
    $ vi /etc/network/interfaces
    # This file describes the network interfaces available on your system
    # and how to activate them. For more information, see interfaces(5).
    
    source /etc/network/interfaces.d/*
    
    # The loopback network interface
    auto lo
    iface lo inet loopback
    
    # The primary network interface
    auto ens3
    iface ens3 inet static
            address 192.168.4.60
            netmask 255.255.255.0
            network 192.168.4.0
            broadcast 192.168.4.255
            gateway 192.168.4.50
            # dns-* options are implemented by the resolvconf package, if installed
            dns-nameservers 192.168.4.50
            dns-search itheima
    

    通常使用ifconfig来查看网卡的信息

  3. DNS配置

    $ cat /etc/resolv.conf
    options timeout:2 attempts:3 rotate single-request-reopen
    ; generated by /usr/sbin/dhclient-script
    nameserver 100.100.2.136
    nameserver 100.100.2.138
    
  4. host文件

    $ cat /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    
  5. 用户/组

    查看用户:

    $ cat /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
    bin:x:2:2:bin:/bin:/usr/sbin/nologin
    sys:x:3:3:sys:/dev:/usr/sbin/nologin
    sync:x:4:65534:sync:/bin:/bin/sync
    games:x:5:60:games:/usr/games:/usr/sbin/nologin
    man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
    lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
    ....
    

    查看组:

    $ cat /etc/group
    root:x:0:
    daemon:x:1:
    bin:x:2:
    sys:x:3:
    adm:x:4:syslog,bttech
    tty:x:5:
    disk:x:6:
    lp:x:7:
    mail:x:8:
    news:x:9:
    uucp:x:10:
    man:x:12:
    proxy:x:13:
    ....
    
  6. 查看内存/CPU

    # 查看CPU
    $ cat /proc/cpuinfo
    processor	: 0
    vendor_id	: GenuineIntel
    cpu family	: 6
    model		: 45
    model name	: Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz
    stepping	: 7
    microcode	: 0x714
    cpu MHz		: 2117.419
    cache size	: 20480 KB
    ...
    
    # 查看内存
    $ cat /proc/meminfo
    MemTotal:       131812048 kB
    MemFree:          460820 kB
    MemAvailable:   36657836 kB
    Buffers:               0 kB
    Cached:         34910784 kB
    SwapCached:      1051944 kB
    Active:         95183532 kB
    Inactive:       32382012 kB
    Active(anon):   77764844 kB
    Inactive(anon): 15015220 kB
    Active(file):   17418688 kB
    ...
    
  7. 其他

    • /etc/fstab(开机自动挂载列表)
    • /etc/rc.local(开机自启动文件,自启动命令,脚本)
    • /etc/init.d(服务启动命令脚本目录)
    • /etc/profile(全局环境变量)
    • /usr/local(编译安装软件默认安装目录)
    • /var/log/message(系统日志)
    • /var/log/secure(系统安全日志)
    • /proc/mounts(系统挂载信息)

Linux启动过程

Linux启动过程:

  • 内核的引导

    首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动。

    主要是一些驱动、基本的操作指令,用来接管所有的硬件

  • 运行 init

    就跟main函数一样,有一个起点,初始一个服务进程daemon,跟windows中的服务一样。

  • 系统初始化

    用户及软件服务自启动

  • 建立终端

    Linux的多用户管理。

    针对对用户,登录方式有三种:

    • 命令行登录
    • ssh登录
    • 图形界面登录
  • 用户登录系统

bg2013081707.png

常用命令介绍(重点)

文件相关

  1. 目录相关
    • ls: 列出目录

      -la 可以查看隐藏文件,文件一些基础属性

    • cd:切换目录

      使用绝对路径/,也可以使用./相对路径,回到上级目录cd ..

    • pwd:显示目前的目录

    • mkdir:创建一个新的目录

    • rmdir:删除一个空的目录

    • cp: 复制文件或目录

      cp source target
      
    • rm: 移除文件或目录

      # 删除目录
      rm -r dirpath
      
      # 强制删除,要特别注意
      rm -rf dirpath€
      
    • mv: 移动文件与目录,或修改文件与目录的名称

      mv source target
      
    • cat用来查看文件内的内容,touch命令来创建文件,echo命令往文件里面写入内容,more命令来查看显示长文件内容

  2. 基本属性:
    • 权限管理chmod

      文件基本属性分为10个字符 drwxrwxrwx

      r 代表着read读权限

      w代表着write写权限

      x代表着execute执行权限

      d代表着目录

      chmod -R递归执行,相当于是把目录下所有的文件都修改对应的权限

      chmod +x 给文件一个执行/读/写权限

      修改权限的两种方式:

      方式1: 数字方式

      7-rwx

      6--rw-

      4-r--

      0---- 什么权限都没有,

      前面的3个是所有者用户的权限,

      中间的3个是组用户的权限,

      后面的3个是其他用户的权限。

      举例说明:

      # 对所属用户有读写权限
      chmod 600 ...
      
      # 对应 -rwxrw-rw-,相当于是取消了组与其他用户的执行权限
      chmod 755 ...
      

      方式2:

      a代表all所有,u代表user,g代表group,o代表other。

      +代表增加,-代表减少

      举例说明:

      # 增加所有用户的读的权限
      chmod a+r ...
      
      # 增加用户与组的写的权限
      chmod ug+w ..
      

      个人比较推荐数字的方式,比较好记!!

    • 用户/组权限管理chown

      修改文件/文档所属/所属组

      chown <所属用户>:<所属组> <文件>
      

      目录:

      chown -R <所属用户>:<所属组> <文件>
      

      -R 代表着递归

用户管理/登录

  1. 添加用户useradd
  2. 删除用户userdel
  3. 用户口令修改 passwd
  4. (扩展)用户组groupadd/groupdel/groupmod

网络

  1. 远程连接ssh

    配置文件的路径是在/etc/ssh/sshd_config目录下

    如果需要修改port:

    • 修改sshd_config中的Port参数

    • (Centos)还需要使用semanage port -a -t ssh_port_t -p tcp <Port>

    • service sshd restart (Centos) / service ssh restart (Debian、Ubuntu)

    在测试的时候,可以关闭服务器的防火墙,但是生产系统中不推荐这么去做。

    如果提示没有semanage这个命令,则可以使用如下方式来安装:

    sudo yum install -y policecoreutils-python

    或者使用yum whatprovides semange来反查

    ssh登录命令的格式:ssh -p Port <用户名>@<服务器的地址>

    如:

    $ ssh -p 10022 root@192.168.0.1
    

    window推荐使用xftp终端

    mac推荐使用iterm

  2. 查看网卡配置ifconfig

    如果说没有这个命令,可以使用yum install net-tools进行安装

    ifconfig eth0 <ip> netmask 255.255.255.0
    

    对网口进行禁用/启用

    ifconfig eth0 down/up
    
  3. 查看网络netstat

    • -t:列出TCP协议端口
    • -u:列出UDP协议端口
    • -n:不使用域名与服务名,而使用IP地址和端口号
    • -l:仅列出在监听状态网络服务
    • -a:列出所有的网络连接
    • -p:列出所对应的进程信息
    netstat -anpl | grep ssh
    

    当使用netstat | more进行滚屏,ctrl+f/b进行翻上/下页

  4. 路由命令route

    route查看路由

    # add/del添加删除路由
    
    route add -net 192.168.0.0 netmask 255.255.0.0 dev etho
    
    # del删除
    route del -net 192.168.0.0 netmask 255.255.0.0
    
    # reject
    route add -net 192.168.0.0 netmask 255.255.0.0 reject
    
  5. IP命令ip

    ip addr show
    ip route show
    ip link set eth0 up/down
    

    ip <命令> help去查看命令的一些参数

  6. DNS解析:nslookup

    Centos中如果没有该命令,可以使用如下的方式进行安装

    sudo yum install bind-utils
    
  7. 查看本机IP

    curl [链接]
    

    几个网址也非常好记忆

GUI网络配置操作(图形化大法好啊):

nmtui

如果提示not found命令的话,可以yum install -y NetworkManager-tui进行安装

nmtui.png

性能/硬件

  1. top命令:

    top命令替代命令:参考1参考2

    top
    
    # m切换显示内存信息
    # t切换显示CPU信息
    # M对内存倒序排序显示
    # P根据CPU的使用百分比进行排序
    
  2. 性能测试

    • Bench.sh:

      使用方法:

      wget -qO- bench.sh | bash
      
      # 或者 
      
      curl -Lso- bench.sh | bash
      

      Github地址:github.com/teddysun/ac…

    • LemonBench

      使用方法:

      wget -qO- https://ilemonrain.com/download/shell/LemonBench.sh | bash
      
      # 或者
      
      curl -fsSL https://ilemonrain.com/download/shell/LemonBench.sh | bash
      

参考资料:

  1. 官方U盘安装说明
  2. 镜像下载
  3. Centos7安装教程
  4. Ubuntu官方安装教程

常见问题:

  1. centos7 U盘安装卡在 starting dracut initqueue hook
  2. U盘安装CentOS7遇到:Warning: dracut-initqueue timeout - starting timeout scripts