Ubuntu系统安装软件

news2024/11/25 8:47:42

在Linux系统中有四种软件安装方式:rpm、yum、apt、编译安装

编译安装

编译安装只有一个源码包,源码包是由一大堆源代码程序组成的,是由程序员按照特定格式和语法编写好了,现成的安装包

程序:未执行的代码

进程:执行起来的代码

线程:进程运行起来,线程执行运行过程中的代码

源码包又叫二进制包,成功编译后产生的包

防火墙

在Linux系统中安装软件时,要先关闭防火墙

Ubuntu系统中关闭防火墙命令:ufw  disable

Centos系统中关闭防火墙命令:systemctl  stop  firewalld  seten

Ubuntu系统

Centos系统

安装源文件位置

Ubuntu:/etc/apt/sources.list
#在线源
Centos:/etc/yum.repos.d
#在线源和本地源(光盘镜像)
Ubuntu依赖包:apt -y install libpcre3-dev zlib1g-dev libssl-dev build-essential
Centos依赖包:yum -y install gcc pcre-devel openssl-devel zlib-devel openssl  openssl-devel

安装过程

Ubuntu和Centos安装过程基本一样,这边就以Ubuntu举例

Ubuntu系统安装nginx软件

1、关闭防火墙

ufw  disable

2、安装依赖环境

apt -y install libpcre3-dev zlib1g-dev libssl-dev build-essential

3、创建用户

useradd -M -s  /sbin/nologin nginx

-M:只能创建用户,不能创建家目录

-s:指定创建用户的登录shell,禁止该用户登录系统

nginx:用户名nginx

4、解包-->配置-->编译-->安装

解包:把压缩包nginx.tar.gz解压

配置:进入nginx-1.22.0目录下

./configure --prefix=/usr/local/nginx --user=nginx --group=nginx

安装到指定的路径:/usr/local/nginx

编译

make  -j  4   &&  make   install

安装:建立软链接把/usr/local/nginx/sbin/nginx软链接到/usr/bin/

ln -s  /usr/local/nginx/sbin/nginx  /usr/bin/

5、安装完成之后对程序进行配置(权限、控制)

进入到/usr/local目录下,把/nginx目录的root权限修改成nginx

进入/nginx目录下,创建一个run目录,并把权限改成nginx

mkdir  run
chown  nginx.nginx  run/

进入/conf目录下,编辑nginx.conf,把#pid  logs/nginx.pid;改成pid  /usr/local/nginx/run/nginx.pid;然后保存

检查配置文件的语法是否正确

nginx  -t

结果如下就可以了

输入命令:vim  /lib/systemd/system/nginx.service

编辑

[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/run/nginx.pid
#注意文件位置,如果不对 启动不了
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 
#注意启动文件位置
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
[Install]
WantedBy=multi-user.target

编辑好后,重启

systemctl daemon-reload
systemctl restart  nginx

编译安装的优劣势

好处:

1、开源,如果会代码,可以修改源代码

2、可以自定义模块和功能

缺点:

1、繁琐

2、对新手非常不友好

第二代安装方式

rpm和dpkg

rpm只限于centos,包都是以.rpm为结尾

rpm  -ivh  软件包.rpm    centos系统rpm包安装方法

-q:查找当前系统是否安装了该软件

-i:安装

-v:显示安装过程

-h;已#号键显示安装过程

-e:卸载已安装的软件

rpm和dpkg,他会自动查找安装软件的依赖关系,并不会安装这些依赖关系

ubuntu系统:

dpkg

-i:安装

-r: 卸载

-p:完全清楚软件包(不推荐)

-l:查找当前系统是否安装该软件

dpkg -l 无法查找到编译安装的软件

第三代:

apt    yum 自动化一键式安装(重点)

apt  ubuntu  ---------------------deb的包

yum  centosuf-------------------rpm的包

> 两种安装都有在线,本地-----------------包

apt和yum的安装----安装完成之后软件的默认位置都在/etc

挂载

Linux系统硬件设备必须要和本地目录做挂载

设备的挂载命令:mount

-t:指定文件系统的类型,系统可以自动识别,可以不加。

-o:指定挂载的参数,指定挂载目录的权限和配额

-a:自动挂载,根据/etc/fstab的配置实现

-v:显示详细过程,可以不加

挂载规则:

1、一个设备只能挂载一个目录

2、挂载点,就是linux系统中的一个目录,这个目录最好是一个空目录(新建的目录)

mount /dev/sr0(光盘镜像) /mnt/

 前一个是设备,后一个是本机的目录

表示目录的路径一定要是绝对路径

centos安装软件

cd /etc/yum.repos.d
mkdir bak
mv * bak/
vim local.repo
#进入编辑页面
[local]
name=local
#这是个描述信息,name=可以是任意内容
baseurl=file:///mnt
#指定光盘镜像的挂载目录作为软件的仓库源
enabled=1
#开启此yum源,可以不加,默认就是开启
gpgcheck=0
#不检查软件的序列号,加快下载速度
#按esc,输入:wq保存退出
yum clean all  &&  yum   makecache
#清楚之间的缓存信息   更新并同步元数据(保存每个软件之间的关系)

centos系统安装第三方源:yum  -y   install   epel-release

每次有新的源配置加入到/etc/yum.repos.d/,都需要执行更新同步元数据(保存了软件之间的依赖关系)

卸载  yum   remove   -y

安装 yum   -y  install

获取在线源软件包  yum  upable

apt-get     update更新安装源

编译安装

rpm和dpkg包,而且这个包必须是准备好的,而且已经在系统的目录当中

yum apt 只要有源即可,自动下载自动安装,自动解觉依赖关系

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

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

相关文章

Halcon 多相机统一坐标系(标定)

多相机统一坐标系是指将多个不同位置的相机的图像采集到同一个坐标系下进行处理和分析的方法。 在计算机视觉和机器视觉领域中,多相机统一坐标系被广泛应用于三维重建、立体视觉、目标跟踪等任务中。 以gen_binocular_rectification_map(生成描述图像映…

【libGL error】Autodl云服务器配置ACT的conda虚拟环境生成训练数据时,遇到了libGL相关错误,涉及swrast_dri.so

问题与解决方案 1. libGL error: MESA-LOADER: failed to open iris conda install -c conda-forge libstdcxx-ng来源suffix _dri 下面的问题是在Autodl云服务器上运行程序是出现的,在Ubuntu笔记本上安装的Anaconda没有出现以下问题。 Autodl云服务器安装的是Mi…

逆变器竞品分析--绿联150W方案【2024/10/30】

绿联这款车载逆变器具备两个AC输出插座,支持150W输出功率。1A1C快充接口支持30W输出功率,可以同时为四台设备供电。逆变器采用车充输入供电,自带1.3米输入线,逆变器内置数显屏幕,能够实时显示工作状态,时刻…

LeetCode 热题 100之链表3

1.k个一组翻转链表 思路分析:我们需要将链表分成若干个长度为 k 的子链表组,逐组进行翻转。若最后一组节点的数量不足 k,则保持原有顺序 创建一个虚拟头节点 dummy,以简化边界条件的处理。该节点的 next 指向链表的头节点。通过 d…

Redis慢查询分析优化

文章目录 一、定义二、慢查询参数配置三、慢查询日志四、排查步骤五、Redis变慢原因 一、定义 在Redis执行时耗时超过某个阈值的命令,称为慢查询。 慢查询日志帮助开发和运维人员定位系统存在的慢操作。慢查询日志就是系统在命令执行前后计算每条命令的执行时间&…

接口自动化测试平台项目环境搭建

这篇文章主要记录开发接口自动化测试平台的尝试作---环境搭建和写一个项目管理模型。 电脑需要有python环境,且已经安装了django,我用的是python3.12 和 django 最新版本。写代码我使用的pycharm。 其中环境搭建大概分下面几步: 一、在代码…

Oracle OCP认证考试考点详解082系列06

题记: 本系列主要讲解Oracle OCP认证考试考点(题目),适用于19C/21C,跟着学OCP考试必过。 26. 第26题: 题目 解析及答案: 关于间隔(INTERVAL)数据类型,以下哪两个陈述是…

python的数据结构列表方法及扩展(栈和队列)

python的数据结构 python的list方法 list.append() 添加一个元素到列表末尾。list,append(num)相当于a[len(a):] [num] a [1,2,3,4,5] a.append(6) print(a) a[len(a):] [7] print(a)list.extend() 添加指定列表的所有元素。list.extend(nums)相当于a a nums a [1,2,3]…

highcharts的datalabels标签格式化

Highcharts的数据标签格式化 代码如下 plotOptions: {series: {dataLabels: {enabled: true,format: {y:.2f} mm}} },y就是当前数据点的值,.2f代表2位小数,效果如下图

如何安装自动化测试工具katalon?

一、下载,最下面有免费的版本 Katalon Studio 免费下载 |卡塔隆 二、安装 第一次安装,需要输入注册信息,注册成功之后,就可以使用了。

从简单的demo开始让您逐步了解GetX的用法

目录 前言 一、从demo开始体现下Getx的用法 二、从最简单的功能开始 1.新建一个Flutter工程 2.GetX初体验 1.路由跳转 1.普通路由跳转 2.跳转并从堆栈中销毁当前页面 3.跳转并销毁之前所有页面 4.跳转以及传值 2.更方便的实现SnackBar、Dialog、BottomSheet 三、Ge…

【无标题】从网红长沙看背后的湘菜产业

“吃什么?” 相信这是每一个来长沙旅游的人,面临的第一个问题。 近年来,长沙以美食为媒介,成功吸引了无数游客的目光。而湘菜,作为湖南最具特色的美食名片,无疑在这场美食盛宴中占据了举足轻重的地位。 …

使用 Qt 实现自定义罗盘控件

用 Qt 编写一个简单的罗盘控件,该控件能够动态显示方向。该控件实现了一个带有北(N)和南(S)标记的圆形罗盘面盘,具有可以根据输入角度旋转的指针。 代码功能概述 该项目定义了一个 CompassWidget 类&…

算法|牛客网华为机试21-30C++

牛客网华为机试 上篇:算法|牛客网华为机试10-20C 文章目录 HJ21 简单密码HJ22 汽水瓶HJ23 删除字符串中出现次数最少的字符HJ24 合唱队HJ25 数据分类处理HJ26 字符串排序HJ27 查找兄弟单词HJ28 素数伴侣HJ29 字符串加解密HJ30 字符串合并处理 HJ21 简单密码 题目描…

使用 MMDetection 实现 Pascal VOC 数据集的目标检测项目练习(二) ubuntu的下载安装

首先,Linux系统是人工智能和深度学习首选系统。原因如下: 开放性和自由度:Linux 是一个开源操作系统,允许开发者自由修改和分发代码。这在开发和研究阶段非常有用,因为开发者可以轻松地访问和修改底层代码。社区支持:…

【ECMAScript标准】深入解析ES5:现代JavaScript的基石

🧑‍💼 一名茫茫大海中沉浮的小小程序员🍬 👉 你的一键四连 (关注 点赞收藏评论)是我更新的最大动力❤️! 📑 目录 🔽 前言1️⃣ ES5的概述2️⃣ ES5的关键特性3️⃣ ES5与之前版本的区别4️⃣ …

【万户软件-注册安全分析报告-无验证方式导致安全隐患】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 1. 暴力破解密码,造成用户信息泄露 2. 短信盗刷的安全问题,影响业务及导致用户投诉 3. 带来经济损失,尤其是后付费客户,风险巨大,造…

第2章 Android App开发基础

第 2 章 Android App开发基础 bilibili学习地址 github代码地址 本章介绍基于Android系统的App开发常识,包括以下几个方面:App开发与其他软件开发有什么不一 样,App工程是怎样的组织结构又是怎样配置的,App开发的前后端分离设计…

文本分段Chunking综述-RAG

为什么要分段? 即便大模型开始普通支持更大的上下文,但 RAG 技术目前仍然具有不可替代的价值,RAG 需要外部知识库。外部知识文档往往比较长,可能是包含几十页甚至数百页的内容,如果直接使用会存在以下问题&#xff1a…