Linux软件管理详解

Linux中的软件包丰富多样,但多样性也会产生一些困扰,用户需要考虑哪个软件包适用相应的Linux发行版本,因为很多特定的软件包仅适用于特定的发行版本。
比较流行的软件包格式有可直接安装的RPM、DEB;源码包gzip、bzip2等压缩包

1.RPM软件包管理

RPM是RedHat Package Manager的简写,是红帽软件包工具。

1.1.安装与卸载RPM包

  • 对于安装,我们可以使用下面这条命令来实现,注意软件包要写完整名字
rpm -i 软件包名
  • 如果需要了解安装过程和进度,通过我们会把这几个选项组合在一起使用
rpm -ivh 软件包名
  • 卸载软件包,可以不加具体版本号,与安装不同
rpm -e 软件包名
  • PRM也可以升级,会删除旧版本,保留配置,再安装新版本
rpm -U 软件名
  • 安装过程中,如果提示缺少依赖软件包,可以通过–nodeps来忽略提示,不然会把报错
rpm -ivh --nodeps 软件包名

1.2.软件包信息查询

rpm可以通过rpm -q的格式进行查询工作,常用的选项如下

  • 查询指定软件是否安装
rpm -q 软件名
或
rpm -qa | grep 软件名
  • 查询系统安装的所有软件
qpm -qa
  • 查询指定安装软件包的详细信息
rpm -qi 软件名
  • 查询指定软件的安装路径与文件列表
rpm -ql 软件名
  • 查询指定软件的配置文件
rpm -qc 软件名
  • 如果你想知道某个未安装软件的信息,可以这样:
rpm -qp 软件包名 

1.3.安全验证

我们可以通过rpm -V 软件名的方式追踪软件的状态,当软件被篡改时,就会有相应的状态,如果未篡改,则无提示。

  • 可能出现的提示字符及含义
5:MD5值更改
S:文件大小发生改变
L:链接文件的源发生改变
T:文件最后修改时间更改
D:设备更改
U:用户发生改变
G:组发生改变
M:权限及类型发生变化
?:不可读文件

2.YUM工具安装软件包

YUM是改进版的RPM软件管理器,很好的解决了RPM面临的依赖关系。
使用YUM安装至少需要一个YUM源,给YUM安装提供软件包文件。
当然现在还有一个更新的安装工具:dnf(不是地下城)用法相似,不多说,有兴趣可以自己查查。

2.1.YUM源

  • 我常用的网络源
阿里源:
https://mirrors.aliyun.com/repo/Centos-7.repo
清华源:
https://mirrors.tuna.tsinghua.edu.cn/
  • 如果没有网络,可以利用光盘自制本地源
vim /etc/yum.repos.d/centos7.repo
# 注意,扩展名必须的repo结尾

[centos]
name = centos7
baseurl = file:///mnt
enabled = 1
gpgcheck = 0

# 将光盘挂载到/mnt目录下
mount /dev/cdrom /mnt

# 这样一个简单的本地源就好了

2.2.YUM命令

  • 语法:
yum 选项 指令 软件包
例:
yum -y install vim
  • 软件的安装、升级、卸载
yum -y {
    
    install|update|remove} 软件名

# check-update指令可检查可用的升级
  • 列出已经安装的及可用的软件包
yum list
  • 清空所有缓存信息
yum clean all
  • 安装包组
yum -y groupinstall 包组
  • 安装语言包
yum -y langinstall 语言包 

3.源码编译安装软件

  • 我们下载的源码包一般都是tar.ge或tar.bz2格式,需要用tai命令解压
  • 然后进入解压后目录,通过运行configure脚本,进行预编译;可通过./configure --help查看可选的功能
  • 通过make命令进行编译
  • 通过make install进行安装
  • 注意:通常我们需要安装一些编译工具,如:gcc、python、perl、make、automake等
  • 相应的案例可以查看我的Nginx编译安装过程
    Nginx编译安装

4.二进制软件包

  • 这个没什么好说的,通常都是解压缩就可以直接使用了。

5.服务管理

在centos7版本中,通过YUM或RPM安装的软件包,可以直接使用systemctl命令进行管理。
常用的选项即包括{start、stop、restart、reload、status、enable、disable}等。

# 开启服务
systemctl start sshd
# 关闭服务
systemctl stop sshd
# 查看服务状态
systemctl status sshd
# 重启服务
systemctl restart sshd
# 设置开机启动
systemctl enable sshd
# 关闭开机启动
systemctl disable sshd

这一部分内容先说到这吧!

猜你喜欢

转载自blog.csdn.net/qq_42527269/article/details/114868450