三月已经过去,四月会变好吗?
0x00.前言
红帽企业级Linux
的操作体验实在是tql
0x01.配置EPEL
源以安装htop
1 | [root@cn-py-dl-r8 ~]# dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm |
0x02.git
全局配置
1 | [root@cn-py-dl-r8 ~]# git config --global user.name "yuangezhizao-serveraccount" |
0x03.SELINUX
切换至Permissive
模式
只能说对于家用LAB
环境为了根本用不上的过分安全,去折腾这玩楞是大可不必的,又不是生产环境为啥要难为自己呢?节省掉的时间多补几部番它不香吗?
参照官方文档:更改 SELINUX 状态和模式
1 | [root@cn-py-dl-r8 ~]# getenforce |
本来是准备直接关了了事,结果发现文档中说
在
/etc/selinux/config
中使用SELINUX=disabled
选项禁用SELinux
的结果是,内核在引导时首先启用SELinux
,并在后续的引导过程后切换到禁用模式。因为内存泄漏和竞争条件会导致内核panics
,如果您的情况确实需要完全禁用SELinux
,则首选的方法是,在内核命令行中添加selinux=0
参数(如引导时更改SELinux
模式)所述
好吧,那就先切换到Permissive
模式吧
1 | [root@cn-py-dl-r8 ~]# cat /etc/selinux/config |
0x04.安装Docker
不过docker
并不是自带的,需要手动安装,RHEL
下未安装时会提示安装podman-docker
1 | [root@cn-py-dl-r8 docker]# docker |
然后惯例安装portainer
可视化
1 | [root@cn-py-dl-r8 ~]# docker pull portainer/portainer:latest |
不过在RHEL
下docker
并未默认开放api
访问,并不能直接成功创建容器,需要手动开启,可参照:https://docs.podman.io/en/v3.2.3/_static/api.html
1 | [root@cn-py-dl-r8 ~]# podman system service -t 0 & |
创建成功之后在防火墙中开放端口,结果报错Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/_ping: dial unix /var/run/docker.sock: connect: permission denied
于是又去谷歌搜了一圈,这里未尝试:https://github.com/dpw/selinux-dockersock
仅尝试在-v
后添加小写的:z
或者大写的:Z
,结果还是不行docker run -d -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock:Z -v portainer_data:/data portainer/portainer
一气之下加上--privileged
,先凑合用吧XD
docker run -d --privileged -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
0x05.安装Docker-Compose
接下来安装docker-compose
,没配代理太慢了……
1 | [root@cn-py-dl-r8 ~]# wget "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" |
在MacMini
上下载完,拿sftp
传上去也比下载快2333
1 | sftp> put docker-compose-Linux-x86_64 |
不过也得开启docker
的api
,否则运行也会报错
点击此处 ← 查看折叠
1 | [root@cn-py-dl-r8 ~]# mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose |
0x06.安装Uptime Kuma
开幕就被智能提示惊艳到了,上一次类似的体验还是thefuck
1 | Activate the web console with: systemctl enable --now cockpit.socket |
拉取镜像时发现可以选择多种源,但是显然只有docker
的源是可用的
1 | [root@cn-py-dl-r8 ~]# docker pull louislam/uptime-kuma |
然后使用docker-compose
进行部署,或者docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1
1 | [root@cn-py-dl-r8 docker]# cd /root/uptime-kuma/docker |
最后防火墙放通端口,可参照红帽官方文档:使用 CLI 控制端口
1 | [root@cn-py-dl-r8 ~]# systemctl status firewalld |
0x07.安装SmokePing
1 | [root@cn-py-dl-r8 ~]# git clone https://github.com/linuxserver/docker-smokeping |
然后去日志里一看,全是报错草……在切换了SELINUX
模式之后不再报错了,这就对了嘛
1 | ERROR: can't open /config/General: No such file or directory |
0x08.安装x-ui
1 | [root@cn-py-dl-r8 ~]# git clone https://github.com/vaxilu/x-ui.git |
代理有点问题所以手动修改脚本内容
wget -N --no-check-certificate -O /usr/local/x-ui-linux-${arch}.tar.gz https://github.com/vaxilu/x-ui/releases/download/${last_version}/x-ui-linux-${arch}.tar.gz
修改为wget -N --no-check-certificate -O /usr/local/x-ui-linux-${arch}.tar.gz https://proxy-cf.yuangezhizao.cn/dl/x-ui-linux-amd64.tar.gz
wget --no-check-certificate -O /usr/bin/x-ui https://raw.githubusercontent.com/vaxilu/x-ui/main/x-ui.sh
修改为mv /root/x-ui/x-ui.sh /usr/bin/x-ui
1 | [root@cn-py-dl-r8 x-ui]# firewall-cmd --add-port=54321/tcp |
0x09.安装SmartDNS
安装
1 | [root@cn-py-dl-r8 ~]# export HTTP_PROXY=http://192.168.25.248:1081 |
结果发现53
端口被占用,需要kill
掉dnsmasq
的进程
1 | [root@cn-py-dl-r8 smartdns]# lsof -i:53 |
配置文件
点击此处 ← 查看折叠
1 | [root@cn-py-dl-r8 ~]# cat /etc/smartdns/smartdns.conf |
0x10.后记
唉,cn-py-dl-c8
全部木大,cn-py-dl-r8
又得个把月才能再搞起来,心累……