七、自有服务及软件包

章节目标

  1. 了解systemctl命令用途、服务持久化(开机自启enable/不自启disable
  2. 掌握使用systemctl状态查看、开启,关闭,重启(status、start、stop、restart、reload)
  3. 系统运行级别3、5
  4. 了解常见自有服务(ntpd、firewalld、crond)的作用
  5. 掌握ntpdate时间同步原理与实现
  6. 掌握防火墙的相关操作(添加、删除、简单规则,开启,关闭
  7. 了解计划任务crond作用
  8. 掌握计划任务crond编辑
  9. 了解源码包二进制包的区别
  10. 掌握rpm包卸载、安装更新操作

一、自有服务概述

  • 服务是一些特定的进程,自有服务就是系统开机后就自动运行的一些进程,一旦客户发出请求,这些进程就自动为他们提供服务,windows系统中,把这些自动运行的进程,称为"服务"
  • 举例:当我们使用SSH客户端软件连接linux的时候,我们的服务器为什么会对连接做出响应?
    • 是因为SSH服务开机就自动运行了。
  • 所谓自有服务,简单来说,可以理解为Linux系统开机自动运行的服务(程序)

二、【systemctl】系统服务管理器

1. systemctl概述

CentOS6版本:

service命令(管理服务开启、停止以及重启)+ chkconfig(定义开机启动项)

service network start|stop|restart

CentOS7版本:

systemctl命令 = system系统 + control控制(服务管理+开启启动项管理)

systemctl start|stop|restart network

系统服务管理器指令

systemctl命令 是系统服务管理器指令,它实际上将 service 和 chkconfig 这两个命令组合到一起。

2. 【list-units】显示系统服务

# systemctl [选项]

选项说明:

list-units --type service --all:列出所有服务(包含启动的和没启动的)

list-units --type service:列出所有启动的服务

案例:列出Linux系统中所有的服务(包含启动的和没启动的)

systemctl list-units --type service --all

案例:只列出已经启动的Linux系统服务

systemctl list-units --type service

案例:把systemctl显示系统服务与管道命令相结合,筛选我们想要的服务信息

systemctl list-units --type service | grep sshd

3. Linux系统服务管理

3.1. 【status】查看状态

systemctl status 系统服务的名称

查看系统服务的状态

案例:查询系统中网络服务的状态信息

systemctl status network

案例:查询系统中sshd服务的状态信息

systemctl status sshd

3.2. 【stop】停止服务

systemctl stop 系统服务的名称

案例:使用systemctl命令停止network网络服务

systemctl stop network

3.3. 【start】启动服务

systemctl start 系统服务的名称

案例:使用systemctl命令启动network网络服务

systemctl start network

3.4. 【restart】重启服务

# systemctl restart 系统服务的名称

等价于

# systemctl stop 系统服务的名称

# systemctl start 系统服务的名称

案例:使用systemctl命令重启crond计划任务的服务信息

systemctl restart crond

3.5. 【reload】热重载技术

systemctl reload 系统服务名称

reload:重新加载指定服务的配置文件(并非所有服务都支持reload,通常使用restart)

有些服务,如Nginx,更改了配置文件,但是不能重启Nginx服务,只是想立即让我们配置文件的更改生效,则就可以使用热重载技术了。

案例:使用热重载技术重新加载crond服务

systemctl reload crond

4. 服务持久化

所谓服务持久化,就是服务在开机的时候,是否自动启动。

4.1. 【enable】开机自启

# systemctl enable 系统服务的名称

案例:把network网络服务设置为开机自启动

# systemctl enable network

network.service is not a native service, redirecting to /sbin/chkconfig.

Executing /sbin/chkconfig network on

  • 以上提示代表network.service不是一个本地的系统服务,所以想设置开机自启需要使用/sbin/chkconfig进行操作

# /sbin/chkconfig network on

由于是root,所以加不加/sbin都可以

案例:把crond计划任务的服务信息添加到开机自启动中

systemctl enable crond

4.2. 【disable】开机不自启

# systemctl disable 系统服务的名称

案例:把crond计划任务的服务信息从开机自启动中移除

systemctl disable crond

三、系统运行级别(扩展)

1. 什么是运行级别

运行级别全称(Running Level),代表Linux系统的不同运行模式

2. CentOS6的运行级别

# vim /etc/inittab

0 系统关机状态 halt (Do NOT set initdefault to this)

1 单用户工作状态 Single user mode (类似Windows的安全模式,Linux忘记密码)

2 多用户状态(没有NFS) Multiuser, without NFS (The same as 3, if you do not have networking)

3 多用户状态(有NFS) Full multiuser mode (字符模式,服务基本都是此模式)(黑屏模式,init 3)

4 系统未使用,留给用户 unused

5 图形界面 X11 (图形模式,个人计算机都是此模式)

6 系统正常关闭并重新启动 reboot (Do NOT set initdefault to this)

3. CentOS7的运行级别

0 shutdown.target——关机模式

1 emergency.target——能源模式

2 rescure.target——资源模式

3 multi-user.target——字符模式

4 无

5 graphical.target——图形模式

6 无

4. init命令(临时更改运行模式)

init 模式编号

案例:立即关机0

# shutdown -h 0或now

# halt -p

# init 0

案例:立即重启6

# reboot

# init 6

案例:把计算机切换到字符模式(黑窗口)3

init 3

案例:把计算机切换到图形模式(图形界面)5

init 5

5. CentOS6中的【chkconfig】

systemctl只能设置系统中自有的服务,像network服务只能通过chkconfig进行设置

问题:在CentOS7中,设置network开机启动时,系统要求使用chkconfig命令

chkconfig network on

设置完成后,怎么查看network有没有随开机自动启动呢?

3(字符模式)和5(图形模式)显示是on就代表自启动成功

# chkconfig --list |grep network

network 0:off 1:off 2:on 3:on 4:on 5:on 6:off

0 关机模式

1 单用户模式

2 多用户模式(无NFS)

3 字符模式

4 自定义模式

5 图形模式

6 重启模式

四、常用自有服务(ntp,firewalld,crond)

服务名

含义

ntpd

用于同步计算机的系统时间的服务

firewalld

防火墙服务

crond

计划任务服务

1. 【ntp】时间同步服务

1.1. 什么是NTP服务

  • NTP是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间的协议。
  • 工作场景:
    • 公司开发了一个电商网站,由于访问量很大,网站后端由100台服务器组成集群。50台负责接收订单,50台负责安排发货,接收订单的服务器需要记录用户下订单的具体时间,把数据传给负责发货的服务器,由于100台服务器时间各不相同,记录的时间经常不一致,甚至会出现下单时间是明天,发货时间是昨天的情况。

1.2. NTP同步服务器原理

  • 问题:标准时间是哪里来的?
    • 现在的标准时间是由原子钟报时的国际标准时间UTC(Universal Time Coordinated,世界协调时),所以NTP获得UTC的时间来源可以是原子钟、天文台、卫星,也可以从Internet上获取。
  • 在NTP中,定义了时间按照服务器的等级传播,Stratum层的总数限制在15以内
  • 工作中,通常我们会直接使用各个组织提供的,现成的NTP服务器

1.3. 到哪里去找NTP服务器

NTP授时网站:http://www.ntp.org.cn/pool.php

1.4. 【ntpdate】时间同步操作

1.4.1. 手工同步

# ntpdate NTP服务器的IP地址或域名

案例:查看Linux系统时间

date

案例:从NTP服务器中同步系统时间

ntpdate cn.ntp.org.cn

1.4.2. 自动同步

① 启动ntpd服务

# systemctl start ntpd

② 把ntpd服务追加到系统开机启动项中

# systemctl enable ntpd

  • 问题1:启动ntpd服务后,是不是时间就自动同步了?
    • 启动后就自动同步了
  • 问题2:需不需要让ntpd服务,开机自动运行?
    • 需要
  • ntpd服务配置文件位置 /etc/ntp.conf

2. firewalld防火墙

2.1. 什么是防火墙

防火墙:防范一些网络攻击。有软件防火墙、硬件防火墙之分。

防火墙选择让正常请求通过,从而保证网络安全性。

Windows防火墙:

Windows防火墙的划分与开启、关闭操作:

2.2. 防火墙的作用

2.3. 传统Linux防火墙

2.4. Linux中的防火墙分类

  • CentOS5、CentOS6 => 防火墙 => iptables防火墙
  • CentOS7 => 防火墙 => firewalld防火墙

firewalld = fire火 wall墙 daemon守护进程

2.5. firewalld防火墙的概念

2.5.1. 区域
  • firewalld增加了区域(zone)的概念,所谓区域是指,firewalld预先准备了几套防火墙策略的集合,类似于策略的模板,用户可以根据需求选择区域。

常见区域及相应策略规则(规则:哪些端口或服务可以通过防火墙,哪些不能通过)

区域

默认策略

trusted

允许所有数据包

home

拒绝流入的流量,除非与流出的流量相关,允许ssh,mdns,ippclient,amba-client,dhcpv6-client服务通过

internal

等同于home

work

拒绝流入的流量,除非与流出的流量相关,允许ssh,ipp-client,dhcpv6-client服务通过

public

拒绝流入的流量,除非与流出的流量相关,允许ssh,dhcpv6-client服务通过

external

拒绝流入的流量,除非与流出的流量相关,允许ssh服务通过

dmz

拒绝流入的流量,除非与流出的流量相关,允许ssh服务通过

block

拒绝流入的流量,除非与流出的流量相关,非法流量采取拒绝操作

drop

拒绝流入的流量,除非与流出的流量相关,非法流量采取丢弃操作

案例:在Linux系统中安装httpd服务(Web服务),占用计算机的80端口

# yum install httpd -y

# systemctl start httpd

安装启动完成后,在浏览器中,输入http://服务器的IP地址/即可访问httpd服务页面

以上操作只能使用Google浏览器、360浏览器或者Firefox火狐浏览器,一定不要使用IE

以上问题的原因在于:firewalld防火墙已经把httpd(80端口)屏蔽了,所以没有办法访问这台服务器的80端口(httpd服务)

临时解决办法:

# systemctl stop firewalld

2.5.2. 运行模式和永久模式
  • 运行模式:此模式下,配置的防火墙策略立即生效,但是不写入配置文件
  • 永久模式:此模式下,配置的防火墙策略写入配置文件,但是需要reload重新加载才能生效。

==firewalld默认采用运行模式==

3. 【systemctl】firewalld防火墙的设置

  1. 查看,开启和停止firewalld服务

systemctl status firewalld

查看运行状态

systemctl stop firewalld

停止防火墙(学习环境任意操作,生产环境一定不要停止防火墙)

记住:防火墙一旦停止,其设置的所有规则会全部失效!

systemctl start firewalld

启动防火墙

  1. 防火墙重启与重载操作

systemctl restart firewalld

重启操作

restart = stop + start,重启首先停止服务,然后在重新启动服务

systemctl reload firewalld

重载操作

我们对防火墙的配置文件做了更改(永久模式),需要使用reload进行重载让其立即生效

  1. 把防火墙设置为开机启动与开机不启动

systemctl enable firewalld

开机启动

systemctl disable firewalld

开机不启动

4. 【firewall-cmd】管理firewall配置

firewall-cmd [选项1] [选项2] [...N]

管理firewall具体配置

4.1. 查看默认区域(zone)

firewall-cmd --get-default-zone

查看默认使用区域,当前默认使用区域为public

4.2. 查看所有可用区域(zones)

firewall-cmd --get-zones

为什么要有区域的概念:其实不同的区域就是不同的规则

4.3. 查看当前使用区域配置

firewall-cmd --list-all

查看所有可用区域

4.4. 查看所有区域的配置

firewall-cmd --list-all-zones

查看所有可用区域

4.5. 添加允许通过的服务或端口(重点)

  1. 通过服务端口添加规则

# firewall-cmd --zone=public --add-port=端口号/tcp

含义:在public区域,添加允许tcp协议的xxx端口通过的规则

  1. 通过服务名称添加规则

#firewall-cmd --zone=public --add-service=服务的名称

含义:在public区域,添加允许xxx服务通过的规则 =>

服务必须存储在/usr/lib/firewalld/services目录中

案例:把http服务添加到防火墙的规则中,允许通过防火墙

firewall-cmd --zone=public --add-service=http

扩展:把http服务从防火墙规则中移除,不允许其通过防火墙

# firewall-cmd --zone=public --remove-service=http

# firewall-cmd --list-all

案例:把80/tcp添加到防火墙规则中,允许通过防火墙

# ss -naltp |grep httpd

httpd :::80

# 允许80端口通过firewalld防火墙

# firewall-cmd --zone=public --add-port=80/tcp

案例:从firewalld防火墙中把80端口的规则移除掉

#firewall-cmd --zone=public --remove-port=80/tcp

4.6. 永久模式【permanent】

  • 在Linux的新版防火墙firewalld中,其模式一共分为两大类:运行模式(临时模式)+ 永久模式。

运行模式:不会把规则保存到防火墙的配置文件中,设置完成后立即生效

永久模式:会把规则写入到防火墙的配置文件中,但是其需要reload重载后才会立即生效

# 根据服务名称添加规则(永久)

# firewall-cmd --zone=public --add-service=服务名称 --permanent

# firewall-cmd --reload

# 根据端口号添加规则(永久)

# firewall-cmd --zone=public --add-port=服务占用的端口号 --permanent

# firewall-cmd --reload

案例:把80端口添加到firewalld防火墙规则中,要求永久生效

# firewall-cmd --zone=public --add-port=80/tcp --permanent

# firewall-cmd --reload

# firewall-cmd --list-all

5. 计划任务crontab

5.1. 什么是计划任务

作用:操作系统不可能24 小时都有人在操作,有些时候想在指定的时间点去执行任务(例如:每天凌晨 2 点去重新启动httpd=>阿帕奇),此时不可能真有人每天夜里 2 点去执行命令,这就可以交给计划任务程序去执行操作了。

在指定的时间执行指定的操作!

5.2. Windows中计划任务

开始 => 控制面板=> 管理工具

Windows10 => Windows键 + X

案例:在Windows中创建一个计划任务

第一步:创建基本任务

第二步:设置计划任务名称

第三步:创建任务触发器(什么时间触发这个任务)

第四步:设置具体的时间

第五步:可以做的工作

第六步:设置要启动的程序

5.3. Linux中的计划任务【crontab】

# crontab [选项]

-l :list,显示目前已经设置的计划任务

-e :使用vim编辑器编辑计划任务的文件

案例:显示当前账号下的计划任务

# crontab -l

no crontab for root => root账号下没有创建计划任务

案例:使用vim编写计划任务

# crontab -e

5.4. 计划任务的编辑【crontab -e】

  1. 【crontab -e】进入计划任务编辑文件
  2. 打开计划任务编辑文件后,可以在此文件中编写我们自定义的计划任务:
    • ==计划任务的规则语法格式,以行为单位,一行则为一个计划==
    • 例如:0 0 * * * reboot,代表每天0时0分执行reboot指令

特别补充:在Linux系统中,有些命令不能直接在计划任务中使用,使用后,其也不会生效。如useradd命令。如果想让其生效必须使用完整路径。

问题:如何查询一个命令的真实路径在哪个位置?

答:使用whereis 命令名称

5.5. 几个小案例

问题1:每月1、10、22 日的4:45 重启network 服务

第一步:定制格式

分 时 日 月 周 /usr/bin/systemctl restart network

第二步:定制时间

45 4 1,10,22 * * /usr/bin/systemctl restart network

问题2:每周六、周日的1:10 重启network 服务

第一步:定制格式

分 时 日 月 周 /usr/bin/systemctl restart network

第二步:定制时间

10 1 * * 6,7 /usr/bin/systemctl restart network

问题3:每天18:00 至23:00 之间每隔30 分钟重启network 服务

第一步:定制格式

分 时 日 月 周 /usr/bin/systemctl restart network

第二步:定制时间

*/30 18-23 * * * /usr/bin/systemctl restart network

问题4:每隔两天的上午8 点到11 点的第3 和第15 分钟执行一次重启

第一步:定制格式

分 时 日 月 周 /usr/sbin/reboot

第二步:定制时间

3,15 8-11 */2 * * /usr/sbin/reboot

案例:每1 分钟往 root 家目录中的 readme.txt 中输一个1,为了看到效果使用追加输出【输出使用echo 命令,语法:# echo 输出的内容】

crontab -e

* * * * * /usr/bin/echo 1 >> /root/readme.txt

提示:为了看到计划任务的效果,你可以单独开一个选项卡,使用tail -f /root/readme.txt

5.6. 计划任务权限

5.6.1. 黑名单/etc/cron.deny
  • crontab是任何用户都可以创建的计划任务,但是超级管理员可以通过配置来设置某些用户不允许设置计划任务 。
  • 提出问题:如果我们想限定某个用户(如ymiii)使用计划任务,如何处理呢?

答:可以使用计划任务的黑名单,黑名单文件路径 => /etc/cron.deny文件

案例:把普通账号ymiii加入到cron.deny黑名单中,禁止其创建计划任务

第一步:切换到超级管理员root

su - root

第二步:使用vim打开/etc/cron.deny文件

vim /etc/cron.deny

第三步:把你需要禁止的用户名单,加入此文件(如ymiii)

ymiii

切换到ymiii账号,测试是否可以使用crontab命令

crontab -e

5.6.2. 白名单 /etc/cron.allow
  • 在Linux的计划任务中,除了拥有黑名单以外,还有白名单。作用:允许哪些用户使用计划任务
  • 白名单文件的路径 => /etc/cron.allow,但是要特别注意,此文件需要手工创建。

注意:白名单优先级高于黑名单,如果一个用户同时存在两个名单文件中,则会被默认允许创建计划任务。

5.7. 查看计划任务的保存文件

问题:计划任务文件具体保存在哪里呢?

答:/var/spool/cron/用户名称,如果使用root用户编辑计划任务,则用户文件名为root

# ll /var/spool/cron

5.8. 计划任务的日志程序

  • 问题:在实际应用中,我们如何查看定时任务运行情况?

答:通过计划任务日志,日志文件位于/var/log/cron

案例:演示计划任务的日志程序

  • 第一步:使用root账号创建一个计划任务

# su - root

# crontab -e

* * * * * echo 1 >> ~/readme.txt

  • 第二步:使用tail -f命令监控/var/log/cron日志程序

# tail -f /var/log/cron

5.9. 扩展内容:【at】命令

  • 在Linux系统下,有两个命令可以实现计划任务:crontab与at(第三方需要额外安装)
    • crontab :每天定时执行计划任务(最小单元分钟)
    • at :一次性定时执行任务
  1. 安装at命令

CentOS7自带,其他版本可能需要手工安装

yum install at -y

  1. 启动底层服务

# systemctl start atd

# systemctl enable atd

  1. 案例演示

案例1:三天后下午5点执行/bin/ls

# at 5pm+3 days

at>/bin/ls >/root/readme.txt

at>按Ctrl+D

am = 上午、pm = 下午、3 days = 3天

案例2:明天17点,输出时间到指定的文件中

# at 17:00 tomorrow

at>date>/root/readme.txt

at>按Ctrl+D

tomorrow = 明天

案例3:使用atq查看没有执行的计划任务

# atq

atq = at + q = at命令 + query查询

案例4:删除指定的计划任务

# atq

# atrm 任务号

atrm = at + rm = at命令 + remove移除

五、Linux软件包管理

1. 软件包概述

  • Linux下有很多可以安装的软件,而这些软件的安装包可细分为两种,分别是源码包二进制包
  • 所谓的Linux软件包就是Linux下软件的安装程序

1.1. 源码包

  • 源码包就是一大堆源代码程序,是由程序员按照特定的格式和语法编写出来的。计算机只能识别机器语言,也就是二进制语言,所以源码包安装之前需要编译。
  • 编译过程耗时较长 大多数用户不懂开发,编译过程中可能会有各种错误,用户无力解决。
  • 为了解决使用源码包安装的问题,Linux 软件包的安装出现了使用二进制包的安装方式。

1.2. 二进制包

  • 二进制包,也就是源码包经过成功编译之后产生的包。
  • 二进制包是 Linux 下默认的软件安装包,目前主要有以下 2 大主流的二进制包管理系统:
    • RPM 包管理系统:功能强大,安装、升级、査询和卸载非常简单方便,因此很多 Linux 发行版都默认使用此机制作为软件安装的管理方式,例如 Fedora、CentOS、SuSE 等。
    • DPKG 包管理系统:由 Debian Linux 所开发的包管理机制,通过 DPKG 包,Debian Linux 就可以进行软件包管理,主要应用在 Debian 和 Ubuntu 中。
  • RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写
  • 作用:rpm 的作用类似于豌豆荚,华为应用市场,App Store,主要作用是对linux 服务器上的软件包进行对应管理操作,管理分为:查询、卸载、安装/更新。

2. Linux下软件的安装方式

  1. RPM软件包安装 => 软件名称.rpm
  2. YUM包管理工具 => yum install 软件名称 -y
  3. 源码安装 => 下载软件的源代码 => 编译 => 安装(最麻烦的,但是也最稳定)

3. 获取*.rpm软件包

要想装软件,和windows 下一样,先得找到安装包:xxx.rpm

  • 软件包的获得方式:
    1. 去官网去下载(RPM Search);
    2. 不介意老版本的话,可以从光盘(或者镜像文件)中读取;

3.1. 从光盘获取

第一步:在VMware虚拟机中加载CentOS7.6的安装光盘

第二步:使用 # 【lsblk】(list block devices)或者【df -T】 查看块状设备的信息

Linux操作系统的中所有存储设备必须先挂载后使用

第三步:使用cd命令,切换到挂载目录

cd /run/media/itheima/CentOS\ 7\ x86_64

第四步:使用cd命令,切换到Packages软件包中

cd Packages

第五步:查询我们要安装的软件包

# ls |grep firefox

firefox-60.2.2-1.el7.centos.x86_64.rpm

第六步:使用rpm -ivh命令安装软件

rpm -ivh firefox-60.2.2-1.el7.centos.x86_64.rpm

输入firefox + Tab,让其自动补全

成功下载firefox

4. 【rpm】软件包的管理工具

4.1. 【-q】查询已安装的rpm软件

# rpm -qa |grep 要搜索的软件名称

选项说明:

-q :query,查询操作

-a :all,代表所有

案例1:查询计算机中已安装的rpm软件包

rpm -qa

案例2:搜索计算机中已安装的firefox软件包

rpm -qa |grep firefox

4.2. 【-e】卸载rpm软件包

# rpm -e 软件名称 [选项]

选项说明:

--nodeps :强制卸载

案例:把系统中的firefox浏览器进行卸载操作

# rpm -qa |grep firefox

firefox-60.2.2-1.el7.centos.x86_64

# rpm -e firefox-60.2.2-1.el7.centos.x86_64

4.3. 【-i】安装rpm软件包

# rpm -ivh 软件包的名称.rpm

选项说明:

-i:install,安装

-v:显示进度条

-h:表示以"#"形式显示进度条

4.4. 【-U】升级rpm软件包

# rpm -Uvh 升级后的软件包名称.rpm

选项说明:

-U :Update,更新操作

案例:使用rpm -Uvh对firefox-60.2.2版本进行升级

rpm -Uvh firefox-68.4.1-1.el7.centos.x86_64.rpm

5. 【rpm】扩展

5.1. 依赖关系

  • 一个软件必须先有其他软件才能运行,例如xmind启动过程中提示的缺少DLL,称之为依赖
  • WAMP(Windows + Apache + MySQL + PHP)安装前必须先安装VC++ 2014 x86_64,这种情况就称之为有依赖关系。
  • 60.8.0的firefox可以更新成功
  • 下面尝试更新到68.4.1的版本

用法:rpm -Uvh 软件包名称

# rpm -Uvh firefox-68.4.1-1.el7.centos.x86_64.rpm

使用rpm命令,安装68.4.1版本的软件包

  • 错误提示:error:Failed dependencies:
    • 提示安装68版本的firefox需要依赖nspr4.21的版本,nss的3.44的版本,这就是我们说的依赖关系
  • 为了解决依赖关系的问题,有另外一个管理工具叫做==yum==,后面会讲到。

A软件

A软件 => 需要依赖B软件

B软件 => 需要依赖C软件

C软件

  • 依赖关系的解决:使用YUM软件包管理工具对其进行安装(自动解决依赖关系)

yum install firefox -y

5.2. 【-f】查看文件所属的包名(实用)

# rpm -qf 文件名称

主要功能:判断某个文件所属的包名称

案例:查询/etc/ntp.conf 属于哪个软件包

# rpm -qf /etc/ntp.conf

ntp-4.2.6p5-28.el7.centos.x86_64

5.3. 【-l】查询软件安装完成后,生成了哪些文件

# rpm -ql 软件名称

基本语法:l = list,显示这个软件安装后生成了哪些文件

案例1:查询firefox软件生成了哪些文件

# rpm -ql firefox

特别说明:软件安装完成后,一共生成了以下几类文件

  • 配置文件类:/etc目录
  • 程序文件本身,二进制文件命令:/usr/bin或/usr/sbin目录
  • 文档手册:/usr/share/doc或man目录

案例2:查询openssh软件生成了哪些文件

rpm -ql openssh

6. 光盘的挂载和解挂

在Linux操作系统中,所有的存储设备都必须先挂载然后才能使用。

  • 问题:为什么当我们直接访问/run/media/itheima/CentOS 7 x86_64就相当于访问光盘
    • 答:主要原因就是因为CentOS7的操作系统自动把光驱设备挂载到此目录了,访问这个目录就相当于访问光盘。

6.1. 【umount】解挂

# cd ~

# umount /run/media/itheima/CentOS\ 7\ x86_64

常见问题:当我们执行以上命令时,系统提示target is busy!

出现以上问题的主要原因在于我们当前所在的目录为挂载目录。

6.2. 【mount】挂载

mount 设备文件 挂载目录

提示:光驱的设备文件为/dev/sr0

案例:把光驱挂载到/mnt/cdrom目录

# mkdir /mnt/cdrom

# mount /dev/sr0 /mnt/cdrom

mount: /dev/sr0 is write-protected, mounting read-only

案例:把/mnt/cdrom进行解挂操作

# cd ~

# umount /mnt/cdrom

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值