网站建设推广语言,做网站接广告,如何给公司网站做优化,做网站开发哪里可以接单#x1f343; 予枫#xff1a;个人主页 #x1f4da; 个人专栏: 《Java 从入门到起飞》《读研码农的干货日常》 #x1f4bb; Debug 这个世界#xff0c;Return 更好的自己#xff01; 引言 做Linux开发或运维的朋友#xff0c;几乎每天都会和软件安装打交道——换yum源… 予枫个人主页 个人专栏: 《Java 从入门到起飞》《读研码农的干货日常》 Debug 这个世界Return 更好的自己引言做Linux开发或运维的朋友几乎每天都会和软件安装打交道——换yum源报错、离线环境装不上依赖、源码编译卡壳在make步骤这些问题是不是让你反复踩坑其实不管是CentOS的yum/dnf、Ubuntu的apt还是rpm/deb离线安装、源码编译核心逻辑都很简单。今天就一次性把Linux软件安装与包管理讲透新手也能跟着实操从此告别“安装失败”的烦恼文章目录引言一、前言为什么要学好Linux包管理二、在线安装yum/dnfCentOS与aptUbuntu实操2.1 CentOSyum/dnf使用换源安装卸载2.1.1 为什么要换源2.1.2 yum换源实操CentOS 72.1.3 dnf使用CentOS 82.1.4 yum/dnf核心命令必记2.2 Ubuntuapt使用换源安装卸载2.2.1 apt换源实操Ubuntu 20.04/22.042.2.2 apt核心命令必记2.3 常见问题排查避坑重点三、离线安装rpm/deb包实操无网环境必备3.1 CentOSrpm包离线安装3.1.1 核心命令必记3.1.2 实操案例安装nginx rpm包3.1.3 依赖问题解决重点难点3.2 Ubuntudeb包离线安装3.2.1 核心命令必记3.2.2 实操案例安装chrome deb包四、源码安装make make install 实操以Redis为例4.1 实操案例源码安装Redis通用流程其他软件可参考4.1.1 前提准备安装编译依赖4.1.2 第一步下载并解压Redis源码包4.1.3 第二步配置编译参数./configure4.1.4 第三步编译源码make4.1.5 第四步安装软件make install4.1.6 第五步验证安装是否成功4.2 源码安装常见问题五、总结一、前言为什么要学好Linux包管理做Linux相关开发、运维甚至是日常使用Linux桌面版「软件安装与包管理」都是绕不开的基础技能。你可能遇到过这些场景想装一个软件输入命令后提示“找不到包”不知道该怎么办换了国内yum源还是报错“无法连接仓库”排查半天找不到问题服务器没网下载好rpm包安装却提示“缺少依赖包”陷入死循环想安装某个软件的最新版本官方只有源码包不会编译安装。这些问题本质上都是没吃透Linux包管理的核心逻辑。今天这篇文章就针对「在线安装yum/dnfapt、离线安装rpm/deb、源码安装」三大场景结合实操案例手把手教你搞定所有Linux软件安装难题收藏这一篇以后不用再查零散教程温馨提示文章含大量实操命令建议点赞收藏方便后续实操时对照查看二、在线安装yum/dnfCentOS与aptUbuntu实操在线安装是最常用的方式核心优势是“自动解决依赖”不用手动下载依赖包效率极高。不同Linux发行版的包管理工具不同CentOSRHEL系用yum/dnfUbuntuDebian系用apt我们分别讲解。2.1 CentOSyum/dnf使用换源安装卸载2.1.1 为什么要换源默认情况下CentOS的官方yum源是国外的国内访问速度很慢甚至会出现“无法连接”的情况因此第一步必须先换「国内源」阿里云、清华源都可以这里以阿里云源为例。2.1.2 yum换源实操CentOS 7备份默认yum源防止出错后无法恢复# 进入yum源配置目录cd/etc/yum.repos.d/# 备份所有默认repo文件mkdirbackupmv*.repo backup/下载阿里云yum源文件# 下载CentOS 7阿里云源对应自己的CentOS版本wget-O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo清理缓存生成新缓存# 清理旧缓存yum clean all# 生成新缓存加载新源yum makecache验证换源是否成功# 查看yum源列表yum repolist# 若显示“阿里云”相关仓库且没有报错说明换源成功2.1.3 dnf使用CentOS 8CentOS 8及以上版本默认用dnf替代了yumdnf是yum的升级版本用法基本一致速度更快换源和使用方法和yum类似# 备份默认源cd/etc/yum.repos.d/mkdirbackupmv*.repo backup/# 下载阿里云dnf源wget-O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo# 清理缓存生成新缓存dnf clean all dnf makecache2.1.4 yum/dnf核心命令必记# 安装软件自动解决依赖yuminstall-y 软件名# CentOS 7dnfinstall-y 软件名# CentOS 8# 卸载软件不卸载依赖推荐yum remove -y 软件名 dnf remove -y 软件名# 卸载软件同时卸载依赖谨慎使用可能误删系统依赖yum erase -y 软件名 dnf erase -y 软件名# 更新所有已安装软件yum update -y dnf update -y# 搜索软件查看软件是否在仓库中yum search 软件名 dnf search 软件名注意安装时加上-y参数会自动确认所有提示不用手动输入“y”提升效率卸载软件时优先用remove避免erase误删依赖。2.2 Ubuntuapt使用换源安装卸载Ubuntu的包管理工具是apt用法和yum类似但命令略有不同同样先换国内源阿里云、清华源以清华源为例。2.2.1 apt换源实操Ubuntu 20.04/22.04备份默认源sudocp/etc/apt/sources.list /etc/apt/sources.list.bak编辑源文件替换为清华源# 用vim编辑源文件若没有vim先执行 sudo apt install -y vimsudovim/etc/apt/sources.list清空原有内容粘贴以下清华源对应Ubuntu 22.04其他版本可去清华源官网替换deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse更新缓存加载新源sudoaptupdate2.2.2 apt核心命令必记# 安装软件自动解决依赖sudoaptinstall-y 软件名# 卸载软件不卸载依赖sudoaptremove -y 软件名# 卸载软件同时卸载依赖配置文件彻底删除sudoaptpurge -y 软件名# 更新所有已安装软件sudoaptupgrade -y# 搜索软件sudoaptsearch 软件名# 清理无用依赖卸载软件后清理残留的依赖包sudoaptautoremove -y注意Ubuntu的apt命令需要加sudo管理员权限否则会报错autoremove命令可以定期执行清理系统残留释放磁盘空间。2.3 常见问题排查避坑重点换源后报错“无法连接仓库”检查网络是否正常确认源文件的版本和自己的Linux发行版一致比如CentOS 7不能用CentOS 8的源安装时提示“没有可用软件包”用yum search或apt search确认软件名是否正确Linux软件名区分大小写缓存报错重新执行yum makecache或apt update清理缓存后再尝试。三、离线安装rpm/deb包实操无网环境必备很多时候服务器处于内网环境没有外网权限无法使用yum/apt在线安装这时候就需要用「离线包安装」——先在有网的机器上下载好rpmCentOS或debUbuntu包再拷贝到内网服务器安装。3.1 CentOSrpm包离线安装3.1.1 核心命令必记# 安装rpm包注意不会自动解决依赖需手动处理依赖rpm-ivh 软件包名.rpm# 卸载rpm包rpm-e 软件包名# 查看已安装的rpm包rpm-qa|grep软件包名# 查看rpm包的依赖关系rpm-qR 软件包名.rpm3.1.2 实操案例安装nginx rpm包有网机器下载nginx rpm包推荐从阿里云镜像站下载对应CentOS版本用U盘或远程拷贝如scp将rpm包传到内网CentOS服务器执行安装命令# 安装nginx rpm包rpm-ivh nginx-1.24.0-1.el7.x86_64.rpm3.1.3 依赖问题解决重点难点rpm安装最大的问题是「无法自动解决依赖」若提示“缺少xxx依赖包”解决方案有2种手动下载所有缺少的依赖包按顺序安装依赖包也需要rpm格式用yum localinstall命令推荐该命令会自动查找本地rpm包的依赖若本地有依赖包直接安装若无会提示适合内网有本地仓库的场景yum localinstall -y nginx-1.24.0-1.el7.x86_64.rpm3.2 Ubuntudeb包离线安装3.2.1 核心命令必记# 安装deb包不会自动解决依赖sudodpkg -i 软件包名.deb# 卸载deb包sudodpkg -r 软件包名# 彻底卸载deb包删除配置文件sudodpkg -P 软件包名# 查看已安装的deb包dpkg -l|grep软件包名# 解决deb包依赖问题关键sudoapt-finstall-y3.2.2 实操案例安装chrome deb包有网机器下载chrome deb包拷贝到内网Ubuntu服务器执行安装命令# 安装chrome deb包sudodpkg -i google-chrome-stable_current_amd64.deb# 若提示缺少依赖执行以下命令自动修复sudoapt-finstall-y重点Ubuntu的deb包安装后若有依赖缺失直接执行sudo apt -f install -y系统会自动下载并安装缺少的依赖比rpm包的依赖处理更简单。四、源码安装make make install 实操以Redis为例有些软件的最新版本官方只提供源码包.tar.gz格式没有rpm/deb包也无法通过yum/apt安装这时候就需要「源码编译安装」——手动编译源码生成可执行文件再安装到系统中。源码安装的核心流程解压源码包 → 配置编译参数 → 编译源码 → 安装软件即tar → ./configure → make → make install。4.1 实操案例源码安装Redis通用流程其他软件可参考4.1.1 前提准备安装编译依赖源码编译需要用到gcc编译器若系统没有先在线安装有网环境# CentOS安装gccyuminstall-y gcc gcc-c# Ubuntu安装gccsudoaptinstall-y gcc g4.1.2 第一步下载并解压Redis源码包# 下载Redis源码包官网最新版本可替换为自己需要的版本wgethttps://download.redis.io/releases/redis-7.2.4.tar.gz# 解压源码包解压到当前目录tar-zxvf redis-7.2.4.tar.gz# 进入解压后的目录cdredis-7.2.44.1.3 第二步配置编译参数./configure# 配置编译参数默认配置安装到/usr/local/redis目录./configure --prefix/usr/local/redis说明--prefix指定安装目录若不指定默认安装到/usr/local/bin目录若配置报错大概率是缺少编译依赖重新安装gcc即可。4.1.4 第三步编译源码make# 编译源码将源码编译为可执行文件make注意编译过程中若出现“error”说明编译失败大概率是依赖缺失或源码包损坏若出现“warning”一般不影响可以继续。4.1.5 第四步安装软件make install# 安装编译好的软件将可执行文件复制到指定的安装目录makeinstall4.1.6 第五步验证安装是否成功# 进入安装目录的bin目录cd/usr/local/redis/bin# 启动Redis验证可执行文件是否正常./redis-server若能正常启动Redis说明源码安装成功后续可配置Redis为系统服务实现开机自启此处不展开感兴趣的朋友可以评论区留言后续单独出教程。4.2 源码安装常见问题执行./configure报错缺少gcc编译器安装gcc即可make编译报错源码包损坏重新下载源码包或缺少对应依赖根据报错信息安装依赖安装后找不到可执行文件忘记指定--prefix可执行find / -name 软件名查找或重新安装并指定安装目录。五、总结本文围绕Linux软件安装与包管理讲解了三大核心场景在线安装CentOS的yum/dnf、Ubuntu的apt重点是换国内源解决访问慢的问题离线安装rpmCentOS、debUbuntu重点是处理依赖问题源码安装以Redis为例讲解了tar → ./configure → make → make install的完整流程适合安装无包管理的软件。其实Linux包管理并不难核心就是“解决依赖”——在线安装自动解决离线安装手动/半自动解决源码安装提前准备依赖。记住本文的实操命令和避坑点以后不管遇到哪种安装场景都能轻松搞定。好了以上就是本文的全部内容。如果对你有帮助记得点赞收藏关注我是予枫专注分享Linux、Python相关实操教程下期再见