【Linux系统】linux下的软件管理

目录

1、软件安装方式

1、源码安装

2、rmp安装(以安装包形式进行安装)

[3、yum/apt 工具级安装](#3、yum/apt 工具级安装)

2、Linux软件生态

3、yum/apt的使用

3.1查看软件包

3.2软件安装

3.3软件卸载

4、安装源


1、软件安装方式

在linux在有三种安装方式

1、源码安装

我们可以在找到该软件的源代码然后进行安装编译,但太麻烦

2、rmp安装(以安装包形式进行安装)

它实际上就是将源码在Windows上进行编译然后再打包

这种安装方式的缺点是:软件之间是具有依赖关系的,在安装一个软件的时候,为了让他能正常运行就需要再安装其他软件,否则就算安装好了也无法运行

所以这种安装方式就需要人为地去解决软件依赖关系

3、yum/apt 工具级安装

yum和apt是一个包管理器,就相当于我们手机上的应用商店,开发者将软件打包好放在一个服务器上,我们通过yum/apt就可以很方便获取到这个编译好的软件,直接进行安装,不需要考虑软件依赖关系

yum(yellow dog updater,Modified)是Linux下非常常用的一种包管理器,主要应用在Fedora、RedHat、Centos等发行版上

apt(Advanced Package Tool)是ubuntu主要使用的包管理器

2、Linux软件生态

评价一个操作系统的好坏,主要却决于这个操作系统的生态

要想一个操作系统受到很多人的使用,就必须维护好它的生态

那就需要有人去维护论坛社区,官方文档,自发的给这个操作系统开发大量上层软件应用

这就是为什么明明一个操作系统是开源的,而企业却可以开发软件上传到操作系统中给我们用

该操作系统的编写者为了是他的操作系统受到越来越多的人使用,就会不断更新完善这操作系统,也会允许别人完善操作系统

3、yum/apt的使用

3.1查看软件包

通过 yum list 命令可以罗列出当前⼀共有哪些软件包. 由于包的数⽬可能⾮常之多, 这⾥我们需要使⽤grep 命令只筛选出我们关注的包

cpp 复制代码
# Centos

$ yum list | grep lrzsz
lrzsz.x86_64 0.12.20-36.el7 @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

$ apt show lrzsz
Package: lrzsz
Version: 0.12.21-10
Priority: optional
Section: universe/comm
Origin: Ubuntu
Maintainer: Ubuntu Developers <[email protected]>
Original-Maintainer: Martin A. Godisch <[email protected]>

3.2软件安装

软件安装必须在root账号下进行或者加上sudo

cpp 复制代码
# Centos
$ sudo yum install 软件名

# Ubuntu
$ sudo apt install 软件名

1、yum/apt 会⾃动找到都有哪些软件包需要下载, 这时候敲 "y" 确认安装

2、出现 "complete" 字样或者中间未出现报错, 说明安装完成

3.3软件卸载

cpp 复制代码
# Centos
sudo yum remove [-y] 软件名

# Ubuntu
sudo apt remove [-y] 软件名

4、安装源

Cetnos 安装源路径:

cpp 复制代码
$ ll /etc/yum.repos.d/
total 16
-rw-r--r-- 1 root root 676 Oct 8 20:47 CentOS-Base.repo # 标准源
-rw-r--r-- 1 root root 230 Aug 27 10:31 epel.repo # 扩展源

Ubuntu 安装源路径:

cpp 复制代码
$ cat /etc/apt/sources.list # 标准源
$ ll /etc/apt/sources.list.d/ # 扩展源

若使用的是虚拟机的话可以进行安装源的更新,云服务器就不需要了

相关推荐
Mr-Apple14 分钟前
docker安装Canal1.1.5,MySQL5.7踩坑
运维·docker·容器
what_201820 分钟前
Linux Vim 使用 显示行号、替换、查找、多文件打开等骚操作
linux·运维·vim
默心29 分钟前
CentOS环境下搭建seata(二进制、MySQL)
linux·mysql·centos
qxqxa44 分钟前
dma_request_slave_channel_compat 与 dma_request_channel 的区别
linux·驱动开发
Tunny_yyy1 小时前
VScode与远端服务器SSH链接
服务器·vscode·ssh
霖鸣1 小时前
Linux(权限管理)
linux·运维·服务器
2302_799525741 小时前
【Linux】第十五章 调度未来任务
linux·运维·服务器
Hello.Reader1 小时前
Ubuntu 下 Nginx 1.28.0 源码编译安装与 systemd 管理全流程指南
linux·nginx·ubuntu
言之。1 小时前
Go语言Context机制深度解析:从原理到实践
服务器·网络·golang