Ubuntu安装程序的总全说明

news/2024/9/25 9:28:32/

Ubuntu安装程序的总全说明

    • 说明
    • 一、安装环境依赖包
    • 二、创建一个安装目录
    • 三、下载安装包
    • 四、解压程序
    • 五、进入解压的目录
    • 六、编译安装
    • 七、程序相关信息查询
    • 八、与系统相关安装程序说明
    • 九、dep的安装

说明

  1. 本教程只是对ubuntu程序安装的总体说明,对特别要求的软件有可能不适用

总体说明:在安装程序前要先安装依赖包,再安装主程序,不然会安装失败或部分功能失效。

一、安装环境依赖包

  1. sudo apt-get install 依赖包名

  2. 程序的依赖包,可以从主程序的官网中可以查到

二、创建一个安装目录

sudo mkdir -p 路径/文件名

三、下载安装包

wget 下载文件的网站

四、解压程序

  • .tar.gz和.tgz格式。使用tar命令解压,命令为tar -zxvf 文件名.tar.gz -C 指定目录。
  • .tar.bz2格式。使用tar命令解压,命令为tar -jxvf 文件名.tar.bz2 -C 指定目录。
  • .rar格式。需要安装unrar和rar工具,然后使用unrar命令解压,命令为unrar x 文件名.rar。
  • .zip格式。使用unzip命令解压,可以解压一个或多个zip文件,命令为unzip 文件名.zip。
  • .rar格式。需要安装unrar和rar工具,然后使用unrar命令解压,命令为unrar x 文件名.rar。
  • .gz格式。使用gunzip或gzip -d命令解压,命令为gunzip 文件名.gz或gzip -d 文件名.gz。
  • .Z格式。使用uncompress命令解压,命令为uncompress 文件名.Z。

五、进入解压的目录

cd 解压后的目录

六、编译安装

  • –prefix用于指定安装位置

  • –enable-optimizations用于优化配置

 ./configure --prefix=文件目录 ---with-依赖包=依赖包位置 --enable-optimizations

编译步骤较为漫长,根据cpu核心数,使用-j选项采用多线程编译,可以加快编译速度 ,例如我的CPU核心数为8,线程数=核心数

make -j 16

为了防止替换掉系统默认安装版本,使用altinstall

 sudo make altinstall

6、建立指向程序的软链接
一般软链接放在/usr/bin/目录里

ln -s  软件安装所在位置 指向位置 

七、程序相关信息查询

which whereis locate find的区别

which、whereis、locate和find的区别主要在于它们的查找原理、更新频率、查找速度和查找范围,这些命令分别用于在Linux系统中查找可执行文件、源文件、man文件等。具体区别如下:12

  • 查找原理。which命令在PATH环境变量指定的路径中查找可执行文件,它会返回第一个匹配的结果,通常用于确认系统中是否安装了指定的软件。whereis命令用于查找二进制文件、源文件和man文件,它可以通过文件索引数据库来查找,而不仅仅是PATH中的目录,因此查找范围比which更广。locate命令通过查询一个包含系统内所有文件名称及路径的数据库来快速查找文件,这个数据库不是实时更新的,而是定期由cron job更新。find命令是最强大的查找工具,它可以直接遍历硬盘来查找文件,支持完全匹配和模糊查询,可以查找目录和文件,并且可以根据各种条件(如修改时间、文件类型等)进行搜索。
  • 更新频率。whereis和locate使用的数据库不是实时更新的,通常默认情况下是一周更新一次,这可能导致查找结果中包含已被删除的文件或无法找到新创建的文件。
  • 查找速度。whereis和locate因为基于数据库搜索,所以查找速度非常快,相比之下,find通过遍历硬盘来查找文件,效率较低。
  • 查找范围。which主要查找可执行文件;whereis查找二进制文件、源文件和man文件;locate模糊查询文件或目录;find支持完全匹配和模糊查询,可以查找目录和文件,支持各种条件搜索。

用法

  1. which 程序名
  2. whereis 程序名
  3. find 查找目录 -name 程序

八、与系统相关安装程序说明

1)apt update命令

这是一个主要在新系统安装之后或安装新软件包之前调用的命令。apt update 命令更新 Linux 系统的包索引或包列表。它不会升级任何软件包,正如一些 Linux 用户被误导的那样。

/etc/apt/sources.list包索引文件是一个文件或数据库,其中包含在位于该文件的存储库中定义的软件包列表。其他软件包列表位于/etc/apt/sources.list.d 目录中。

运行此命令非常安全。如果由于某种原因中止或拔掉电源,您可以从停止的地方恢复。在终端上使用 cat 命令查看源列表文件。

$ cat /etc/apt/sources.list

要更新软件包列表,请调用以下命令:

sudo apt updatesudo apt-get update

2)apt upgrade命令

需要将您的软件包升级到最新版本?然后apt upgrade是要执行的命令。apt upgrade 命令不带任何参数,将系统上所有过时的软件包升级到最新版本。

如果需要任何依赖项,该命令还会触发新软件包的安装。除此之外,apt upgrade还会安装您系统所需的所有安全更新,这加强了您系统的安全性。

要列出需要升级的软件包,请运行apt list --upgradable命令。事实上,这是在apt update输出的最后显示的提示。

因此,要查看准备升级的软件包,请运行:

$ sudo apt list --upgradable

要升级所有过时的软件包并应用安全补丁,请运行以下命令:

$ sudo apt upgrade

在运行时不中断或不进行 apt 升级更安全。

要记住的几件事:

如果由于某种原因中断,您是否有一个很好的备份可以恢复?

您是否将日志发送到另一个远程系统?

有手动编译的软件吗?

概括

apt update命令用于同步系统上的软件包列表。它为您系统上的 PPA 和存储库获取最新的软件包列表,并确保它们是最新的。

apt upgrade命令将软件包升级到最新版本,并在需要它们作为依赖项时安装新软件包。它不会删除任何包,如果指定要删除任何包,它会跳过它们。

九、dep的安装

  1. 依赖包安装

  2. 更新apt-get信息

sudo apt-get update
  1. 安装程序
apt-get install 程序名

http://www.ppmy.cn/news/1454726.html

相关文章

PostgreSQL日期和时间相关函数

PostgreSQL日期和时间相关函数 时间类型获取当前时间时间加减格式转换相关函数 示例: --- 提取7天前的日期 SELECT (current_date - interval 7 day)::date as start_date-- 明天的日期 SELECT (current_date interval 1 day)::date as end_date-- 当年的第一天 SELECT DATE_…

查看mysql数据库大小、表大小和最后修改时间

1.查看数据库表基本信息。 select * from information_schema.TABLES where information_schema.TABLES.TABLE_SCHEMA ‘数据库名’ and information_schema.TABLES.TABLE_NAME ‘表名’; 2.查看MySQL数据库大小 SELECT sum(DATA_LENGTH)sum(INDEX_LENGTH) FROM informati…

为什么深度学习中减小泛化误差称为“正则化(Regularization)”

深度学习的一个重要方面是正则化(Regularization),Ian Goodfellow在《Deep Learning 》称正则化(Regularization)就是减小泛化误差。那么,为什么减小泛化误差称为正则化呢? 首先看正则化——Re…

安泰ATA-L系列水声功率放大器驱动水声换能器可以进行哪些实验

水声功率放大器驱动水声换能器是进行水声实验中的关键设备之一,其应用范围广泛,可以进行多种实验和研究。以下是水声功率放大器驱动水声换能器可以进行的一些实验: 声纳性能测试:使用水声功率放大器驱动水声换能器可以进行声纳系统…

冲破“熟人社交”想象力边界,UXLINK 如何链接起 1 亿+Web3 用户?

进入 Web3 社交时代,如何巧借传统社交“熟人”关系力量实现高频信息交互和资产交易?潜力社交新星 UXLINK 搭建起全新的 Web3 用户流量入口,布局强大有力的社交关系网,为链上生态注入创新动力。据 UXLINK 官网数据显示,…

SLAIM:一个实时的RGB-D NeRF-SLAM系统

SLAIM:一个实时的RGB-D NeRF-SLAM系统与现有的NeRF-SLAM系统相比,我们的方法在跟踪性能上始终表现出更强的竞争力。我们的方法采用体积密度表示,并引入了一种新的KL正则化器在射线终止分布上,将场景几何限制为空隙空间和不透明表面…

交换两个变量

1.创建一个临时变量 创建一个临时变量tmp用来存储变量a,将b的值赋给a,最后再将tmp的值赋给b,完成变量a和变量b的交换 int main() {int a 10;int b 20;int tmp a;a b;b tmp;printf("a %d, b %d", a, b);return 0; } 2…

vue快速入门(五十五)插槽基本用法

注释很详细&#xff0c;直接上代码 上一篇 新增内容 当传输内容只有一种时的基础写法 源码 App.vue <template><div id"app"><h1>被淡化的背景内容</h1><my-dialog><!-- 插槽内容:文字以及dom结构都可以传 --><span>你确…