Linux 学习笔记网络配置进程管理rpm 包的管理和 yum 介绍
Posted 吞吞吐吐大魔王
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 学习笔记网络配置进程管理rpm 包的管理和 yum 介绍相关的知识,希望对你有一定的参考价值。
前言: 本文是听的b站韩顺平老师 Linux 课程的 63~85 集所做的笔记,大家可以配套该文章学习韩老师的 Linux 课程,也可以借助此文章来学习 Linux 的知识。可以收藏起来,以后要用时,随用随查。
1. 网络配置
1.1 查看网络 IP 和网关(ifconfig)
-
查看 Windows 环境中 VMnet8 网络配置
ipconfig
-
查看 Linux 中网络配置
ifconfig
-
测试主机之间网络连通性
// 测试当前服务器是否可以连接目的主机 ping 目的主机的ip地址
示例:测试当前服务器是否可以连接到百度
ping www.baidu.com
1.2 Linux 网络环境配置
-
方式一:自动获取 IP
- 说明:登陆后,通过界面来设置自动获取 IP
- 特点:Linux 启动后会自动获取 IP
- 缺点:每次自动获取的 IP 地址可能不一样
-
方式二(推荐):指定 IP
- 说明:直接修改配置文件来指定 IP,并可以连接到外网
- 编辑:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
- 要求:将 IP 地址配置为静态的(将 BOOTPROTO 的值改为 static,再设置指定 IP,保存,然后重启网络系统
service network restart
)
1.3 设置主机名和 hosts 映射
-
查看当前主机名
hostname
-
修改主机名(修改文件在
/etc/hostname
中)// 1. 进入主机名修改文件 vim etc/hostname // 2. 修改主机名,保存退出,并且重启系统
-
设置 host 映射
- 通过建立 host 映射,我们就可义直接通过
ping 主机名
的方式来访问测试是否连接到要访问的主机 - host 文件中设置的是要访问的 IP 和主机名,通过
ping 主机名
,就可以在对应 host 文件中找到主机名,然后又可以找到对应的 IP - 在 Windows 中,进入
C:\\Windows\\System32\\drivers\\etc
文件中,再将 IP 和对应主机名名写成下面的形式即可,例如 - 在 Linux 中,进入
/etc/hosts
文件中,进行编辑
- 通过建立 host 映射,我们就可义直接通过
1.4 主机名解析过程分析(Hosts、DNS)
-
Hosts
Hosts 是一个文本文件,用来记录 IP 和 Hostname(主机名)的映射关系
-
DNS
DNS 是 Domain Name System 的缩写,即域名系统,是互联网上作为域名和 IP 地址相互映射的一个分布式数据库
-
实例解析:用户在浏览器输入了 www.baidu.com
- 浏览器先检查浏览器缓存中有没有该域名解析 IP 地址,如果有,就先调用这个 IP 完成解析;如果没有,就检查 DNS 解析缓存,如果 DNS 解析缓存中有就直接返回 IP 完成解析(上述两个缓,都可以理解为本地解析器缓存)
- 一般来说,当电脑第一次成功访问某一个网站后,在一定时间内,浏览器或操作系统会缓存它的 IP 地址(DNS 解析记录)
- 如果本地解析器缓存没有找到对应映射,就会检查系统中 hosts 文件里有没有配置对应的域名 IP 映射,如果有,则完成解析
- 如果本地解析器缓存中和 host 文件中均没有找到对应的 IP,则到域名服务器 DNS 进行解析域
- 如果域名服务器 DNS(DNS其实有一组,它是递进的) 中也没有,那么就返回域名不存在
-
在 cmd 窗口中可以输入下面指令来显示 DNS 域名解析缓存或手动清理 DNS 的缓存
// 显示 DNS 域名解析缓存 ipconfig /displaydns // 手动清理 DNS 缓存 ipconfig /flushdns
2. 进程管理
2.1 介绍
- 在 Linux 中,每个执行的程序都被称为一个进程,每一个进程都分配一个 ID 号(即 PID、进程号)
- 程序没有执行时,是静态的,其实就是一份代码。当其被加载到内存中运行后, 是动态的,就是进程
- 每个进程都可能以两种方式存在,前台与后台。
- 前台进程:就是用户目前的屏幕上可以进行操作的
- 后台进程:就是实际已经在操作,但是屏幕上无法看到的进程,通常使用后台方式执行
- 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中,直到关机才结束
2.2 显示系统执行的进程(ps)
查看当前系统中,有哪些正在执行,以及它们执行的状况
ps [选项]
// 显示当前终端的所有进程信息
ps -a
// 以用户的格式显示进程信息
ps -u
// 显示后台进程运行的参数
ps -x
// 显示所有进程
ps -e
// 以全格式显示进程(可以显示父进程 PPID)
ps -f
// 选项可以组合使用,例如
ps -aux
ps -ef
// 加上 grep 进行过滤
ps [选项] | grep xxx
补充: ps 显示信息说明
字段 | 说明 |
---|---|
PID | 进程识别号 |
TTY | 终端信息 |
TIME | 此进程所占用 CPU 时间 |
COMMAND | 正在执行的命令或进程 |
USER | 执行该进程的用户 |
%CPU | 占用 CPU 的百分比 |
%MEM | 占用物理内存的百分比 |
VSZ | 占用虚拟内存大小(单位:KB) |
RSS | 占用物理内存大小(单位:KB) |
STAY | 运行状态(S 表示睡眠、s 表示该进程是会话的先导进程、N 表示进程拥有比普通优先级更低的优先级、R 表示正在运行、D 表示短期等待、Z 表示僵死进程、T 表示被跟踪或者被停止) |
START | 执行的开始使时间 |
2.3 终止进程(kill、killal)
若是某个进程执行一半需要停止时间,或是已消耗了很大的系统资源时,就可以考虑停止该进程
// 通过进程号杀死进程
kill [选项] 进程号
// 常用选项
-9 表示强迫进程立即停止
// 通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用
killal 进程名
补充:
通过 killall 杀死进程的话,所有子进程都会被干掉
2.4 查看进程树(pstree)
更加直观的查看进程信息
pstree [选项]
// 常用选项
-p 显示进程的 PID
-u 显示进程的所属用户
2.5 动态监控进程(top、netstat)
top 与 ps 命令相似,它们都用来显示正在执行的进程。top 与 ps 最大的不同之处是 top 在执行一段时间可以更新正在运行的进程
-
top 指令用法:
top [选项] // 常用选项 // -d [秒数] 表示指定 top 命令每隔几秒更新,默认是3秒 // -i 表示使 top 不显示任何闲置后者僵死进程 // -p 表示通过指定监控进程 ID 来仅仅监控某个进程的状态
指令显示信息说明:
-
交互操作说明:
操作 功能 P 以 CPU 使用率排序,默认就是此项 M 以内存的使用率排序 N 以 PID 排序 q 退出 top -
监视指定用户
// 首先进入 top,输入 u,再回车,再输入用户名即可
-
终止指定的进程
// 首先进入 top,输入 k,再回车,再输入要结束的进程 ID 号
-
查看系统网络情况
netstat [选项] // 常用选项 // -an 表示按一定顺序排序输出 // -p 表示显示哪个进程在调用
-
检测主机连接命令
ping 对方ip地址
ping 是一种网络检测工具,它主要是用来检测远程主机是否正常,或是两个主机之间的网络或网卡故障
3. 服务管理
3.1 介绍
服务(service)本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如:mysqld、sshd 防火墙等,因此我们又称其为守护进程
3.2 service 管理指令
-
service 指令
service 服务名 [start | stop | restart | reload | status] // start 开启服务 // stop 关闭服务 // restart 重启服务 // reload 重装服务 // status 查看状态
-
在 CentOS7.0 后很多服务不再使用 service 指令去管理了,而是使用 systemctl 指令
-
service 指令管理的服务在
/etc/init.d
中查看 -
查看系统中所有服务指令
setup // 带✳的表示自动启动 // 可以通过把光标放在✳上,按住空格键,来取消✳
3.3 服务的运行级别
Linux 系统有7种运行级别(runlevel),常用的是级别3和5
- 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
- 运行级别1:单用户工作状态,root 权限,用于系统维护,禁止远程登录
- 运行级别2:多用户状态(没有 NFS),不支持网络
- 运行级别3:完全的多用户状态(有 NFS),无界面,登录后进入控制台命令行模式
- 运行级别4:系统未使用,保留
- 运行级别5:X11 控制台,登陆后进图图形 GUI 模式
- 运行级别6:系统正常关闭并启动,默认运行级别不能设为6,否则不能正常启动
开机流程说明:
-
查看当前运行级别
systemctl get-default
-
更改运行级别
systemctl set-default 要更改的运行级别
-
注意:在 CentOS7 后运行级别在
/etc/initab
文件种进行了简化multi-user.target
表示运行级别3graphical.target
表示运行级别5
3.4 chkconfig 指令
-
通过 chkconfig 命令可以给服务器在各个不同运行级别时设置自动启动或关闭
-
chkconfig 指令管理的服务在
/etc/init.d
中查看 -
chkconfig 基本语法
// 查看 chikconfig 管理的服务 chkconfig // 查看具体的某个服务 chkconfig 服务名 // 设置某个服务的自启动或关闭 chkconfig --level 运行级别 服务名 on/off
3.5 systemctl 指令
-
systemctl 管理指令
systemctl [start | stop | restart | status] 服务名 // start 开启服务 // stop 关闭服务 // restart 重启服务 // status 查看状态
systemctl 指令管理的服务在
/usr/lib/systemd/system
中查看 -
systemctl 设置服务的自动启动状态
// 查看各个服务器开机启动状态,可以使用 grep 过滤 systemctl list-unit-files [ | grep 服务名] // 设置服务开机启动 systemctl enable 服务名 // 关闭服务开机启动 systemctl disable 服务名 // 查询某个服务是否是自动启动的 systemctl is-enabled 服务名
3.6 打开或者关闭指定端口(firewall)
在真正的生产环境中,往往需要将防火墙打开,但是如果打开防火墙,那么外部请求数据包就不能跟服务器监听端口通讯。这时,需要打开指定的端口,例如:80、22、8080
-
打开端口
firewall-cmd --permanent --add-port=端口号/协议
-
关闭端口
firewall-cmd --permanent --remove-port=端口号/协议
-
重新载入,才能生效
firewall-cmd --reload
打开或者关闭端口之后,要重新载入才能生效
-
查询端口是否开放
firewall-cmd --query-port=端口/协议
开或者关闭指定端口(firewall)
在真正的生产环境中,往往需要将防火墙打开,但是如果打开防火墙,那么外部请求数据包就不能跟服务器监听端口通讯。这时,需要打开指定的端口,例如:80、22、8080
-
打开端口
firewall-cmd --permanent --add-port=端口号/协议
-
关闭端口
firewall-cmd --permanent --remove-port=端口号/协议
-
重新载入,才能生效
firewall-cmd --reload
打开或者关闭端口之后,要重新载入才能生效
-
查询端口是否开放
firewall-cmd --query-port=端口/协议
4. rpm 包的管理
4.1 介绍
rpm 是用于互联网下载包的打包及安装工具,它包含在某些 Linux 分发版中。它会生成具有 .RPM
扩展名的文件。RPM 是 RedHat Package Manger(RedHat 软件包管理工具)的缩写,类似于 Windows 的 setup.exe
,这一文件格式名称虽然打上了 RedHat 的标志,但是理念是通用的
4.2 rpm 包的简单查询
-
查询已安装的所有 rpm 软件包,或查询是否安装了某个具体的软件包
rpm -qa | grep xxx
返回结果是包名,例如:
firefox-60.2.2-1.el7.centos.x86_64
,其中- firefox 是名称
- 60.2.2-1 是版本号
- el7.centos.x86_64 是适用操作系统
-
查询软件包是否安装
rpm -q 软件包名
-
查询软件包信息
rpm -qi 软件包名
-
查询软件包中的文件
rpm -ql 软件包名
-
查询文件所属的软件包
rpm -qf 文件全路径名
4.3 卸载 rpm 包
卸载 rpm 包
rpm -e RPM包的名称
注意:
- 当删除某个软件包时,可能会报
xxx is needed by sss
的信息,因为你要删除的软件包 xxx 被 sss 引用了。- 强制删除,可以增加参数 --nodeps,但是不推荐使用,可能导致依赖该软件包的程序无法运行
4.4 安装 rpm 包
安装 rpm 包
rpm -ivh RPM包全路径名称
参数说明:
- i 表示 install 安装
- v 表示 verbose 提示
- h 表示 hash 进度条
5. yum
5.1 介绍
yum 是一个 shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖关系,并且一次安装所有依赖的软件包
5.2 基本指令
-
查询 yum 服务器是否有需要安装的软件
yum list | grep 软件名
-
安装指定的 yum 包
yum install 包名
以上是关于Linux 学习笔记网络配置进程管理rpm 包的管理和 yum 介绍的主要内容,如果未能解决你的问题,请参考以下文章