linux笔记8--安装软件

文章目录

  • 1. PMS和软件安装的介绍
  • 2. 安装、更新、卸载
    • 安装
    • 更新
      • ubuntu20.04更新镜像源:
    • 卸载
  • 3. 其他发行版
  • 4. 安装第三方软件
  • 5. 推荐

1. PMS和软件安装的介绍

PMS(package management system的简称):包管理系统
作用:方便用户进行软件安装(也可以查看此电脑安装的软件信息)、更新、卸载
好处:自动配置环境变量
使用PMS的另一个原因:只有PMS可以帮忙解决工具依赖问题
注:
         工具依赖:某个应用程序依赖于某个工具,必须装这个工具才能运行这个软件,这种软件叫工具依赖。像比如我们装英雄联盟,感觉就必须要装个wegame一样,但不是所有人都装wegame,wegame本质而言不是真正的工具依赖。真正的工具依赖”QQ空间->空间“,因为只有拥有QQ号,才能有QQ空间。这样的例子还有很多。工具依赖早期在linux上是不能处理的,例如,假设QQ空间是一个软件,我装完以后要用,但是它不提醒我创建QQ号,就很麻烦。我们不知道哪些软件是依赖性的以及如何处理工具依赖问题,PMS可以帮我们解决这个问题。

         不同的Linux发行版有不同的包管理系统。可能导致不同Linux发行版安装、卸载、更新软件的方式不同(例如:安装命令)。
         不同发行版最主要的两个技术工具:dpkg和rpm (dpkg是Debian系列的核心,像Ubuntu、Kali这些都是基于它的。所以从本质上说,Ubuntu的PMS是dpkg; Red Hat采用rpm)
         dpkg现在常见的一些工具:apt-get(Ubuntu里的)、apt-cache(获取缓存)、aptitude
         apt主要由apt-get、apt-cache、apt-file这三个命令构成。
         apt和aptitude的区别:只有使用aptitude才可以彻底解决工具依赖问题。可以参看这个博客
         aptitude已经没人维护了,20.04里干脆把这个命令移除了,所以就不推荐使用了。现在大多数人使用apt装软件,而不是apt-get。现在想装一些软件,直接apt install就行了。最好写成 sudo apt install,用管理员身份。例如安装vim:sudo apt install vim。
         可以通过这个练习软件安装:Ubuntu里一些好玩的命令
         ubnutu中apt 与 apt-get

         不同的厂商拥有不同的服务器,我们通过命令可以去获取它的一些安装包。这也是我们装系统时配置国内镜像源的原因,因为采用国外的一些镜像源时我们通过PMS获取一些软件安装包时可能会卡。

2. 安装、更新、卸载

安装

安装(Ubuntu):sudo apt install 软件包名 --第1部分的介绍

apt list:查看目前安装了多少软件
apt -h:查看帮助文档
在这里插入图片描述

更新

update:更新可用软件包列表
upgrade 通过安装/升级软件包来升级系统(升级系统当中的一些包) 升级软件前应该先update
update和upgrade区别
sudo apt update – 更新整个软件
sudo apt upgrade – 更新我们当前的系统和软件

ubuntu20.04更新镜像源:

Desktop版更新位置:
在这里插入图片描述
在这里插入图片描述
Server版更新方法:Ubuntu 20.04换国内源 清华源 阿里源 中科大源 163源

卸载

卸载(Ubuntu):sudo apt remove 软件包名
例如: sudo apt remove sl (卸载之前应确保你安装了这个软件)

3. 其他发行版

Red Hat 系列常见的一些工具:yum–最常用、urpm、 zypper
安装举例:yum install xxx

4. 安装第三方软件

步骤:
①看软件使用说明
②看软件依赖
③看软件操作系统安装方式
④ 看软件如何去更新、维护、使用
        在github上发现Linux的一些开源项目或者软件时,一定要先看它的readme.md(说明文档)。–有的软件可能需要手动下载依赖,有的软件可能还需要使用make去构建,这些在文档里都会写

        github thefuck项目
        Requirements–依赖:PMS解决了版本依赖问题,但是我们在网上下载一些项目去使用它时,我们必须手动下载它的依赖
        苹果电脑上一个非常牛的工具:Homebrew–本质上也是PMS,只不过它是基于mac OS的。例如在这个项目中,苹果电脑就不需要手动下载依赖,一条命令就搞定了。
        该项目的pip也可以换成阿里的镜像源

5. 推荐

frank的linux课教程 以上笔记全部来源于此

-----------------------------------未完待续...------------------------
---------------------------出现问题欢迎批评指正啊 ---------------------

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

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

相关文章

【深度学习】解析Vision Transformer (ViT): 从基础到实现与训练

之前介绍: https://qq742971636.blog.csdn.net/article/details/132061304 文章目录 背景实现代码示例解释 训练数据准备模型定义训练和评估总结 Vision Transformer(ViT)是一种基于transformer架构的视觉模型,它最初是由谷歌研究…

blender bpy将顶点颜色转换为UV纹理vertex color to texture

一、关于环境 安装blender的bpy,不需要额外再安装blender软件。在python控制台中直接输入pip install bpy即可。 二、关于代码 本文所给出代码仅为参考,禁止转载和引用,仅供个人学习。 本文所给出的例子是https://download.csdn.net/downl…

BerkeleyDB练习

代码; #include <db.h> #include <stdio.h>int main() {DB *dbp;db_create(&dbp, NULL, 0);printf("Berkeley DB version: %s\n", db_version(NULL, NULL, NULL));dbp->close(dbp, 0);return 0; } 编译运行

4-异常-log4j配置日志滚动覆盖出现日志丢失问题

4-异常-log4j配置日志打印滚动覆盖出现日志丢失问题(附源码分析) 更多内容欢迎关注我&#xff08;持续更新中&#xff0c;欢迎Star✨&#xff09; Github&#xff1a;CodeZeng1998/Java-Developer-Work-Note 技术公众号&#xff1a;CodeZeng1998&#xff08;纯纯技术文&…

XGBoost预测及调参过程(+变量重要性)--血友病计数数据

所使用的数据是血友病数据&#xff0c;如有需要&#xff0c;可在主页资源处获取&#xff0c;数据信息如下&#xff1a; 读取数据及数据集区分 数据预处理及区分数据集代码如下&#xff08;详细预处理说明见上篇文章--随机森林&#xff09;&#xff1a; import pandas as pd im…

异常封装类统一后端响应的数据格式

异常封装类 如何统一后端响应的数据格式 1. 背景 后端作为数据的处理和响应&#xff0c;如何才能和前端配合好&#xff0c;能够高效的完成任务&#xff0c;其中一个比较重要的点就是后端返回的数据格式。 没有统一的响应格式&#xff1a; // 第一种&#xff1a; {"dat…

探索开源世界:2024年值得关注的热门开源项目推荐

文章目录 每日一句正能量前言GitCode成立背景如何使用GitCode如何把你现有的项目迁移至 GitCode&#xff1f;热门开源项目推荐actions-poetry - 管理 Python 依赖项的 GitLab CI/CD 工具项目概述技术分析应用场景特点项目地址 Spider - 网络爬虫框架项目简介技术分析应用场景项…

【RabbitMQ】异步消息及Rabbitmq安装

https://blog.csdn.net/weixin_73077810/article/details/133836287 https://www.bilibili.com/video/BV1mN4y1Z7t9/ 同步调用和异步调用 如果我们的业务需要实时得到服务提供方的响应&#xff0c;则应该选择同步通讯&#xff08;同步调用&#xff09;。 如果我们追求更高的效…

Jupyter Notebook简介

目录 1.概述 2.诞生背景 3.历史版本 4.安装 5.卸载 6.如何使用 7.菜单和菜单项 8.示例 9.未来展望 10.总结 1.概述 Jupyter Notebook是一种基于Web的交互式计算环境&#xff0c;主要用于数据分析、数据科学、机器学习以及探索性编程等领域。允许用户在单个文档中编写…

批量文本编辑神器:一键拆分每行内容,高效实现批量处理与保存,让文本编辑更高效快捷!

在信息化快速发展的今天&#xff0c;文本编辑已经成为我们工作、学习和生活中不可或缺的一部分。然而&#xff0c;面对大量的文本内容&#xff0c;如何高效地进行编辑和处理&#xff0c;成为了许多人面临的难题。今天&#xff0c;我要向大家介绍一款批量文本编辑神器&#xff0…

【C#】图形图像编程

实验目标和要求&#xff1a; 掌握C#图形绘制基本概念&#xff1b;掌握C#字体处理&#xff1b;能进行C#图形图像综合设计。 运行效果如下所示&#xff1a; 1.功能说明与核心代码 使用panel为画板&#xff0c;完成以下设计内容&#xff1a; 使用pen绘制基础图形&#xff1b;使…

【MYSQL】MYSQL操作库

1.数据库字符编码集/数据库校验集 当我们在数据库中保存数据时&#xff0c;需要存和取时候编码一致&#xff0c;比方说你用汉语保存的数据&#xff0c;当你读的时候为了避免乱码问题&#xff0c;也必须用汉语读&#xff0c;这就叫做数据库字符编码集一致。 当我们进行查找&…

C语言的结构体与联合体

引言 C语言提供了结构体和联合体两种聚合数据类型&#xff0c;使得程序员可以创建包括多个数据类型的复杂数据结构。结构体用于将不同类型的数据组合成一个单元&#xff0c;而联合体用于在同一存储空间中存储不同类型的数据。本篇文章将详细介绍C语言中的结构体和联合体&#x…

快消品经销商如何进行有效的团队激励?

很多经销商会面临员工工作不积极、吃大锅饭的现象&#xff0c;导致企业人力成本浪费严重&#xff0c;工作效率也得不到提升&#xff0c;因此经销商老板们必须进行一些绩效考核&#xff0c;然后开展一些有效的激励政策&#xff0c;这样通过提成激励来提高员工的积极性。 1、梳理…

探地雷达正演模拟,基于时域有限差分方法,四

突然发现第三章后半部分已经讲了使用接收记录成像的问题&#xff0c;所以这一章只讲解简单的数据分析。 &#xff08;均以宽角法数据为例子&#xff0c;剖面法数据处理方式都是相同的&#xff09;假设&#xff0c;我们现在已经获得了一个GPR记录&#xff0c;可以是常用的.sgy格…

有关排序的算法

目录 选择法排序 冒泡法排序 qsort排序&#xff08;快速排序&#xff09; qsort排序整型 qsort排序结构体类型 排序是我们日常生活中比较常见的问题&#xff0c;这里我们来说叨几个排序的算法。 比如有一个一维数组 arr[8] {2,5,3,1,7,6,4,8},我们想要把它排成升序&#…

StarNet实战:使用StarNet实现图像分类任务(一)

文章目录 摘要安装包安装timm 数据增强Cutout和MixupEMA项目结构计算mean和std生成数据集 摘要 https://arxiv.org/pdf/2403.19967 论文主要集中在介绍和分析一种新兴的学习范式——星操作&#xff08;Star Operation&#xff09;&#xff0c;这是一种通过元素级乘法融合不同子…

VS2022 使用C++访问 mariadb 数据库

首先,下载 MariaDB Connector/C++ 库 MariaDB Products & Tools Downloads | MariaDB 第二步,安装后 第三步,写代码 #include <iostream> #include <cstring> #include <memory> #include <windows.h>#include <mariadb/conncpp.hpp>…

使用 Python 进行测试(6)Fake it...

总结 如果我有: # my_life_work.py def transform(param):return param * 2def check(param):return "bad" not in paramdef calculate(param):return len(param)def main(param, option):if option:param transform(param)if not check(param):raise ValueError(…

winform 应用程序 添加 wpf控件后影响窗体DPI改变

第一步&#xff1a;添加 应用程序清单文件 app.manifest 第二步&#xff1a;把这段配置 注释放开&#xff0c;第一个配置true 改成false