【Liunx入门】Liunx软件包管理器

文章目录

前言

Linux软件包管理器是Linux系统中用于安装、升级和卸载软件包的工具。它们提供了一个方便的方式来管理软件包,包括依赖关系解决、版本控制和软件包更新。

Linux系统中常见的软件包管理器有:

  1. Debian和Ubuntu系统中使用的APT(Advanced Package Tool):使用apt-get或apt命令来管理软件包。

  2. Red Hat和CentOS系统中使用的YUM(Yellowdog Updater Modified):使用yum命令来管理软件包。

  3. Arch Linux系统中使用的Pacman:使用pacman命令来管理软件包。

  4. SUSE系统中使用的ZYpp:使用zypper命令来管理软件包。

  5. Gentoo系统中使用的Portage:使用emerge命令来管理软件包。

一、什么是软件包

  • 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序.
  • 但是这样太麻烦了,于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上,
    通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装.
  • 软件包和软件包管理器, 就好比 "App" 和 "应用商店" 这样的关系.

二、网络相关指令

在下载与安装时必须要保证网络通畅,那么我们需要使用ping命令进行验证:

bash 复制代码
ping -c 3 www.baidu.com  // -c 3 表示ping3次,否则会一直ping下去

三、Ubuntu包管理软件apt

1.查看软件包

通过 yum list 命令可以罗列出当前一共有哪些软件包. 由于包的数目可能非常之多, 这里我们需要使用 grep 命令只筛选出我们关注的包. 例如:

bash 复制代码
apt list | grep vim

2.sudo权限

在安装软件时,需要管理员权限,也就是root用户下可以安装或者卸载软件,但是一直切换用户很麻烦,所以我们可以为当前用户增加管理员权限。

使用sudo命令,就可以获得和root用户一样的权利可以直接在当前用户下安装软件。

3.软件安装

直接使用sudo apt install + package_name也可以在后面加上版本号

注意:

  • 首次使用sudo权限时,需要输入密码。
  • apt 会自动找到都有哪些软件包需要下载, 这时候敲 "y" 确认安装.出现 "complete" 字样, 说明安装完成.
  • yum安装软件只能一个装完了再装另一个. 正在yum安装一个软件的过程中, 如果再尝试用yum安装另外一个软件, yum会报错

4.卸载软件

bash 复制代码
sudo yum remove package_name

5.软件更新

bash 复制代码
sudo apt update

这个命令会从配置的软件源中下载最新的软件包列表信息。

6.升级软件包

bash 复制代码
sudo apt upgrade

这个命令会升级所有已安装的包到最新版本。

总结

不同Linux系统只需将apt替换为自己的包管理软件即可。

Linux软件包管理,特别是以Debian及其衍生系统(如Ubuntu)为代表的apt工具,是Linux系统中不可或缺的一部分。apt提供了一种高效、灵活的方式来安装、更新、升级、移除软件包,以及管理它们之间的依赖关系。

总结apt的主要特点和功能如下:

  1. 依赖管理:apt能够自动处理软件包的依赖关系,确保在安装或升级软件包时,所有必要的依赖项都被正确地安装或更新。

  2. 软件包仓库:apt使用软件包仓库(repositories)来存储和分发软件包。这些仓库可以是本地的,也可以是远程的,用户可以通过配置软件源(sources.list文件)来指定apt从哪些仓库获取软件包。

  3. 更新与升级:通过apt update命令,用户可以更新本地软件包列表,以反映仓库中最新的软件包信息。而apt upgrade命令则会根据更新的软件包列表,自动升级所有已安装的软件包到最新版本。

  4. 安装与移除:使用apt install命令可以方便地安装新的软件包,而apt removeapt purge命令则用于移除软件包,其中purge命令还会删除软件包的配置文件。

相关推荐
zwm_yy2 天前
ubantu lnmp
运维·mysql·lnmp·ubantu
姬如祎21 天前
在 linux0.11 中添加自定义系统调用
linux·运维·ubuntu·ubantu
理性学习1 个月前
win10安装linux的gcc
liunx
helloKittywz4 个月前
内网学习第6天 liunx定时任务 环境变量和权限配置,以及数据库提权
学习·web安全·网络安全·内网渗透·liunx·权限提升·学习记录
ZZDICT5 个月前
变量赋值中 + 号 - 号 = 号的用法
shell·liunx
ZZDICT5 个月前
MySQL技术点合集
mysql·liunx
ZZDICT6 个月前
续篇——源码部署LAMP环境上线项目——禅道项目
apache·lamp·liunx·禅道项目
编码熊(Coding-Bear)6 个月前
Android AOSP探索之Ubantu下Toolbox的安装
android studio·开发工具·ubantu·toolbox·aosp源码工具
贪玩巴斯6 个月前
【贪玩巴斯】Vm虚拟机/Ubantu/Linux中如何实现共享文件夹?如何实现复制粘贴?
java·linux·jvm·虚拟机·ubantu