什么是软件

国内,前端开发,后端开发

国外,软件工程师,前后端都得会,ios 安卓。

小红书app,知乎,百度,抖音。app,网站。

软件工程师写好程序+运维人员,服务器部署,访问,高并发,低延迟,高可用的稳定性。

普通运维,初级运维配置的活,确保程序能启动,能记录文档就行了,

高级sre运维,抖音,几十亿用户,douyin.com 高并发,低延迟,高可用的稳定性。

boss

抖音运维 30~50k 月薪。

软件(Software)是指计算机系统中的非物理部分,包括计算机程序、文档和数据。

简单来说,软件是指令的集合(java c python go hello.py hello.go ),用于控制计算机硬件执行特定任务或解决特定问题。游戏开发,机器上启动,大型游戏,高配置,高内存,cpu,高级4090显卡,1060显卡。

开发一个网站 1c 1g 20gb 不用显卡,学习linux,个人开发者,租赁服务器,

软件可以分为系统软件应用软件两大类:

  1. 系统软件:这些软件是直接与计算机硬件交互的程序,用于管理和控制计算机的基本功能。典型的系统软件包括操作系统(例如Windows、macOS、Linux等)、驱动程序和系统工具等。
  2. 应用软件:这些软件是为特定用户任务或应用领域而设计的程序。应用软件的类型非常多样化,涵盖了各种用途,包括办公应用、娱乐、教育、图形设计、多媒体制作等。

软件通常是由程序员或软件开发团队根据用户需求和规格编写的。

它们可以以源代码形式编写,然后通过编译器转换为机器语言,或者以更高级别的语言编写,然后通过解释器在运行时转换为机器语言。

软件的开发、发布和维护是一个持续的过程,以确保软件能够满足用户需求并保持稳定和安全。

www.taobao.com

www.jd.com

www.douyin.com

运维吧这些网站程序,给发布到linux服务器上了。

开发,和运维。

20人都不到。。

hello.py > python解释器 >翻译为 计算机认识二进制数据,01010101 > 程序 加载到内存,计算。。

运维工程师需要知道软件是什么吗

作为运维工程师,了解软件的本质和功能对于有效管理和维护计算机系统至关重要。虽然运维工程师的主要职责可能集中在系统和网络的管理、故障排除、性能优化等方面,但他们也需要理解软件的工作原理和运行机制,以便更好地处理与软件相关的问题和任务。

具体来说,运维工程师需要了解以下内容:

  1. 软件安装和配置:运维工程师负责安装、配置和维护各种软件,包括操作系统、数据库、应用程序等。了解软件的安装要求、配置选项和最佳实践对于确保系统的稳定性和安全性至关重要。v1 10~15k 一线基础运维
  2. 故障排除:当系统中出现软件相关的故障或错误时,运维工程师需要能够快速定位问题并进行修复。这可能涉及到查看日志文件、分析错误消息、调试代码等操作,需要对软件的工作原理有一定的了解。v2 二线运维处理 12~18k
  3. 性能优化:软件的性能对于系统的整体表现至关重要。运维工程师需要了解如何监控和调整软件的性能参数,以确保系统能够高效运行。v3 搭建,排错,深入优化 三线高级运维 15~20k+
  4. 安全管理:软件漏洞和安全漏洞可能会导致系统受到攻击或数据泄露。运维工程师需要了解常见的安全威胁和攻击手法,并采取相应的措施来保护系统的安全性。v4 以后方向之一,sre运维,自动运维,安全运维,。学安全,linux运维基础

综上所述,了解软件的基本原理和功能对于运维工程师来说是非常重要的,因为软件是构成计算机系统的核心组成部分之一,直接影响到系统的稳定性、性能和安全性。

java开发了一套风里发电系统,管理系统。

运维,拿到 java程序包 ,上传到linux,启动 ,就可以访问了。 15 ~ 20k  5年运维

运维开发,运维角度,学编程,理解软件本质,又懂运维,又懂编程,运维开发devops  5年经验+ 25k+

科普,什么是代码文件。

电脑程序Program,就是某一个编程语言编写的一个代码文件,里面包含了该语言特有的指令,以及各种字符、符号。

img

linux自带的network管理脚本,shell脚本。

image-20220117120534121

什么是软件程序。

软件程序,就是程序员通过编程语言写好一堆代码,通过一些方式运行,比如编译后,生成一个应用程序,称之为软件。

image-20220117120826170

以及手机APP,或者我们平时访问的网站,都是程序员通过写代码,开发出来的

image-20220117134024368

什么是安装包

源码包是一个软件项目的原始代码的集合,通常以压缩文件的形式分发。源码包通常包含软件的所有必要文件和目录结构,以及构建和安装软件的说明文档。通过查看源代码,开发人员可以了解软件的内部工作原理,并对其进行修改、扩展或优化。源码包通常用于开源软件项目,允许用户自由地访问、修改和重新分发软件。

问题来了,我们既然知道,如各种应用程序,app,各种软件

应该如何去下载,安装这些软件呢?

正常我们安装软件是如下

windows, exe 安装包,打包了qq的运行程序,包括配置文件,其他数据文件。

macos qq.dmg

linux

centos---------qq.rpm

ubuntu ----qq.dpkg

windows程序

image-20191121141803539

macos程序

image-20191121141828954

因此软件包,指的就是,程序安装所需要的一个文件,在可视化的系统下,一般是双击安装即可,用于安装某个程序,某个软件。

软件包顾名思义就是将应用程序、配置文件和数据打包的产物
所有的linux发行版都采用了某种形式的软件包系统,这使得linux软件管理和在windows下一样方便,suse、red hat、fedora等发行版都是用rpm包,Debian和Ubuntu则使用.deb格式的软件包。

mysql-5-3-4.rpm
redis-3-4-3.rpm
nginx2-3-2.rpm

Linux下也有很多可以安装的软件,而这些软件的安装包可细分为两种,分别是源码包二进制包

软件包=程序(二进制 01010101)+配置文件+数据文件的压缩包
如
.exe
.dmg
.rpm  ---centos/redhat
.deb --- ubuntu/debian

dpkg ,ubuntu管理deb包的管理器

源码包

qq的源码包
python的源码包

一堆源代码文件的压缩包
 wget https://tengine.taobao.org/download/tengine-3.1.0.tar.gz
 tar -xf tengine-3.1.0.tar.gz

源码包(Source Code Package)通常是指软件项目的源代码及其相关资源的打包文件。在软件开发过程中,程序员通常会编写源代码来实现软件的功能。源码包就是将这些源代码、配置文件、文档等打包成一个压缩文件,以便于传播、共享和部署。

源码包通常包含以下内容:

  1. 源代码文件:软件项目的核心部分,包含了程序员编写的源代码,用于实现软件的各种功能。
  2. 配置文件:用于配置软件的各种参数和选项,例如数据库连接信息、网络设置等。
  3. 文档:包括用户手册、开发文档、API 文档等,用于指导用户使用和开发软件。
  4. 编译脚本或配置文件:用于编译、构建和安装软件的脚本或配置文件,通常包括 Makefile、configure 脚本等。
  5. 依赖项说明:列出了软件运行所需的其他软件包或库的信息,以及它们的版本要求。

源码包通常用于开源软件项目或者需要用户自行编译安装的软件。用户可以根据源码包中提供的文档和说明,自行编译并安装软件到他们的系统中。源码包的好处是用户可以根据自己的需要对软件进行定制和调整,但相对于预编译的软件包来说,安装和配置过程可能会更加复杂。

  • 源码包就是一大堆源代码程序,是由程序员按照特定的格式和语法编写出来的。

  • 计算机只能识别机器语言,也就是二进制语言,所以源码包安装之前需要编译。

  • 编译过程耗时较长

  • 大多数用户不懂开发,编译过程中可能会有各种错误,用户无力解决。
  • 了解决使用源码包安装的问题,Linux 软件包的安装出现了使用二进制包的安装方式。

image-20191121142553391

  • 系统级开发:
    • C/C++:httpd、nginx
    • golang:docker
  • 应用及开发:
    • java:hadoop,hbase
    • python:openstack
    • perl
    • ruby
    • php

编译程序过程

当程序员通过如C语言写完代码后,并不能立即运行, 因为笔记本不认识这些代码(就是一堆英文字母)。

电脑只认识机器语言(二进制的0和1组成的语言)

例如:下图是某一电脑的机器语言程式,用来计算两数之和。虽然机器语言程式执行效率最快,但不易阅读,也不易撰写。

如果代码都要写机器语言的话,程序员就不会那么多了。。学习难度,五百颗星。

img

为了使设计程序更简单,于是发展出较方便使用的程序语言,C / C++ 就是其中一种。

写好的程序称为原始码(source code),它并不能直接执行,必须透过编译器(compiler)将程式转译成机器语言后,电脑才能执行。

img

比如c语言的gcc编译器
比如golang语言的golang编译器
这些东西,我们只需要知道它的存在即可,安装编译器,使用编译器。
后续我们会下载软件包源代码,通过gcc编译器,编译成可以使用的软件指令,即可使用。

当源代码,编译后成为可以使用,可以执行的软件,我们机器上,很多软件,都是编译后的产物。

源代码
↓
编译器
↓
二进制可执行命令
↓
一次编译,到处运行(于超老师可以生成一个二进制命令,发给大家,只要是linux 64位机器上可以直接运行,免安装)

windows里面编译的软件,你不需要关心它源代码,只需要用即可,知道该软件是怎么来的。

img

linux里面编译好的软件。

你用的ls命令,为什么能显示出当前目录下的资料,也是通过c语言代码,写好后,编译,出现ls这个指令。

如果你未来学习编程开发,就会体会这个过程。

image-20220117115840271

什么是二进制包

工作里能接触到的3个格式。

1. 安装包----下载 qq.exe  ,安装该软件,生成一个安装目录,qq程序+配置文件.....
2. 源码包,qq的源代码,需要编译该程序,文件> 可运行的命令,二进制软可执行程序。
    tengine.tar.gz  解压缩,编译,配置,使用,nginx命令。
3. 二进制包,上一个过程,官方给你编译好了,你不需要再手工编译,直接拿到一个可用的nginx命令。

二进制包(Binary Package)是一种预编译的软件包,其中包含了已经编译完成的程序文件和相关的资源,用户可以直接在其计算机系统上安装和运行,而无需进行编译过程。与源码包相比,二进制包更为方便,用户可以通过简单的安装步骤即可在其系统上部署软件。

二进制包通常包含以下内容:

  1. 可执行文件:已经编译完成的程序文件,可以直接在计算机上运行。
  2. 库文件:软件依赖的各种动态链接库或静态库文件。
  3. 配置文件:用于配置软件的各种参数和选项。
  4. 文档:用户手册、安装说明等相关文档。
  5. 依赖项:软件运行所需的其他软件包或库文件。

二进制包通常由软件开发者或发行版维护者预先编译和打包,以便用户能够方便地安装和使用软件。用户只需下载适合自己系统架构和操作系统版本的二进制包,然后按照提供的安装说明进行安装即可。这种方式省去了用户自行编译软件的时间和复杂度,适合那些不想或不会进行软件编译的用户。

  • 二进制包,也就是源码包经过成功编译之后产生的包。

  • 二进制包是 Linux 下默认的软件安装包,目前主要有以下 2 大主流的二进制包管理系统:

  • ==RPM 包==管理系统:功能强大,安装、升级、査询和卸载非常简单方便,因此很多 Linux 发行版都默认使用此机制作为软件安装的管理方式,例如 Fedora、==CentOS==、SuSE 等。

  • DPKG 包管理系统:由 Debian Linux 所开发的包管理机制,通过 DPKG 包,Debian Linux 就可以进行软件包管理,主要应用在 Debian 和 Ubuntu 中。

ubuntu下的软件包格式有哪些

在 Ubuntu 系统下,主要使用的软件包格式有以下几种:

  1. deb 包:Debian 软件包(Debian Package),使用 .deb 格式。这是 Ubuntu 系统中最常见的软件包格式。dpkg 是 Ubuntu 系统中用于管理 .deb 格式软件包的基本工具。自动去nginx官网拉取安装包,nginx-版本.deb
  2. ``` https://nginx.org/packages/ubuntu/pool/nginx/n/nginx/ 实际案例,看看nginx官网,提供,nginx软件包的格式

    nginx-dbg_1.10.0-1~precise_amd64.deb
    nginx-1.10.0-1.el7.ngx.x86_64.rpm

3. 
4. **Snap 包**:Snap 是一种打包格式,允许软件开发者将应用程序、其依赖项和配置文件打包到一个独立的容器中。Snap 包可以跨 Linux 发行版运行,并提供了更好的软件隔离性和依赖项管理。在 Ubuntu 中,Snap 软件包通常以 `.snap` 扩展名结尾。
5. **Flatpak 包**:Flatpak 是另一种通用的应用打包和分发格式,类似于 Snap 包。它也提供了软件隔离和依赖项管理的功能。在 Ubuntu 中,Flatpak 软件包通常以 `.flatpak`、`.flatpakref` 或 `.flatpakrepo` 结尾。

这些软件包格式在 Ubuntu 中提供了不同的选择,用户可以根据自己的需求和偏好选择适合的软件包格式。例如,传统的 `.deb` 软件包适合于系统级软件安装,而 Snap 和 Flatpak 则提供了更灵活、更易于管理的应用打包和分发方式。

## ubuntu怎么安装软件

centos ----- yum install ubuntu --- apt install




在 Ubuntu 中,有几种方式可以安装软件:

1. **使用 apt 命令行工具**:

   - 打开终端(按下 `Ctrl + Alt + T` 可以快速打开终端)。

   - 使用 apt命令来搜索软件包。例如,要搜索名为 example的软件包,可以使用以下命令:
 sudo apt update
 sudo apt search example
 ```
  • 使用 apt命令来安装软件包。例如,要安装名为 example的软件包,可以使用以下命令:

    sudo apt install example
    
  • 安装完成后,软件将被自动添加到应用程序菜单中,并可以在图形界面中启动。

  1. 使用 Ubuntu 软件中心

    • 在桌面左上角的搜索栏中输入“软件中心”,然后点击打开。
    • 在 Ubuntu 软件中心中搜索您想要安装的软件。
    • 点击软件的名称,在软件详细页面点击“安装”按钮。
    • 安装完成后,软件将被自动添加到应用程序菜单中,并可以在图形界面中启动。
  2. 使用 deb 包

    • 如果您已经下载了软件的 .deb 安装包,可以直接双击该文件,在弹出的窗口中选择“安装软件”来安装该软件。

    • ubuntu deb包管理命令去安装
      nginx-dbg_1.10.0-1~precise_amd64.deb   
      
      手工安装nginx 1.22 版本走 deb格式
      
      找到下载地址
      https://nginx.org/packages/ubuntu/pool/nginx/n/nginx/
      确认你的系统版本 cat /etc/os-release 
      
      nginx_1.22.0-1~jammy_amd64.deb 
      下载url
      wget https://nginx.org/packages/ubuntu/pool/nginx/n/nginx/nginx_1.22.0-1~jammy_amd64.deb
      
      手工安装debg包,但是!!
      
  3. 使用 Snap 包

    • Snap 是另一种软件包格式,可以跨多个 Linux 发行版使用。您可以使用 snap命令来搜索和安装 Snap 软件包。例如,要安装名为

      example的 Snap 软件包,可以使用以下命令:

      sudo snap install example
      
    • 安装完成后,软件将被自动添加到应用程序菜单中,并可以在图形界面中启动。

以上是在 Ubuntu 中安装软件的常见方式。您可以根据个人偏好选择其中一种方式来安装您需要的软件。

什么是deb包

.deb 包是一种软件包格式,用于在基于 Debian 的 Linux 发行版中安装和管理软件。

它是 Debian 系统中常用的软件包格式,也被广泛应用于其他基于 Debian 的 Linux 发行版,如 Ubuntu、Linux Mint 等。

.deb 包实际上是一个压缩文件,其中包含了软件的二进制文件、配置文件、文档等内容。它还包含了软件的安装脚本(postinst)、卸载脚本(prerm)等,用于在安装和卸载软件时执行相应的操作。这使得软件的安装和管理变得更加方便和可靠。

用户可以通过多种方式来安装 .deb 包,包括使用 apt 命令行工具、双击 .deb 包直接在图形界面中安装、或者通过其他软件包管理工具来安装。

总的来说,.deb 包是一种用于在基于 Debian 的 Linux 发行版中安装和管理软件的常见软件包格式,提供了方便、可靠的软件安装和管理方式。

什么是dpkg

dpkgrpm 是两种常见的软件包管理工具,它们用于在 Linux 系统上安装、管理和卸载软件包。它们都有自己特定的包格式和工具集,分别对应于不同的 Linux 发行版。

  1. dpkg 包dpkg 是 Debian 系统和基于 Debian 的发行版(如 Ubuntu)中的软件包管理工具。它使用 .deb 格式的软件包。.deb 软件包包含预编译的二进制文件、配置文件、文档等内容,可以通过 dpkg 工具来安装、升级和删除。dpkg 还提供了一些其他功能,例如查询已安装软件包的信息、修复损坏的软件包等。
  2. rpm 包rpm 是 Red Hat 系统和基于 Red Hat 的发行版(如 Fedora、CentOS)中的软件包管理工具。它使用 .rpm 格式的软件包。.rpm 软件包也包含了预编译的二进制文件、配置文件、文档等,可以通过 rpm 工具来安装、升级和删除。除了 rpm 工具外,Red Hat 系统还提供了 yumdnf 等高级包管理工具,它们能够处理软件包之间的依赖关系,并提供了更丰富的功能。

总的来说,dpkgrpm 包都是二进制软件包,其中包含了已编译的二进制文件、配置文件、文档等内容,可以直接在系统上安装和使用。它们是 Linux 系统中常用的软件包管理工具,用于方便地管理系统中的软件安装和更新。

二进制和deb包区别

二进制包和 .deb 包是两种不同的概念,它们之间存在一些区别:

  1. 二进制包
    • 二进制包是已经编译完成的程序文件和相关资源的打包文件,可以直接在计算机系统上运行。
    • 二进制包可以是任何平台的可执行文件,不仅限于 Linux 平台。
    • 二进制包可以包含预编译的可执行文件、库文件、配置文件等,用户可以直接在系统上安装和运行。
  2. .deb 包
    • .deb 包是 Debian 系统和基于 Debian 的 Linux 发行版中常用的软件包格式,使用 .deb 扩展名。
    • .deb 包是一种特定的软件包格式,它包含了已经编译完成的二进制文件、配置文件、文档等内容,用于在 Debian 系统上安装软件。
    • .deb 包通常由软件开发者或者 Linux 发行版的维护者预先编译打包,用户可以通过 dpkg 或者其他包管理工具进行安装和管理。

因此,二进制包是一种通用的概念,表示已经编译完成的程序文件和相关资源的打包文件,而 .deb 包则是一种具体的软件包格式,用于在 Debian 系统和基于 Debian 的 Linux 发行版中进行软件的安装和管理。

怎么获取deb软件

获取 .deb 软件包的方式有多种:

  1. 官方软件源

    • 大多数 Debian 系统和基于 Debian 的 Linux 发行版都提供了官方软件源,您可以通过这些软件源获取 .deb 软件包。

    • 使用 apt 命令行工具可以很方便地从软件源中安装软件。例如:

      sudo apt update
      sudo apt install 软件包名称
      

    这将会从官方软件源中下载并安装指定的软件包。

  2. 官方网站

    • 一些软件的官方网站会提供 .deb 软件包的下载。您可以直接访问官方网站,找到适用于您系统的 .deb 软件包并下载安装。
  3. 第三方软件源

    • 有时候一些软件可能不在官方软件源中,但是会提供第三方软件源。您可以添加这些软件源到您的系统,并从这些软件源获取 .deb 软件包。请注意,添加第三方软件源可能会带来一些安全风险,因此请确保只添加可信任的软件源。
  4. 软件包管理工具

    • 一些软件包管理工具,如 Synaptic Package Manager、Ubuntu Software Center 等,可以让您在图形界面中搜索、浏览和安装 .deb 软件包。
  5. 在线仓库

    • 一些在线软件仓库,如 Ubuntu Packages Search、Debian Package Search 等,提供了在线搜索和下载 .deb 软件包的功能。您可以通过这些在线仓库搜索到需要的软件包,并下载安装到您的系统中。

无论您选择哪种方式获取 .deb 软件包,都请确保下载的软件包来自可信任的来源,并且谨慎处理未知来源的软件包,以确保系统的安全性和稳定性。

什么是dpkg

dpkg 是 Debian Linux 系统中的低级软件包管理工具,用于安装、卸载、配置和管理 .deb 格式的软件包。它是 Debian 系统中的基础软件包管理工具之一,可以说是整个 Debian 软件包管理系统的核心。

具体来说,dpkg 软件包管理工具提供了以下功能:

  1. 安装软件包:可以使用 dpkg -i 命令安装 .deb 格式的软件包,例如:

    sudo dpkg -i package.deb
    
  2. 卸载软件包:可以使用 dpkg -r 命令卸载已安装的软件包,例如:

    sudo dpkg -r package_name
    
  3. 安装并配置软件包:可以使用 dpkg -i 命令安装软件包并配置软件包,例如:

    sudo dpkg -i package.deb
    sudo dpkg --configure package_name
    
  4. 重新配置软件包:可以使用 dpkg-reconfigure 命令重新配置已安装的软件包,例如:

    sudo dpkg-reconfigure package_name
    
  5. 查询软件包信息:可以使用 dpkg -l 命令列出已安装的软件包,例如:

    dpkg -l
    
  6. 查询软件包文件列表:可以使用 dpkg -L 命令查询软件包安装的文件列表,例如:

    dpkg -L package_name
    
  7. 查询软件包详细信息:可以使用 dpkg -p 命令查询软件包的详细信息,例如:

    dpkg -p package_name
    

总的来说,dpkg 是 Debian 系统中用于安装、卸载、配置和管理软件包的核心工具,它提供了一系列命令和选项,方便用户进行软件包管理操作。

运维ubuntu软件管理,推荐是什么方案

  1. 使用 apt 命令行工具
    • apt 是 Ubuntu 系统中用于管理软件包的主要命令行工具。它可以用来搜索、安装、升级和删除软件包,以及管理系统的软件源等。apt 提供了简单直观的命令和选项,适合在命令行环境下进行软件管理。
  2. 使用 Ubuntu 软件中心
    • Ubuntu 软件中心是一个图形化的软件管理工具,提供了用户友好的界面,可以方便地搜索、浏览和安装软件。适合那些对命令行不太熟悉或者更倾向于使用图形界面的用户。
  3. 结合使用 apt 和 aptitude
    • aptitude 是另一个命令行软件包管理工具,提供了更多的软件包管理功能,例如包依赖关系的解决、软件包状态的跟踪等。可以结合使用 aptaptitude 来进行软件包管理,根据具体需求选择合适的工具。
  4. 使用自动化工具进行软件管理
    • 可以考虑使用自动化配置管理工具,如 Ansible、Chef、Puppet 等,来管理 Ubuntu 系统的软件安装和配置。这些工具可以通过编写配置文件或脚本来定义系统的状态,并自动化执行配置管理任务,提高效率并确保系统的一致性和可靠性。

根据个人偏好和实际需求,可以选择合适的软件管理方案。对于初学者或者不熟悉命令行的用户,推荐使用 Ubuntu 软件中心;对于熟悉命令行且需要更多功能的用户,推荐使用 apt 和 aptitude;对于需要自动化管理系统的用户,推荐使用自动化配置管理工具。

dpkg运维命令

以下是一些常用的 dpkg 命令及其说明:

  1. 安装软件包:安装一个 .deb 格式的软件包。

    sudo dpkg -i package.deb
    
  2. 删除软件包:卸载已安装的软件包。

    sudo dpkg -r package_name
    
  3. 强制删除软件包:强制卸载软件包,忽略依赖关系。

    sudo dpkg -r --force-depends package_name
    
  4. 卸载软件包及其配置文件:卸载软件包并删除其配置文件。

    sudo dpkg -P package_name
    
  5. 查询软件包信息:显示已安装软件包的详细信息。

    dpkg -l | grep package_name
    
  6. 查询软件包文件列表:显示已安装软件包的文件列表。

    dpkg -L package_name
    
  7. 查询软件包详细信息:显示软件包的详细信息。

    dpkg -p package_name
    
  8. 重新配置软件包:重新配置已安装的软件包。

    sudo dpkg-reconfigure package_name
    
  9. 查找文件所属的软件包:查找指定文件所属的软件包。

    dpkg -S /path/to/file
    
  10. 显示软件包提供的文件:显示软件包提供的文件列表。

    dpkg -S package_name
    
  11. 显示软件包版本:显示已安装软件包的版本信息。

    dpkg -l package_name
    
  12. 清理系统缓存:清理系统中下载的软件包缓存文件。

    sudo apt clean
    

这些是常用的 dpkg 命令,可以用于软件包的安装、卸载、查询等操作。请根据实际需求选择合适的命令进行操作。

实战ubuntu安装软件

以下是使用 dpkg 安装 Nginx 的简单步骤:

  1. 下载 Nginx 的 .deb 安装包: 在 Nginx 官方网站或其他可信任的源中下载适用于您系统的 .deb 安装包。例如,如果您的系统是 Ubuntu 20.04,可以从 Nginx 官方网站下载适用于 Ubuntu 20.04 的 .deb 安装包。

  2. 打开终端: 打开终端(命令行界面),您可以使用 Ctrl + Alt + T 组合键快速打开终端。

  3. 切换到 .deb 文件所在的目录: 使用 cd 命令切换到您下载的 Nginx .deb 文件所在的目录。例如,如果 .deb 文件下载到了 Downloads 目录下,可以使用以下命令切换到 Downloads 目录:

    cd ~/Downloads
    
  4. 安装 Nginx: 使用 dpkg 命令安装 Nginx。请注意,您需要以管理员权限运行 dpkg 命令,因此需要在命令前面加上 sudo

    sudo dpkg -i nginx-*.deb
    

    这里的 nginx-*.deb 是您下载的 Nginx .deb 文件的文件名,根据实际情况进行替换。

  5. 处理可能出现的依赖关系问题: 如果安装过程中出现了依赖关系问题,dpkg 会报错并提示您安装缺少的依赖项。您可以根据提示信息使用 apt 命令安装缺少的依赖项,然后再次运行 dpkg -i 命令安装 Nginx。

  6. 启动 Nginx 服务: 安装完成后,您可以使用以下命令启动 Nginx 服务:

    sudo systemctl start nginx
    
  7. 验证 Nginx 是否成功安装: 使用浏览器或者 curl 命令访问您的服务器的 IP 地址或域名,查看是否能够成功访问 Nginx 默认的欢迎页面。

这些步骤可以帮助您使用 dpkg 命令安装 Nginx,并启动 Nginx 服务。请根据您的实际情况替换命令中的文件名和路径。

演示

https://nginx.org/en/linux_packages.html
https://nginx.org/packages/

https://nginx.org/packages/ubuntu/dists/

这些是 Ubuntu 发行版的代号和对应的发布日期。Ubuntu 发行版以一种代码名称(Code Name)来命名,这些名称通常以字母顺序排列,并以动词或形容词命名。每个发行版都有一个特定的代码名称,以及一个日期,表示该版本的发布日期。

以下是一些常见的 Ubuntu 发行版代码名称和对应的发布日期解释:
artful/:Ubuntu 17.10,发布于 2018 年 7 月 31 日。
bionic/:Ubuntu 18.04 LTS,发布于 2023 年 4 月 11 日。
cosmic/:Ubuntu 18.10,发布于 2019 年 5 月 21 日。
disco/:Ubuntu 19.04,发布于 2020 年 1 月 21 日。
eoan/:Ubuntu 19.10,发布于 2020 年 8 月 11 日。
focal/:Ubuntu 20.04 LTS,发布于 2024 年 2 月 7 日。
groovy/:Ubuntu 20.10,发布于 2022 年 1 月 26 日。
hirsute/:Ubuntu 21.04,发布于 2022 年 2 月 10 日。
impish/:Ubuntu 21.10,发布于 2022 年 6 月 21 日。
jammy/:Ubuntu 22.04 LTS,预计于 2024 年 2 月 7 日发布。
每个发行版的代码名称都是基于一个特定的命名主题,例如形容词、地名、天体等,这些名称旨在为每个版本提供一个独特的标识符。同时,每个发行版的发布日期也在其中列出,以便用户了解该版本的发布时间。



https://nginx.org/packages/ubuntu/
../:这是一个相对路径符号,表示返回到上一级目录。

conf/:这个目录可能包含一些配置文件,用于配置软件包仓库的一些参数和设置。

db/:这个目录可能包含一些数据库文件,用于存储软件包仓库中的元数据信息。

dists/:这个目录通常用于存储软件包仓库的分发信息,可能包含不同版本的发行版目录。

pool/:这个目录通常用于存储所有的软件包文件(.deb 文件),按照软件包名称的首字母进行分类。

Packages.gz:这是一个压缩的软件包列表文件,其中包含了软件包仓库中所有软件包的详细信息。

Release.new:这是一个可能是新版本的发布文件,通常包含软件包仓库的元数据信息和签名等。

Sources.gz:这是一个压缩的源代码列表文件,其中包含了软件包仓库中所有源代码软件包的详细信息。

根据目录结构和文件列表,可以推测这是一个标准的 Ubuntu 软件包仓库,用于存储和分发 Ubuntu 系统中的软件包。

前置准备

# 卸载之前你用apt安装的nginx

 apt remove nginx nginx-common -y

下载nginx deb

wget https://nginx.org/packages/ubuntu/pool/nginx/n/nginx/nginx_1.20.2-1~jammy_amd64.deb


root@yuchao-linux-2024:~# dpkg -i nginx_1.20.2-1~jammy_amd64.deb
Selecting previously unselected package nginx.
(Reading database ... 92396 files and directories currently installed.)
Preparing to unpack nginx_1.20.2-1~jammy_amd64.deb ...
----------------------------------------------------------------------

Thanks for using nginx!

Please find the official documentation for nginx here:
* https://nginx.org/en/docs/

Please subscribe to nginx-announce mailing list to get
the most important news about nginx:
* https://nginx.org/en/support.html

Commercial subscriptions for nginx are available on:
* https://nginx.com/products/

----------------------------------------------------------------------
Unpacking nginx (1.20.2-1~jammy) ...
Setting up nginx (1.20.2-1~jammy) ...
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /lib/systemd/system/nginx.service.
Processing triggers for man-db (2.10.2-1) ...
root@yuchao-linux-2024:~#

root@yuchao-linux-2024:~# which nginx
/usr/sbin/nginx
root@yuchao-linux-2024:~#
root@yuchao-linux-2024:~# nginx -V


root@yuchao-linux-2024:~# ps -ef |grep nginx
root      745523  745503  0 Feb29 pts/0    00:00:00 nginx: master process nginx -g daemon off;
systemd+  745590  745523  0 Feb29 pts/0    00:00:00 nginx: worker process
root     2316788       1  0 19:00 ?        00:00:00 nginx: master process nginx
nginx    2316789 2316788  0 19:00 ?        00:00:00 nginx: worker process
nginx    2316790 2316788  0 19:00 ?        00:00:00 nginx: worker process
root     2316864 2315203  0 19:00 pts/4    00:00:00 grep --color=auto nginx
root@yuchao-linux-2024:~#
root@yuchao-linux-2024:~#
root@yuchao-linux-2024:~# netstat -tunlp |grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      2316788/nginx: mast
root@yuchao-linux-2024:~#

访问nginx

image-20240314190319984

root@yuchao-linux-2024:/usr/share/nginx/html# echo '<meta charset=utf-8>于超老师牛批666,强的一批' > index.html
root@yuchao-linux-2024:/usr/share/nginx/html#

image-20240314190416016

删除nginx

root@yuchao-linux-2024:~# dpkg -r nginx
dpkg: dependency problems prevent removal of nginx:
 nginx-dbg depends on nginx (= 1.20.2-1~jammy).
 nginx-dbg depends on nginx (= 1.20.2-1~jammy).

dpkg: error processing package nginx (--remove):
 dependency problems - not removing
Errors were encountered while processing:
 nginx
root@yuchao-linux-2024:~#

# 得正确处理依赖
root@yuchao-linux-2024:~# dpkg -P nginx-dbg
(Reading database ... 92429 files and directories currently installed.)
Removing nginx-dbg (1.20.2-1~jammy) ...
root@yuchao-linux-2024:~#
root@yuchao-linux-2024:~# dpkg -P nginx
(Reading database ... 92421 files and directories currently installed.)
Removing nginx (1.20.2-1~jammy) ...
Purging configuration files for nginx (1.20.2-1~jammy) ...
Processing triggers for man-db (2.10.2-1) ...
root@yuchao-linux-2024:~#

这里展示了两个 dpkg 命令的使用示例,分别是使用 -P 选项来移除和清理软件包及其配置文件。

  1. dpkg -P nginx-dbg:该命令用于移除 nginx-dbg 调试符号包,包括其配置文件。在执行命令后,系统提示成功移除了 nginx-dbg 软件包。
  2. dpkg -P nginx:该命令用于移除 nginx 主程序包,并清理其配置文件。在执行命令后,系统提示成功移除了 nginx 软件包,并且清理了相关的配置文件。

这些命令可以帮助您在 Ubuntu 系统中删除软件包及其相关的配置文件,确保系统环境的整洁性和一致性。

什么是依赖

软件依赖是指一个软件在运行或安装时所需要依赖的其他软件或库。在计算机科学中,软件依赖通常分为两类:运行时依赖和构建时依赖。

  1. 运行时依赖:这种依赖关系是指一个软件在运行时需要依赖其他软件或库来提供必要的功能或服务。例如,一个图形用户界面(GUI)应用程序可能依赖于图形库来渲染界面,或者一个网络应用程序可能依赖于网络库来进行网络通信。
  2. 构建时依赖:这种依赖关系是指一个软件在构建(编译)时需要依赖其他软件或库来完成编译过程。例如,一个 C 语言程序可能依赖于特定版本的编译器和标准库来编译。

软件依赖关系对于软件的开发、安装和运行非常重要。在安装软件时,系统会检查并安装所需的依赖项,以确保软件能够正常运行。在开发软件时,开发者需要注意管理好软件的依赖关系,以确保软件能够在各种环境下正确编译和运行。

image-20240314183614188

依赖指的是,软件A的运行,必须结合软件B,软件C的存在,才能够正确运行。

可以理解,一个自行车的运行,必须依赖车轮,车把,坐垫,少一个都骑不了。。。

上图是windows的依赖报错,安装依赖的软件即可。

处理ubuntu依赖

在安装 Ubuntu 软件时处理依赖关系非常重要,主要有以下几个原因:

  1. 确保软件功能完整性:软件通常依赖于其他软件或库来提供必要的功能。处理依赖关系可以确保安装的软件能够正常运行,并且具有完整的功能。
  2. 避免软件冲突:不同软件可能依赖于相同的库或资源,如果依赖关系没有正确处理,可能会导致软件冲突或版本不兼容问题。处理依赖关系可以避免这种情况的发生,确保安装的软件能够和其他软件协同工作。
  3. 提高系统稳定性:处理依赖关系可以确保系统中的软件环境保持稳定。安装软件时,系统会自动解决依赖关系,并且会根据需要下载和安装所需的依赖项,从而保持系统的稳定性和一致性。
  4. 简化软件管理:通过处理依赖关系,系统管理员和用户可以更轻松地管理软件。系统会自动管理软件的依赖关系,用户只需要指定要安装的软件,系统就会自动处理所需的依赖关系,简化了软件管理流程。

因此,处理依赖关系是安装 Ubuntu 软件的重要步骤,可以确保安装的软件能够正常运行,并且保持系统的稳定性和一致性。

查看某软件的必须依赖

xx软件少这个,无法运行。

复杂东西。

root@yuchao-linux-2024:~# dpkg --info nginx_1.20.2-1~jammy_amd64.deb
 new Debian package, version 2.0.
 size 991196 bytes: control archive=2546 bytes.
     257 bytes,    11 lines      conffiles
     571 bytes,    15 lines      control
     840 bytes,    13 lines      md5sums
    3016 bytes,    82 lines   *  postinst             #!/bin/sh
    1376 bytes,    51 lines   *  postrm               #!/bin/sh
    1309 bytes,    62 lines   *  preinst              #!/bin/sh
     483 bytes,    24 lines   *  prerm                #!/bin/sh
 Package: nginx
 Version: 1.20.2-1~jammy
 Architecture: amd64
 Maintainer: NGINX Packaging <nginx-packaging@f5.com>
 Installed-Size: 3146
 Depends: libc6 (>= 2.34), libcrypt1 (>= 1:4.1.0), libpcre3, libssl3 (>= 3.0.0~~alpha1), zlib1g (>= 1:1.1.4), lsb-base (>= 3.0-6), adduser
 Conflicts: nginx-common, nginx-core
 Replaces: nginx-common, nginx-core
 Provides: httpd, nginx, nginx-r1.20.2
 Section: httpd
 Priority: optional
 Homepage: https://nginx.org
 Description: high performance web server
  nginx [engine x] is an HTTP and reverse proxy server, as well as
  a mail proxy server.
root@yuchao-linux-2024:~#

您已成功使用 dpkg --info 命令查看了 nginx_1.20.2-1~jammy_amd64.deb 软件包的详细信息,包括依赖关系和其他元数据。以下是该软件包的一些关键信息:

  • 软件包名称:nginx
  • 版本:1.20.2-1~jammy
  • 架构:amd64
  • 维护者:NGINX Packaging nginx-packaging@f5.com
  • 安装大小:3146 KB
  • 依赖关系:libc6 (>= 2.34), libcrypt1 (>= 1:4.1.0), libpcre3, libssl3 (>= 3.0.0~~alpha1), zlib1g (>= 1:1.1.4), lsb-base (>= 3.0-6), adduser
  • 冲突:nginx-common, nginx-core
  • 替代:nginx-common, nginx-core
  • 提供:httpd, nginx, nginx-r1.20.2
  • 描述:高性能 Web 服务器

根据这些信息,您可以了解到安装 nginx 软件包所需的依赖关系,以及软件包的其他详细信息。如果您想安装该软件包,系统将自动解决这些依赖关系,并安装所需的软件包。

ubuntu安装软件的方式

在Ubuntu上安装软件有几种方式,其中常用的包括使用 apt 命令、通过 Ubuntu 软件中心、通过 Snap、通过源代码编译安装等。以下是这些方法的简要介绍:

  1. 使用 apt 命令:apt 是 Ubuntu 的软件包管理工具,可以通过命令行安装、更新、卸载软件包。例如,要安装 Firefox 浏览器,可以使用以下命令:

    sudo apt update
    sudo apt install firefox
    
  2. 通过 Ubuntu 软件中心:Ubuntu 软件中心提供了图形化界面,可以方便地搜索、安装和管理软件。打开软件中心,搜索你需要的软件,然后点击安装按钮即可。

  3. 通过 Snap:Snap 是一种打包格式,可以跨平台运行,并且提供了软件依赖项的隔离,可以避免与系统软件包的冲突。你可以使用以下命令安装 Snap 应用:

    sudo apt update
    sudo apt install snapd
    sudo snap install <package-name>
    
  4. 通过源代码编译安装:有些软件可能没有提供 Ubuntu 软件包或 Snap,你可以从源代码编译安装。通常需要先安装编译工具和依赖项:

     sudo apt update
    sudo apt install build-essential
    

    然后按照软件提供的编译说明进行编译安装。

这些是在 Ubuntu 上安装软件的常用方式,你可以根据实际需求选择合适的方式进行安装。

什么是apt

apt 是 Advanced Package Tool 的缩写,是一个在 Debian 及其衍生发行版中用于管理软件包的命令行工具。

它提供了一种方便的方式来搜索、安装、升级和删除软件包,同时也可以处理软件包的依赖关系。

apt 命令通常与其他子命令结合使用,常见的子命令包括:

  • update:从软件源更新本地软件包列表,使系统了解可用的最新软件包版本。
  • upgrade:升级系统中所有已安装软件包到最新版本。
  • install:安装一个或多个软件包。
  • remove:卸载一个或多个软件包,但保留其配置文件。
  • purge:彻底卸载一个或多个软件包,包括其配置文件。
  • search:搜索软件包。
  • show:显示有关软件包的详细信息。
  • autoremove:自动移除不再被其他软件包所依赖的软件包。

通过这些子命令,apt 提供了一个方便快捷的方式来管理软件包,使得在 Debian 及其衍生发行版中管理软件变得更加简单。

apt配置文件有哪些

在 Ubuntu 系统中,apt 的配置文件通常位于 /etc/apt 目录下,主要包括以下几个文件:

  1. sources.list/etc/apt/sources.list 文件包含了软件源的配置信息,指定了系统从哪里获取软件包。你可以在这个文件中添加、编辑或删除软件源,以定制软件包的获取方式。
  2. sources.list.d 目录/etc/apt/sources.list.d 目录包含了一些额外的软件源配置文件,这些文件可以按需添加,使得管理软件源更加灵活。
  3. apt.conf 文件/etc/apt/apt.conf 文件用于配置 apt 的全局选项,如代理设置、下载限速等。你可以在这个文件中设置各种 apt 的行为参数。
  4. apt.conf.d 目录/etc/apt/apt.conf.d 目录包含了一些额外的配置文件,这些文件可以按需添加,用于对 apt 的行为进行更细粒度的配置。
  5. trusted.gpg 文件和 trusted.gpg.d 目录:这些文件和目录包含了软件源的公钥,用于验证软件包的真实性。这样可以防止恶意软件包被安装到系统中。

这些配置文件和目录可以帮助你管理系统的软件源配置和 apt 的行为,使得软件包的管理更加灵活和可控。

apt源是什么意思

在 Ubuntu(以及其他基于 Debian 的 Linux 发行版)中,APT 源(或软件源)指的是包含软件包及其相关信息的网络服务器或镜像站点。APT(Advanced Package Tool)使用这些源来获取软件包并进行安装、更新和卸载操作。

APT 源包含了软件包的二进制文件、源代码、描述文件和数字签名等信息。通过配置系统使用不同的软件源,用户可以选择从不同的服务器获取软件包,以获得更快的下载速度或访问特定的软件包版本。

默认情况下,Ubuntu系统配置了一组官方的软件源,用户也可以根据需要添加、删除或修改软件源的配置,以满足特定的软件需求或安全性要求。

配置阿里云apt源

https://developer.aliyun.com/mirror/ubuntu?spm=a2c6h.13651102.0.0.3e221b11Ibe3UU

替换 Ubuntu 系统中的 APT 软件源可以通过以下步骤完成:

  1. 备份当前软件源文件(可选):

    
    sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
    
  2. 编辑软件源配置文件

    
    sudo vim /etc/apt/sources.list
    
  3. 选择合适的软件源

    • 打开 Ubuntu 官方镜像站点 或 清华大学开源软件镜像站 查找合适的镜像源。

    • https://wiki.ubuntu.com/Mirrors?action=show&redirect=Archive
      https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/
      https://developer.aliyun.com/mirror/ubuntu?spm=a2c6h.13651102.0.0.3e221b11Ibe3UU
      
    • 将原来文件中的镜像地址替换为新的镜像地址。

  4. 更新软件源列表

    
    sudo apt update
    
  5. (可选)恢复备份的软件源文件

    
    sudo cp /etc/apt/sources.list.backup /etc/apt/sources.list
    
  6. 再次更新软件源列表

    
    sudo apt update
    
  7. 验证软件源是否已更改

    
    sudo apt policy
    
  8. 升级软件包(可选):

    
    sudo apt upgrade
    

请注意,在替换软件源之前,请确保选择了可信任和可靠的软件源,以避免安全和稳定性问题。

腾讯云默认apt源 22.04版

系统版本

root@VM-8-7-ubuntu:/etc/apt# cat /etc/os-release 
PRETTY_NAME="Ubuntu 22.04 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04 (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
root@VM-8-7-ubuntu:/etc/apt#

apt源

root@VM-8-7-ubuntu:/etc/apt# ls
apt.conf.d  auth.conf.d  keyrings  preferences.d  sources.list  sources.list.curtin.old  sources.list.d  trusted.gpg.d
root@VM-8-7-ubuntu:/etc/apt# cat sources.list
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://mirrors.tencentyun.com/ubuntu jammy main restricted
# deb-src http://mirrors.tencentyun.com/ubuntu jammy main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://mirrors.tencentyun.com/ubuntu jammy-updates main restricted
# deb-src http://mirrors.tencentyun.com/ubuntu jammy-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://mirrors.tencentyun.com/ubuntu jammy universe
# deb-src http://mirrors.tencentyun.com/ubuntu jammy universe
deb http://mirrors.tencentyun.com/ubuntu jammy-updates universe
# deb-src http://mirrors.tencentyun.com/ubuntu jammy-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://mirrors.tencentyun.com/ubuntu jammy multiverse
# deb-src http://mirrors.tencentyun.com/ubuntu jammy multiverse
deb http://mirrors.tencentyun.com/ubuntu jammy-updates multiverse
# deb-src http://mirrors.tencentyun.com/ubuntu jammy-updates multiverse

## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
#deb http://mirrors.tencentyun.com/ubuntu jammy-backports main restricted universe multiverse
# deb-src http://mirrors.tencentyun.com/ubuntu jammy-backports main restricted universe multiverse

deb http://mirrors.tencentyun.com/ubuntu jammy-security main restricted
# deb-src http://mirrors.tencentyun.com/ubuntu jammy-security main restricted
deb http://mirrors.tencentyun.com/ubuntu jammy-security universe
# deb-src http://mirrors.tencentyun.com/ubuntu jammy-security universe
deb http://mirrors.tencentyun.com/ubuntu jammy-security multiverse
# deb-src http://mirrors.tencentyun.com/ubuntu jammy-security multiverse
root@VM-8-7-ubuntu:/etc/apt#

精简配置,腾讯apt源,针对22.04 jammy版本

deb http://mirrors.tencentyun.com/ubuntu jammy main restricted

deb http://mirrors.tencentyun.com/ubuntu jammy-updates main restricted

deb http://mirrors.tencentyun.com/ubuntu jammy universe
deb http://mirrors.tencentyun.com/ubuntu jammy-updates universe

deb http://mirrors.tencentyun.com/ubuntu jammy multiverse
deb http://mirrors.tencentyun.com/ubuntu jammy-updates multiverse


deb http://mirrors.tencentyun.com/ubuntu jammy-security main restricted
deb http://mirrors.tencentyun.com/ubuntu jammy-security universe
deb http://mirrors.tencentyun.com/ubuntu jammy-security multiverse

默认文件

root@VM-8-7-ubuntu:/etc/apt# tree
.
├── apt.conf.d
│   ├── 01autoremove
│   ├── 01-vendor-ubuntu
│   ├── 10periodic
│   ├── 15update-stamp
│   ├── 20apt-esm-hook.conf
│   ├── 20archive
│   ├── 20auto-upgrades
│   ├── 20packagekit
│   ├── 20snapd.conf
│   ├── 50command-not-found
│   ├── 50unattended-upgrades
│   ├── 70debconf
│   ├── 99needrestart
│   └── 99update-notifier
├── auth.conf.d
├── keyrings
├── preferences.d
│   └── cloud-init
├── sources.list
├── sources.list.curtin.old
├── sources.list.d
└── trusted.gpg.d
    ├── ubuntu-keyring-2012-cdimage.gpg
    └── ubuntu-keyring-2018-archive.gpg

6 directories, 19 files

apt运维

# 修改apt源之后,更新你的仓库信息,缓存

root@VM-8-7-ubuntu:/etc/apt# apt update -y
Hit:1 http://mirrors.tencentyun.com/ubuntu jammy InRelease
Hit:2 http://mirrors.tencentyun.com/ubuntu jammy-updates InRelease
Hit:3 http://mirrors.tencentyun.com/ubuntu jammy-security InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
156 packages can be upgraded. Run 'apt list --upgradable' to see them.
root@VM-8-7-ubuntu:/etc/apt# 

root@VM-8-7-ubuntu:/etc/apt# apt policy
  1. 更新软件包列表

    
    sudo apt update
    
  2. 升级已安装的软件包

     # 不要随便升级你的系统
    sudo apt upgrade
    
  3. 安装软件包

    
    sudo apt install package_name
    
  4. 卸载软件包

    
    sudo apt remove package_name
    
  5. 清理无用的软件包

    
    sudo apt autoremove
    
  6. 搜索软件包

    
    apt search search_term
    
  7. 显示软件包信息

    
    apt show package_name
    
  8. 列出可升级的软件包

    
    apt list --upgradable
    
  9. 查看软件包的依赖关系

    
    apt depends package_name
    
  10. 查找已安装的软件包

    
    apt list --installed
    
  11. 列出已安装的软件包

    
    dpkg --list
    
  12. 重建软件包数据库

    
    sudo apt-get clean
    
  13. 列出可用版本的软件包

    
    apt-cache policy package_name
    
  14. 添加软件源(以 PPAs 为例):

    
    sudo add-apt-repository ppa:example/ppa
    
  15. 删除软件源(以 PPAs 为例):

    
    sudo add-apt-repository --remove ppa:example/ppa
    
  16. 禁用软件源(以 PPAs 为例):

    
    sudo add-apt-repository --remove --disable ppa:example/ppa
    
  17. 清理下载的软件包文件

    
    sudo apt-get autoclean
    
  18. 显示 APT 配置信息

    
    apt-config dump
    
  19. 使用 apt 进行软件包管理

    
    apt-get install package_name
    
  20. 显示 APT 的帮助信息

    
    apt help
    

这些命令可以帮助你在 Ubuntu 系统中使用 apt 进行软件包管理。

Ubuntu 22.04系统初始化apt包

sudo apt update && sudo apt install -y build-essential curl wget net-tools  git vim nano libssl-dev libffi-dev zip unzip tar htop

中科大arm64源

# 默认注释了源码仓库,如有需要可自行取消注释
deb https://mirrors.ustc.edu.cn/ubuntu-ports/ jammy main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ jammy main main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu-ports/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ jammy-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu-ports/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ jammy-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu-ports/ jammy-security main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ jammy-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.ustc.edu.cn/ubuntu-ports/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ jammy-proposed main restricted universe multiverse

清华arm64源

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-backports main restricted universe multiverse

deb http://ports.ubuntu.com/ubuntu-ports/ jammy-security main restricted universe multiverse
# deb-src http://ports.ubuntu.com/ubuntu-ports/ jammy-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-proposed main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-proposed main restricted universe multiverse

amd64源

https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/

https://mirrors.ustc.edu.cn/help/ubuntu.html

Copyright © www.yuchaoit.cn 2024 all right reserved,powered by Gitbook作者:猿来教育 2024-05-11 17:53:30

results matching ""

    No results matching ""