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

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

相关推荐
BreezeJiang10 小时前
从域名到 Node.js:一次云服务器请求经过了哪些层?
服务器
草莓熊Lotso11 小时前
【Redis 初阶】Set 类型深度解析:去重集合的运算能力与实战场景
linux·网络·数据库·windows·redis·tcp/ip·缓存
张文君12 小时前
ubuntu26.04坏道坏块分区隔离急速版260831-V0.12
linux·python
IT大白鼠12 小时前
Docker 实战 ELKF 日志监控:容器日志全栈收集分析方案
运维·docker·容器
贝锐20 小时前
从国产化信创设备到商用安卓终端,向日葵如何帮助企业实现统一运维管理?
linux·运维·远程控制
Julien200421 小时前
调查和解决 SELinux 问题
linux·运维·服务器·网络·学习方法
天远Date Lab1 天前
零信任架构实战:基于天远双人婚姻评估查询构建自动化房产按揭联合审查网关
运维·人工智能·架构·自动化
2601_962074681 天前
自己编译RustDesk,并将自建ID服务器和key信息写入客户端
运维·服务器
小张同学a.1 天前
Docker 容器实战 1—— docker 基础与镜像构建
linux·运维·docker·容器
大模型丫丫1 天前
Hermes Agent:轻量级智能体框架实战指南
大数据·运维·服务器