Ryan xin 的Linux学习之旅(2)

1. RPM红帽软件包

早期在Linux系统中安装程序是使用源代码安装。
需要运维人员自行编译代码并解决许多的软件依赖关系,所以在进行校验、安装、卸载、查询、升级等管理软件操作时难度都非常大。

所以RPM就出现了
?
源代码+安装规则 红帽软件包安装工具

RPM:降低软件的安装难度 (通过将程序的源代码与安装规则打包到一起)

2. YUM 软件仓库

YUM:通过大量常用的RPM软件包存放到一起,根据用户的需求
而进行自动安装进一步降低安装难度。

这里老师举了一个汉堡的例子

汉堡的分层是有顺序的(软件包依赖关系顺序很重要)

在这里插入图片描述

而Yum软件仓库可以根据用户的要求分析出所需软件包及其相关的依赖关系,然后自动从服务器下载软件包并安装到系统。


在这里插入图片描述
YUM仓库的RPM软件包可以是第三方发布的也可以是自己配置的。



3.Systemd初始化进程

Linux操作系统的开机过程是这样的,即从BIOS开始,然后进入Boot Loader,再加载系统内核,然后内核进行初始化,最后启动初始化进程。初始化进程作为Linux系统的第一个进程,它需要完成Linux系统中相关的初始化工作,为用户提供合适的工作环境。红帽RHEL 7系统已经替换掉了熟悉的初始化进程服务System V init,正式采用全新的systemd初始化进程服务。如果您之前学习的是RHEL 5或RHEL 6系统,可能会不习惯。systemd初始化进程服务采用了并发启动机制,开机速度得到了不小的提升.



RHEL 7系统选择systemd初始化进程服务已经是一个既定事实,因此也没有了“运行级别”这个概念,Linux系统在启动时要进行大量的初始化工作,比如挂载文件系统和交换分区、启动各类进程服务等,这些都可以看作是一个一个的单元(Unit),systemd用目标(target)代替了System V init中运行级别的概念,这两者的区别如表1-3所示。



systemd与System V init的区别以及作用

System V init运行级别 systemd目标名称 作用


0 runlevel0.target, poweroff.target 关机
1 runlevel1.target, rescue.target 单用户模式
2 runlevel2.target, multi-user.target 等同于级别3
3 runlevel3.target, multi-user.target 多用户的文本界面
4 runlevel4.target, multi-user.target 等同于级别3
5 runlevel5.target, graphical.target 多用户的图形界面
6 runlevel6.target, reboot.target 重启
emergency emergency.target 紧急Shell


如果想要将系统默认的运行目标修改为“多用户,无图形”模式,可直接用ln命令把多用户模式目标文件连接到/etc/systemd/system/目录:

[root@linuxprobe ~]# ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
如果有读者之前学习过RHEL 6系统,或者已经习惯使用service、chkconfig等命令来管理系统服务,那么现在就比较郁闷了,因为在RHEL 7系统中是使用systemctl命令来管理服务的。表1-4和表1-5所示RHEL 6系统中System V init命令与RHEL 7系统中systemctl命令的对比,您可以先大致了解一下,后续章节中会经常用到它们。

表1-4 systemctl管理服务的启动、重启、停止、重载、查看状态等常用命令

System V init命令(RHEL 6系统) systemctl命令(RHEL 7系统) 作用
service foo start systemctl start foo.service 启动服务
service foo restart systemctl restart foo.service 重启服务
service foo stop systemctl stop foo.service 停止服务
service foo reload systemctl reload foo.service 重新加载配置文件(不终止服务)
service foo status systemctl status foo.service 查看服务状态
表1-5 systemctl设置服务开机启动、不启动、查看各级别下服务启动状态等常用命令

System V init命令(RHEL 6系统) systemctl命令(RHEL 7系统) 作用
chkconfig foo on systemctl enable foo.service 开机自动启动
chkconfig foo off systemctl disable foo.service 开机不自动启动
chkconfig foo systemctl is-enabled foo.service 查看特定服务是否为开机自启动
chkconfig --list systemctl list-unit-files --type=service 查看各个级别下服务的启动与禁用情况



4.SHELL 壳



人与硬件的翻译官

在这里插入图片描述

用户把一些命令“告诉”终端,它就会调用相应的程序服务去完成某些工作。




Bash 解释器 主流Linux系统默认终端 (相当于 英文 ,中文,日语,有很多解释器)


选择Bash解释器作为命令行终端主要有以下4项优势

?


1:通过上下方向键来调取过往执行过的Linux命令;

2:命令或参数仅需输入前几位就可以用Tab键补全;

3:具有强大的批处理脚本;

4:具有实用的环境变量功能。

简单来说就是 好用,广泛,大部分系统通吃。



5.命令名称

命令名称 [命令参数] [命令对象]

?

这里老师讲的例子!!!

[命令名称 [命令参数] [命令对象]

[命令名称]
[命令参数] 温柔的
[命令对象] 小红

一个完整的命令格式:我 温柔的亲 小红

注意,命令名称、命令参数、命令对象之间请用空格键分隔。

参数可以用长格式(完整的选项名称),也可以用短格式(单个字母的缩写),两者分别用–与-作为前缀。

长格式 man --help
短格式 man -h


?长格式 短格式 可以替换使用!

?长格式 短格式 不可以合并!

?长格式 长格式 不可以合并!

? 短格式 短格式 可以合并!

例如 tar -zxvf = tar -z -x -v -f 就是短格式的参数合并。

命令间最少有一个空格

未完待续~~~~~~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值