Linux就该这么学(第一天)

原文地址:https://www.linuxprobe.com/chapter-01.html

  最近想着要发布原来做的一个javaweb小项目 域名 云服务器都买好了,然后很尴尬,不会在云服务器上搭建环境,我的是centOS6.8,百度下来有各种版本参差不齐,本身对liunx系统也不太熟悉,只会简单的操作,然后 看到网上说《Linux就该这么学》挺好的,然后就想深入学习下linux系统,虽然我不是运维但是多个技能不压身,多少总要了解下,我是按照老师的教程写的,只不过是想加深一下自己的印象。

 

 

RPM(红帽软件包管理器)

     在RPM(红帽软件包管理器)公布之前,要想在Linux系统中安装软件只能采取源码包的方式安装。早期在Linux系统中安装程序是一件非常困难、耗费耐心的事情,而且大多数的服务程序仅仅提供源代码,需要运维人员自行编译代码并解决许多的软件依赖关系,因此要安装好一个服务程序,运维人员需要具备丰富知识、高超的技能,甚至良好的耐心。而且在安装、升级、卸载服务程序时还要考虑到其他程序、库的依赖关系,所以在进行校验、安装、卸载、查询、升级等管理软件操作时难度都非常大

RPM机制则为解决这些问题而设计的。RPM有点像Windows系统中的控制面板,会建立统一的数据库文件,详细记录软件信息并能够自动分析依赖关系。

 

  常用的RPM软件包命令

安装软件的命令格式                 rpm -ivh filename.rpm      (filename是软件包的名字)

升级软件的命令格式                 rpm -Uvh filename.rpm

卸载软件的命令格式                 rpm -e filename.rpm

查询文件描述信息的命令格式     rpm -qpi filename.rpm

列出软件文件信息的命令格式             rpm -qpl filename.rpm

查询文件输入哪个RPM的命令格式     rpm -qf filename 

 

Yum软件仓库

    尽管RPM能够帮助用户查询软件相关的依赖关系,但问题还是要运维人员自己来解决,而有些大型软件可能与数十个程序都有依赖关系,在这种情况下安装软件会是非常痛苦的。Yum软件仓库便是为了进一步降低软件安装难度和复杂度而设计的技术。Yum软件仓库可以根据用户的要求分析出所需软件包及其相关的依赖关系,然后自动从服务器下载软件包并安装到系统。

Linux就该这么学(第一天)_第1张图片

常用的Yum命令

命令

作用

yum repolist all

列出所有仓库

yum list all

列出仓库中所有软件包

yum info 软件包名称

查看软件包信息

yum install 软件包名称

安装软件包

yum reinstall 软件包名称

重新安装软件包

yum update 软件包名称

升级软件包

yum remove 软件包名称

移除软件包

yum clean all

清除所有仓库缓存

yum check-update

检查可更新的软件包

yum grouplist

查看系统中已经安装的软件包组

yum groupinstall 软件包组

安装指定的软件包组

yum groupremove 软件包组

移除指定的软件包组

yum groupinfo 软件包组

查询指定的软件包组信息

 

Systemd初始化进程

Linux操作系统的开机过程是这样的,即从BIOS开始,然后进入Boot Loader,再加载系统内核,然后内核进行初始化,最后启动初始化进程。初始化进程作为Linux系统的第一个进程,它需要完成Linux系统中相关的初始化工作,为用户提供合适的工作环境。红帽RHEL 7系统已经替换掉了熟悉的初始化进程服务System V init,正式采用全新的systemd初始化进程服务

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

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

 

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 查看服务状态

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 查看各个级别下服务的启动与禁用情况

你可能感兴趣的:(Linux就该这么学(第一天))