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

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

相关推荐
画中有画7 小时前
使用yolov8实现自动化脚本
运维·yolo·自动化
Piko6149 小时前
H3C IRF2 堆叠实战:打造高可靠核心交换网络
运维·网络·笔记
JAVA面经实录9179 小时前
Linux 常用命令完整知识体系
java·linux·开发语言·汇编
万联WANFLOW12 小时前
SD-WAN 控制平面高可用怎么做?SDWAN 控制器挂了,全网会发生什么
运维·网络·分布式·架构
酱学编程13 小时前
【从零到一实现一个 AI Agent 框架 · 第四篇】04. 任务规划:拆解复杂目标 -
服务器·网络·数据库·人工智能
SkyWalking中文站14 小时前
认识 Horizon UI · AI Assistant:用日常语言查询你的可观测性数据
运维·监控·自动化运维
艾莉丝努力练剑15 小时前
OpenCode AI 编程:Ubuntu 24.04 环境安装与使用指南
linux·服务器·网络·人工智能·tcp/ip·ubuntu
崇山峻岭之间15 小时前
Keil5输出hex转换为bin的设置
linux·运维·服务器
Hoxy.R15 小时前
KingbaseES读写分离高可用集群扩容、备库重建与故障切换实战
运维·数据库
谷雪_65816 小时前
Linux 网络命名空间:从内核原理到企业级容器网络架构全景实战
linux·网络·架构