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