【Gold菜鸟】Linux知识回忆(7)——软件管理(续)

前言

这部分让我们来继续了解Linux中软件管理的相关知识吧~

目录

 DNF介绍

Ubuntu软件管理

 dpkg包管理 

apt包管理

源码包编译


 DNF介绍

DNF ,即 DaNdiFied ,是新一代的 RPM 软件包管理器。 DNF 发行日期是 2015 5 11 日, DNF 包管理器采用Python 编写,发行许可为 GPL v2 ,首先出现在 Fedora 18 发行版中。在 RHEL 8.0 版本正式取代了YUM, DNF 包管理器克服了 YUM 包管理器的一些瓶颈,提升了包括用户体验,内存占用,依赖分析,运行速度等
配置文件:
/etc/dnf/dnf.conf

仓库文件:

/etc/yum.repos.d/ *.repo

 dnf和yum用法基本一致,具体查看上一章节

dnf [options] <command> [<arguments>...]
dnf --version
dnf repolist
dnf reposync
dnf install httpd
dnf remove httpd
dnf clean all
dnf makecache
dnf list installed
dnf list available
dnf search nano
dnf history undo 1

dnf和yum排错思路

  • yum的仓库配置文件错误
    • 检查文件是否在/etc/yum.repos.d/*.repo
    • 查看文件内容格式是否正确
  • 网络不能通信外网

Ubuntu软件管理

Debian软件包通常扩展名为".deb",类似rpm文件,可以直接安装,无需编译。

  • dpkg package manager for Debian ,类似于 rpm dpkg 是基于 Debian 的系统的包管理器。可以安装,删除和构建软件包,但无法自动下载和安装软件包或其依赖项
  • apt Advanced Packaging Tool ,功能强大的软件管理工具,甚至可升级整个 Ubuntu 的系统,基于客户/ 服务器架构,类似于 yum 

 dpkg包管理 

dpkg常见用法:

#安装包,不支持包的依赖
dpkg -i package.deb 
#删除包,不建议,不自动卸载依赖于它的包
dpkg -r package 
#删除包(包括配置文件)
dpkg -P package 
#列出当前已安装的包,类似rpm -qa
dpkg -l
#显示该包的简要说明
dpkg -l package 
#列出该包的状态,包括详细信息,类似rpm –qi
dpkg -s package 
#列出该包中所包含的文件,类似rpm –ql 
dpkg -L package 
#搜索包含pattern的包,类似rpm –qf 
dpkg -S <pattern> 
#配置包,-a 使用,配置所有没有配置的软件包
dpkg --configure package 
#列出 deb 包的内容,类似rpm –qpl 
dpkg -c package.deb 
#解开 deb 包的内容
dpkg --unpack package.deb

apt包管理

apt(Advanced Packaging Tool)是一个在 Debian 和 Ubuntu 中的 Shell 前端软件包管理器。

apt 命令提供了查找、安装、升级、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

apt 命令执行需要超级管理员权限(root)。

apt Install                 安装软件包

apt remove                  移除软件包

apt purge                   移除软件包及配置文件

apt update                  刷新存储库索引

apt upgrade                 升级所有可升级的软件包

apt autoremove              自动删除不需要的包

apt full-upgrade            在升级软件包时自动处理依赖关系

apt search                  搜索应用程序

apt show                    显示安装细节

apt索引配置文件

/etc/apt/sources.list
/etc/apt/sources.list.d

国内镜像站

root@ubuntu2004:~# sed -i 's/mirrors.aliyun.com/mirrors.tuna.tsinghua.edu.cn/' 
/etc/apt/sources.list

常用操作:

#安装包:
apt install tree zip
#安装deb包,注意:包文件前必须加路径
apt install ./mongodb-database-tools-ubuntu1804-x86_64-100.5.1.deb
#安装图形桌面
apt install ubuntu-desktop
#删除包:
apt remove tree zip
#说明:apt remove中添加--purge选项会删除包配置文件,谨慎使用
#更新包索引,相当于yum clean all;yum makecache
apt update  
#升级包:要升级系统,请首先更新软件包索引,再升级
apt upgrade
#apt列出仓库软件包,等于yum list
apt list
#搜索安装包
apt search nginx
#查看某个安装包的详细信息
apt show apache2 
#在线安装软件包
apt install apache2 
#卸载单个软件包但是保留配置⽂件
apt remove apache2 
#删除安装包并解决依赖关系
apt autoremove apache2 
#更新本地软件包列表索引,修改了apt仓库后必须执⾏
apt update 
#卸载单个软件包删除配置⽂件
apt purge apache2 
#升级所有已安装且可升级到新版本的软件包
apt upgrade
#升级整个系统,必要时可以移除旧软件包。
apt full-upgrade 
#编辑source源⽂件
apt edit-sources 
#查看仓库中软件包有哪些版本可以安装
apt-cache madison nginx 
#安装软件包的时候指定安装具体的版本
apt install nginx=1.14.0-0ubuntu1.6 
#查看文件来自于哪个包,类似redhat中的yum provides <filename>
apt-file search 'string'  #默认是包含此字符串的文件
apt-file search -x  '正则表达式'
apt-file search -F /path/file

源码包编译

基本过程:

1.首先下载源代码压缩包,解压到制定目录。

2../configure阶段是是填写配置参数阶段,会生成makefile文件,makefile文件主要描述了在编译阶段的文件的编译顺序。在工程项目中,有多个目录和多个文件,如何安排文件编译顺序就是通过makefile文件实现的。

3.make阶段,使用make命令会调用gcc编译器和Binutils汇编器,gcc编译器负责将对源文件进行 …
4.make install

在编译安装源码包时,可能存在缺少相关包,出现报错情况,可通过yum命令安装所缺少的软件包

#可能缺少的相关包
yum install gcc make autoconf gcc-c++ glibc glibc-devel pcre pcre-devel openssl 
openssl-devel systemd-devel zlib-devel vim lrzsz tree tmux lsof tcpdump wget 
net-tools iotop bc bzip2 zip unzip nfs-utils man-pages

编译安装httpd 2.4

#安装前准备:关闭防火墙和SELinux
#1 安装相关包
[root@centos8 ~]#dnf install gcc make autoconf apr-devel apr-util-devel pcredevel openssl-devel redhat-rpm-config
6.4.4.4 一键安装 httpd2.4 脚本
#2 下载并解压缩包
[root@centos8 ~]#wget https://mirror.bit.edu.cn/apache//httpd/httpd-
2.4.46.tar.bz2
[root@centos8 ~]#tar xvf httpd-2.4.46.tar.bz2 -C /usr/local/src
#3 配置
[root@centos8 ~]#cd /usr/local/src/httpd-2.4.43/
[root@centos8 httpd-2.4.46]#./configure --prefix=/apps/httpd --
sysconfdir=/etc/httpd --enable-ssl
#4 编译并安装
[root@centos8 httpd-2.4.46]#make -j 4 && make install 
#5 配置环境
[root@centos8 ~]#echo 'PATH=/apps/httpd/bin:$PATH' > /etc/profile.d/httpd.sh
[root@centos8 ~]#. /etc/profile.d/httpd.sh
#6 运行
[root@centos8 ~]#apachectl start
#7 指定用apache用户运行
[root@centos8 ~]#useradd -r -s /sbin/nologin -d /var/www -c Apache -u 48 apache
[root@centos8 ~]#vim /etc/httpd/httpd.conf
user apache
group apache
#8 配置生效和验证
[root@centos8 ~]#apachectl restart
#9 查看进程
[root@centos8 ~]#ps aux 
#10 用浏览器打开以下地址,可以看下面页面

总结:

这样我们就初步了解Linux软件包和软件管理相关特性了,欢迎添加VX: wenjinworkon

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

geekgold

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值