首页 > 系统相关 >Linux组件安装部署手册模板

Linux组件安装部署手册模板

时间:2023-09-01 16:44:06浏览次数:62  
标签:xxx 默认 yum Linux 组件 安装 模板

Linux系统-部署-运维系列导航

 

背景说明

组件安装步骤是基本通用的,大部分组件安装都需要经过一些必须的流程,才能成为有效的服务。  本文以Linux(CentOS 7)系统为基础介绍,其他操作系统原理一样,只是部分操作的具体执行方式需要根据操作系统调整。    根据经验总结,组件安装一般都需要进行几个操作,可以参考,在安装一些新组件时,提供基本的操作指导,也可以根据本文来学习、识别一些组件安装教程的完整性与有效性。  附图:RPM默认安装路径

组件安装操作步骤一般包括如下,根据不同组件的安装目标,部分操作可以省略。

 

一、获取组件可执行程序库,包括主程序,此为组件的基本文件

特别关注:CPU架构 请后去安装包之前,确认Linux服务器的CPU架构,如果服务器架构与组件不符,则无法运行
#arm架构
[app@ecs-4bcb-0003 ~]$ arch
aarch64
[app@ecs-4bcb-0003 ~]$ uname -a
Linux ecs-4bcb-0003.novalocal 4.19.90-23.8.v2101.ky10.aarch64 #1 SMP Mon May 17 17:07:38 CST 2021 aarch64 aarch64 aarch64 GNU/Linux
[app@ecs-4bcb-0003 ~]$  cat /proc/version
Linux version 4.19.90-23.8.v2101.ky10.aarch64 ([email protected]) (gcc version 7.3.0 (GCC)) #1 SMP Mon May 17 17:07:38 CST 2021

#x86架构
[app@host-10-169-3-54 ~]$ arch
x86_64
[app@host-10-169-3-54 ~]$ uname -a
Linux host-10-169-3-54 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[app@host-10-169-3-54 ~]$ cat /proc/version
Linux version 3.10.0-957.el7.x86_64 ([email protected]) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Thu Nov 8 23:39:32 UTC 2018
  获取该程序库可以通过以下3种方式
  1. 二进制安装
    • 可以下载组件源码编译、安装,一般为make && make install方式,可以指定安装路径
    • 可以下载官方提供的已编译程序包 
  2. rpm安装
    • 下载组件的相关rpm包,执行安装。
    • rpm包可以是多个独立的模块包,也可以是打包一起的捆绑包(bundle标识)。
    • 需要注意,独立包安装时,可能需要关注组件依赖顺序来决定安装顺序。 安装路径见上文附图。
  3. yum安装
    • 安装过程中需要网络,实时下载组件。
    • yum是rpm软件包管理器,从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,避免了手动安装的麻烦(寻找资源、下载;放到指定目录安装;处理依赖关系并下载依赖关系的包进行安装)。
    • yum安装需要配置yum源,即组件仓库,Linux发行商以及一些企业、机构都会提供相应的yum源。 不同的yum源提供的组件分类以及组件版本都不相同,所以使用yum方式安装组件需要确认当前使用的yum源中该组件的版本(yum search xxx,然后 yum info xxx 或者 yum list xxx --showduplicates 显示所有版本)。 也可以下载安装该组件的yum仓库更新包(也是rpm格式),在当前yum源中更新组件,然后通过yum方式安装。
    • 需要注意,组件的yum仓库更新包可能会包含多个版本,更新yum仓库后,需要确认当前启用的组件版本(yum search xxx,然后 yum info xxx 或者 yum list xxx --showduplicates 显示所有版本),如果非目标版本,则需要修改 /etc/yum.repos.d/xxx.repo文件,设置目标版本的enabled=1,其他版本enabled=0,同时只能启用一个版本。 安装路径与rpm相同,见上文附图
  特别关注:安装组件前,请确认系统中未安装或已卸载该组件,否则可能由于依赖组件版本问题导致安装失败。可以通过以下2种方式确认
  1. rpm方式
    • 检查是否已安装 rpm -qa | grep xxx
    • 卸载 rpm -e xxx,默认会检查依赖关系,如果被其他组件依赖,则卸载时被,也可以指定 --nodeps跳过检查依赖
  2. yum方式
    • 检查是否已安装 yum list installed | grep xxx
    • 卸载 yum remove xxx,默认会自动卸载依赖该组件的其他组件

 

二、安装系统服务

将安装的应用程序作为系统服务运行,可以使用系统服务指令操作,提高效率 服务操作指令支持一下2种方式,其中 .service可以省略。
  1. servcie xxx.service start/stop/restart,
  2. systemctl start/stop/restart xxx.service、

特别关注:systemctl为目前大部分Linux系统默认服务管理方式,service命令会自动重定向到systemctl命令执行。

默认规范下,创建 .service 脚本文件,保存在 /usr/lib/systemd/system/、/usr/lib/systemd/user/ 目录下。

.service脚本文件可以由安装程序生成并部署,也可以手动生成并部署,且该文件可以修改。

 

三、主程序加入到环境变量

默认主程序只能在程序当前目录下执行,即在任意目录下只能通过主程序的绝对路径执行,或cd到主程序所在目录,通过./xxx执行,如果想要在任意目录下直接通过xxx执行,则需要设置环境变量。 系统默认环境变量目录如下,以下路径已经默认加载到系统Path
/bin : commandsin this dir are all system installed user commands   
系统预装系统程序,纯净系统中默认安装,所有用户都可以使用
例如:cat、cp、df、gzip、kill、ls、mkdir、more、rm、tar等。

/sbin: commands in this dir are all system installed super user commands  
系统预装系统程序,纯净系统中默认安装,只有超级用户可以使用
例如:fdisk、ifconfig、 reboot、 shutdown等。    

/usr/bin: user commands for applications 
用户安装系统程序,纯净系统中非默认安装,所有用户都可以使用,后期安装
例如c++、g++、gcc、du、free、gzip、less、locale、make、man、passwd、wget等。

/usr/sbin:super user commands for applications 
用户安装系统程序,纯净系统中非默认安装,只有超级用户可以使用,后期安装
例如:dhcpd、httpd、netconfig、swap、tcpd、tcpdump等。 

/usr/local/bin
用户安装第三方程序,所有用户都可以使用
例如:MySQL

/usr/local/sbin
用户安装第三方程序,只有超级用户可以使用
例如:nginx
  所以设置环境变量可以通过以下方法
  • 将程序目录添加到系统Path(修改 /etc/profile 文件,然后 source /etc/profile 或重启 生效)
  • 将主程序拷贝到以上系统默认环境变量目录
  • 在以上系统默认环境变量目录中创建主程序的软连接

 

四、配置文件

配置文件加载方式一般为2种,不同组件设计的方式不同。
  1. 默认配置文件,组件会定义一些配置文件加载路径,以及各路径的加载优先级,启动时无需指定加载文件,程序自动查找。
  2. 启动时指定配置文件,即在启动命令中直接指定加载文件的路径,程序将优先加载指定的配置文件。
特别关注:配置文件中指定的所有路径,请在启动前确保已存在,否则启动异常

 

五、运行用户

除特殊组件要求外,如MySQL,一般都可以使用默认用户启动,如root,用户指定方式包括配置文件指定 以及 启动命令指定,将根据实际组件特性决定。  

六、开机启动

请参考教程 Linux开机启动方案

 

七、服务启动运行

特别关注:系统默认启用了SELinux内核模块(安全子系统),所以在服务绑定/监听某些端口时,可能会提示无绑定端口的权限,此时需要禁用SELinux,修改 /etc/selinux/config 文件并设置SELINUX=disabled
Can't start server: Bind on TCP/IP port: Permission denied

 

特别关注:selinux设置完成需要重启生效,如果当前不方便重启,可以执行 setenforce 0 临时关闭selinux,下次重启是配置再生效

  特别关注:系统默认启用了防火墙,请在启动服务前关闭防火墙,或在防火墙中添加服务端口  

标签:xxx,默认,yum,Linux,组件,安装,模板
From: https://www.cnblogs.com/xiaoyaozhe/p/17671217.html

相关文章

  • linux ~/.ssh 目录权限的问题
    折腾半天利用客户端的公钥免输入密码登陆,结果发现~/.ssh/authorized_keys的文件权限有问题应该设置成600或者700,也不知道是修改过这个文件权限还是默认就不是600或700权限终极解决是设计了个脚本 1#!/bin/bash2find.ssh/-typef-execchmod600{}\;;3find.ssh/......
  • Linux完全卸载MySQL(二进制包/源码 安装方式)
    测试环境说明:[root@linuxpg53~]#cat/etc/redhat-releaseCentOSLinuxrelease7.6.1810(Core)[root@linuxpg53~]#mysql--versionmysqlVer14.14Distrib5.7.30,forlinux-glibc2.12(x86_64)usingEditLinewrappermysql>status--------------mysqlVer......
  • GaoNeng:我是如何为OpenTiny贡献新组件的?
    本文作者:GaoNeng大家好啊,又是我GaoNeng。最近在给OpenTiny做贡献,感觉renderless这个架构还是挺有意思的,就贡献了一个color-picker组件,简单写篇文章稍微记录一下。也欢迎朋友们给TinyVue开源项目点个Star......
  • Linux系统中“sid”是什么意思?
    sid只是一个缩写,它具有很多种含义,在不同的领域有着不同的作用。而在Linux系统中,sid全拼为SecurityIdentifiers,代表安全标识符,那么Linux系统中“sid”是什么意思?其作用又有哪些?我们一起来看看详细介绍。在Linux中,“SID”通常指的是安全标识符。安全标识符是用来唯一......
  • Linux创建用户 (Ubuntu)
    一:useradd  学习用户管理首先从注册开始!我们登录Linux系统时需要输入用户名和密码,也就是说,一个用户包括用户名和密码两个部分。那么,要想完整的添加一个用户,就需要使用两个命令来完成。useradd用户创建用户,passwd用来设置用户密码。  useradd是Linux系统中常用的系统管理命令,......
  • linux普通用户赋予USB设备访问权限
    新建规则文件,GROUP表示用户组.id查看用户$iduid=1000(huanhe)gid=1000(huanhe)组=1000(huanhe)$cat/etc/udev/rules.d/xxx_printer.rulesSUBSYSTEM=="usb",ATTRS{idVendor}=="0016",MODE="0666"SUBSYSTEM=="usb_device",ATTRS{idVe......
  • 技术分享 | LSM,Linux 内核的安全防护盾
    计算机安全是一个非常重要的概念和主题,它不仅仅可以保护用户个人信息和资产的安全,还可以影响到用户在使用过程中的体验;但同时,它也是一个很抽象的概念,关于其相关文献和资料不计其数,但它究竟是什么、包含什么,并没有详尽并全面的介绍。尽管困难,国际上还是对计算机安全概括出了三个特性......
  • Linux tcp连接数监控实战shell脚本
     tcp连接数监控可用于存储维护中前端业务访问量的统计:使用命令netstat-anpProto:表示协议类型,Recv-Q:表示收包数量, Send-Q:表示发包数量实战示例:#!/bin/bash#thisscriptisusedforcountthequantityofsessionoverstocklog=/ap/log/session_overstock_count.loglog......
  • Linux开发小工具
    Linux系统-部署-运维系列导航C++僵尸进程与孤儿进程 #include<stdio.h>#include<unistd.h>/*本程序启动一个子进程,父子进程无限循环不退出*//**编译:gcczombie_creator.c-ozombie_creator.exe*执行:./zombie_creator.exe*//**使用方法*kill父进程,则子......
  • Linux DNS配置手册
    Linux系统-部署-运维系列导航关于DNS生效优先级Linux系统中,域名解析相关的配置存在多个地方,经常使用的包括1.本地hosts文件,/etc/hosts,指定将域名解析到特定IP#配置格式ip域名1域名2... 2.dns配置文件,/etc/resolv.conf,指定dns服务器,系统会连接dns服务器查询域名解析......