ubuntu升级内核+ARL一套连招
ubuntu系统升级内核
通过一个安装脚本,只需要指定一个版本号
(无法安装对应版本的rt,即实时内核):
***注意***
在Ubuntu-22.04-x64这个可以升级最新的6.8.0
但是Ubuntu-18.04-x64不能直接升级到6.8.0,!!!会无法开机!!!
下载安装脚本
wget https://raw.githubusercontent.com/pimlie/ubuntu-mainline-kernel.sh/master/ubuntu-mainline-kernel.sh
将该脚本安装到/usr/local目录下,以后可以在任意终端目录直接使用
sudo install ubuntu-mainline-kernel.sh /usr/local/bin/
查看当前可用的内核版本号
sudo ubuntu-mainline-kernel.sh -r
v6.8.4 v6.8.5 v6.8.6 v6.8.7
检查Linux最新可用版本
ubuntu-mainline-kernel.sh -c
Finding latest version available on kernel.ubuntu.com: v5.19.7
Finding latest installed version: v5.15.0
A newer kernel version (v5.19.7) was found but the build was not successful
安装具体版本的内核
sudo ubuntu-mainline-kernel.sh -i 6.8.8
reboot
重启后即可享用最新内核~~~
重启后记得更新apt 和修补破损
apt update
apt --fix-broken install
卸载其他内核版本
ubuntu-mainline-kernel.sh -u
Which kernel version do you wish to uninstall?
[0]: v5.11.0-051100
[1]: v5.15.0-051500
type the number between []:
先安装Ubuntu-22.04-x64系统
再升级内核,下面这个
升级内核是脚本
#!/bin/bash
#自动脚本
wget https://raw.githubusercontent.com/pimlie/ubuntu-mainline-kernel.sh/master/ubuntu-mainline-kernel.sh
install ubuntu-mainline-kernel.sh /usr/local/bin/
ubuntu-mainline-kernel.sh -i 6.8.8
reboot
在别的机器上下载此脚本后再执行
下载执行
wget http://192.168.1.1:8000/kernel.sh && chmod +x kernel.sh && ./kernel.sh
补救-Ubuntu内核升级之后无法正常开机,卸载新内核
进入grub界面->选择ubuntu 高级选项->选择老的内核->重启开机
uname -a 查看当前安装的内核版本
dpkg --get-selections| grep linux 查看安装的Linux内核
sudo apt-get remove linux-image-XXXX-generic卸 载指定版本linux内核
若遇到“the following packages have unmet dependencies”
可先检查
sudo apt-get update
然后
sudo apt-get install -f
来安装丢失的dependency
安装完成后再执行上面的remove命令
安装ARL灯塔
先安装docker
apt-get install docker.io docker-compose unzip -y
如果安装出现报错更新apt在修补错误
apt update
apt --fix-broken install
创建文件夹
cd /opt/
mkdir docker_arl
下载arl的docker文件
wget -O docker_arl/docker.zip https://github.com/TophantTechnology/ARL/releases/download/v2.6.2/docker.zip
cd docker_arl
解压缩
unzip -o docker.zip
拉去镜像
docker-compose pull
创建灯塔数据库,只要这个数据库在后续更新灯塔所以扫描的数据都回保留!!!
docker volume create arl_db
启动
docker-compose up -d
Docker-自动安装脚本
#!/bin/bash
apt update -y
apt --fix-broken install -y
# 安装docker和docker-compose
sudo apt-get install docker.io docker-compose unzip -y
# 创建文件夹并进入
mkdir /opt/docker_arl
# 下载 ARL 的docker文件
wget -O /opt/docker_arl/docker.zip https://github.com/TophantTechnology/ARL/releases/download/v2.6.2/docker.zip
# 解压文件
unzip -o /opt/docker_arl/docker.zip -d /opt/docker_arl/
# 拉取镜像
cd /opt/docker_arl && docker-compose pull
# 创建灯塔数据库
cd /opt/docker_arl && docker volume create arl_db
# 启动容器
cd /opt/docker_arl && docker-compose up -d
#添加字典
docker cp /root/dicts/domain_2w.txt arl_web:/code/app/dicts/
docker cp /root/dicts/file_top_2000.txt arl_web:/code/app/dicts/
docker cp /root/dicts/poc.zip arl_web:/opt/ARL-NPoC/xing/plugins/poc
加强灯塔
添加字典
先进入arl_web中
docker exec -it arl_web /bin/bash
到/code/app/dicts/目录下
删除默认字典domain_2w.txt和目录字典file_top_2000.txt
将字典复制到灯塔里
docker cp domain_2w.txt arl_web:/code/app/dicts/
docker cp file_top_2000.txt arl_web:/code/app/dicts/
顺便把poc也复制进去,~目录不同~
docker cp poc.zip arl_web:/opt/ARL-NPoC/xing/plugins/poc
添加poc
cd /opt/ARL-NPoC/xing/plugins/poc
解压缩
再将上一级目录中的文件都复制到这一级目录
unzip -o poc.zip && cp poc/* /opt/ARL-NPoC/xing/plugins/poc
然后再把poc目录删除了
rm -rf poc
poc添加完后最后要到web端的poc信息栏点一下更新poc才会更新到列表里~
添加指纹
python3 ARL-Finger-ADD.py https://0.0.0.0:5003/ admin arlpass
在服务器上跑这个脚本超级快哦~~~
编辑配置文件,添加各种key和解除限制
vim config-docker.yaml
ARL 升级更新
先到灯塔的配置文件夹下/opt/docker_arl,关闭灯塔
docker-compose down
下载最新的docker.zip然后解压缩就会覆盖config-docker.yaml
和 docker-compose.yml
这俩文件,只要这俩文件是最新的再拉去镜像和启动就会启动最新的灯塔
docker-compose pull 是为了更新镜像, 如果碰到问题可以排查是否使用了三方镜像源。
拉取镜像
docker-compose pull
启动镜像
docker-compose up -d
最终大招,备份以及迁移灯塔数据
源机器
到/opt/docker_arl/目录下,
先停掉docker再备份,要不然备份的无法使用!!!!
进入docker项目文件夹
cd /opt/docker_arl/
再停止docker实例
dcker-compose down
docker run --rm -v arl_db:/data -v /opt/docker_arl:/backup alpine tar -czf /backup/arl_db_backup.tar.gz -C /data .
备份
root@ser源:/opt/docker_arl# docker run --rm -v arl_db:/data -v /opt/docker_arl:/backup alpine tar -czf /backup/arl_db_backup.tar.gz -C /data .
查看
root@ser源:/opt/docker_arl# ls -al
total 550760
drwxr-xr-x 4 root root 4096 May 1 23:28 .
drwxr-xr-x 5 root root 4096 Apr 4 11:58 ..
-rw-r--r-- 1 root root 18 Dec 29 06:24 .env
-rw-r--r-- 1 root root 217967480 May 1 23:29 arl_db_backup.tar.gz
开启python的http服务提供下载功能
root@ser源:/opt/docker_arl# python3 -m http.server 80
Serving HTTP on 0.0.0.0 port 80 (http://0.0.0.0:80/) ...
3.3.3.3 - - [01/May/2024 23:30:22] "GET /arl_db_backup.tar.gz HTTP/1.1" 200 -
备份恢复机器
先到/opt/docker_arl/目录下,
root@ser恢复:/# cd /opt/docker_arl/
下载备份文件
root@ser恢复:/opt/docker_arl# wget http://1.1.1.1/arl_db_backup.tar.gz
恢复备份
root@ser恢复:/opt/docker_arl# docker run --rm -v arl_db:/data -v /opt/docker_arl:/backup alpine sh -c "tar -xzf /backup/arl_db_backup.tar.gz -C /data"
查看备份恢复
root@ser恢复:/opt/docker_arl# docker volume ls
DRIVER VOLUME NAME
local 390d7123073ed335195b20cf789cad93b576adf2de09eb3e8347c4504916d1df
local arl_db
local e8b509cc86de705329c84ebf71ef9681a970175e4ae9b8abec0038cb02f224d3
root@ser恢复:/opt/docker_arl# docker volume inspect arl_db
[
{
"CreatedAt": "2024-05-01T22:59:09Z",
"Driver": "local",
"Labels": null,
"Mountpoint": "/var/lib/docker/volumes/arl_db/_data",
"Name": "arl_db",
"Options": null,
"Scope": "local"
}
]
这里面有内容就ok了,就是备份恢复好了
root@ser恢复:/opt/docker_arl# ls -l /var/lib/docker/volumes/arl_db/_data
total 95452
-rw------- 1 lxd 999 45 Apr 4 12:06 WiredTiger
-rw------- 1 lxd 999 21 Apr 4 12:06 WiredTiger.lock
-rw------- 1 lxd 999 1085 May 1 23:28 WiredTiger.turtle
-rw------- 1 lxd 999 217088 May 1 23:28 WiredTiger.wt
-rw------- 1 lxd 999 4096 Apr 17 02:58 WiredTigerLAS.wt
-rw------- 1 lxd 999 36864 Apr 17 02:58 _mdb_catalog.wt
-rw------- 1 lxd 999 16384 Apr 17 02:58 collection-0--5985780847493518752.wt
-rw------- 1 lxd 999 110592 May 1 19:17 collection-0-1129751330488568787.wt
-rw------- 1 lxd 999 49152 Apr 17 02:58 collection-0-5252081969373343972.wt
-rw------- 1 lxd 999 36864 Apr 30 09:33 collection-10--5985780847493518752.wt
-rw------- 1 lxd 999 864256 May 1 17:08 collection-12-5252081969373343972.wt
-rw------- 1 lxd 999 53248 May 1 18:58 collection-15-5252081969373343972.wt
......
其实就两条命令,记得先停掉docker!!!
docker run --rm -v arl_db:/data -v /opt/docker_arl:/backup alpine tar -czf /backup/arl_db_backup.tar.gz -C /data .
查看
docker run --rm -v arl_db:/data -v /opt/docker_arl:/backup alpine sh -c "tar -xzf /backup/arl_db_backup.tar.gz -C /data"
查看备份恢复
OK,骚年,现在你的灯塔已经无敌了~
-.-
评论区