Linux安装软件通用办法总结及注意事项(全局运行、守护进程、自启动,开放服务端口)

一、自带软件工具安装软件

安装软件推荐用系统自带的工具(如Centos的yum、Ubuntu的apt)

1.1 查询软件源提供的关于所需软件的信息

bash 复制代码
sudo apt list xxxx

1.2 安装软件

bash 复制代码
sudo apt install xxxx

1.3 卸载软件

bash 复制代码
sudo apt uninstall xxxx

1.4 更新软件源信息

sudo apt update xxxx

二、源码编译安装

2.1 根据填写配置生成Makefile

bash 复制代码
configure XXXXX XXXXXX XXXXXXXXXX

2.2、根据Makefile编译

bash 复制代码
make

2.3、安装-----安装时一般已经实现了全局可执行、变为服务等等

bash 复制代码
make install

三、 针对很多软件只提供了可执行文件的情况

  1. 要让可执行文件全局可执行办法

    1.将可执行文件放到bin目录下sudo cp <binary-name> /usr/local/bin/或在bin目录下建立软连接sudo ln -s /absolute/path/to/<binary-name> /usr/local/bin/<binary-name>

    2.将所在目录加入环境变量echo "export PATH=/home/wzy/go/bin:$PATH" >> ~/.profile && source ~/.profile

  2. 守护进程的办法(将程序变为服务)

    复制代码
        # 编辑配置文件
        vim /usr/lib/systemd/system/cloudreve.service

以cloudreve为列,根据自己需求修改此文件

bash 复制代码
[Unit]
Description=Cloudreve
Documentation=https://docs.cloudreve.org
After=network.target
After=mysqld.service
Wants=network.target

[Service]
#User=cloudreve #为了安全最好新建一个cloudreve用户
WorkingDirectory=/PATH_TO_CLOUDREVE
ExecStart=/PATH_TO_CLOUDREVE/cloudreve
Restart=on-abnormal
RestartSec=5s
KillMode=mixed

StandardOutput=null
StandardError=syslog

[Install]
WantedBy=multi-user.target
bash 复制代码
# 更新配置
systemctl daemon-reload
bash 复制代码
# 启动服务
systemctl start cloudreve
  1. 将服务设置为自启动
bash 复制代码
systemctl enable cloudreve

4、如果对外提供网络服务防火墙开放服务端口----如果是阿里云等还要在网页管理端安全组里开放端口

Ubuntu的ufw防火墙

bash 复制代码
ufw enable#开启防火墙
ufw default deny
bash 复制代码
sudo ufw allow 22/tcp # 开放22端口

让配置生效

bash 复制代码
sudo ufw reload

Centos的firewall防火墙

bash 复制代码
systemctl start firewalld.service  #开启防火墙
bash 复制代码
firewall-cmd --zone=public --add-port=22/tcp --permanent   # 开放22端口

让配置生效

bash 复制代码
firewall-cmd --reloaad

四、根据软件的官方文档提供配置文件

相关推荐
eastyuxiao1 天前
思维导图拆解项目范围 3 个真实落地案例
大数据·运维·人工智能·流程图
GanGanGanGan_1 天前
RustDesk 安装指南 — Rocky Linux 9 + XFCE X11
linux·运维·centos
风落无尘1 天前
《智能重生:从垃圾堆到AI工程师》——第五章 代码与灵魂
服务器·网络·人工智能
南境十里·墨染春水1 天前
linux学习笔记 网络编程——Socket入门与TCP客户端/服务器实现
linux·服务器·网络
Sirens.1 天前
twikoo:从MongoDB Atlas到本地部署
运维·服务器
Meya11271 天前
别再人工硬扛机房管理!智能 U 位系统,让机房管理一键数字化
大数据·运维
DFT计算杂谈1 天前
自动化脚本一键绘制三元化合物相图
java·运维·服务器·开发语言·前端·python·自动化
Yupureki1 天前
《Linux网络编程》6.UDP原理
linux·运维·服务器·网络·udp
楼田莉子1 天前
Linux网络:NAT_代理
linux·运维·服务器·开发语言·c++·后端
烛衔溟1 天前
TypeScript 索引签名、只读数组与 keyof / typeof 入门
linux·ubuntu·typescript