指令的旋律:走进Linux系统开发工具,体悟Ubuntu系统下软件包管理器的奥秘

文章目录

  • 引言
  • 一、软件包的基本概念
  • 二. APT
    • 2.1 更新软件包列表
    • 2.2 升级已安装的软件包
    • 2.3 安装软件包
    • 2.4 卸载软件包
    • 2.5 查找软件包
    • 2.6 显示软件包信息
    • 2.7 清理不需要的包
  • 三、 APT的配置文件
  • 四、APT的源管理
    • 4.1 软件源
    • 4.2 添加PPA(Personal Package Archive)
  • 五. 拓展安装包
  • 小结

在这里插入图片描述

引言

在庞大而复杂的Linux操作系统中,工具是其中的神秘使者,悄无声息却强大无比。而其中,软件包管理器则如同一位无形的指挥家,掌控着成千上万的音符和节奏,确保每一件程序都能恰如其分地安放在系统的舞台上,奏响和谐的乐章。

Ubuntu,作为最受欢迎的Linux发行版之一,为我们提供了一个极其高效且人性化的软件包管理工具——APT(Advanced Packaging Tool)。今天,让我们在这篇报告中一同踏上探索之旅,走进Ubuntu的包管理世界,领略其背后的智慧与力量。

一、软件包的基本概念

Linux下安装软件主要有三种方法:

1.源代码安装
2. rpm安装
3. apt安装(在centos系统下对应的是yum)

其中源代码安装显而易见,rpm安装含义如下:

  • 在Linux世界中,rpm(Red Hat Package Manager)是一种广泛使用的软件包管理格式,它专门为Red Hat及其衍生版本(如CentOS、Fedora等)设计。通过RPM格式,软件包以一种标准化、简洁的方式进行打包和分发,让系统管理员能够轻松地管理和安装软件。

  • RPM安装软件,意味着通过 .rpm 文件在Linux系统上安装软件包。这些 .rpm 文件是已经打包好的软件或程序,它包含了软件本身以及该软件运行所需的所有配置文件、库文件和其他依赖项。

  • 其中源代码安装需要依赖编译环境,有较强的局限性
  • rpm安装的方式也不是很推荐,因为采用这种方式安装的安装包有些具有较强的互相依赖关系,这就会造成有些时候我们需要安装不是很必要的安装包
  • 而apt安装则不具备上面两种方式的局限性,它可以帮助我们更快速更高效的处理Linux下安装包的问题,也是Ubuntu系统下使用最多的安装方式

本篇我们重点介绍apt安装

二. APT

APT是Ubuntu系统中最常用的软件包管理工具。它使用户能够快速方便地安装和管理软件包。APT会自动处理软件包的依赖关系。使用apt下载内容时,需要使用root权限,所以如果在非root用户下下载安装包,需要使用sudo提权

2.1 更新软件包列表

在安装新软件之前,通常需要更新软件包列表,以确保获取到最新的软件包信息。

在这里插入图片描述

2.2 升级已安装的软件包

更新软件包后,可以使用以下命令升级所有已安装的软件包到最新版本:

sudo apt upgrade

这个的安装内容可能非常多

若要同时处理依赖关系并进行系统全面升级,可以使用:

sudo apt full-upgrade

2.3 安装软件包

要安装新软件包,可以使用以下命令:
例如,安装vim编辑器:

sudo apt install vim

2.4 卸载软件包

要卸载一个软件包,可以使用:

sudo apt remove <package-name>

如果要同时删除配置文件,可以使用:

sudo apt purge <package-name>

2.5 查找软件包

如果不确定软件包的名称,可以使用:

apt search <search-term>

例如,查找与git相关的软件包:

apt search git

2.6 显示软件包信息

要查看某个软件包的详细信息,可以使用:

apt show <package-name>

比如查看vim软件包:
在这里插入图片描述

2.7 清理不需要的包

可以使用以下命令清理不再需要的依赖包,释放系统空间:

sudo apt autoremove

三、 APT的配置文件

APT的主要配置文件位于/etc/apt/目录下。以下是几个关键文件:

  • sources.list:定义了从哪些源获取软件包信息和更新。
  • preferences:用于设置软件包的优先级。

四、APT的源管理

4.1 软件源

软件源是存放软件包的服务器。你可以在/etc/apt/sources.list文件中添加或删除软件源。典型的软件源格式为:

deb http://archive.ubuntu.com/ubuntu/ focal main universe

4.2 添加PPA(Personal Package Archive)

PPA是用户发布的个人软件包存档。使用以下命令添加PPA:

sudo add-apt-repository ppa:<repository-name>

添加后,记得运行sudo apt update来更新软件包列表。

五. 拓展安装包

除了常用的安装包外,我们还有一些非常有趣的安装包。

sl安装包:屏幕上会有一辆小火车驶过
在这里插入图片描述
cowsay:屏幕上会显示一个牛在说话

比如:cowsay “hello world!”
在这里插入图片描述

小结

APT——系统之心

在Ubuntu的世界里,APT不仅仅是一个工具,它是操作系统与用户需求之间的一座桥梁,连接着无数个软件包和无限的可能性。它通过简单而强大的命令,将用户的需求转化为系统的行为,将复杂的操作简化为几行指令,从而让每一个Ubuntu用户都能体验到高效、稳定的计算世界。

正如每一位指挥家背后都藏有一把无形的指挥棒,APT在Ubuntu的世界里,用它那平凡却深邃的命令,谱写出一曲曲美妙的数字乐章。它不是独自存在的工具,而是连接现代计算世界与我们需求的桥梁,让我们在这座桥梁上行走,步履稳健,未来无限。

本篇关于apt软件包的介绍就暂告段落啦,希望能对大家的学习产生帮助,欢迎各位佬前来支持斧正!!!

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

队列相关练习

目录 1、用队列实现栈 2、用栈实现队列 1、用队列实现栈 oj&#xff1a;225. 用队列实现栈 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 1. 入栈时&#xff0c;两个队列 哪个不为空放到哪个队列里&#xff0c;两个都是空的指定放到第一个里面 2. 出栈时&#…

全新方案80M/S,告别限速!

资源和文件转载的最佳方式是通过网盘链接分享&#xff0c;这种方式的优点在于可以避免地区、局域网和文件大小的限制。近年来&#xff0c;随着123云盘、阿里云盘和夸克网盘等网盘逐步崭露头角&#xff0c;各具优势。然而&#xff0c;依然没能撼动百度网盘老大哥的位置&#xff…

海思Hi3516DV00移植yolov5-7.0的模型转化流程说明

一、YOLOv5 YOLOv5作为单阶段检测框架的集大成者&#xff0c;凭借其卓越的实时性、高精度和易用性&#xff0c;已成为工业界实际部署的首选方案。yolov5的最新版本是7.0&#xff0c;该版本是官方最后更新的一个版本。yolov5-7.0 工程化实现卓越&#xff1a;基于PyTorch框架构…

通过Golang的container/list实现LRU缓存算法

文章目录 力扣&#xff1a;146. LRU 缓存主要结构 List 和 Element常用方法1. 初始化链表2. 插入元素3. 删除元素4. 遍历链表5. 获取链表长度使用场景注意事项 源代码阅读 在 Go 语言中&#xff0c;container/list 包提供了一个双向链表的实现。链表是一种常见的数据结构&#…

从零开始学机器学习——线性和多项式回归

首先给大家介绍一个很好用的学习地址&#xff1a;https://cloudstudio.net/columns 在之前的学习中&#xff0c;我们已经对数据的准备工作以及数据可视化有了一定的了解。今天&#xff0c;我们将深入探讨基本线性回归和多项式回归的概念与应用。 如果在过程中涉及到一些数学知…

【数据结构初阶第十八节】八大排序系列(上篇)—[详细动态图解+代码解析]

看似不起眼的日复一日&#xff0c;总会在某一天让你看到坚持的意义。​​​​​​云边有个稻草人-CSDN博客 hello&#xff0c;好久不见&#xff01; 目录 一. 排序的概念及运用 1. 概念 2. 运用 3. 常见排序算法 二. 实现常见排序算法 1. 插入排序 &#xff08;1&…

SPI驱动五) -- SPI_DAC上机实验(使用spidev)

文章目录 参考资料&#xff1a;一、DAC硬件1.1 原理图1.2 扩展板连接图1.3 DAC原理 二、编写APP三、编写设备树四、上机实验五、Bug分析六、总结 参考资料&#xff1a; 参考资料&#xff1a; 内核驱动&#xff1a;drivers\spi\spidev.c 内核提供的测试程序&#xff1a;tools\…

基于Asp.net的驾校管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…

Spring (八)AOP-切面编程的使用

目录 实现步骤&#xff1a; 1 导入AOP依赖 2 编写切面Aspect 3 编写通知方法 4 指定切入点表达式 5 测试AOP动态织入 图示&#xff1a; 实现步骤&#xff1a; 1 导入AOP依赖 <!-- Spring Boot AOP依赖 --><dependency><groupId>org.springframework.b…

阿里云CTF2025 ---Web

ezoj 啊&#xff1f;怎么整个五个算法题给CTF选手做&#xff1f;&#xff1f;这我不得不展示一下真正的技术把测评机打穿。 可以看到源码 import os import subprocess import uuid import json from flask import Flask, request, jsonify, send_file from pathlib import Pa…

WSL(ubunt)中使用ollama部署deepseek-7b

想在自己的Win11电脑上部署Linux的DeepSeek模型&#xff0c;但在网上一直没有找到合适的相应教程&#xff0c;自己查询各种网上资源&#xff0c;以及询问一些AI大模型后成功安装&#xff0c;并整理了以下步骤。仅作为个人学习笔记使用&#xff0c;由于本人对各方面知识掌握不足…

蓝桥杯国赛—路径之谜(dfs详细解法)

一.题目 二.dfs解法 使用dfs算法可以递归遍历所有可能路径&#xff0c;如果找到错误的路径就进行回溯&#xff0c;只有找到正确的路径才会输出 public class Main {static class pair{int x;int y;public pair(int x,int y){this.x x;this.y y;} }public static void bfs()…

Jenkins在Windows上的使用(二):自动拉取、打包、部署

&#xff08;一&#xff09;Jenkins全局配置 访问部署好的Jenkins服务器网址localhost:8080&#xff0c;完成默认插件的安装后&#xff0c;接下来将使用SSH登录远程主机以实现自动化部署。 1. 配置插件 选择dashboard->Manage Jenkins->plugins 安装下面两个插件  …

记录小白使用 Cursor 开发第一个微信小程序(一):注册账号及下载工具(250308)

文章目录 记录小白使用 Cursor 开发第一个微信小程序&#xff08;一&#xff09;&#xff1a;注册账号及下载工具&#xff08;250308&#xff09;一、微信小程序注册摘要1.1 注册流程要点 二、小程序发布流程三、下载工具 记录小白使用 Cursor 开发第一个微信小程序&#xff08…

蓝耘智算 + 通义万相 2.1:为 AIGC 装上 “智能翅膀”,翱翔创作新天空

1. 引言&#xff1a;AIGC 的崛起与挑战 在过去几年中&#xff0c;人工智能生成内容&#xff08;AIGC&#xff09;技术突飞猛进。AIGC 涉及了文本生成、图像创作、音乐创作、视频制作等多个领域&#xff0c;并逐渐渗透到日常生活的方方面面。传统的内容创作方式已经被许多人类创…

C/C++中使用CopyFile、CopyFileEx原理、用法、区别及分别在哪些场景使用

文章目录 1. CopyFile原理函数原型返回值用法示例适用场景 2. CopyFileEx原理函数原型返回值用法示例适用场景 3. 核心区别4. 选择建议5. 常见问题6.区别 在Windows系统编程中&#xff0c;CopyFile和CopyFileEx是用于文件复制的两个API函数。它们的核心区别在于功能扩展性和控制…

计算机性能指标(计网笔记)

计算机性能指标&#xff1a;速率、带宽、吞吐率、时延、时延带宽积、往返时间RTT、利用率 速率 数据的传输速率&#xff0c;单位bit/s&#xff0c;或kbit/s&#xff0c;Mbit/s&#xff0c;Gbit/s 4*10**10bit/s40Gbit/s 常用带宽单位&#xff1a; 千比每秒kb/s 兆比每秒Mb/s…

Python基于Django的医用耗材网上申领系统【附源码、文档说明】

博主介绍&#xff1a;✌Java老徐、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&…

php代码审计工具-rips

代码审计 代码审计就是检查所写的代码中是否有漏洞&#xff0c;检查程序的源代码是否有权限从而被黑客攻击&#xff0c;同时也检查了书写的代码是否规范。通过自动化的审查和人工审查的方式&#xff0c;逐行检查源代码&#xff0c;发现源代码中安全缺陷所造成的漏洞&#xff0…

工作学习笔记:HarmonyOS 核心术语速查表(v14 实战版)

作为在 HarmonyOS 开发一线摸爬滚打的工程师&#xff0c;笔者在 v14 版本迭代中整理了这份带血的实战术语表。 一、架构基础术语速查 A 系列术语 术语官方定义笔者解读&#xff08;v14 实战版&#xff09;开发陷阱 & 解决方案abc 文件ArkCompiler 生成的字节码文件打包时…