当前位置: 首页 > news >正文

linux系统安装软件的三种方式

 一些概念介绍

  • 程序:未执行的代码。
  • 进程:执行起来的代码。
  • 线程:进程运行起来之后,线程执行运行过程中的代码。
  • 源码包:由一大推源代码程序组成,是由程序员按照特定的格式和语法编写好的,现成的安装包。它又叫做二进制包,是成功编译之后产生的包。
  • 二进制:是计算机语言,计算机语言只有0和1。
  • 安装源文件的位置:ubuntu /etc/apt/sources.list 在线源 ; centos  /etc/yum.repos.d/*.repo 在线源和本地源(光盘镜像)。
  • centos关闭防火墙 systemctl stop firewalld  ,关闭srtenforce的安全机制 setenforce 0  ;  ubuntu关闭防火墙 ufw disable。

一、编译安装

软件依赖关系既不查找也不安装,需要自己查找安装依赖环境。 

1.安装依赖环境

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 

2.创建程序用户

 useradd -M -s /sbin/nologin nginx

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

-s  指定创建用户的登录shell

nologin 禁止该用户登录系统

nginx 用户名nginx

3. 解包-->配置-->编译-->安装

配置、编译、安装哪一步出错都要回到配置,重新配置

以nginx为例

(1)解包

apt install -y lrzsz   //lrzsz是一个用于文件传输的软件包

tar xf nginx-1.22.0.tar.gz

 (2)配置

cd nginx-1.22.0/

ls

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

//安装到指定的路径 /usr/local/ngin,规定所有者和所在组都为nginx

 (3)编译

make -j 4

//-j 4  用4核,安装速度快

 (4)安装

make install

//编译、安装命令可以用&&连接起来,一起执行

如 make -j 4 && make install

 4.对程序进行配置

对权限、系统控制的配置

//让系统识别nginx的操作命令

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

//修改权限

cd /usr/local

ll

chown -R nginx.nginx nginx/     //-R递归修改nginx安装目录的所有者和所在组都为nginx

cd nginx

mkdir run   //给进程号创建一个目录

chown nginx.nginx run     

cd conf/

ll

vim nginx.conf   //nignx的主配置文件nignx.conf

//修改pid的路径

pid /usr/local/nginx/run/nginx.pid;

nginx -t   //检查配置文件的语法是否正确

vim /lib/systemd/system/nginx.service  //编辑 nginx 服务的 systemd 配置文件

//以下为编辑的内容

[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

//重新加载 systemd 配置

systemctl daemon-reload

//重启服务以应用更改

systemctl restart nginx

cd //usr/local/nginx/html

vim index.html  //修改内容

根据ip地址访问nginx的web页面

5.编译安装的好处和缺点

好处

  • 源码包是开源,如果你会代码,可以修改源代码

  • 可以自定义模块和功能

 缺点

  • 繁琐

  • 对新手非常不友好

 二、rpm和dpkg

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

 rpm

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

rpm -ivh 软件包.rpm     //centos安装rpm包的方法

rpm -e   应用名称    //卸载应用

参数功能
-i安装
-e卸载
-v显示安装过程
-h以#显示安装进度
-q查询当前系统中是否安装了该软件,编译安装的软件查询不出来

 dpkg 

dpkg一般用于ubuntu,包是以.deb结尾的

参数功能
-i安装
-r卸载
-l查询当前系统中是否安装了该软件
-p完全清除软件包(不推荐)

 三、apt和yum

 自动化一键式安装

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

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

linux系统的硬件设备必须要和本地目录做挂载才能使用

设备的挂载命令mount

挂载的规则:

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

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

例如:

mount    /dev/sr0    /mnt/

前一个是设备,后一个是本机的目录(必须绝对路径表示)

df -h 查看挂载

参数命令
-o可以指定挂载的参数,比如指定挂载目录的权限和配额
-a自动挂载,根据/etc/fstab的配置实现
-t指定文件系统的类型,系统可以自动识别,可以不加
-v显示详细过程,可以不加

 做yum的本地源

  • 使用iso镜像文件,设备状态的两个连接选项勾上

  •  进行挂载

mount   /dev/sr0   /mnt

  • 对yum仓库的配置文件进行配置 

 cd   /etc/yum.repos.d/      //进入配置文件

vim   local.repo                 //新建配置文件

[local]   

#[ ]里的名称必须和文件名一致

name=local

#这个是描述信息,name=可以是任意内容

baseurl=file:///mnt

#指定光盘镜像的挂载目录作为软件的仓库源

enabled=1

#开启此yum源,可以不加,默认是开启的

gpgcheck=0

#不检查软件的序列号,加快下载速度

Esc键   :wq

yum clean all && yum makecache

清除之前的缓存信息   &&   更新并同步元数据

不清除缓存也没事,但是一定要同步更新元数据

元数据保存软件之间的依赖关系

每次有新的源配置加入到/etc/yum.repos.d/都需要执行更新同步元数据

 添加yum的在线源

cd  /etc/yum.repos.d/

wget http://mirrors.aliyun.com/repo/Centos-7.repo

yum update

 yum的安装软件和卸载软件

//以软件tree为例

yum install -y tree 安装

yum remove -y tree 卸载

 添加apt的在线源

cd   /etc/apt/

vim sources.list

//可以添加阿里源,比如以下的几行

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

......

Esc键   :wq

apt-get update    //同步并更新

apt的安装软件和卸载软件

apt -y install      软件名   //安装

apt -y remove   软件名   //卸载


http://www.mrgr.cn/news/61235.html

相关文章:

  • Laravel 中 Cache::remember 的基本用途
  • Linux 系统下查看磁盘是SSD还是HDD命令
  • 哥大开发AI模型助力癌症和遗传病研究,近屿智能专注培养AI人才
  • 基于Piquasso的光量子计算机的模拟与编程
  • LabVIEW启动时Access Violation 0xC0000005错误
  • 【物流管理系统 - IDEAJavaSwingMySQL】基于Java实现的物流管理系统导入IDEA教程
  • JavaEE初阶------网络编程续+传输层UDP协议介绍
  • WebGL 3D基础
  • 当变频器报警过热故障时,如何处理
  • 基于SSM的智能台球厅系统
  • CAN物理层(ISO 11898-2 2024)
  • 《掌握 Java:从基础到高级概念的综合指南》(11/15)
  • 解决goravel/gorm自动迁移AutoMigrate 时会将关联关系也一并迁移问题
  • 结合无监督表示学习与伪标签监督的自蒸馏方法,用于稀有疾病影像表型分类的分散感知失衡校正|文献速递-基于生成模型的数据增强与疾病监测应用
  • stm32入门教程--DMA 超详细!!!
  • 免费的一键抠图软件有哪些?5个软件帮助你快速进行一键抠图
  • JavaScript Date对象 、日期求差
  • 工商业光储充新能源电站用 安科瑞ACCU-100微电网协调控制器
  • redis修改配置文件配置密码开启远程访问后台运行
  • 解决minio跨域问题
  • springboot民大校园美食推荐系统-计算机毕业设计源码10508
  • 把你的产品宣传册制作成这种3D宣传册,瞬间提升档次
  • mysql定时清空某个表数据
  • Android Activity 属性 TaskAffiity、allowTaskReparenting
  • 在线教育系统源码开发详解:网校培训平台搭建的核心技术
  • 10.29halcon