当前位置 : 主页 > 编程语言 > 其它开发 >

Linux开发软件管理和系统服务管理

来源:互联网 收集:自由互联 发布时间:2022-05-30
开发软件管理 Linux系统下安装程序的方式无非2大类: 源码包 包管理器 软件包管理 Linux下最初只有tar.gz这样的源码包。但是Linux中的程序大多是小程序,程序与程序之间存在非常复杂的
开发软件管理

Linux系统下安装程序的方式无非2大类:

  • 源码包

  • 包管理器

软件包管理
Linux下最初只有tar.gz这样的源码包。但是Linux中的程序大多是小程序,程序与程序之间存在非常复杂的依赖关系,这些小程序的源码包的管理就是一个很让人头疼的问题。

dpkg(Debian package),是Debian软件包管理器的底层实现基础。
apt(Advanced Packaging Tool,Linux高级打包工具)是一款基于Debian分支的所有Linux发行版本的包管理器,构建于dpkg之上。
apt-get是早期Debian实现的包管理器,在16.04以后新出炉的apt比apt-get更好用。但是apt毕竟是刚出的,所有有时候有些操作还是要使用apt-get的。

deb,是Debian软件包格式的文件扩展名。一般使用dpkg或apt安装的软件包都是这个扩展名。
deb包在 Linux操作系统中类似于windows中的 软件包(exe),几乎不需要什么复杂的编译即可通过鼠标点击安装使用。

rpm(Red-Hat Package Manager,红帽软件包管理器),是一款由红帽公司在APT基础上研发出来的包管理器。
用RPM工具可以将二进制程序进行打包,包被称为RPM包。RPM无法解决软件包的依赖关系,但是yum自动解决软件依赖性。

yum(Yellow dog Updater, Modified)是一款在Fedora和RedHat以及CentOS中的软件包管理器的前端工具。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。 
dpkg
dpkg -i 包名.deb              # 安装包
dpkg -r 包名                  # 删除包
dpkg -P 包名                  # 删除包(包括配置文件)
dpkg -L 包名                  # 列出与该包关联的文件
dpkg -l 包名                  # 显示该包的版本
dpkg --unpack 包名.deb        # 解开 deb 包的内容
dpkg -S keyword               # 搜索所属的包内容
dpkg -l                       # 列出当前已安装的包
dpkg -c 包名.deb              # 列出 deb 包的内容
dpkg --configure 包名         # 配置包
apt apt 命令 取代的命令 命令的功能 apt install apt-get install 安装软件包 apt remove apt-get remove 移除软件包 apt purge apt-get purge 移除软件包及配置文件 apt update apt-get update 刷新存储库索引 apt upgrade apt-get upgrade 升级所有可升级的软件包 apt autoremove apt-get autoremove 自动删除不需要的包 apt full-upgrade apt-get dist-upgrade 在升级软件包时自动处理依赖关系 apt search apt-cache search 搜索应用程序 apt show apt-cache show 显示安装细节 apt list 列出包含条件的包(已安装,可升级等) rpm
# 安装软件包
rpm -ivh 包名.rpm
# 卸载软件包
rpm -e 包名.rpm
# 查询包是否已经安装
rpm -q 包名
# 升级软件包
rpm -Uvh 包名.rpm
# 查询软件包的描述信息
rpm -qpi 包名.rpm
# 列出软件文件信息
rpm -qpl 包名.rpm
yum
yum install 软件包名     # 安装软件包
yum reinstall 软件包名   # 重新安装软件包
yum update    软件包名   # 升级软件包
yum search 关键字        # 搜索包含关键字的软件包
yum remove    软件包名   # 移除软件包
yum clean all           # 清除所有仓库缓存
yum makecache           # 创建新的缓存
yum repolist all        # 列出所有仓库
yum list all            # 列出仓库所有软件包
yum info 软件包名        # 查看软件包信息
yum check-update        # 检查可以更新的软件包
yum grouplist           # 查看系统中已安装的软件包
系统服务管理

systemctl是一个非常强大的Linux的进程管理系统,为Linux系统的启动和管理提供一套完整的解决方案。systemctl的优点是功能强大,使用方便,缺点是体系庞大,非常复杂。它为Linux提供了一整套命令系统,涉及到系统管理的方方面面。这里我们只是简单介绍几个基础命令。

systemctl restart 服务名 # 重启服务
systemctl start 服务名   # 启动服务
systemctl stop 服务名    # 停止服务
systemctl status 服务名  # 查看服务状态
systemctl enable 服务名  # 设置服务开机自启
systemctl disable 服务名 # 设置关闭开机自启
systemctl is-enabled 服务名 # 检查服务是否设置了开机自启 enabled表示已设置开机自启,disabled表示禁用
网友评论