清空缓存&打包&跳过test

1
mvn package -Dmaven.test.skip=true

安装jar包到本地仓库

1
mvn install:install-file -Dfile=/Users/duanjw/Downloads/ojdbc8.jar -DgroupId=com.oracle -DartifactId=ojdbc8 -Dversion=12.2.0.1 -Dpackaging=jar
阅读全文 »

问题描述

使用passwd命令修改登录用户root的密码,发现报错:Authentication token manipulation error,如图:
paste image

解决办法:

  1. 检查/etc/passwd/etc/shadow文件的属性。
    1
    lsattr /etc/shadow /etc/passwd
  2. 修改为可编辑
    1
    chattr -ia /etc/shadow /etc/passwd
  3. 再次修改密码即可成功
    paste image

一般服务器被挖矿后,CPU会占用到百分百。可以通过top命令,查看cpu使用率。

以下是所经历过的挖矿病毒及解决方法。

挖矿进程:ld-linux-x86-64

进程信息

使用top命令查看进程信息。cpu占用400,是挖矿程序。pid是21980,后边需要用到。
paste image

解决方法

  1. 删掉定时任务

    1
    2
    # 编辑定时任务
    crontab -e

    paste image
    光标移动到这一行:* * * * * /usr/lib/updated/upd >/dev/null 2>&1,按dd删掉这一行并保存。

  2. 如果删除提示权限不足
    paste image
    可能是文件被设置为隐藏、或不可编辑。查看文件属性:lsattr /var/spool/cron/root
    解决导致没有权限的设置:chattr -ia /var/spool/cron/root

    再执行删除定时任务。

  3. 杀掉进程

    1
    kill -9 21980

挖矿进程:kdevtmpfsi

进程信息

使用top命令查看进程信息。cpu占用近400,是挖矿程序。
paste image

问题排查

  1. 根据进程名查询进程所在的目录

    1
    find / -name kdevtmpfsi

    paste image
    根据目录名看出来该进程在Docker容器中。

  2. 根据overaly2的id搜索容器name
    把双引号中的内容替换成上一步中搜索的结果,选择带merged的那条记录。

    1
    docker ps -q | xargs docker inspect --format '{{.Name}}, {{.GraphDriver.Data.WorkDir}}' | grep "f01d21084945ef8b389fc9f1d6b26444b11fcaf8eaf4616ba5ae6b6e8d18621e"

    paste image

  3. 根据容器name查看容器详细
    这个容器不是我们的业务容器,猜测是挖矿容器。

    1
    2
    3
    4
    5
    6
    7
    8
    # 进入容器
    docker exec -it frosty_antonelli /bin/bash

    # 在容器内查看/tmp目录
    ls /tmp

    # 在容器内查看定时任务
    crontab -l

    paste image
    tmp目录包含kdevtmpfsi可执行程序,并且包含定时任务,断定是挖矿容器。

解决方法

  1. 删除Docker中有问题的容器;
    1
    docker rm -f frosty_antonelli
  2. 剩下的参考【挖矿进程:ld-linux-x86-64】的解决方法。

创建仓库

点击齿轮图标 -> Create repository。
paste image

创建快照版仓库

选择:maven2(hosted) -> 填写Name:xxx -> 选择Version policy:Snapshot -> 选择Deployment policy:Allow redeploy。

阅读全文 »

GitLab使用Docker安装,挂载出三个目录到主机磁盘。由于主机GitLab数据所在的磁盘满了,要迁移GitLab到其他服务器上。

环境描述

服务器 描述
A服务器 使用Docker安装了GitLab,并挂在出三个数据目录到主机
GitLab数据所在的磁盘满了
B服务器 新GitLab服务器
阅读全文 »

Q. 服务器异常退出后,启动容器报错:

1
OCI runtime create failed: container with id exists xxx

A. 删除该容器旧的运行文件,然后重新启动容器:

1
2
3
4
5
# 删除文件
rm -rf /var/run/docker/runtime-runc/moby/xxx

# 重启
docker restart xxx

使用Docker和Docker-Compose安装Maven私服Nexus3。

安装Docker和Docker-Compose

  • 安装Docker

    1
    curl -fsSL get.docker.com -o get-docker.sh && sudo sh get-docker.sh --mirror Aliyun && sudo systemctl start docker && sudo systemctl enable docker
  • 安装Docker-Compose

    1
    sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose && sudo chmod +x /usr/local/bin/docker-compose

创建docker-compose文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 创建目录
mkdir -p ~/soft/docker/nexus

# 创建docker-compose文件
echo 'version: "3.7"
services:
nexus:
restart: "no"
image: sonatype/nexus3
container_name: nexus
ports:
- 8666:8081
volumes:
- ~/docker/nexus/nexus-data:/nexus-data' >> ~/soft/docker/nexus/docker-compose.yaml
阅读全文 »

本文介绍性能测试工具JMeter及JMeter的使用。

Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。– 百度百科https://baike.baidu.com/item/Jmeter/3104456

阅读全文 »

问题:
以前一直正常使用Navicat连接Oracle,今天突然报错ORA-24454: client host name is not set,如图:
paste image

解决办法:

  1. 查看hostname,终端执行:hostname
  2. 设置hosts文件,终端执行:sudo /bin/bash -c "echo '127.0.1.1 [上一步查出来的hostname]' >> /etc/hosts"
  3. 再尝试使用Navicat连接Oracle,可以正常连接。