当前位置: 首页 > news >正文

Linux 基础开发工具入门:软件包管理器的全方位实操指南

在这里插入图片描述

🔥草莓熊Lotso:个人主页

❄️个人专栏: 《C++知识分享》 《Linux 入门到实践:零基础也能懂》

✨生活是默默的坚持,毅力是永久的享受!

🎬 博主简介:

在这里插入图片描述


文章目录

  • 前言:
  • 一. 认识软件包管理器:Linux的 “应用商店”
    • 1.1 什么是软件包
    • 1.2 Linux的软件包生态问题
  • 二. 为什么需要国内镜像源?
    • 2.1 国内主流开源镜像站汇总
  • 三. yum 与 apt 实操:常用命令全解析
    • 3.1 查看软件包:确认是否可安装
    • 3.2 安装软件:一条命令搞定
    • 3.3 卸载软件:干净删除无残留
    • 3.4 安装源
  • 结尾:


前言:

在 Linux 系统中,高效管理软件是开展开发与运维工作的第一步。无论是安装开发工具、配置运行环境,还是解决软件依赖问题,软件包管理器都是核心工具。本文将聚焦 Linux 下最常用的包管理器(yumapt),从概念解析到国内镜像源配置,再到具体实操命令,帮你彻底掌握软件安装、卸载与管理的方法,为后续开发工作搭建稳定的基础环境。


一. 认识软件包管理器:Linux的 “应用商店”

在 Windows 或 macOS 中,我们通过“应用商店”或.exe安装包获取软件;而在Linux中,软件包管理器承担了类似的角色,而且能解决“软件依赖”的问题。

在这里插入图片描述

1.1 什么是软件包

  • 软件包:提前编译好的可执行程序、配置文件及依赖库的集合(类似 Windows 的安装包),不同 Linux 发行版对应不同格式,如 CentOS 的.rpm、Ubuntu 的.deb。

  • 包管理器:负责软件包 “查找 - 下载 - 安装 - 卸载 - 依赖处理” 的工具,主流分为两类:

    • yum:适用于 CentOS、RedHat、Fedora 等基于 RPM 包的发行版;
    • apt:适用于 Ubuntu、Debian 等基于 DEB 包的发行版。
  • Linux下载软件的过程(Ubuntu,Centos,other):
    在这里插入图片描述

1.2 Linux的软件包生态问题

  • 我们评估一款操作系统的好坏,最重要的是什么呢?不就是这款操作系统的生态是否完善嘛。
    在这里插入图片描述
  • 为什么会有人免费特定社区提供软件,还发布?还提供云服务器让你下载?
    在这里插入图片描述

到这里我们是不是有点熟悉了,这些好处不正是开源带来的嘛,我们在刚开始学Linux的时候就讲过,开源的本质是一种商业模式

  • 依赖问题: 多数软件需要依赖其他库文件(如libc.so、ssl.so)才能运行。但是包管理器会自动识别并下载这些依赖,避免 “缺少某某文件” 的报错。
    在这里插入图片描述

二. 为什么需要国内镜像源?

Linux 默认的软件源多位于国外服务器,国内用户下载时会面临速度慢、频繁中断的问题。国内镜像源是官方源的 “副本”,由国内高校或企业维护,能大幅提升下载速度。
在这里插入图片描述
在这里插入图片描述

2.1 国内主流开源镜像站汇总

以下是常用的优质镜像站,覆盖主流 Linux 发行版:

镜像站名称官方链接主要支持场景
阿里云镜像站https://developer.aliyun.com/mirror/CentOS、Ubuntu、Debian 等系统及常见软件包
清华大学镜像站https://mirrors.tuna.tsinghua.edu.cn/全系列 Linux、Python/Perl/Ruby 等编程语言扩展包
中国科学技术大学镜像站http://mirrors.ustc.edu.cn/全系列 Linux、常用编程语言及开发工具
北京交通大学镜像站https://mirror.bjtu.edu.cn/多种 Linux 发行版及相关软件仓库
中国科学院软件研究所镜像站http://mirror.iscas.ac.cn/多种 Linux 发行版、编程语言和开发工具
上海交通大学镜像站https://ftp.sjtu.edu.cn/多种 Linux 发行版镜像及软件仓库
网易镜像站http://mirrors.163.com/CentOS、Ubuntu 等基础发行版及相关软件

补充说明:

  • 以上镜像站均提供丰富的 Linux 软件资源,可根据地理位置和网络情况选择使用。
  • 清华大学、中科大和阿里云镜像站是目前国内最活跃、资源最全面的镜像源之一。
  • 部分镜像站还提供 Docker 镜像、开源文档等额外资源。

三. yum 与 apt 实操:常用命令全解析

我们可通过包管理器高效管理软件。以下是 yum(CentOS)和 apt(Ubuntu)的核心命令,对应场景包括 “查看软件”“安装软件”“卸载软件” 等,操作逻辑高度相似。

操作场景CentOS/RHEL (yum/dnf) 命令Ubuntu/Debian (apt) 命令
更新软件包列表yum check-update
dnf check-update
sudo apt update
搜索指定软件yum search 软件名
dnf search 软件名
apt search 软件名
查看软件详细信息yum info 软件名
dnf info 软件名
apt show 软件名
列出所有可安装软件yum list available
dnf list available
apt list
安装软件sudo yum install 软件名
sudo dnf install 软件名
sudo apt install 软件名
卸载软件sudo yum remove 软件名
sudo dnf remove 软件名
sudo apt remove 软件名
升级所有软件包sudo yum update
sudo dnf upgrade
sudo apt upgrade

3.1 查看软件包:确认是否可安装

在安装软件前,可先查看该软件是否在镜像源中,以及当前可用版本。
示例:查看 “lrzsz”(Linux 与 Windows 文件传输工具)

  • CentOS:
yum list | grep lrzsz
lrzsz.x86_64 0.12.20-36.el7 @base
# 输出示例:lrzsz.x86_64  0.12.20-36.el7  base
# 解读:x86_64=64位包;el7=适配CentOS 7;base=源名称
  • Ubuntu:
apt search lrzsz
Sorting... Done
Full Text Search... Done
cutecom/focal 0.30.3-1build1 amd64
Graphical serial terminal, like minicom
lrzsz/focal,now 0.12.21-10 amd64 [installed]
Tools for zmodem/xmodem/ymodem file transfer
# 输出示例:lrzsz/focal,now 0.12.21-10 amd64 [已安装]
# 解读:focal=Ubuntu 20.04代号;amd64=64位包$ apt show lrzsz
Package: lrzsz
Version: 0.12.21-10
Priority: optional
Section: universe/comm
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Martin A. Godisch <godisch@debian.org>
…………

注意事项

  • 软件包名称:主版本号,次版本号,源程序发行号-软件包的发行号,主机平台,cpu架构
  • x86_64" 后缀表示64位系统的安装包, “i686” 后缀表示32位系统安装包. 选择包时要和系统匹配.
  • “el7” 表示操作系统发行版的版本,“el7” 表示的是 centos7/redhat7. “el6” 表示 centos6/redhat6.
  • 最后一列, base 表示的是 “软件源” 的名称, 类似于 “小米应用商店”, “华为应用商店” 这样的概念.
  • Ubuntu 上述有详细介绍

3.2 安装软件:一条命令搞定

安装软件需root权限(通过sudo临时获取,或直接切换root用户),-y选项可自动确认安装(无需手动输入 “y” 确认)

操作场景CentOS(yum/dnf)命令Ubuntu(apt)命令
更新软件包列表sudo yum check-updatesudo apt update
安装指定软件sudo yum install -y 软件名sudo apt install -y 软件名
安装扩展源sudo yum install -y epel-releasesudo add-apt-repository ppa:xxx
列出已安装软件yum list installedapt list --installed

实际示例

# CentOS
sudo yum install -y lrzsz
# Ubuntu
sudo apt install -y lrzsz

注意事项

  • 安装软件时由于需要向系统目录中写入内容,一般需要 sudo 或者切换到 root 账户下才能完成。
  • Linux系统下,如果有多个用户,也只需要安装一次就行
  • yum/apt安装软件只能一个装完了再装另一个,正在yum/apt安装下一个软件的过程中,如果再尝试用yum/apt安装另外一个软件,yum/apt会报错。
  • 如果yum/apt报错,请自行问问ai。

3.3 卸载软件:干净删除无残留

若软件不再使用,可通过包管理器彻底卸载,避免占用磁盘空间。
实际示例

# CentOS
sudo yum remove -y lrzsz# Ubuntu(仅卸载软件,保留配置)
sudo apt remove -y lrzsz

注意

  • 网络验证:包管理器依赖网络,若命令执行失败,先通过ping www.baidu.com验证网络是否通畅

3.4 安装源

  • Centos 安装源路径:
[root@VM-4-4-centos ~]# ll /etc/yum.repos.d/
total 8
-rw-r--r-- 1 root root 641 Sep 10 22:45 CentOS-Base.repo
-rw-r--r-- 1 root root 230 Sep 10 22:45 CentOS-Epel.repo# 安装扩展源
[root@VM-4-4-centos ~]# sudo yum install -y epel-release
………………
[root@VM-4-4-centos ~]# ll /etc/yum.repos.d/
total 16
-rw-r--r-- 1 root root  641 Sep 10 22:45 CentOS-Base.repo
-rw-r--r-- 1 root root  230 Sep 10 22:45 CentOS-Epel.repo
-rw-r--r-- 1 root root 1358 Sep  5  2021 epel.repo
-rw-r--r-- 1 root root 1457 Sep  5  2021 epel-testing.repo

在这里插入图片描述

  • Ubuntu 安装源路径:
$ cat /etc/apt/sources.list # 标准源
$ ll /etc/apt/sources.list.d/ # 扩展源
# ubuntu 安装扩展源,就结合未来具体场景

在这里插入图片描述

更新安装源,云服务器不用考虑,因为软件源都是国内的了,其它需要的话可以参考更换软件源
好玩的命令:一些有趣的命令


结尾:

🍓 我是草莓熊 Lotso!若这篇技术干货帮你打通了学习中的卡点:
👀 【关注】跟我一起深耕技术领域,从基础到进阶,见证每一次成长
❤️ 【点赞】让优质内容被更多人看见,让知识传递更有力量
⭐ 【收藏】把核心知识点、实战技巧存好,需要时直接查、随时用
💬 【评论】分享你的经验或疑问(比如曾踩过的技术坑?),一起交流避坑
🗳️ 【投票】用你的选择助力社区内容方向,告诉大家哪个技术点最该重点拆解
技术之路难免有困惑,但同行的人会让前进更有方向~愿我们都能在自己专注的领域里,一步步靠近心中的技术目标!

在这里插入图片描述

结语:软件包管理器(yum/apt)是 Linux 环境搭建的 “基石工具”,从替换国内镜像源提升速度,到一键完成软件安装卸载,它帮我们跳过手动编译、解决依赖的繁琐,让环境配置更高效。掌握这些操作后,你已能独立搭建基础 Linux 环境,后续安装编译器、编辑器等工具都可借助它快速实现。建议多结合实际需求实操,逐步熟悉细节,为后续开发筑牢基础。

✨把这些内容吃透超牛的!放松下吧✨
ʕ˘ᴥ˘ʔ
づきらど

在这里插入图片描述

http://www.dtcms.com/a/585178.html

相关文章:

  • 金仓数据库用户权限隔离:从功能兼容到安全增强的技术演进
  • shell(4)--shell脚本中的循环:(if循环,for,while,until)和退出循环(continue,break, exit)
  • IDEA 软件下载 + 安装 | 操作步骤
  • seo建站推广泉州建站软件
  • HarmonyOS 诗词填空游戏开发实战教程(非AI生成 提供源代码和演示视频)
  • 【期末网页设计作业】HTML+CSS+JavaScript 蜡笔小新 动漫主题网站设计与实现(附源码)
  • 柳州建站衣联网和一起做网站。哪家强
  • 深入解析CFS虚拟运行时间:Linux公平调度的核心引擎
  • cdr做网站流程哪家公司做网站结算好
  • 专业课复习计划
  • SQL50+Hot100系列(11.8)
  • 猫狗识别数据集:34,441张高质量标注图像,深度学习二分类任务训练数据集,计算机视觉算法研发,CNN模型训练,图像识别分类,机器学习实践项目完整数据资
  • DOM NodeList 简介
  • 【数据结构】unordered 系列容器底层结构和封装
  • 昆明做网站要多少钱京津冀协同发展交通一体化规划
  • Rust编程学习 - 问号运算符会return一个Result 类型,但是如何使用main函数中使用问号运算符
  • 『 数据库 』MySQL索引深度解析:从数据结构到B+树的完整指南
  • Spring JDBC源码解析:模板方法模式的优雅实践
  • 19-Node.js 操作 Redis 实战指南:ioredis 客户端全解析与异步场景落地
  • linux服务-iptables 原理及示例详解
  • Firebase 架构原理与实战入门:从零搭建你的第一个云端应用
  • 精品在线试题库系统|基于SpringBoot和Vue的精品在线试题库系统(源码+数据库+文档)
  • AI时代职场反脆弱性:杠铃策略平衡稳定工作与高风险创新
  • 网站搭建的步骤wordpress 添加评论
  • SLAM中的非线性优-3D图优化之轴角在Opencv-PNP中的应用(一)
  • Rust 练习册 :Poker与扑克牌游戏
  • 【python】基础案例分析
  • LeetCode(python)——15.三数之和
  • Java基础——集合进阶用到的数据结构知识点1
  • 无线交换机(AC)核心技术详解:构建集中式Wi-Fi网络的基石