linux老男孩 基础部分章节04-----系统挂载、系统目录结构

1.Linux系统挂载

linux目录结构:  一切从根开始,一个倒挂的树
windows目录结构:按照盘符进行划分 例如:C盘
linux系统中的挂载技术:让用户可以将一个目录作为一个存储设备的挂载点,通过挂载点可以看到存储设备中的数据

1.1实际操作演示linux系统挂载过程

第一步:拥有一个存储设备---光驱(使用光驱加载光盘)
    第二步:在linux系统中找到光驱设备

[root@xue/home/xuezy]# ls -l /dev/cdrom
lrwxrwxrwx. 1 root root 3 Aug 12 16:30 /dev/cdrom -> sr0

第三步:将存储设备进行挂载
挂载命令语法格式: mount 挂载设备文件信息 挂载点(目录信息)


 PS:挂载点目录必须存在

mount   /dev/cdrom   /mnt

注意: PS: 在挂载的时候,尽量不要使用已经有数据的目录作为挂载点

[root@oldboyedu /]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only
[root@oldboyedu /]# cd /mnt
[root@oldboyedu mnt]# ls
CentOS_BuildTag  EULA  images    LiveOS    repodata              RPM-GPG-KEY-CentOS-Testing-7  EFI   GPL   isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL
[root@oldboyedu mnt]# cd
[root@oldboyedu ~]# umount /mnt
[root@oldboyedu ~]# cd /mnt
[root@oldboyedu mnt]# ls
  在此时ls一下,umount之后,是空的
[root@oldboyedu mnt]# touch oldboy.txt        #创建一个文件
[root@oldboyedu mnt]# mount /dev/cdrom /mnt   #再次直接,挂载
[root@oldboyedu mnt]# ls
  oldboy.txt  #发现挂载之后,并没有光驱中的文件

创建oldboy.txt 权限在/ 的 mnt目录下

再次挂载之后,/mnt移动到光驱这里。但是权限仍未出来。

 

再次  cd /mnt  权限重新进入光驱里

2. 目录结构知识详述

[root@oldboyedu /]# ls -l /
total 20
lrwxrwxrwx.   1 root root    7 Mar 28 10:40 bin #(快捷方式) -> usr/bin 命令,二进制文件的存放目录binary /bin==/usr/bin
dr-xr-xr-x.   5 root root 4096 Mar 28 10:45 boot # 系统引导程序+系统内核
drwxr-xr-x.  19 root root 3180 Mar 29 12:02 dev #  设备 光驱 硬盘 device:挂载才能使用
drwxr-xr-x.  79 root root 8192 Apr  2 08:41 etc # 存放系统或服务的配置文件
drwxr-xr-x.   3 root root   20 Mar 28 10:45 home #  普通用户的家目录
lrwxrwxrwx.   1 root root    7 Mar 28 10:40 lib -> usr/lib #  库文件存放目录 libary
lrwxrwxrwx.   1 root root    9 Mar 28 10:40 lib64 -> usr/lib64  # 库文件存放目录(64位系统)
drwxr-xr-x.   2 root root    6 Apr 11  2018 media
drwxr-xr-x.   2 root root    6 Apr 11  2018 mnt # 临时的挂载点目录
drwxr-xr-x.   2 root root    6 Apr 11  2018 opt  #第三方软件安装在这里
dr-xr-xr-x. 103 root root    0 Mar 29 12:02 proc #  虚拟目录,显示内存中信息(进程服务信息内核)  目录中的数据都存储到内存
dr-xr-x---.   2 root root  135 Mar 28 12:33 root
drwxr-xr-x.  25 root root  680 Apr  1 11:42 run
lrwxrwxrwx.   1 root root    8 Mar 28 10:40 sbin -> usr/sbin # 超级命令,只有root用户能用的命令
drwxr-xr-x.   2 root root    6 Apr 11  2018 srv
dr-xr-xr-x.  13 root root    0 Mar 29 12:02 sys  #虚拟的目录  内存信息
drwxrwxrwt.  11 root root 4096 Apr  2 09:37 tmp  #临时文件的存放位置 垃圾堆
drwxr-xr-x.  13 root root  155 Mar 28 10:40 usr  #存放用户的程序 user/unix software resource
drwxr-xr-x.  19 root root  267 Mar 28 10:48 var  #经常变化的文件 系统日志 相关服务日志文件

l一lost+found   磁盘、文件系统损坏、断电、临时存放文件        类似失物招领处
l一selinux   /etc/selinux及它的配置文件存放的位置

FHS    Filesystem Hierarchy Standard(文件系统层次化标准)的缩写,多数Linux版本采用这种文件组织形式 https://www.pathname.com/fhs/

扩展:

[root@xue/sbin]# pwd
/sbin
[root@xue/sbin]# /bin/pwd  #显示真实路径
/usr/sbin

3.目录:/etc

3.1 网卡配置文件

3.1.1文件内容

[root@oldboyedu oldboy]# ls /etc/sysconfig/network-scripts/ifcfg-eth0 
/etc/sysconfig/network-scripts/ifcfg-eth0

[root@oldboyedu tmp]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet       --指定网络类型 以太网Ethernet 电话10M 军用(帧中继) 金融公司
(FastEthernet)配置文件接口类型。在/etc/sysconfig/network-scripts/目录有多种网络配置文件
BOOTPROTO=none      --网络启动协议 如何让主机得到IP地址
					  a 自己手动配置 none static(静态)
					  b 自动获取地址 dhcpd(了解)
                        none:不使用启动地址协议
                        bootp:BOOTP协议
                        dhcp:DHCP动态地址协议
                        static:静态地址协议

NAME=eth0           -- 主机网卡的名称 逻辑名称
UUID=31d48995-e74f-4f99-8e19-0da439ea257b   -- 虚拟主机,会给每个硬件一个标识
DEVICE=eth0         -- 主机网卡的名称 设备名称物理名称(网络接口名称)
ONBOOT=yes          -- 设置网卡是否处于开启状态(激活状态)
IPADDR=10.0.0.200   -- 静态配置IP地址 标识主机身份 相当于人的名字
PREFIX=24           -- 定义网络中可以有多少主机    房间里面可以有多少人         
GATEWAY=10.0.0.2    -- 一个网络到另一个网络的必经之路  人从一个国家到另一个国家必经之路(海关)
DNS1=223.5.5.5      -- DNS(建立名称和IP地址的对应关系) 14.215.177.38 -- 名称

 

cat /etc/sysconfig/network-scripts/ifcfg-eth0

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=eth0
UUID=73621d50-5f0d-4638-b7c3-22f6325b4560
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.144.20
PREFIX=24
GATEWAY=192.168.144.2
DNS1=223.5.5.5
IPV6_PRIVACY=no

3.1.2网卡配置信息查看

[root@xue/sbin]# ip address show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:b7:4e:3c brd ff:ff:ff:ff:ff:ff
    inet 192.168.144.20/24 brd 192.168.144.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::f64e:d691:b73a:6f2a/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
[root@xue/sbin]# 

# nmtui

3.1.3配置文件修改重启服务

方法一:
    systemctl restart network  针对所有网卡进行重启
    systemctl status  network 

方法二:企业中常见用法
    ifdown eth0 && ifup eth0   针对指定网卡进行重启

异常问题:网卡配置文件正确,无法重启网络服务
    systemctl stop NetworkManager   网络管理服务关闭
    

3.2 DNS解析配置文件

[root@oldboyedu ~]# vi /etc/resolv.conf 
# Generated by NetworkManager
search com
nameserver 10.10.10.10

域名解析器(resolver,一个根据主机名解析IP地址的库)使用的配置文件。

resolv.conf的关键字主要有四个,分别是:

nameserver  //定义DNS服务器的IP地址
domain      //定义本地域名
search      //定义域名的搜索列表
sortlist    //对返回的域名进行排序

/etc/resolv.conf的示例:

domain  51osos.com
search  www.51osos.com  51osos.com
nameserver 202.102.192.68
nameserver 202.102.192.69

最主要是nameserver关键字,如果没指定nameserver就找不到DNS服务器,其它关键字是可选的。
nameserver表示解析域名时使用该地址指定的主机为域名服务器。其中域名服务器是按照文件中出现的顺序来查询的,且只有当第一个nameserver没有反应时才查询下面的nameserver。

domain:声明主机的域名。很多程序用到它,如邮件系统;当为没有域名的主机进行DNS查询时,也要用到。如果没有域名,主机名将被使用,删除所有在第一个点( .)前面的内容。

search:它的多个参数指明域名查询顺序。当要查询没有域名的主机,主机将在由search声明的域中分别查找。
domain和search不能共存;如果同时存在,后面出现的将会被使用。

sortlist:允许将得到域名结果进行特定的排序。它的参数为网络/掩码对,允许任意的排列顺序。

/etc/sysconfig/network-scripts/ifcfg-eth0  DNS1=223.5.5.5 优先级更高

使用systemctl restart network之后,/etc/resolv.conf又恢复成DNS1的值

预习作业:
01. 预习系统的启动级别
02. 预习系统的启动顺序   

3.3 主机名称文件配置文件 (重要)  

如何修改主机名称:  

centos7:
    临时修改:  
       [root@oldboy-sz-01 ~]#hostname oldboy-sz-01
       重启之后,又恢复了,是临时的
    永久修改:(重启系统才能加载配置文件)
       [root@oldboy-sz-01 ~]# cat /etc/hostname 
       oldboy-sz-01
       
     通过命令:直接可以即临时修改,又永久修改,(说明:即临时修改好了主机名,又同时修改了主机名配置文件)
       hostnamectl set-hostname oldboysz-01
centos6:
    临时修改:
       hostname oldboy-sz-01
    永久修改:
       vi /etc/sysconfig/network
补充:如何查看系统版本
[root@oldboy-sz-01 ~]# cat /etc/redhat-release 
CentOS Linux release 7.5.1804 (Core) 

3.4 解析映射文件(重要)

 

 

hosts文件:在本地建立IP地址和主机名称的对应关系:用于设置DNS域名与IP地址对应关系

 windows本地解析文件位置:C:\Windows\System32\drivers\etc\hosts

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

# localhost name resolution is handled within DNS itself.
#	127.0.0.1       localhost
#	::1             localhost
192.168.144.20 xue


linux本地解析文件位置:  

[root@oldboysz-01 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.200  oldboyedu.com

3.5 磁盘挂载文件

[xuezy@xue ~]$ df    可以查看挂载信息的命令
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda3       50101352 1486064  48615288   3% /      第三个分区
devtmpfs         1004060       0   1004060   0% /dev
tmpfs            1015084       0   1015084   0% /dev/shm
tmpfs            1015084    9740   1005344   1% /run
tmpfs            1015084       0   1015084   0% /sys/fs/cgroup
/dev/sda1         201380  104252     97128  52% /boot   第一个分区 
tmpfs             203020       0    203020   0% /run/user/1000


swap 分区在这里看不到

/etc/fstab  --- 实现存储设备开启自动挂载配置文件:实现指定设备文件信息,进行开机自动挂载

[xuezy@xue ~]$ cat /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Wed Nov 11 23:08:06 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=b944f338-d5f1-49b8-bbb6-0f560206386b /                       xfs     defaults        0 0
UUID=6fd054db-c64c-446e-979c-07dbb626c1fb /boot                   xfs     defaults        0 0
UUID=a612b1f8-106e-4876-a988-229d8c3bd5f7 swap                    swap    defaults        0 0
定义存储设备文件信息                        挂载点
[root@oldboysz-01 mnt]# cat /etc/fstab 
UUID=e2fc8646-2b36-47cc-a35a-8c13208f4d0b /       xfs     defaults        0 0
UUID=34fc45ba-c38c-42bc-a120-90f9d5dd2382 /boot   xfs     defaults        0 0
UUID=62100743-6f8a-4f83-a37d-e2088c4830e2 swap    swap    defaults        0 0
定义存储设备文件信息                        挂载点  
/dev/cdrom                                /mnt    ???  defaults        0 0

问题01. 如何实现光驱开机自动挂载

/dev/cdrom                 /mnt   ??? defaults       0 0

3.6 开机加载脚本

 实现系统启动后,读取文件中的命令,从而实现一些操作随系统启动自动运行

[root@oldboysz-01 ~]# ls -l /etc/rc.local 
lrwxrwxrwx. 1 root root 13 Mar 28 10:41 /etc/rc.local -> rc.d/rc.local
[root@oldboysz-01 ~]# ls -l /etc/rc.d/rc.local 
-rw-r--r--. 1 root root 495 Apr  3 09:39 /etc/rc.d/rc.local
[root@oldboysz-01 ~]# chmod +x /etc/rc.d/rc.local
[root@oldboysz-01 ~]# ls -l /etc/rc.d/rc.local 
-rwxr-xr-x. 1 root root 495 Apr  3 09:39 /etc/rc.d/rc.local
# vi /etc/rc.local
systemctl start sshd

总结:

rc.loacl文件作用
         1. 文件中的内容信息,会在系统启动之后进行加载
         2. 文件中的编写内容,一定是命令信息

       
练习:

实现开机自动创建/oldgirl/oldgirl.txt文件,并且文件中有"oldgirl.com"信息内容

echo "oldgirl.com" > /oldgirl/oldgirl.txt

PS: 运维人员工作的宗旨:简单 高效 稳定

3.7 启动级别文件

 windows--系统出现故障--安全模式
系统启动:服务程序 网络 安全服务 --启动级别
                  系统服务启动 -- 启动级别


查看系统运行级别方法:

[root@oldboysz-01 ~]# runlevel
  N 3

切换运行级别:
临时调整:

init 切换的运行级别

 永久调整:(centos6)

vi /etc/inittab

 centos7:
      查看所有target信息
       [root@oldboysz-01 ~]# ls -l /usr/lib/systemd/system/runlevel*target
       lrwxrwxrwx. 1 root root 15 Mar 28 10:41 /usr/lib/systemd/system/runlevel0.target -> poweroff.target
       lrwxrwxrwx. 1 root root 13 Mar 28 10:41 /usr/lib/systemd/system/runlevel1.target -> rescue.target
       lrwxrwxrwx. 1 root root 17 Mar 28 10:41 /usr/lib/systemd/system/runlevel2.target -> multi-user.target
       lrwxrwxrwx. 1 root root 17 Mar 28 10:41 /usr/lib/systemd/system/runlevel3.target -> multi-user.target
       lrwxrwxrwx. 1 root root 17 Mar 28 10:41 /usr/lib/systemd/system/runlevel4.target -> multi-user.target
       lrwxrwxrwx. 1 root root 16 Mar 28 10:41 /usr/lib/systemd/system/runlevel5.target -> graphical.target
       lrwxrwxrwx. 1 root root 13 Mar 28 10:41 /usr/lib/systemd/system/runlevel6.target -> reboot.target
       永久设置运行级别 
       [root@oldboysz-01 ~]# systemctl set-default rescue.target
       Removed symlink /etc/systemd/system/default.target.
       Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/rescue.target.
       检查默认运行级别
       [root@oldboysz-01 ~]# systemctl get-default
       rescue.target
centos6 
	   启动级别:
	   00  系统的关机级别   init 0 进入到关机状态
	   01  系统的单用户模式 用于修复系统 或重置密码信息     没有网络
	   02  系统的多用户模式    没有网络
	   03  系统的多用户模式 正常系统运行级别多用户模式级别  有网络
	   04  预留级别
	   05  图形化界面级别
	   06  系统的重启级别  

centos7
       启动级别:target目标
       00  系统的关机级别      poweroff.target
       01  系统的单用户模式 用于修复系统 或重置密码信息  rescue.target
       02  系统的多用户模式      没有网络   multi-user.target
       03  系统的多用户模式 正常系统运行级别多用户模式级别  有网络 multi-user.target
       04  预留级别     multi-user.target
       05  图形化界面级别    graphical.target
       06  系统的重启级别    reboot.target

总结: 
     1. 每个级别有什么用
     2. 如何查看此时系统运行级别
     3. 如何修改设置运行级别

    
 

3.8 变量加载文件

设置变量方法 
   [root@oldboysz-01 ~]# X=1234
调取变量方法
   [root@oldboysz-01 ~]# echo $X
   1234
脚本概念:
	1. 将多个命令整合在一个文件
	2. 通过执行加载一个文件可以完成多件事
	   
脚本文件
	[root@oldboysz-01 ~]# vi oldboy.sh 
    dir=oldgirl
    mkdir /$dir/oldboy01
    mkdir /$dir/oldboy02
    mkdir /$dir/oldboy03

 /etc/profile  

    x=11

作用:让变量信息永久生效
直接让文件生效方法:source  /etc/profile
  

系统中变量的类型:
       普通变量:需要人为设置
       环境变量:系统默认就有的变量

环境变量PATH作用

[root@oldboysz-01 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@oldboysz-01 ~]# which cat
/usr/bin/cat
[root@oldboysz-01 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.200  oldboyedu.com
[root@oldboysz-01 ~]# ls /oldboy
oldboy01  oldboy02  oldboy03
[root@oldboysz-01 ~]# mv /usr/bin/cat /oldboy
[root@oldboysz-01 ~]# ls /usr/bin/cat
ls: cannot access /usr/bin/cat: No such file or directory
[root@oldboysz-01 ~]# cat /etc/hosts
-bash: /usr/bin/cat: No such file or directory

3.8.1修改PATH环境变量方法

临时修改: 
 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/oldboy
永久设置:
 vi /etc/profile 
 export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/oldboy

3.9系统别名概念

[root@oldboysz-01 ~]# ls -l /etc/hosts
-rw-r--r--. 1 root root 184 Apr  3 09:09 /etc/hosts
[root@oldboysz-01 ~]# ll /etc/hosts
-rw-r--r--. 1 root root 184 Apr  3 09:09 /etc/hosts
说明: ll命令就是ls -l命令的别名
作用: 别名可以使命令操作更加简单
需求01: 如何让一下命令操作简单
       cat /etc/sysconfig/network-scripts/ifcfg-eth => catnet
       
       查看系统别名默认设置:
       [root@oldboysz-01 ~]# alias 
       alias cp='cp -i'
       alias egrep='egrep --color=auto'
       alias fgrep='fgrep --color=auto'
       alias grep='grep --color=auto'
       alias l.='ls -d .* --color=auto'
       alias ll='ls -l --color=auto'
       alias ls='ls --color=auto'
       alias mv='mv -i'
       alias rm='rm -i'
       alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

       设置命名的语法:
       alias 别名名称='命令信息'
       alias catnet='cat /etc/sysconfig/network-scripts/ifcfg-eth0'
       [root@oldboysz-01 ~]# alias
       alias catnet='cat /etc/sysconfig/network-scripts/ifcfg-eth0'
       
 需求02:rm 命令执行 == echo "rm command is weixian,not use"
       alias rm='echo rm command is weixian,not use'
       [root@oldboysz-01 ~]# rm -rf /oldboy/
       rm command is weixian,not use -rf /oldboy/


       
使别名功能失效:

1. 取消别名
     unalias rm
2. 利用撬棍
    \rm -rf /oldboy
3. 绝对路径方式执行命令
    /usr/bin/rm -rf /oldgirl

基础作业:
01. 如何实现光驱开机自动挂载
02. 总结系统7个运行级别作用
    centos7 查看运行级别方法 以及永久设置方法
03. 利用单用户模式重置密码方法 centos7 
04. 如何永久设置别名 rm别名

扩展作业:
01. 安装部署一个centos6的系统    

3.10 别名如何永久设置 

需求:让rm命令等价echo "command not exec"
第一步:编写profile文件

#vi /etc/profile
    
alias rm='echo command not exec'

第二步:加载profile文件内容
    source  /etc/profile  (重启之后,又会恢复原样)

第三步:修改用户家目录中.bashrc
查看隐藏数据方法

[root@oldboyedu ~]# ls -a
 .  ..  anaconda-ks.cfg  .bash_history  .bash_logout  .bash_profile  .bashrc  .cshrc  .tcshrc

说明:linux系统中隐藏文件都是以点开头

vi /root/.bashrc
    
  #alias rm='rm -i'

总结:和环境变量配置以及别名配置相关的文件有哪些
    1./etc/profile == /etc/bashrc        国法(全局生效)    
    2.~/.bashrc    == ~/.bash_profile    家规(指定用户生效)

======================================== =================================
补充:系统中将命令分为俩个大类
    01. 外置命令  需要进行安装
    02. 内置命令  所有系统都内置的命令  ,不受PATH的控制

 
查看内置或外置命令方法

[root@oldboyedu ~]# type cd
  cd is a shell builtin
[root@oldboyedu ~]# type mkdir
  mkdir is /usr/bin/mkdir

 =========================================================================

3.11 登录之后提示文件

[root@xue/home/xuezy]# cat /etc/motd
//
///开机登录提示文件:/etc/motd ///
///开始学习                    ///
//

(Xshell看到的是登录之后的信息)
作用:可以对操作系统的用户进行注意事项说明

3.12 登录之前提示文件

# cat /etc/issue
# cat /etc/issue.net

[root@oldboyedu ~]# cat /etc/issue
  \S
  Kernel \r on an \m
    
[root@oldboyedu ~]# cat /etc/issue.net 
  \S
  Kernel \r on an \m

如何清空文件内容
echo "" >/etc/issue   -- 清空文件
>/etc/issue           -- 清空文件
[root@oldboyedu ~]# >/etc/issue
[root@oldboyedu ~]# >/etc/issue.net 
    
在文件中添加信息
[root@oldboyedu ~]# echo oldboy-sz-01 >/etc/issue

4.目录:/usr

4.1编译安装目录

/usr/local

[root@oldboyedu ~]# ll -d /usr/local/
drwxr-xr-x. 12 root root 131 Mar 28 10:40 /usr/local/

Linux系统中如何安装软件(吃饭)
  1. 订餐点外卖(做好的饭 筷子)  yum安装软件  简单快捷(掌握)
  2. 买半成品(速冻饺子 加工)  rpm安装软件  需要有软件安装包
  3. 自己做饭(食材     做饭)  编译安装软件 可以灵活调整


    
下载安装软件利用yum方式

本地配置源文件:
[xuezy@xue ~]$ cd /etc/yum.repos.d/
[xuezy@xue yum.repos.d]$ ll
total 40
-rw-r--r--. 1 root root 2523 Dec 26 19:31 CentOS-Base.repo   #最重要
-rw-r--r--. 1 root root 1309 Nov 23 23:08 CentOS-CR.repo
-rw-r--r--. 1 root root  649 Nov 23 23:08 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  314 Nov 23 23:08 CentOS-fasttrack.repo
-rw-r--r--. 1 root root  630 Nov 23 23:08 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 Nov 23 23:08 CentOS-Sources.repo
-rw-r--r--. 1 root root 8515 Nov 23 23:08 CentOS-Vault.repo
-rw-r--r--. 1 root root  616 Nov 23 23:08 CentOS-x86_64-kernel.repo



-rw-r--r--. 1 root root 2523 Dec 26 19:31 CentOS-Base.repo   #最重要:

    [base]
    name=CentOS-$releasever - Base
    mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
统一yum安装的环境:
1、打开阿里镜像网站:https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b11IHfK1f
2、找到命令:curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
命令作用:下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/
从阿里云下载一个yum源文件,更新默认的/etc/yum.repos.d/CentOS-Base.repo,使下载环境统一。
    
安装软件命令:
    yum install 软件名称
    yum install -y vim tree wget net-tools nmap bash-completion(补全centos7的部分命令参数)
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
总结:yum安装软件常见问题
    排错流程:
    01. 能不能访问外网(ping www.baidu.com)
        a 访问外网IP地址不通(ping 223.5.5.5)   
           网卡地址配置有问题:[root@xue etc]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 
                            DNS1=223.5.5.5
                            [root@xue etc]# cat /etc/resolv.conf
                            nameserver 223.5.5.5
        b 访问外网名称不通    DNS配置有问题
    
    02. 检查是否已经有下载的进程
        ps -ef -进程 PID成为进程编号
        kill -9 PID

    03. yum源文件被修改调整

5.目录:/var

5.1 日志文件保存目录

/var/log/ 中 两个重要的系统日志文件
    messages     -- 记录系统或服务程序运行的状态信息 和 错误信息
    secure(安全)-- 用户登录信息

作用:可以进行监控文件的信息,检查是否有过多失败记录
    [root@oldboyedu ~]# cat /var/log/secure
    Apr  4 11:35:29 oldboyedu sshd[3568]: Accepted password for root from 10.0.0.1 port 54913 ssh2
    Apr  4 11:35:29 oldboyedu sshd[3568]: pam_unix(sshd:session): session opened for user root by (uid=0)
        01             02        03               04  

    01. 用户是什么时间登录的
    02. 登录的主机名称
    03. 使用什么方式进行远程登录
    04. 登录情况说明
        a 正确登录情况说明
        b 错误登录情况说明
        
    如何查看日志信息
    head -5 /etc/profile    --- 查看前面几行信息 (默认查看前面10行内容)
    tail -6 /etc/profile    --- 查看倒数几行信息(默认查看倒数10行内容)
    tail -f /var/log/secure --- 查看日志文件方法 一直追踪查看文件内容的变化

    grep 'Failed' /var/log/secure
    tail -F /var/log/secure

6.目录:/proc

6.1 CPU

a、利用文件进行查看:

[root@xue xuezy]# cat /proc/cpuinfo 
model name	: Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz  -- CPU品牌型号

 

physical id     0   -- 表示CPU的ID号
processor    : 0    -CPU编号
cpu cores    : 2   - 表示CPU核数
       
physical id    : 0   第一段  physical id    : 0  -- 有两颗CPU
physical id    : 0   第二段
physical id    : 1   第三段  physical id    : 1
physical id    : 1   第四段

physical id    : 0  core id    : 0   -- 一颗CPU有两个核心
physical id    : 0  core id    : 1                   
cpu cores    : 2
physical id    : 1   core id    : 0  -- 一颗CPU有两个核心
physical id    : 1   core id    : 1                   
cpu cores    : 2
       
总共服务器有多少颗CPU 有多少核心
2CPU  4核
       
 b 、利用命令进程查看:

lscpu --> 调取cpuinfo文件中的内容

Socket(s):(插槽)             2    --- 显示服务器CPU颗数
Core(s) per socket:          2    --- 每颗CPU有几核
CPU(s):                      4    --- 整个服务器有几核 

6.2 负载:(CPU处理任务过多)    

a 利用文件进行查看:(监控)

[root@xue/home/xuezy]# cat /proc/loadavg
0.00 0.01 0.05 1/160 2473

前三个是1、5、15分钟内的平均进程数。
第四个的分子是正在运行的进程数,分母是进程总数;
最后一个最近运行的进程ID号

一般来说每个CPU的当前活动进程数不大于3那么系统的性能就是良好的。
如果每个CPU的任务数大于5,那么就表明机器的性能有严重问题。

对于上面的例子来说,假设系统有8个CPU,那么其每个CPU在1分钟内的进程数为:0.32/8=0.04。

负载值CPU核数有关

1分钟平均   5分钟平均负载    15分钟平均负载
eg: 服务器4核的服务器   -- 负载值3左右,就要关注
      服务器128核的服务器 -- 负载值100(数据库服务器)
      
b 利用命令进行查看:

[root@xue/home/xuezy]# w
 16:29:07 up  6:16,  3 users,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty1                      08:12    8:16m  0.05s  0.05s -bash
xuezy    pts/0    192.168.144.21   14:55    1:12m  0.30s  0.25s sshd: xuezy [priv]  
xuezy    pts/1    192.168.144.21   15:40    3.00s  0.46s  0.25s sshd: xuezy [priv] 

6.3内存:内存使用情况


    a 、利用文件进行查看:

[root@oldboyedu ~]# cat /proc/meminfo 

MemTotal:        2030172 kB      --- 内存总的容量
MemFree:         1738164 kB      --- 内存的空闲容量
MemAvailable:    1714096 kB      --- 内存的可用容量
Buffers:            2076 kB      --- baffer空间
Cached:            90616 kB      --- cacahe空间
SwapCached:            0 kB      --- 交换分区使用情况

    b 、利用命令进程查看:

    [root@oldboyedu ~]# free -h      --- 以人类可读方式显示内存容量信息

                        total        used         free          shared      buff/cache  available(*)
    Mem:           1.9G        137M        1.7G        9.5M        148M        1.6G
    Swap:          1.0G        0B(*)         1.0G

6.4磁盘信息/挂载信息

a 利用文件进行查看:

#cat /proc/mounts
...
/dev/sda1 /boot xfs rw,seclabel,relatime,attr2,inode64,noquota 0 0
/dev/sda3 / xfs rw,seclabel,relatime,attr2,inode64,noquota 0 0
...

b 利用命令进程查看:

[root@xue/home/xuezy]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        980M     0  980M   0% /dev
tmpfs           991M     0  991M   0% /dev/shm
tmpfs           991M  9.7M  981M   1% /run
tmpfs           991M     0  991M   0% /sys/fs/cgroup
/dev/sda3        48G  2.6G   46G   6% /
/dev/sda1       197M  141M   57M  72% /boot
/dev/sdb1      1014M   33M  982M   4% /mount01
/dev/sdb2      1014M   33M  982M   4% /mount02
tmpfs           199M     0  199M   0% /run/user/0
tmpfs           199M     0  199M   0% /run/user/1000
column -t  根据文件类型进行对齐

[root@server0 ~]# mount | column -t
proc        on  /proc                       type  proc        (rw,nosuid,nodev,noexec,relatime)
sysfs       on  /sys                        type  sysfs       (rw,nosuid,nodev,noexec,relatime,seclabel)

-s:指定分隔符
[root@server0 ~]# cat /etc/passwd | column -s ":" -t

6.5 总结:

        cpu    /proc/cpuinfo       :lscpu 
        内存   /proc/meminfo    :free -h 
        磁盘   /proc/mounts      :df -h
        负载   /proc/loadavg     :w

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值