前言
这部分让我们来继续了解Linux中软件管理的相关知识吧~
目录
DNF介绍
/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
1179

被折叠的 条评论
为什么被折叠?



