相关背景

之前在Ubuntu平台上搭建了Jenkins(在Ubuntu机器上使用war包安装Jenkins),现在由于一些需求,需要将系统迁移到AlmaLinux平台。由于AlmaLinux属于CentOS系列,与Ubuntu所属的Debian系列不同,在此记录一下迁移中遇到的问题。

问题1:账号没有sudo权限

现象:根据Linux机器自建账号并赋予sudo权限,同时修改远程端口创建CentOS的账号并加入wheel组后,发现新账号无法sudo

解决:/etc/sudoers文件中,wheel组的sudo权限被默认注释,需取消注释使其生效

文件默认为只读,可通过chmod u+w /etc/sudoers增加写权限,编辑完成后通过chmod u-w /etc/sudoers撤销写权限,也可以编辑后使用:wq!来强制保存

%wheel  ALL=(ALL)       ALL

或者可以选择将用户加入sudoers组,不过用户在sudo时会不需要输入密码

gpasswd -a <username> sudoers

问题2:ssh无法通过密码登录

现象:/etc/ssh/sshd_config中PasswordAuthentication设为yes,但ssh远程时,依旧提示公钥验证失败,只能通过在authorized_keys中添加公钥来登录

解决:sshd_config中include了sshd_config.d文件夹中的配置,该配置优先级高于sshd_config文件,其中将PasswordAuthentication设为了no,修改对应配置后可以通过密码远程

问题3:中文显示乱码,且执行yum命令时提示“Failed to set locale, defaulting to C.UTF-8”

现象:拷贝到系统中的文件中,中文显示乱码,本地执行yum命令,第一行会提示“Failed to set locale, defaulting to C.UTF-8”

解决:调整系统语言环境

首先切换至root账号,并安装语言包

yum install glibc-langpack-zh
yum install glibc-langpack-en

然后设置语言环境

echo "export LC_ALL=en_US.UTF-8" >> /etc/profile
source /etc/profile

之后再运行yum命令就不会有该提示了,中文也能正常显示

问题4:启动jenkins提示权限不够

现象:根据在Ubuntu机器上使用war包安装Jenkins添加jenkins.sh后,执行./jenkins.sh start提示权限不够

解决:文件没有执行权限,先执行一次chmod +x jenkins.sh后,即可执行

问题5:maven执行时,未使用系统指定的jdk

现象:系统执行java -versionjavac -version返回的是jdk 8,但执行mvn -v返回使用的是jdk 11

解决:通过查看/usr/bin/mvn的内容可以发现,当系统环境变量未指定JAVA_HOME时,会使用/etc/java/maven.conf中的配置,而yum安装maven时,会默认附带安装jdk 11,并在其中将配置指向jdk 11,注释掉该配置后,会使用系统默认jdk

问题6:jenkins无法通过ssh私钥连接node机器

现象:之前未解决问题2时,无法通过密码连接节点机,因此改用密钥形式,在节点机authorized_keys添加公钥,jenkins添加私钥凭据,但是连接节点机失败

解决:旧版本jenkins(我的是2.356)不支持较新的ssh密钥,之前是通过ssh-keygen -t rsa -C "almallinux jenkins"来生成密钥,现改用旧版本的密钥生成方式

ssh-keygen -m PEM -t rsa -C "almalinux jenkins"

问题7:Jenkins Start Job(Jenkins中HTML报告无法正常显示问题解决)执行失败

现象:执行job时,报错“org.jenkinsci.plugins.scriptsecurity.scripts.UnapprovedUsageException: script not yet approved for use”

解决:在Manage Jenkins → In-process Script Approval中审批通过该脚本

问题8:Jenkins控制台输出中文显示乱码,且代码中中文无法正常展示,中文名任务无法在节点机创建目录

现象:Jenkins控制台输出无法正常显示中文,脚本中有中文无法执行,发送邮件中文乱码,执行中文名称任务会直接失败

解决:修改环境变量和启动配置

  1. 节点机配置中,JVM选项设置-Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8
  2. 启动Jenkins的脚本中,增加JVM参数-Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8(原文章中的脚本已修改)
  3. Jenkins系统设置的全局属性中,增加环境变量,键为JAVA_TOOL_OPTIONS,值为-Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8
  4. 设置系统环境变量
    echo "export JAVA_TOOL_OPTIONS=\"-Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8\"" >> /etc/profile
    source /etc/profile

Jenkins从Ubuntu迁移至AlmaLinux问题及相关解决记录的更多相关文章

  1. Centos7安装Jenkins和目录迁移

    Centos7安装Jenkins和目录迁移 内容: 安装Jenkins和相关的配置 尝试目录迁移,模拟磁盘空间不足 1. 安装Jenkins和配置 安装 根据Jenkins的官方安装指引,安装步骤如下 ...

  2. Ubuntu安装出现左上角光标一直闪解决方式

    Ubuntu安装出现左上角光标一直闪解决方式: 01下载ubunu http://cn.ubuntu.com/download/ 02.软碟通 http://pan.baidu.com/s/1qY8O ...

  3. VMware下 Ubuntu 看不到共享文件夹之解决办法

    VMware下 Ubuntu 看不到共享文件夹之解决办法 初学Linux,在VMWare 上装了Ubuntu10.04,主机端和虚拟机相互间的访问是必不可少的,途径有许多,其中vmware tool提 ...

  4. Ubuntu下与菜单和图标相关的几个文件夹

    转自UBUNTU下与菜单和图标相关的几个文件夹 /usr/share/icons  系统图标文件夹 /usr/share/applications  系统菜单文件夹,要在左上角的应用程序菜单中添加一项 ...

  5. Ubuntu jdk报Picked up JAVA_TOOL_OPTIONS信息解决

    下面是摘自http://www.cnblogs.com/coderbean/p/4522182.html 以下是我在网上找了好久找到的: Ubuntu jdk报Picked up JAVA_TOOL_ ...

  6. 【转】Asp.Net Core2.0获取客户IP地址,及解决发布到Ubuntu服务器获取不到正确IP解决办法

    1.获取客户端IP地址实现方法(扩展类) using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc.ModelBinding; u ...

  7. Asp.Net Core2.0获取客户IP地址,及解决发布到Ubuntu服务器获取不到正确IP解决办法

    1.获取客户端IP地址实现方法(扩展类) using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc.ModelBinding; u ...

  8. 在VMware上安装Ubuntu软件步骤与遇到的相关问题及解决方案

    图解演示环境版本: 本机系统: WIN10 虚拟机:VMware Workstation 12(中文版) 安装目标:Ubuntu Desktop 12.04 LTS  (请点击这里)先下载好iso镜像 ...

  9. Ubuntu中Android SDK Manager无法更新解决办法

    Ubuntu中Android SDK Manager无法更新解决办法http://hi.baidu.com/petercao2008/item/d7a64441f04668e81e19bc1a

  10. Ubuntu下Firefox无法播放视频的解决方法

    Ubuntu为Firefox安装Adobe Flash Player 解决方法(解决火狐浏览器安装了三个flash插件中的第二个或者第三个插件而无法安装第一个adobe flash插件的方法):在新立 ...

随机推荐

  1. Flask工厂模式蓝图使用Celery实例【亲测可用,已应用于项目中】

    单一模式运行Celery在官方文档中已经贴出范例代码,这里我们不过多介绍. 在使用Flaks编写大型项目时,使用工厂模式的好处显而易见.因在Celery4.x以上版本已经抛弃了init_app方法,所 ...

  2. Unity Shader编辑器工具类ShaderUtil 常用函数和用法

    Unity Shader编辑器工具类ShaderUtil 常用函数和用法 Unity的Shader编辑器工具类ShaderUtil提供了一系列函数,用于编译.导入和管理着色器.本文将介绍ShaderU ...

  3. DC-SDK 开发文档

    https://resource.dvgis.cn/dc-docs/v2.x/zh/introduction/#%E5%BA%94%E7%94%A8%E9%85%8D%E7%BD%AE

  4. 来会会babel这个重要且神奇的工具

    babel 在前端工程化开发中发挥着至关重要的作用,它能将较高级的语法转成浏览器可识别的代码,无论中 es6 中 const .promise 还是 React.TypeScript. 以下babel ...

  5. c++中unique_ptr 的使用和理解

    unique_ptr 的使用 std::unique_ptr是c++11起引入的智能指针,为什么必须要在c++11起才有该特性,主要还是c++11增加了move语义,否则无法对对象的所有权进行传递. ...

  6. 【go笔记】目录操作

    基本目录操作 涉及:创建目录.重命名目录.删除目录 package main import ( "fmt" "os" "time" &quo ...

  7. Oracle数据库经纬度坐标查询优化与结果错误原因分析、SQL中WKT超长文本字符串处理

    目录 一.Oracle几何空间数据对象和其他数据库的差异 二.Oracle查询一个经纬度坐标是否在边界内部 2.1 查询条件 2.2 查询结果错误,似乎是仅做了MBR匹配 2.3 错误原因 2.4 解 ...

  8. 《Web安全基础》02. 信息收集

    @ 目录 1:CDN 绕过 1.1:判断是否有 CDN 服务 1.2:常见绕过方法 1.3:相关资源 2:网站架构 3:WAF 4:APP 及其他资产 5:资产监控 本系列侧重方法论,各工具只是实现目 ...

  9. QA|Pycharm:allure : 无法将“allure”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。|Allure

    Pycharm中生成allure测试报告时报错如图: 单独执行allure --version也不行,cmd这样执行也报同样的错 网上查了 说是环境变量问题,加一下cmd可以了,重启pycharm也可 ...

  10. 从 5s 到 0.5s!CompletableFuture 异步任务优化技巧,确实优雅!

    一个接口可能需要调用 N 个其他服务的接口,这在项目开发中还是挺常见的.举个例子:用户请求获取订单信息,可能需要调用用户信息.商品详情.物流信息.商品推荐等接口,最后再汇总数据统一返回. 如果是串行( ...