Ubuntu系统安装软件

在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.mzph.cn/diannao/58315.shtml

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

相关文章

关于前端div里面内嵌滚动条的使用

怀旧网个人博客网站&#xff1a;怀旧网&#xff0c;博客详情&#xff1a;关于前端div里面内嵌滚动条的使用 使用方法 需要完成这个效果&#xff0c;只需要在div里面加上一个属性就可以。设置css属性&#xff1a;overflow: auto; 就可以实现-代码如下&#xff1a; <div id…

`a = a + b` 与 `a += b` 的区别

在 Java 中&#xff0c;a a b 和 a b 都用于将 b 的值加到 a 上&#xff0c;但它们之间存在一些重要的区别&#xff0c;尤其是在类型转换和操作行为方面。 使用 操作符时&#xff0c;Java 会自动进行隐式类型转换&#xff0c;而使用 则不会。这意味着在 a b 的情况下&am…

雷池社区版compose配置文件解析-mgt

在现代网络安全中&#xff0c;选择合适的 Web 应用防火墙至关重要。雷池&#xff08;SafeLine&#xff09;社区版免费切好用。为网站提供全面的保护&#xff0c;帮助网站抵御各种网络攻击。 compose.yml 文件是 Docker Compose 的核心文件&#xff0c;用于定义和管理多个 Dock…

自动驾驶-传感器简述

自动驾驶车辆上的传感器类型包含激光雷达、毫米波雷达、相机、imu、rtk、超声波雷达等&#xff0c;这些传感器用来接收外部世界多姿多彩的信号&#xff0c;根据接收到的信号&#xff0c;车载大脑对信号进行处理&#xff0c;那信号的准确程度就尤为重要。 本文将各个传感器的特性…

MNIST 数据集的CSV的格式的使用(SNN)

1&#xff1a; 利用spikingjelly 实现MNIST 数据集分类 设置仿真时间T10 import time import torch import torch.nn as nn import torch.nn.functional as F from torch.utils.data import DataLoader, TensorDataset from spikingjelly.activation_based import neuron, en…

java常用数据结构及其接口

Java 提供了丰富的集合框架及其数据结构&#xff0c;每个结构和接口都有独特的功能。以下是一些常用的数据结构和接口&#xff0c;以及它们的关键方法&#xff1a; ### 接口及其实现 1. **List 接口** - 实现类&#xff1a;ArrayList、LinkedList、Vector - 关键方法&a…

git合并相关操作详解

在使用Git进行分支管理时,合并(merge)操作是非常常见的。下面是Git合并相关的详细步骤和一些常见的场景及注意事项。 一、 基本合并操作 假设我们有两个分支:main 和 feature,希望将 feature 合并到 main 上。 切换到目标分支 首先需要切换到你想合并到的分支。例如,切…

Lucas带你手撕机器学习——岭回归

岭回归&#xff08;Ridge Regression&#xff09; 一、背景与引入 在进行线性回归分析时&#xff0c;我们常常面临多重共线性的问题。多重共线性指的是自变量之间高度相关&#xff0c;这会导致回归系数的不稳定性&#xff0c;使得模型的预测能力降低。传统的线性回归通过最小…

模块化主动隔振系统市场规模:2023年全球市场规模大约为220.54百万美元

模块化主动隔振系统是一种用于精密设备和实验装置的隔振解决方案&#xff0c;通过主动控制技术消除振动干扰&#xff0c;提供稳定的环境。目前&#xff0c;随着微纳制造和精密测量技术的发展&#xff0c;对隔振系统的要求越来越高。模块化设计使得系统能够灵活适应不同负载和工…

STM32 第3章 如何用串口下载程序

时间:2024.10.28 一、学习内容 1、安装USB转串口驱动 1.1串口下载连接示意图 1、USB转串口模块在开发板上是一个独立的模块,可通过调帽与其他串口连接,USART1/2/3/4/5 2、只有USART1才具有串口下载的功能。 3、CH340是电平转换芯片,将电脑端输出的USB电平和单片机输…

移除字符串中空格_Java实现

package com.leetcode;/*** 移除字符串中空格*/ public class RemoveSpaceFromStr {public static String removeWhiteSpaceFromStr(String input){StringBuilder outputnew StringBuilder();char[] charsinput.toCharArray();for (char c : chars) {if(!Character.isWhitespac…

1.3 面向对象 C++面试问题

1.3.1 简述一下什么是面向对象,面向对象与面向过程的区别 什么是面向对象 面向对象&#xff08;Object-Oriented Programming&#xff0c;OOP&#xff09;是一种编程范式&#xff0c;它通过将现实世界中的实体抽象为“对象”来组织代码。面向对象编程关注对象及其交互&#x…

国产游戏的崛起与挑战:技术创新如何驱动未来发展

近年来&#xff0c;中国的游戏行业如星火燎原&#xff0c;国产游戏不仅在国内市场站稳了脚跟&#xff0c;更在国际市场上逐渐展露锋芒。从《原神》到《永劫无间》&#xff0c;这些作品以其精美的画面、复杂的物理引擎和智能化的AI技术赢得了广泛的赞誉。尽管如此&#xff0c;面…

STM32的hal库中,后缀带ex和不带的有什么区别

在STM32的HAL&#xff08;硬件抽象层&#xff09;库中&#xff0c;后缀带“ex”和不带“ex”的文件及其包含的内容存在显著的区别。这些区别主要体现在功能扩展性、使用场景以及API的层次上。 一、功能扩展性 不带“ex”后缀的文件&#xff1a; 这些文件通常包含标准的、核心…

Java中的访问修饰符详解

目录 1. public 2. protected 3. Default (无修饰符) 4. private 在Java编程语言中&#xff0c;访问修饰符是非常重要的一部分&#xff0c;它决定了类、变量、方法和构造器的访问级别。Java中主要有四种访问修饰符&#xff1a;public、protected、default&#xff08;没有修…

行业首发|美格智能创新推出5G+Wi-Fi 7智能终端解决方案,端侧AI助力数智升维

在数字化时代的生产生活过程中&#xff0c;特殊场景下的通信需求愈发重要。高速、灵活、稳定的通信保障能够进一步提升生产生活的效率。随着5G网络的高速发展&#xff0c;一方面&#xff0c;其凭借低时延、高带宽、高可靠性和大规模连接的特性让移动终端的网络连接实现跨越式升…

WebSocket和HTTP请求的区别

1. 连接方式 HTTP请求&#xff1a;基于“请求-响应”模式。每次通信都要重新建立连接&#xff0c;客户端发送请求后服务器返回响应&#xff0c;连接就断开了。这种模式通常适合不频繁更新的数据&#xff0c;如静态页面的加载。WebSocket&#xff1a;支持长连接&#xff0c;连接…

Python是什么

Python在编程语言中的地位 特点使用看法 特点 优点: 语法语义简单,容易上手功能强大,应用广泛生态丰富,具有海量的成熟第三方库方便调用C/C编写的代码 缺点: 执行效率比较弱对多核并发程序不友好动态类型系统对大型项目不友好 使用 扬长避短 看法 我们要把Python当成一…

论文解析八: GAN:Generative Adversarial Nets(生成对抗网络)

目录 1.GAN&#xff1a;Generative Adversarial Nets&#xff08;生成对抗网络&#xff09;1、标题 作者2、摘要 Abstract3、导言 IntroductionGAN的介绍 4、相关工作 Related work5、模型 Adversarial nets总结 6.理论计算 Theoretical Results具体算法公式全局优化 Global O…

springdata同时集成mongodb和elasticsearch异常

错误 Invalid bean definition with name ‘bookEsRepository’ defined in com.db.repository.BookEsRepository defined in EnableMongoRepositories declared on MongoRepositoriesRegistrar.EnableMongoRepositoriesConfiguration: 产生原因 【spring-boot-starter-data…