From f67b7febb04f682aec6e4bc24d123e3be4d33a23 Mon Sep 17 00:00:00 2001 From: fanxb Date: Fri, 21 Jan 2022 20:55:21 +0800 Subject: [PATCH] update --- java/springboot系列/spring-boot参数校验.md | 2 +- .../1.docker下mysql启动报错.md | 62 ++++---- .../2.linux下安装qbittorrent.md | 120 +++++++-------- .../3.linux下mongodb的安装与配置(非atp).md | 0 .../4.linux编译安装openssl.md | 142 +++++++++--------- .../5.nginx多ssl配置.md | 132 ++++++++-------- .../NetworkManager自定义dns.md | 0 linux/软件安装使用/certbot免费ssl证书申请.md | 21 +++ .../jenkins-ssh密钥问题.md | 0 .../linux搭建nextcloud个人网盘.md | 126 ++++++++-------- .../linux闪屏问题解决.md | 2 +- 11 files changed, 314 insertions(+), 293 deletions(-) rename linux/{软件安装 => 软件安装使用}/1.docker下mysql启动报错.md (97%) rename linux/{软件安装 => 软件安装使用}/2.linux下安装qbittorrent.md (96%) rename linux/{软件安装 => 软件安装使用}/3.linux下mongodb的安装与配置(非atp).md (100%) rename linux/{软件安装 => 软件安装使用}/4.linux编译安装openssl.md (95%) rename linux/{软件安装 => 软件安装使用}/5.nginx多ssl配置.md (96%) rename linux/{软件安装 => 软件安装使用}/NetworkManager自定义dns.md (100%) create mode 100644 linux/软件安装使用/certbot免费ssl证书申请.md rename linux/{软件安装 => 软件安装使用}/jenkins-ssh密钥问题.md (100%) rename linux/{软件安装 => 软件安装使用}/linux搭建nextcloud个人网盘.md (96%) rename linux/{软件安装 => 软件安装使用}/linux闪屏问题解决.md (93%) diff --git a/java/springboot系列/spring-boot参数校验.md b/java/springboot系列/spring-boot参数校验.md index 7dd005f..d6220ff 100644 --- a/java/springboot系列/spring-boot参数校验.md +++ b/java/springboot系列/spring-boot参数校验.md @@ -2,7 +2,7 @@ id: "20211009" date: "2021-10-09 15:42:00" title: "SpringBoot参数校验看这篇就够了" -tags: ["java", "SpringBoot","exception",“validation”] +tags: ["java", "SpringBoot","exception","validation"] categories: - "java" - "spring boot学习" diff --git a/linux/软件安装/1.docker下mysql启动报错.md b/linux/软件安装使用/1.docker下mysql启动报错.md similarity index 97% rename from linux/软件安装/1.docker下mysql启动报错.md rename to linux/软件安装使用/1.docker下mysql启动报错.md index d6e8bf7..fff5c7f 100644 --- a/linux/软件安装/1.docker下mysql启动报错.md +++ b/linux/软件安装使用/1.docker下mysql启动报错.md @@ -1,31 +1,31 @@ ---- -id: "2018-12-26-11-50" -date: "2018/12/26 11:50" -title: "docker下mysql启动报错" -tags: ["docker","mysql"] -categories: -- "linux" -- "踩坑" ---- - -# 1、报错过程 - -  报错是这么产生的,使用装有 mysql 的镜像创业一个容器,然后在容器中启动 mysql 就会报错,启动失败。报错内容如下: - -```log -2017-11-15T06:44:22.141481Z 0 [ERROR] Fatal error: Can't open and lock privilege tables: Table storage engine for 'user' doesn't have this option -``` - -# 2、怎么解决 - -  最开始看到这个报错是比较莫名其妙的,不知道如何解决,百度上搜索资料也不多,找了半天才在`stack overflow`上找到了原因和解决办法,由于 docker 默认的存储驱动是 overlayfs(overlay2),将其改为 aufs 即可,编辑/etc/docker/daemon.json(如果没有这个文件,新建) - -```json -{ - "storage-driver": "aufs", - "debug": true, - "experimental": true -} -``` - -关于这个问题,github 上有反馈这个问题,详情[看这里](https://github.com/moby/moby/issues/35503) +--- +id: "2018-12-26-11-50" +date: "2018/12/26 11:50" +title: "docker下mysql启动报错" +tags: ["docker","mysql"] +categories: +- "linux" +- "踩坑" +--- + +# 1、报错过程 + +  报错是这么产生的,使用装有 mysql 的镜像创业一个容器,然后在容器中启动 mysql 就会报错,启动失败。报错内容如下: + +```log +2017-11-15T06:44:22.141481Z 0 [ERROR] Fatal error: Can't open and lock privilege tables: Table storage engine for 'user' doesn't have this option +``` + +# 2、怎么解决 + +  最开始看到这个报错是比较莫名其妙的,不知道如何解决,百度上搜索资料也不多,找了半天才在`stack overflow`上找到了原因和解决办法,由于 docker 默认的存储驱动是 overlayfs(overlay2),将其改为 aufs 即可,编辑/etc/docker/daemon.json(如果没有这个文件,新建) + +```json +{ + "storage-driver": "aufs", + "debug": true, + "experimental": true +} +``` + +关于这个问题,github 上有反馈这个问题,详情[看这里](https://github.com/moby/moby/issues/35503) diff --git a/linux/软件安装/2.linux下安装qbittorrent.md b/linux/软件安装使用/2.linux下安装qbittorrent.md similarity index 96% rename from linux/软件安装/2.linux下安装qbittorrent.md rename to linux/软件安装使用/2.linux下安装qbittorrent.md index e651f23..f3737f9 100644 --- a/linux/软件安装/2.linux下安装qbittorrent.md +++ b/linux/软件安装使用/2.linux下安装qbittorrent.md @@ -1,60 +1,60 @@ ---- -id: '2019-04-15' -date: '2019/04/15 11:50' -title: 'linux下安装qBittorrent并使用webui进行管理' -tags: ['qbittorrent', 'webui', 'linux'] -categories: - - 'linux' - - '软件安装' ---- - -  qBittorrent 是目前比较流行的一个 pt 下载工具,可以直接搜索种子下载,并且支持 windows/linux 平台。所以呢就想着在 vps 上搭建一个,先下载到 vps 上,再从 vps 上下载下来。这么搞的主要原型是国内的大内网对 pt 下载很不友好,如果不幸是长城宽带的话,那就更可怜了。。。下面是具体搭建过程(以 ubuntu 为例): - -# 添加软件源 - -```bash -sudo add-apt-repository ppa:qbittorrent-team/qbittorrent-stable -``` - -按 y 确定 - - - -# 安装 qBittorrent Webui - -```bash -sudo apt-get update -sudo apt-get install qbittorrent qbittorrent-nox -``` - -同样按 y 确定 - -# 启动软件 - -```bash -qbittorrent-nox -``` - -  默认启动端口为 8080,默认账户密码为:admin/adminadmin - -  如果想使用不同的端口,使用如下命令启动以指定端口: - -```bash -qbittorrent-nox --webui-port=XXXX -``` - -命令是在当前窗口下启动的,如果窗口关闭也就跟着一同关闭了,所有需要后台运行,完整命令如下: - -```bash -qbittorrent-nox --webui-port=8088 & -``` - -# 修改密码 - -  vps 一般都是放在公网环境下的,所有默认密码是很不安全的,启动完毕后需要立即修改密码,方法如下: - -1. 首先使用默认用户名密码登陆到 web ui 上 -2. 然后修改用户名密码: - ![webui 修改用户名密码](https://raw.githubusercontent.com/FleyX/files/master/blogImg/20190415114134.png) - 修改完毕一定要拉下去保存,才会生效 - +--- +id: '2019-04-15' +date: '2019/04/15 11:50' +title: 'linux下安装qBittorrent并使用webui进行管理' +tags: ['qbittorrent', 'webui', 'linux'] +categories: + - 'linux' + - '软件安装' +--- + +  qBittorrent 是目前比较流行的一个 pt 下载工具,可以直接搜索种子下载,并且支持 windows/linux 平台。所以呢就想着在 vps 上搭建一个,先下载到 vps 上,再从 vps 上下载下来。这么搞的主要原型是国内的大内网对 pt 下载很不友好,如果不幸是长城宽带的话,那就更可怜了。。。下面是具体搭建过程(以 ubuntu 为例): + +# 添加软件源 + +```bash +sudo add-apt-repository ppa:qbittorrent-team/qbittorrent-stable +``` + +按 y 确定 + + + +# 安装 qBittorrent Webui + +```bash +sudo apt-get update +sudo apt-get install qbittorrent qbittorrent-nox +``` + +同样按 y 确定 + +# 启动软件 + +```bash +qbittorrent-nox +``` + +  默认启动端口为 8080,默认账户密码为:admin/adminadmin + +  如果想使用不同的端口,使用如下命令启动以指定端口: + +```bash +qbittorrent-nox --webui-port=XXXX +``` + +命令是在当前窗口下启动的,如果窗口关闭也就跟着一同关闭了,所有需要后台运行,完整命令如下: + +```bash +qbittorrent-nox --webui-port=8088 & +``` + +# 修改密码 + +  vps 一般都是放在公网环境下的,所有默认密码是很不安全的,启动完毕后需要立即修改密码,方法如下: + +1. 首先使用默认用户名密码登陆到 web ui 上 +2. 然后修改用户名密码: + ![webui 修改用户名密码](https://raw.githubusercontent.com/FleyX/files/master/blogImg/20190415114134.png) + 修改完毕一定要拉下去保存,才会生效 + diff --git a/linux/软件安装/3.linux下mongodb的安装与配置(非atp).md b/linux/软件安装使用/3.linux下mongodb的安装与配置(非atp).md similarity index 100% rename from linux/软件安装/3.linux下mongodb的安装与配置(非atp).md rename to linux/软件安装使用/3.linux下mongodb的安装与配置(非atp).md diff --git a/linux/软件安装/4.linux编译安装openssl.md b/linux/软件安装使用/4.linux编译安装openssl.md similarity index 95% rename from linux/软件安装/4.linux编译安装openssl.md rename to linux/软件安装使用/4.linux编译安装openssl.md index 71e38be..d3b14f3 100644 --- a/linux/软件安装/4.linux编译安装openssl.md +++ b/linux/软件安装使用/4.linux编译安装openssl.md @@ -1,71 +1,71 @@ ---- -id: "20190503" -date: "2019/05/03 10:38:05" -title: "linux下编译安装openssl" -tags: ["linux", "ubuntu", "openssl"] -categories: - - "linux" - - "软件安装" ---- - -linux 上安装软件通常有两种办法: - -- 从软件包仓库安装 -- 源码编译安装 - -第一种方式很简单,一条命令就搞定。 - -```bash -# debian系列 -apt install openssl -# centos系列 -yum install openssl -``` - -但是上面的方法无法配置参数,有些功能必须要手动编译才能开启。比如`enable-tlsext`,开启这个参数让 openssl 支持 SSL SNI(一个 IP 绑定多个证书)。步骤如下: - - - -1. 下载源码包 - -有些版本的 openssl 不支持`enable-tlsext`参数,目前 1.0.2r 版本是支持的。 - -```bash -wget https://www.openssl.org/source/openssl-1.0.2r.tar.gz -``` - -2. 卸载自带 openssl - -注意可能会连带卸载很多依赖于 openssl 的软件。 - -```bash -sudo apt remove openssl -``` - -3. 解压 - -```bash -tar -zxf openssl-1.0.2r.tar.gz -``` - -4. 配置 - -```bash -cd openssl-1.0.2r -sudo ./config shared enable-tlsext --prefix=/usr/local/openssl --openssldir=/usr/lib/openssl -``` - -5. 编译安装 - -```bash -make -sudo make install -``` - -6. 配置环境变量 - -编辑`/etc/environment`,注意要以`:`分割 - -![](https://raw.githubusercontent.com/FleyX/files/master/blog/20190503125650.png) - -输入`source /etc/environment`让环境变量生效,即安装完成。 +--- +id: "20190503" +date: "2019/05/03 10:38:05" +title: "linux下编译安装openssl" +tags: ["linux", "ubuntu", "openssl"] +categories: + - "linux" + - "软件安装" +--- + +linux 上安装软件通常有两种办法: + +- 从软件包仓库安装 +- 源码编译安装 + +第一种方式很简单,一条命令就搞定。 + +```bash +# debian系列 +apt install openssl +# centos系列 +yum install openssl +``` + +但是上面的方法无法配置参数,有些功能必须要手动编译才能开启。比如`enable-tlsext`,开启这个参数让 openssl 支持 SSL SNI(一个 IP 绑定多个证书)。步骤如下: + + + +1. 下载源码包 + +有些版本的 openssl 不支持`enable-tlsext`参数,目前 1.0.2r 版本是支持的。 + +```bash +wget https://www.openssl.org/source/openssl-1.0.2r.tar.gz +``` + +2. 卸载自带 openssl + +注意可能会连带卸载很多依赖于 openssl 的软件。 + +```bash +sudo apt remove openssl +``` + +3. 解压 + +```bash +tar -zxf openssl-1.0.2r.tar.gz +``` + +4. 配置 + +```bash +cd openssl-1.0.2r +sudo ./config shared enable-tlsext --prefix=/usr/local/openssl --openssldir=/usr/lib/openssl +``` + +5. 编译安装 + +```bash +make +sudo make install +``` + +6. 配置环境变量 + +编辑`/etc/environment`,注意要以`:`分割 + +![](https://raw.githubusercontent.com/FleyX/files/master/blog/20190503125650.png) + +输入`source /etc/environment`让环境变量生效,即安装完成。 diff --git a/linux/软件安装/5.nginx多ssl配置.md b/linux/软件安装使用/5.nginx多ssl配置.md similarity index 96% rename from linux/软件安装/5.nginx多ssl配置.md rename to linux/软件安装使用/5.nginx多ssl配置.md index 22a7d77..658fb73 100644 --- a/linux/软件安装/5.nginx多ssl配置.md +++ b/linux/软件安装使用/5.nginx多ssl配置.md @@ -1,66 +1,66 @@ ---- -id: "20190504" -date: "2019/05/04 10:38:05" -title: "nginx配置多ssl证书" -tags: ["linux", "nginx", "多ssl证书"] -categories: - - "linux" - - "软件使用" ---- - -有时我们需要在一台主机(只有一个公网 ip)上部署多个 https 虚拟主机,如何实现呢? - -假如我们想当然的使用如下的配置: - -```properties -server{ - listen 443 default ssl; - server_name www.test1.com; - ssl_certificate xxxxx; - ssl_certificate_key xxxxx; -} - -server{ - listen 443 ssl; - server_name www.test2.com; - ssl_certificate xxxxx; - ssl_certificate_key xxxxx; -} -``` - - - -当然是无法实现的,不论请求哪个主机,都只会收到默认域名`www.test1.com`的证书,这是 SSL 协议本身造成的--先建立 SSL 连接,再发送 HTTP 请求,因此 nginx 建立 SSL 连接时并不知道所请求的域名,所以只会返回默认的主机。 - -# 解决办法 - -## 使用多个 IP - -最古老的办法就是使用多个 IP,每个域名绑定到一个 IP 上即可。 - -## 使用 TLS SNI - -使用多 IP 的方法成本太高了,还好 nginx 支持 TLS 协议的 SNI 拓展(这个拓展让同一个 IP 使用不同的 https 证书成为可能)。SNI 拓展需要客户端支持(一般都支持),本地 OpenSSL 支持(这个默认都是不支持的,需要手动编译支持)。 - -查看 nginx 知否支持 SNI,使用如下命令: - -```bash -nginx -V -``` - -有如下输出说明支持 SNI。 - -![](https://raw.githubusercontent.com/FleyX/files/master/blog/20190504152556.png) - -默认情况下是不支持的,下面我们来一步一步让它支持 SNI: - -1. 首先要重新编译安装 openssl,详情参考我之前的博文:[https://blog.fleyx.com/blog/detail/20190503](https://blog.fleyx.com/blog/detail/20190503) - -2. openssl 支持 SNI 后,重装一次 nginx 理论上就可以了(至少我是这样的): - -```bash -apt remove nginx -apt install nginx -``` - -然后就可以在一个 IP 上使用多个不同的 https 证书了. +--- +id: "20190504" +date: "2019/05/04 10:38:05" +title: "nginx配置多ssl证书" +tags: ["linux", "nginx", "多ssl证书"] +categories: + - "linux" + - "软件使用" +--- + +有时我们需要在一台主机(只有一个公网 ip)上部署多个 https 虚拟主机,如何实现呢? + +假如我们想当然的使用如下的配置: + +```properties +server{ + listen 443 default ssl; + server_name www.test1.com; + ssl_certificate xxxxx; + ssl_certificate_key xxxxx; +} + +server{ + listen 443 ssl; + server_name www.test2.com; + ssl_certificate xxxxx; + ssl_certificate_key xxxxx; +} +``` + + + +当然是无法实现的,不论请求哪个主机,都只会收到默认域名`www.test1.com`的证书,这是 SSL 协议本身造成的--先建立 SSL 连接,再发送 HTTP 请求,因此 nginx 建立 SSL 连接时并不知道所请求的域名,所以只会返回默认的主机。 + +# 解决办法 + +## 使用多个 IP + +最古老的办法就是使用多个 IP,每个域名绑定到一个 IP 上即可。 + +## 使用 TLS SNI + +使用多 IP 的方法成本太高了,还好 nginx 支持 TLS 协议的 SNI 拓展(这个拓展让同一个 IP 使用不同的 https 证书成为可能)。SNI 拓展需要客户端支持(一般都支持),本地 OpenSSL 支持(这个默认都是不支持的,需要手动编译支持)。 + +查看 nginx 知否支持 SNI,使用如下命令: + +```bash +nginx -V +``` + +有如下输出说明支持 SNI。 + +![](https://raw.githubusercontent.com/FleyX/files/master/blog/20190504152556.png) + +默认情况下是不支持的,下面我们来一步一步让它支持 SNI: + +1. 首先要重新编译安装 openssl,详情参考我之前的博文:[https://blog.fleyx.com/blog/detail/20190503](https://blog.fleyx.com/blog/detail/20190503) + +2. openssl 支持 SNI 后,重装一次 nginx 理论上就可以了(至少我是这样的): + +```bash +apt remove nginx +apt install nginx +``` + +然后就可以在一个 IP 上使用多个不同的 https 证书了. diff --git a/linux/软件安装/NetworkManager自定义dns.md b/linux/软件安装使用/NetworkManager自定义dns.md similarity index 100% rename from linux/软件安装/NetworkManager自定义dns.md rename to linux/软件安装使用/NetworkManager自定义dns.md diff --git a/linux/软件安装使用/certbot免费ssl证书申请.md b/linux/软件安装使用/certbot免费ssl证书申请.md new file mode 100644 index 0000000..6c84fe6 --- /dev/null +++ b/linux/软件安装使用/certbot免费ssl证书申请.md @@ -0,0 +1,21 @@ +--- +id: "20220121" +date: "2022/01/21 10:38:05" +title: "免费ssl证书看这篇就够了(单域名/泛域名/自动续期)" +tags: ["linux", "nginx", "ssl", "certbot", "泛域名"] +hid: true +index_img: +banner_img: +categories: + - "linux" + - "软件使用" +--- + +不知道你发现了没有,如果使用chrome浏览器访问某些网站,在网址左边会有如下的安全提示: + +![不安全](https://qiniupic.fleyx.com/blog/202201212029672.png) + +原因就是因为此网站协议为http,未进行ssl加密。目前全球网站都已进入https时代,因此非常有比较将自己的站点升级为`https`. + +个人使用没必要付费购买ssl证书,目前有不少免费ssl证书 + diff --git a/linux/软件安装/jenkins-ssh密钥问题.md b/linux/软件安装使用/jenkins-ssh密钥问题.md similarity index 100% rename from linux/软件安装/jenkins-ssh密钥问题.md rename to linux/软件安装使用/jenkins-ssh密钥问题.md diff --git a/linux/软件安装/linux搭建nextcloud个人网盘.md b/linux/软件安装使用/linux搭建nextcloud个人网盘.md similarity index 96% rename from linux/软件安装/linux搭建nextcloud个人网盘.md rename to linux/软件安装使用/linux搭建nextcloud个人网盘.md index 8861c29..a184f90 100644 --- a/linux/软件安装/linux搭建nextcloud个人网盘.md +++ b/linux/软件安装使用/linux搭建nextcloud个人网盘.md @@ -1,63 +1,63 @@ ---- -id: "20190516" -date: "2019/05/16 10:38:05" -title: "Linux下使用nextcloud搭建个人网盘" -tags: ["linux", "nextcloud", "个人网盘"] -categories: - - "linux" - - "软件安装" ---- - -市面上有那么多的网盘服务提供商,为什么还要自己搭建网盘呢?主要有以下原因: - -- 免费的网盘都有种种限制,要么不限速容量小(onedriver,google driver),要么容量大限速(百度云) -- 付费网盘服务又太贵,穷逼用不起 -- 数据放在别人的服务器不安全,说不定就变成 8s 了 -- 瞎折腾有趣 - -两三个月前,矿难无情人友情,三百块入手了一台 4 盘位的 nas 主机,装上 ubuntu,就开始了折腾。 - -![主界面](https://raw.githubusercontent.com/FleyX/files/master/blogImg/20190516134611.png) - -为什么要选择 nextcloud 呢? - -- 开源 -- 各个平台都有客户端,方便管理 -- 功能很完善 - - - -下面开始正文,搭建 nextcloud。 - -推荐使用 docker 来搭建环境,非常方便。 - -1. 首先安装 docker 环境,参考这篇:[docker 安装](https://blog.fleyx.com/blog/detail/1.linux下mongodb的配置与安装) - -2. 安装 docker-compose - -```bash -sudo apt-get install docker-compose -``` - -3. 编写 docker-compose.yml - -```yaml -version: "2" -services: - nextcloud: - image: nextcloud - container_name: nextcloud - volumes: - - /home/nextcloud:/var/www/html - ports: - - 8080:80 -``` - -4. 启动 - -docker-compose.yml 文件所在目录执行`docker-compose up -d`。便能够通过访问 ip+端口,进入 web 端界面。在设置界面可以调成中文。默认进入是英文。 - -~~提供一个测试账号:ali.tapme.top:8007 test/testgggg~~(已失效) - -请勿恶意大量上传下载哦! - +--- +id: "20190516" +date: "2019/05/16 10:38:05" +title: "Linux下使用nextcloud搭建个人网盘" +tags: ["linux", "nextcloud", "个人网盘"] +categories: + - "linux" + - "软件安装" +--- + +市面上有那么多的网盘服务提供商,为什么还要自己搭建网盘呢?主要有以下原因: + +- 免费的网盘都有种种限制,要么不限速容量小(onedriver,google driver),要么容量大限速(百度云) +- 付费网盘服务又太贵,穷逼用不起 +- 数据放在别人的服务器不安全,说不定就变成 8s 了 +- 瞎折腾有趣 + +两三个月前,矿难无情人友情,三百块入手了一台 4 盘位的 nas 主机,装上 ubuntu,就开始了折腾。 + +![主界面](https://raw.githubusercontent.com/FleyX/files/master/blogImg/20190516134611.png) + +为什么要选择 nextcloud 呢? + +- 开源 +- 各个平台都有客户端,方便管理 +- 功能很完善 + + + +下面开始正文,搭建 nextcloud。 + +推荐使用 docker 来搭建环境,非常方便。 + +1. 首先安装 docker 环境,参考这篇:[docker 安装](https://blog.fleyx.com/blog/detail/1.linux下mongodb的配置与安装) + +2. 安装 docker-compose + +```bash +sudo apt-get install docker-compose +``` + +3. 编写 docker-compose.yml + +```yaml +version: "2" +services: + nextcloud: + image: nextcloud + container_name: nextcloud + volumes: + - /home/nextcloud:/var/www/html + ports: + - 8080:80 +``` + +4. 启动 + +docker-compose.yml 文件所在目录执行`docker-compose up -d`。便能够通过访问 ip+端口,进入 web 端界面。在设置界面可以调成中文。默认进入是英文。 + +~~提供一个测试账号:ali.tapme.top:8007 test/testgggg~~(已失效) + +请勿恶意大量上传下载哦! + diff --git a/linux/软件安装/linux闪屏问题解决.md b/linux/软件安装使用/linux闪屏问题解决.md similarity index 93% rename from linux/软件安装/linux闪屏问题解决.md rename to linux/软件安装使用/linux闪屏问题解决.md index da61a08..8df7fcf 100644 --- a/linux/软件安装/linux闪屏问题解决.md +++ b/linux/软件安装使用/linux闪屏问题解决.md @@ -2,7 +2,7 @@ id: "20210625" date: "2019/06/25 10:38:05" title: "linux闪屏问题解决" -tags: ["linux", "arch", "manjaro",“闪屏”] +tags: ["linux", "arch", "manjaro","闪屏"] categories: - "linux" - "软件安装"