《Linux 简易速速上手小册》第4章: 包管理与软件安装(2024 最新版)

在这里插入图片描述

文章目录

  • 4.1 包管理基础
    • 4.1.1 重点基础知识
    • 4.1.2 重点案例:在 Ubuntu 上安装和管理软件
    • 4.1.3 拓展案例 1:添加软件仓库
    • 4.1.4 拓展案例 2:回滚软件到旧版本
  • 4.2 使用 APT 与 YUM
    • 4.2.1 重点基础知识
    • 4.2.2 重点案例:在 Ubuntu 上配置 LAMP 服务器
    • 4.2.3 拓展案例 1:在 CentOS 上配置开发环境
    • 4.2.4 拓展案例 2:使用 APT 自动清理不再需要的依赖
  • 4.3 从源代码编译安装
    • 4.3.1 重点基础知识
    • 4.3.2 重点案例:编译安装 Nginx
    • 4.3.3 拓展案例 1:从源代码安装 Python 3.8
    • 4.3.4 为软件配置特定选项

4.1 包管理基础

在 Linux 的海洋中航行,包管理器是你的罗盘和船帆,引导你在软件的海洋中轻松航行。无论是安装新软件、更新现有软件,还是管理系统上的软件包,包管理器都能让这一切变得轻而易举。

4.1.1 重点基础知识

  • 什么是包管理器? 包管理器是一个允许用户自动化安装、升级、配置和移除软件包的系统工具。它处理依赖关系,确保软件包之间不会发生冲突,并维护软件包的版本信息。
  • 常见的包管理器:
    • APT (Advanced Package Tool): 用于 Debian 及其衍生系统(如 Ubuntu)的包管理器。
    • YUM (Yellowdog Updater Modified)/DNF: 用于 Fedora、CentOS 和 RHEL 系统的包管理器。DNF 是 YUM 的下一代版本,提供了更好的性能和额外的功能。
    • Pacman: Arch Linux 的包管理器,以其速度和简洁性著称。
  • 软件仓库: 软件仓库是存储软件包的服务器。包管理器从这些仓库下载并安装软件包。用户可以添加或删除软件仓库,以访问更多的软件包或不同版本的软件。

4.1.2 重点案例:在 Ubuntu 上安装和管理软件

假设你是一个 Ubuntu 用户,需要安装、更新和删除软件包。

  1. 安装软件:
    使用 APT 安装软件非常简单。比如,要安装 VLC 媒体播放器:

    sudo apt-get update
    sudo apt-get install vlc
    

    第一条命令更新了软件包列表,确保你安装的是最新版本。

  2. 更新软件:
    要更新系统上所有的软件包,你可以运行:

    sudo apt-get upgrade
    

    这会根据最新的软件包列表升级所有已安装的软件包。

  3. 删除软件:
    如果你不再需要 VLC 媒体播放器,可以用下面的命令卸载它:

    sudo apt-get remove vlc
    

4.1.3 拓展案例 1:添加软件仓库

在某些情况下,你可能需要安装不在默认软件仓库中的软件。例如,要添加一个第三方仓库并从中安装软件,你可以使用 add-apt-repository 命令:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

4.1.4 拓展案例 2:回滚软件到旧版本

如果新版本的软件包引起了问题,你可能想要回滚到旧版本。这可以通过安装特定版本的软件包来实现:

sudo apt-get install vlc=2.2.1

这条命令会安装 VLC 媒体播放器的 2.2.1 版本。

通过掌握包管理器的使用,你就能轻松地管理 Linux 系统上的软件包,无论是安装新工具,更新应用,还是维护系统的整洁,都不再是难题。包管理器让软件管理变得既简单又高效,释放了你的时间和精力,让你能够专注于更重要的任务。

在这里插入图片描述


4.2 使用 APT 与 YUM

在 Linux 的世界里,APT 和 YUM 是两个非常强大的工具,它们让软件的安装、更新、卸载和管理变得轻而易举。了解如何有效地使用这些工具,可以大大提高你在 Linux 系统上工作的效率和愉悦度。

4.2.1 重点基础知识

  • APT (Advanced Package Tool): APT 是 Debian 及其派生系统(如 Ubuntu)的包管理器。它允许从远程仓库安装、更新、卸载软件包,并自动处理软件依赖。
  • YUM (Yellowdog Updater Modified): YUM 是基于 RPM 的系统(如 Fedora、CentOS)的包管理器。它与 APT 类似,也可以自动解决依赖问题。
  • DNF: DNF 是 YUM 的后继者,提供了更好的性能和新特性。从 Fedora 22 开始,DNF 开始取代 YUM。
  • 常用命令:
    • APT:
      • sudo apt-get update: 更新软件包列表。
      • sudo apt-get install <package>: 安装软件包。
      • sudo apt-get upgrade: 升级所有已安装的软件包。
      • sudo apt-get remove <package>: 删除软件包。
    • YUM/DNF:
      • sudo yum check-updatesudo dnf check-update: 检查可更新的软件包。
      • sudo yum install <package>sudo dnf install <package>: 安装软件包。
      • sudo yum updatesudo dnf upgrade: 更新所有软件包。
      • sudo yum remove <package>sudo dnf remove <package>: 删除软件包。

4.2.2 重点案例:在 Ubuntu 上配置 LAMP 服务器

LAMP 代表 Linux、Apache、MySQL/MariaDB、PHP/Python/Perl,是一种流行的网站服务器配置。

  1. 更新软件包列表:

    sudo apt-get update
    
  2. 安装 Apache:

    sudo apt-get install apache2
    
  3. 安装 MySQL:

    sudo apt-get install mysql-server
    
  4. 安装 PHP:

    sudo apt-get install php libapache2-mod-php php-mysql
    
  5. 重启 Apache 服务:

    sudo systemctl restart apache2
    

4.2.3 拓展案例 1:在 CentOS 上配置开发环境

假设你需要在 CentOS 系统上配置一个 Python 开发环境。

  1. 安装 Python:

    sudo dnf install python3
    
  2. 安装 pip:

    sudo dnf install python3-pip
    
  3. 安装虚拟环境工具:

    sudo pip3 install virtualenv
    

4.2.4 拓展案例 2:使用 APT 自动清理不再需要的依赖

随着时间的推移,系统上可能会堆积很多不再需要的依赖包。APT 提供了一种简单的方式来清理这些不再需要的包。

sudo apt-get autoremove

通过熟悉和使用 APT 和 YUM/DNF,你可以有效地管理你的 Linux 系统,无论是搭建服务器,配置开发环境,还是简单地保持系统的整洁和最新状态。这些包管理器是每个 Linux 用户强大的工具,掌握它们将使你在 Linux 的世界里如鱼得水。

在这里插入图片描述


4.3 从源代码编译安装

有时候,在 Linux 上,你可能会遇到一些不在包管理器仓库中的软件,或者你需要安装软件的最新版本,这时候从源代码编译安装就显得尤为重要。这个过程就像是从零开始搭建一栋房子,需要更多的手工劳动,但最终你会得到一个完全按照你的需求定制的产品。

4.3.1 重点基础知识

  • 准备编译环境: 在开始编译之前,你需要确保系统上安装了基本的编译工具,如 gccmakeautoconf 等。
  • 下载源代码: 通常,源代码可以从软件的官方网站或 GitHub 仓库下载。它们通常以 .tar.gz.zip 形式打包。
  • 解压源代码: 使用 tar -xzf sourcecode.tar.gzunzip sourcecode.zip 解压下载的源代码包。
  • 配置编译选项: 运行 ./configure 命令来检查系统环境,并设置编译选项。你可以通过 ./configure --help 查看所有可用的配置选项。
  • 编译: 使用 make 命令开始编译过程。这个过程可能会花费一些时间,具体取决于软件的大小和系统的性能。
  • 安装: 编译完成后,使用 sudo make install 命令将软件安装到系统中。

4.3.2 重点案例:编译安装 Nginx

假设你需要安装 Nginx 的最新版本,但你的 Linux 发行版仓库中的版本不是最新的。

  1. 安装编译依赖:

    sudo apt-get install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev
    
  2. 下载 Nginx 源代码:

    wget http://nginx.org/download/nginx-1.19.0.tar.gz
    
  3. 解压源代码:

    tar -xzf nginx-1.19.0.tar.gz
    cd nginx-1.19.0
    
  4. 配置编译选项:

    ./configure --with-http_ssl_module
    
  5. 编译并安装:

    make
    sudo make install
    

4.3.3 拓展案例 1:从源代码安装 Python 3.8

如果你需要安装 Python 的一个特定版本,而你的发行版仓库中没有提供,你可以从源代码编译安装。

首先,下载 Python 3.8 的源代码,然后按照上述步骤解压、配置、编译并安装。

4.3.4 为软件配置特定选项

有时,你可能需要为软件启用或禁用特定的功能。比如,编译安装 Vim 时启用 Python 支持。

在运行 ./configure 命令时,你可以添加特定的选项,如 --enable-pythoninterp,以启用 Python 支持。

通过从源代码编译安装软件,你不仅可以确保得到软件的最新版本,还可以根据自己的需要定制软件的功能。虽然这个过程比使用包管理器安装软件更复杂,但它提供了更高的灵活性和控制。掌握了这项技能,你就能在 Linux 系统上自由地安装和管理各种软件了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/470435.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C# winfrom实例:四路激光测距雷达数据采集和波形图绘制

1.所述产品 产品型号&#xff1a;TFmini Plus 相关资料下载地址&#xff1a;http://www.benewake.com/download 产品名称&#xff1a;TFmini Plus激光雷达模组制造商公司&#xff1a;北醒&#xff08;北京&#xff09;光子科技有限公司 2.产品功能&#xff1a;TFmini Plus是基…

MySQL篇----第十四篇

系列文章目录 文章目录 系列文章目录前言一、MySQL 数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化?二、锁的优化策略三、索引的底层实现原理和优化四、什么情况下设置了索引但无法使用前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽…

Android之Android.bp文件格式语法(一百八十六)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

Docker 在window 2024版笔记 下载 安装 操作 配置

---Docker 前言--- Docker windows版官方版是一款专业开源的应用容器引擎&#xff0c;可以加快用户构建、共享和运行现代应用程序的速度&#xff0c;支持运行Linux和Windows Docker容器。 Docker 在容器的基础上&#xff0c;进行了进一步的封装&#xff0c;从文件系统、网络互…

fluent脱硝SCR相对标准偏差、氨氮比、截面速度计算

# -*- coding: utf-8 -*- """ Created on Wed Sep 20 20:40:30 2023 联系QQ:3123575367&#xff0c;专业SCR脱硝仿真。 该程序用来处理fluent通过export-solution-ASCII-Space导出的数据&#xff0c;可计算标准偏差SD、相对标准偏差RSD,适用于求解平面的相对均匀…

RK3568笔记十六:Framebuffer实验

若该文为原创文章&#xff0c;转载请注明原文出处。 本意是移植LVGL&#xff0c;但在编译DRM过程中一直编译失败&#xff0c;然后就想Framebuffer是否可以用&#xff0c;所以测试一下。 一、framebuffer介绍 FrameBuffer中文译名为帧缓冲驱动&#xff0c;它是出现在2.2.xx内…

23款奔驰S400商务版没有后排电动座椅那改装一套跟选装有区别吗

改装的后排电动座椅通常提供以下功能&#xff1a; 电动调节&#xff1a;座椅可以通过按钮或控制面板进行前后调节&#xff0c;以适应乘客的腿部空间需求。 靠背角度调节&#xff1a;乘客可以通过电动调节功能来调整座椅的靠背角度&#xff0c;以获得更舒适的坐姿。 座椅倾斜调…

Java与JavaScript的区别与联系

Java是目前编程领域使用非常广泛的编程语言&#xff0c;相较于JavaScript&#xff0c;Java更被人们熟知。很多Java程序员想学门脚本语言&#xff0c;一看JavaScript和Java这么像&#xff0c;很有亲切感&#xff0c;那干脆就学它了&#xff0c;这也间接的帮助了JavaScript的发展…

红队打靶练习:HACK ME PLEASE: 1

信息收集 1、arp ┌──(root㉿ru)-[~/kali] └─# arp-scan -l Interface: eth0, type: EN10MB, MAC: 00:0c:29:69:c7:bf, IPv4: 192.168.61.128 Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan) 192.168.61.2 00:50:56:f0:df:20 …

PMDG 737

在Simbrief中生成计划后下载两个文件 放到C:\Users\32497\AppData\Local\Packages\Microsoft.FlightSimulator_8wekyb3d8bbwe\LocalState\packages\pmdg-aircraft-737(微软商店版本) 加油 先在飞行计划中查看计划燃油数量 MCDU中, AIRPLANE SEVICE 第二页, REQUEST FUEL TR…

Android---Jetpack Compose学习005

动画 1. 简单值动画 示例&#xff1a;背景颜色在紫色和绿色之间&#xff0c;以动画形式切换。使用 animateColorAsState() val backgroundColor by animateColorAsState(if (tabPage TabPage.Home) Purple100 else Green300) 该句代码中&#xff0c;有一个 backgroundColo…

【Linux】并发解决(上)-中断屏蔽,原子操作

&#x1f525;博客主页&#xff1a;PannLZ &#x1f38b;系列专栏&#xff1a;《Linux系统之路》 &#x1f618;欢迎关注&#xff1a;&#x1f44d;点赞&#x1f64c;收藏✍️留言 文章目录 并发解决1.中断屏蔽2.原子操作2.1整形原子操作2.2位原子操作原子变量使用例子 并发解决…