/images/avatar.png

R2S软路由OpenWrt无法保存配置文件

在使用R2S软路由的时候 由于不正常断或者重启多次,会出现无法保存或者无法保存配置文件的情况

而ssh链接的时候会提示“Read-only file system”

证明现在系统变成只读了

解决方法为登录openwrt后台管理界面,系统中有一个TTYD终端,进入TTYD终端在终端内输入以读写方式重新挂载根目录,然后web界面或者ssh就可以正常编辑文件和保存配置文件了。

命令如下:

1
mount -o remount rw /

Server R2 忘记管理员的密码

在使用server时候,由于长时间不登陆导致server的管理员密码忘记了怎么办?

需求-修改server密码

1个U盘PE (或者CD启动盘都可以,本人使用的是USM-U盘魔术师)

需要破解密码的server主机(注意:不要做坏事昂)

2.插入启动盘(PE)启动项调整至U盘启动(使用光盘时需要调整至CD启动)

3.进入页面后进入系统盘(默认为C盘)进入路径

1
C:\windows\system32

4.目录内搜索osk.exe进行重命名为:osk1.exe

5.目录内再次搜索cmd.exe复制一个副本并重命名:osk.exe

6.重新启动并拔掉pe盘进入系统界面

7.点击左下方的辅助功能按钮,选择屏幕键盘(此时你会看到cmd的命令界面)

8.输入:

1
net user administrator *

回车

输入你要改的新密码(输入密码时候屏幕上不会显示任何内容,这是正常的!)

回车

再次输入新密码(输入密码时候屏幕上不会显示任何内容,这是正常的!)

回车

9.这时候cmd命令窗口吧已经提示密码修改成功了,关闭cmd命令窗即可。 (若提示密码太弱的话…请按照第8步骤再来一次,大小写字母,数字,标点)

10.使用键盘ctrl+alt+del 到进行登陆界面 输入新密码进行登录

11.可以登录的话 请在c盘的system32目录下 将osk.exe删除,

并将osk1.exe重命名为osk.exe

1
C:\windows\system32

执行完以上步骤后,本次忘记server服务器密码后修改密码的步骤就已经结束了

欢迎给予我们一定的捐助来维持项目的长期发展,谢谢。

swap交换分区及swap分区的扩容

Swap分区又称为交换分区,通常是在硬盘中预留一块分区作为swap交换分区,当系统内存出现不足时,系统会将空闲内存的数据复制到swap分区,以释放被这些空闲内存所占用的物理内存;

当系统需要用到之前复制到swap分区的空闲内存数据的时候,可以再次从swap分区读取到内存中,以此缓解由于系统内存空间不足,而导致的问题。

1.查看swap分区

1
2
3
4
[root@master ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           1816         233        1297           8         286        1428
Swap:          1023           0        1023

total:表示内存总的大小; used:表已经使用的内存的大小,大小等于total-free-buffers-cache; free:表示空闲内存的大小; shared:表示共享内存的大小; buff/cache:表示buff和cache一共占用的内存大小; available:系统预计还能腾出给新的应用使用的内存大小; Mem:物理内存; Swap:交换分区;

2.创建swap分区

2.1.查看本机磁盘分区情况

1
2
3
4
5
6
7
[root@Frpc ~]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0   10G  0 disk 
├─sda1        8:1    0  600M  0 part /boot/efi
├─sda2        8:2    0    1G  0 part /boot
└─sda3        8:3    0  8.4G  0 part 
  └─cl-root 253:0    0  8.4G  0 lvm  /

现将sda4的1G空间给创建的swap分区

systemctl进行管理php-fpm_Nginx_Frpc_Redis等

每次开机需要手动启动各种程序比较麻烦,可以使用systemctl进行管理XXX程序的启动、关闭、重启、开机自启功能。

php注册服务的方式:

1.编辑新的服务文件

1
vim /etc/systemd/system/php-fpm.service

2.输入以下内容

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
[Unit]
Description=The PHP 7.4 FastCGI Process Manager
Documentation=man:php-fpm7.4
After=network.target

[Service]
Type=simple
PIDFile=/var/run/php74-fpm.pid
ExecStart=/usr/local/php74/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php74/etc/php-fpm.conf
#根据php-fpm和配置文件的位置进行更改
ExecReload=/bin/kill -USR2 $MAINPID

[Install]
WantedBy=multi-user.target

3.保存退出然后执行

1
systemctl reload-daemon 

进行重新加载(#如果新安装了一个服务,使用systemctl 管理,使新服务的服务程序配置文件生效,需进行重新加载。)

然后就可以使用systemctl命令进行管理php了。

1
2
3
systemctl start php-fpm
systemctl enable php-fpm
systemctl stop php-fpm

每次开机需要手动启动nginx比较麻烦,可以使用systemctl进行管理php的启动、关闭、重启、开机自启功能。 Nginx注册服务的方式: 1.编辑新的服务文件

1
vim /etc/systemd/system/nginx.service

2.输入以下内容

Typecho报错Trying to access array offset XXX

Typecho-php 报错修复!!!

Typecho在使用php7.4.X时,后台登陆页面会出现以下报错信息:

1
Notice: Trying to access array offset on value of type null in /var/www/html/typecho/admin/common.php on line 36

修复方法:

1
vim /var/www/html/typecho/admin/common.php
1
2
将第36行'$params = parse_url($currentMenu[2]);'改为以下内容保存即可:
$params = parse_url(isset($currentMenu[2]) ? $currentMenu[2] : null);

UOS开机报错提示“emergency mode”无法进入图型化界面

首先 开机 会进入报错界面

按下 ctrl + d 然后输入 root密码

随后会自动进入root用户的命令行模式

执行命令挂挂载根盘

1
[root@master ~]# mount -o rw,remount /

注意有些时候 只挂载根目录并不好使 可以使用以下命令进行自动挂载

1
[root@master ~]# mount -a

执行命令查看错误信息,一般是文件系统损坏造成的

1
[root@master ~]# dmesg | grep error

在输出上可以看见

1
error XXX nvme0n1pX XXX

然后记住这个名字及编号 名字: nvme0n1p 编号X

执行命令卸载所有文件系统(如果有报错先不要管)

1
[root@master ~]# umount -a

执行命令检查 /dev/nvme0n1pX 是否正常,如果有异常便自动修复,并且设定若有问答,均回答[是]

1
[root@master ~]# e2fsck -y /dev/nvme0n1pX

会出现一些执行扫描的命令行 完成之后执行 reboot 进行重启系统即可

1
[root@master ~]# reboot

 

UOS软件安装失败 提示:xxx软件需要重新安装,但找不到相应的安装文件

进入终端 进行测试安装 安装一个从未安装过的软件 “本次以catfish(搜索工具)为例”

1
2
[root@master ~]# sudo apt-get install catfish
    >>E:软件包 cn.com.topsec.topdesk 需要重新安装,但是我无法找到相应的安装文件。

首先要输删除错误的安装包

1
2
3
[root@master ~]# 
[root@master ~]# sudo rm -rf /var/lib/dpkg/info/cn.com.topsec.*
[root@master ~]# sudo dpkg --remove --force-remove-reinstreq cn.com.topsec.topdesk

重新安装相关软件即可

1
2
[root@master ~]# sudo apt-get install cn.com.topsec.topdesk
[root@master ~]# sudo apt-get install catfish

注:本篇文章适用于 ubuntu/debian/uos等使用apt包管理器的系统。  

UOS专业版忘记开机密码

密码 [““为空 ,“123456"表示密码为123456]

password = "”

打赏 [true 表示开启,false 表示关闭 默认开启]

reward = true

UOS系统忘记开机密码怎么办?不用重装系统,不使用启动盘。

注意:(仅适用于非root用户忘记密码)

1.开启电脑 到输入密码界面。

2.按键盘上的快捷键 进入命令行模式。

1
ctrl + alt + F2

3.输入root账户及密码(密码不会显示 输入正确后按回车键)

4.输入更改密码的命令 (假如你的用户名为user)

1
2
3
4
[root@master ~]# passwd user

   >此处输入新密码 (回车之后再次输入新密码)
   >此处输入新密码 

5.退出用户

1
[root@master ~]# exit

6.重新进入桌面

1
ctrl + alt + F1

7.输入更改后的新密码

1
XXXXXX

8.桌面报错

输入密码以解锁您的登陆密钥环

9.解决桌面报错 (删除用户下 .local/share/keyrings/login.keyring 文件)

Windows-10-临时关闭Microsoft-Defender

请注意,关闭 Microsoft Defender 可能会使您的计算机面临一定的安全风险。建议您在关闭之前确保您的计算机已经安装并启用了其他可靠的安全软件。

第一种方式:

临时关闭 Microsoft Defender

新建文本文件 重命名为Stop-Defender.bat

鼠标右键该文件 编辑 输入以下内容

1
2
3
4
@echo off
echo 正在临时关闭 Microsoft Defender,请等会儿奥...
powershell.exe -command "Set-MpPreference -DisableRealtimeMonitoring $true"
echo Microsoft Defender 已关闭了奥。

恢复 Microsoft Defender

新建文本文件 重命名为Start-Defender.bat

鼠标右键该文件 编辑 输入以下内容

1
2
3
4
@echo off
echo 正在恢复 Microsoft Defender,请等会儿奥...
powershell.exe -command "Set-MpPreference -DisableRealtimeMonitoring $false"
echo Microsoft Defender 已经恢复了奥。

使用方式:鼠标双击该文件即可。 第二种方式 临时关闭 Microsoft Defender

新建文本文件 重命名为Stop-Defender.bat

鼠标右键该文件 编辑 输入以下内容

windows软件以系统服务方式运行

将windows程序的以服务方式在后台运行更方便更简洁 本次需要使用的软件为nssm

1.下载并解压

解压放到C:\Program Files\nssm-2.24

2.打开cmd并跳转目录

打开cmd win+r » cmd

1
2
3
4
Microsoft Windows [版本 10.0.19044.1706]
(c) Microsoft Corporation。保留所有权利。

C:\Users\SFQ>

使用cmd跳转到exe所在目录

C:\Users\SFQ> cd C:\Program Files\nssm-2.24\win64

3.查看帮助信息

C:\Program Files\nssm-2.24\win64>nssm.exe

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
NSSM: The non-sucking service manager
Version 2.24 64-bit, 2014-08-31
Usage: nssm <option> [<args> ...]

To show service installation GUI:

    nssm install [<servicename>]

To install a service without confirmation:

    nssm install <servicename> <app> [<args> ...]

To show service editing GUI:

    nssm edit <servicename>

To retrieve or edit service parameters directly:

    nssm get <servicename> <parameter> [<subparameter>]

    nssm set <servicename> <parameter> [<subparameter>] <value>

    nssm reset <servicename> <parameter> [<subparameter>]

To show service removal GUI:

    nssm remove [<servicename>]

To remove a service without confirmation:

    nssm remove <servicename> confirm

To manage a service:

    nssm start <servicename>

    nssm stop <servicename>

    nssm restart <servicename>

    nssm status <servicename>

    nssm rotate <servicename>

4.创建安装服务 (例如要安装的服务为test) 输入 程序 install + 要安装的服务名字

本人使用的树莓派介绍

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
现阶段使用的是Raspberry_4B_8G版本
CPU:ARM Cortex-A72 1.5GHz(四核 64位)
GPU:Broadcom VideoCore IV,OpenGL ES 2.0,1080p 30 h.264/MPEG-4 AVC高清解码器
RAM:8G LPDDR4
储存卡:三星64G c10
SOC:CM2711
Wi-Fi:802.11n 2.4GHz/5GHz 双频wifi
蓝牙:5.0BLE
USB接口:
2USB3.0
2USB2.0
视频输出:
2 micro HDMI ports
2-lane MIPI DSI display port
音频输出:3.5mm插孔,HDMI电子输出或I²S
数字接口:CSI(摄像头)和DSI(显示屏)排线接口
网络接口:千兆以太网口
供电接口:5V USB-TypeC 3A
安装的系统是基于debian buster制作 无桌面加强版
系统镜像来源于:树莓派爱好者基地
       

编译安装Nginx

1
2
创建nginx用户
useradd -s /bin/false -M nginx
1
2
3
4
5
6
进入安装目录 /opt下
cd /opt
下载nginx(官方链接) #以1.21.6版本为例
wget https://nginx.org/download/nginx-1.21.6.tar.gz
解压
tar -xvf nginx-1.21.6.tar.gz
1
2
3
4
下载并解压 所需的三个依赖包 openssl zlib pcre (仅提供官网)
https://www.openssl.org      #openssl-3.0.5
https://www.zlib.net         #zlib-1.2.12
http://www.pcre.org          #pcre-8.43
1
2
进入nginx目录
cd nginx-1.21.6
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
运行脚本
./configure \
--prefix=/opt/nginx \
--sbin-path=/opt/nginx/sbin/nginx \
--conf-path=/opt/nginx/nginx.conf \
--error-log-path=/opt/nginx/logs/error.log \
--http-log-path=/opt/nginx/logs/access.log \
--pid-path=/opt/nginx/run/nginx.pid  \
--lock-path=/opt/nginx/lock/nginx.lock \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre=../pcre-8.43 \
--with-zlib=../zlib-1.2.12 \
--with-openssl=../openssl-3.0.5 \
--with-debug \
--http-client-body-temp-path=/opt/nginx/client_body \
--http-proxy-temp-path=/opt/nginx/proxy \
--http-fastcgi-temp-path=/opt/nginx/fastcgi \
--http-uwsgi-temp-path=/opt/nginx/uwsgi \
--http-scgi-temp-path=/opt/nginx/scgi \
--with-stream

注意:这三条分别指向刚刚下载的三个依赖包的目录!!!

编译安装php-fpm

使用编译安装php的方法 首先安装php相关依赖

1
2
yum -y install libxml2-devel openssl-devel curl-devel libjpeg-devel libpng-devel libicu-devel freetype-devel openldap-devel openldap openldap-devel
yum -y install gcc gcc-c++ make  sqlite-devel.x86_64  oniguruma-devel.x86_64  libxslt-devel.x86_64  libzip-devel.x86_64 

下载php本体(官方链接) #以7.4.28版本为例

1
wget https://www.php.net/distributions/php-7.4.28.tar.gz

进入文件夹

1
cd php-7.4.28

运行脚本

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--with-fpm-user=www \
--with-fpm-group=www \
--with-curl \
--with-MySQL=/usr/local/mysql \
--with-freetype-dir=/usr/local/freetype \
--enable-gd \
--with-gettext \
--with-iconv-dir \
--with-kerberos \
--with-libdir=lib64 \
--with-libxml-dir \
--with-mysqli \
--with-openssl \
--with-pcre-regex \
--with-pdo-mysql \
--with-pdo-sqlite \
--with-pear \
--with-png-dir=/usr/local/libpng \
--with-jpeg-dir=/usr/local/libjpeg \
--with-xmlrpc \
--with-xsl \
--with-zlib \
--with-zlib-dir=/usr/local/zlib \
--with-bz2 \
--with-mhash \
--with-zip \
--enable-fpm \
--enable-bcmath \
--enable-libxml \
--enable-inline-optimization \
--enable-mbregex \
--enable-mbstring \
--enable-opcache \
--enable-pcntl \
--enable-shmop \
--enable-soap \
--enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-xml \
--enable-zip \
--enable-fpm

编译并安装

搭建FRP高性能反向代理

首先说说什么是frp?为什么使用 frp ? frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网:通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括: 客户端服务端通信支持 TCP、KCP 以及 Websocket 等多种协议。 采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间。 代理组间的负载均衡。 端口复用,多个服务通过同一个服务端端口暴露。 多个原生支持的客户端插件(静态文件查看,HTTP、SOCK5 代理等),便于独立使用 frp 客户端完成某些工作。 高度扩展性的服务端插件系统,方便结合自身需求进行功能扩展。 服务端和客户端 UI 页面。 使用示例: 根据对应的操作系统及架构,从 Release 页面下载最新版本的程序。 下载地址:Release 将 frps 及 frps.ini 放到具有公网 IP 的机器上。 将 frpc 及 frpc.ini 放到处于内网环境的机器上。 修改 frps.ini 文件,

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
[common]
bind_addr = 0.0.0.0
#服务器IP,0.0.0.0为服务器全局所有IP可用,假如你的服务器有多个IP则可以这样做,或者填写为指定其中的一个服务器IP,支持IPV6
bind_port = 6666
#通讯端口,用于和客户端内网穿透传输数据的端口,可自定义
bind_udp_port = 6667
#UDP通讯端口,用于点对点内网穿透
kcp_bind_port = 6668
#用于KCP协议UDP通讯端口,在弱网环境下传输效率提升明显,但是会有一些额外的流量消耗。设置后frpc客户端须设置protocol = kcp
vhost_http_port = 80
#http监听端口,注意可能和服务器上其他服务用的80冲突,比如centos有些默认有Apache,可自定义
vhost_https_port = 443
#https监听端口,可自定义
dashboard_port = 6669
#通过浏览器查看 frp 的状态以及代理统计信息展示端口,可自定义
dashboard_user = admin
#信息展示面板用户名
dashboard_pwd = admin
#信息展示面板密码
log_max_days = 30
#最多保存多少天日志
token = test_admin
#特权模式认证密钥
allow_ports = 50000-60000
#端口白名单,为了防止端口被滥用,可以手动指定允许哪些端口被使用
max_pool_count = 100
#每个内网穿透服务限制最大连接池上限,避免大量资源占用,可自定义
authentication_timeout = 0
#frpc 所在机器和 frps 所在机器的时间相差不能超过 15 分钟,因为时间戳会被用于加密验证中,防止报文被劫持后被其他人利用,单位为秒,默认值为 900,即 15 分钟。如果修改为 0,则 frps 将不对身份验证报文的时间戳进行超时校验。国外服务器由于时区的不同,时间会相差非常大,这里需要注意同步时间或者设置此值为0
log_file = frps.log
log_level = info

启动 frps的方式:

搭建PCS-高可用集群

搭建PCS-HA高可用集群 一.更换yum源

1
[root@master ~]# rm -rf /eyc/yum.repo.d/CentOS-*

由于我的源几乎都不可用了 所以全部干掉。

1
[root@master ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-8-reg.repo

下载CentOS-8-Vault的源(因为官方CentOS的源已不可用) 因为源里未配置HighAvailability的源 所以增加以下内容:

1
[root@master ~]# vim /etc/yum.repos.d/CentOS-Base.repo

在文件最后增加以下内容»

1
2
3
4
5
[HighAvailability]
name=CentOS-$releasever - pcs - repo.huaweicloud.com
baseurl=https://repo.huaweicloud.com/centos-vault/8.5.2111/HighAvailability/$basearch/os/
gpgcheck=1
gpgkey=https://repo.huaweicloud.com/centos/RPM-GPG-KEY-CentOS-Official

清除原有yum缓存。

1
[root@master ~]# yum clean all

刷新缓存

1
[root@master ~]# yum makecache

二.安装所需软件 安装nginx

1
[root@master ~]# yum install nginx

安装mysql

1
[root@master ~]# yum install mysql-server.x86_64

安装php