phpmyadmin 配置文件中的密文(blowfish_secret)太短

phpmyadmin 配置文件中的密文(blowfish_secret)太短?凑够32个字符!

配置文件中的密文(blowfish_secret)太短。

解决方法:

1.打开phpMyAdmin目录下的config.sample.inc.php文件(或是config.inc.php)

  1. vim phpMyAdmin/config.sample.inc.php

修改

  1. cfg [ ‘blowfish_secret’ ] = ;

在单引号中写入密文
只写字母或数字 不能字母数字混用
2.打开phpMyAdmin/libraries/目录下config.default.php文件

  1.  vim phpMyAdmin/libraries/config.default.php

修改

  1. cfg [ ‘blowfish_secret’ ] = ;

同上
配置文件中的密文(blowfish_secret)太短。一定要凑够32个字符

哪些手机型号外接便携显示器能实现PC电脑模式

手机支持PC模式,这个不同于一般的手机投屏功能,基本上实现了手机可以当电脑主机的功能。很多人都要疑问,自己的手机是否支持手机PC模式呢?奥斯曼小编为大家整理了一些支持PC模式手机型号,快来看看你的手机是否有第二系统模式!

哪些厂家手机支持外接便携显示器能实现PC电脑功能:

1、坚果手机TNT系统

将坚果手机通过Type-C一线连接奥斯曼便携显示器,即可在便携显示器上看到TNT系统界面,用户可以像使用Windows电脑一样,轻松使用办公软件制作PPT、表格、浏览网页、看视频、玩游戏等,支持同时打开多个窗口;手机可独立使用,也可变身成为触控键鼠。

支持PC模式的坚果手机型号:坚果R1、坚果Pro 2S

2、三星手机DEX系统

将三星手机通过Type-C一线连接奥斯曼便携显示器,三星DEX模式能满足基本浏览网页、文件、照片、简单办公、邮件处理等需求,常用的视频、微信、QQ、微博等都可以正常无压力的运行,三星DEX模式能够很好的提高手机的实用性,有着不错的办公效率与娱乐;手机可单独使用,也可以当触控板操作,方便演示文稿时进行切换幻灯片。

支持PC模式的坚果手机型号:S8、S8+、S9、S9+、S10、S10+、Note 8、Note 9、S10等…

3、华为手机EMUI系统

将将华为手机通过Type-C一线连接奥斯曼便携显示器,便携显示器即可显示电脑模式,手机可以充当鼠键,华为EMUI系统配备了日常实用的WPS、浏览器、文件管理器、备忘录、图片查看、查收邮件、华为视频以及其他第三方app等常用软件;手机可单独使用,也可以当触控板操作。

支持PC模式的华为手机型号:Mate10、Mate10 Pro、Mate 20、Mate 20 Pro、Mate RS、Mate 30、P20、P20 Pro、P20 RS、P30、P30 Pro、荣耀Note 10、荣耀V20等…

4、其他更多手机支持PC模式型号可查阅下图表格

未来的电脑,你们觉得会不会采用手机+便携显示器?期待更多手机厂家嵌入PC模式给消费者,手机扩展PC功能将会成为旗舰机的标配。

Windows设置多用户同时远程登录

Windows7设置多用户同时远程登录

有时候服务器是Win7系统的时候,远程登录桌面时,即使登录的是不同的管理账号,还是会把远程登录的人给踢下来。即不同的账号只能同时存在一个会话窗。下面教大家如果设置Win7让两个账号的两会话同时存在,且相互之间不冲突。

设置步骤

1、创建需要远程的两个用户账号。点击桌面计算机,右键—>管理—>本地用户和组—>用户—>新建用户。假设创建一个用户UserTable

 

2、开启计算机远程。点击桌面计算机,右键—>属性—>远程设置—>勾上允许任意版本远程桌面的计算机连接。

 

3、将新建用户添加到远程桌面组。在远程设置里面,点击用户—>添加。

 

4、在选择用户里面,点击高级–立即查找,找到刚刚我创建的需要远程的用户,依次点击确定。一般管理员账号的不需要再添加的。管理员账号本来就属于远程账号组。

 

5、防火墙如果是开着的,就需要确认是否开启远程桌面服务。控制面板—>系统和安全—>Windows 防火墙—>高级设置—>入站规则。确认远程桌面是服务是启用状态。

 

6、点击开始菜单—>运行—>输入“gpedit.msc”进入本地组策略编辑器。

 

7、在本地组策略编辑器里面,依次展开计算机配置—>管理模板—>Windows组件—>远程桌面服务—>远程桌面会话主机—>连接—>限制连接的数量。

 

8、打开限制连接数,这里未配置时,默认的最大连接数是1.点击已启用—>允许的RD最大连接数为该为2—>确定。

 

9、打开“远程桌面服务用户限制到单独的远程桌面服务会话”,点击已禁用,然后确定。

10、下载一个universal termsrv.dll patch。

链接:http://pan.baidu.com/s/1kV9hirt 密码:jqg2

第三方工具。解压到文件夹。打开UniversalTermsrvPatch文件夹—>管理员身份运行UniversalTermsrvPatch-x86.exe文件。

 

win服务器版默认是支持多用户登陆的,甚至可以在主机上用不同用户自己远程登陆自己,如window server 2016。

Win10 正常情况下是不允许用户同时远程的,即一个用户远程进来会把另一个用户踢掉,因此需要破解才能使得多个用户同时登陆远程桌面。

主要有以下两个步骤:

  1. 主机修改远程登录相关配置;

  2. 破解远程登录用户限制;

 

主机修改远程登录相关配置。

  • 新建用户:

右键“此电脑—>管理—>本地用户和组“,右键”用户—>新用户“,添加用户名,设置密码(勾选密码永不过期)。然后点击创建即可。

  • 添加远程桌面用户

右键“此电脑—>属性—>远程设置“

勾选“允许远程协助连接这台计算机“。然后点击”选择用户—>添加—>高级—>立即查找“找到刚刚创建的用户,点击确定。

  • 配置本地组策略

运行 gpedit.msc 打开本地组策略编辑器。

选择“【管理模板】—>【Windows组件】—>【远程桌面服务】—>【远程桌面会话主机】—>【连接】。

  • 配置【限制连接的数量】,点击“已启用”,其中允许的RD最大连接数可以自己视情况而定。

  • 配置【将远程桌面服务用户限制到单独的远程桌面服务会话】

这个配置很重要,我最开始没配置,导致断开一个远程登录连接后,再重新连接,会重新打开一个新的桌面。但是打开新的应用程序时,系统提示系统后台正在运行,之前断开前的应用程序一个也找不到。后来发现是因为这部分设置没配置时,同一个用户先后登陆远程系统,系统会分配不同的会话,从而导致你在一个远程桌面的操作都不见了,虽然你运行的一些程序并没有被系统关闭,但是你无法对他们进行管理。

  • 配置【允许用户通过使用远程桌面服务进行远程连接】,启用即可。

 

 

  • 破解远程登录用户限制

  • 下载解除远程桌面多用户连接限制补丁  下载地址:

https://download.csdn.net/download/qyy_nice/10924112

解压其中的RDP压缩包,然后以管理员身份运行install.bat安装,安装完成后,运行RDPConf.exe,查看各个组件运行状态,状态全部为绿色就可以使用多用户远程桌面了。

如果端口监听为Nothing listening, 或者出现Listening [not supported], 则需要运行一下update.bat。

对于大部分计算机以上方法是完全可行的,但是我的控制台版本是1809系列,操作系统为17763,以上方法不行.

 

那么根据RDP补丁的原理是修改termsrv.dll和termsrv.dll.mui这两个远程服务文件达到多用户登陆目的。我把本系统的termsrv.dll和termsrv.dll.mui两个文件提取出来,并且覆盖了本机的文件,发现已经可以远程多用户登陆了。

破解文件在上面下载文件中的第二个压缩包内。

termsrv.dll文件在C:\Windows\System32内

termsrv.dll.mui文件在C:\Windows\System32\zh-CN内

覆盖完成后,运行RDPConf.exe。效果如下:

  • 远程登录

在另外一台电脑上,打开远程桌面连接(找不到可以在小娜中搜索),填写服务器的Ip地址,账号,点击连接后输入密码,效果如下。打开一些应用后,断开连接,过一段时间再次登录时发现界面保持不变。

OpenWRT 19.06.7 最新官方固件添加CPU频率,温度,接口速率,磁盘使用信息

跳转到指定楼层

1#

 发表于 2021-1-24 21:45 | 只看该作者 |只看大图 回帖奖励
本帖最后由 a798047000 于 2021-2-1 13:10 编辑

修改 /usr/libexec/rpcd/luci 添加如下代码

  1. getCoreInfo = {
  2.         call = function()
  3.             local sys = require “luci.sys”
  4.             local rv = {}
  5.             local freqs = string.split(string.trim(sys.exec(“cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq”)),”\n”)
  6.             local temps = string.split(string.trim(sys.exec(“sensors | grep ‘Core’ | cut -c10-24″)),”\n”)
  7.             local i
  8.             for i = 1, #freqs do
  9.                 local freq = string.trim(freqs[i])
  10.                 local temp = string.trim(temps[i])
  11.                 rv[#rv + 1] = {
  12.                     core = “Core ” .. i,
  13.                     freq = string.format(“%.2f”, freq / 1000) .. ” MHz”,
  14.                     temp = temp
  15.                 }
  16.             end
  17.             return {coreinfo = rv}
  18.         end
  19.     },
  20.     getDiskInfo = {
  21.         call = function()
  22.             local sys = require “luci.sys”
  23.             local rv = {}
  24.             local lines = string.split(string.trim(sys.exec(“/bin/df -h | sed ‘s/\\s\\+/ /g’ | uniq”)),”\n”)
  25.             local i
  26.             for i = 2, #lines do
  27.                 local tokens = string.split(lines[i], ” “)
  28.                 local block = string.trim(tokens[1])
  29.                 — ignore block not start with /
  30.                 if (string.sub(block, 1, 1) == “/”) then
  31.                     rv[#rv + 1] = {
  32.                         block = block,
  33.                         size = string.trim(tokens[2]),
  34.                         used = string.trim(tokens[3]),
  35.                         available = string.trim(tokens[4]),
  36.                         used_percent = string.trim(tokens[5]),
  37.                         mounte_point = string.trim(tokens[6])
  38.                     }
  39.                 end
  40.             end
  41.             return {diskinfo = rv}
  42.         end
  43.     },
  44.     getETHInfo = {
  45.         call = function()
  46.             local sys = require “luci.sys”
  47.             local rv = {}
  48.             local ethinfo = sys.exec(“/usr/bin/ethinfo”)
  49.             local lines = string.split(string.trim(ethinfo), “\n”)
  50.             local i
  51.             for i = 1, #lines do
  52.                 local line = string.trim(lines[i])
  53.                 if line == “” then
  54.                 else
  55.                     local tokens
  56.                     tokens = string.split(line, ” “)
  57.                     rv[#rv + 1] = {
  58.                         name = tokens[1],
  59.                         status = tokens[2],
  60.                         speed = tokens[3],
  61.                         duplex = tokens[4]
  62.                     }
  63.                 end
  64.             end
  65.             return {ethinfo = rv}
  66.         end
  67.     }

复制代码


安装 lm-sensors 执行命令

  1. opkg update
  2. opkg install lm-sensors

复制代码

添加文件 /usr/bin/ethinfo 写入

  1. #!/bin/sh
  2. a=$(ip address | grep ^[0-9] | awk -F: ‘{print $2}’ | sed “s/ //g” | grep ‘^[e]’ | grep -v “@” | grep -v “\.”)
  3. b=$(echo “$a” | wc -l)
  4. for i in $(seq 1 $b)
  5. do
  6.         c=$(echo “$a” | sed -n ${i}p)
  7.         d=$(ethtool $c)
  8.         e=$(echo “$d” | grep “Link detected” | awk -F: ‘{printf $2}’ | sed ‘s/^[ \t]*//g’)
  9.         f=$(echo “$d” | grep “Speed” | awk -F: ‘{printf $2}’ | sed ‘s/^[ \t]*//g’ | tr -d “Unknown!”)
  10.         [ -z “$f” ] && f=”-“
  11.         g=$(echo “$d” | grep “Duplex” | awk -F: ‘{printf $2}’ | sed ‘s/^[ \t]*//g’)
  12.         [ “$g” != “Full” -a “$g” != “Half” ] && g=”-“
  13.         echo “$c $e $f $g”
  14. done

复制代码

并给执行权限,执行

  1. chmod 755 /usr/bin/ethinfo

复制代码

修改 /usr/share/rpcd/acl.d/luci-base.json 找到

  1. “luci”: [ “getConntrackList”, “getInitList”, “getLocaltime”, “getProcessList”, “getRealtimeStats”, “getTimezones”, “getLEDs”, “getUSBDevices”, “getSwconfigFeatures”, “getSwconfigPortState”, “getBlockDevices”, “getMountPoints” ],

复制代码

添加 “getCoreInfo”, “getETHInfo”, “getDiskInfo” 改完后是这样的

  1. “luci”: [ “getConntrackList”, “getInitList”, “getLocaltime”, “getProcessList”, “getRealtimeStats”, “getTimezones”, “getLEDs”, “getUSBDevices”, “getSwconfigFeatures”, “getSwconfigPortState”, “getBlockDevices”, “getMountPoints”, “getCoreInfo”, “getETHInfo”, “getDiskInfo” ],

复制代码

然后将压缩包内的3个文件放入 /www/luci-static/resources/view/status/include/

游客,如果您要查看本帖隐藏内容请回复

最后别忘了重启 rpcd 和 uhttpd (或nginx,如果你用nginx替代了uhttpd的话) 服务

  1. service rpcd restart
  2. service uhttpd restart

复制代码

最终效果如图

QQ20210124-214454@2x.png (251.6 KB, 下载次数: 0)

下载附件  保存到相册

2021-1-24 21:45 上传


以上方案是直接修改系统文件实现的,没有改源码重新编译,如果想要在源码内修改,可以找到源码下相应的路径和文件,修改即可

由于我这里是直接修改系统文件的,因此没有国际化(翻译),中文文本是直接以unicode编码写到js文件里的

如果需要加入源码编译,建议将对应文本改为英文,然后在po文件内添加相应的翻译文本即可
此帖部分代码来自于 https://www.right.com.cn/forum/thread-1358471-1-1.html  感谢!

多说一句,如果更新了luci-base包,可能会导致修改失效,这主要是因为更新的包覆盖了修改后的文件,这时一般只需要重新在rpc中添加lua方法,然后再json中注册,重启rpcd,就能重新work。如果不行,那就对照教程完整的再来一次吧。

PVE安装后要处理的几个问题(三)添加硬盘

Proxmox(PVE)安装时候只有一块硬盘,我使用了ssd作为系统盘,并安装各种系统在ssd上面,但是想把数据存放在普通的机械硬盘上,这样我们就需要添加另一块硬盘了!

本文以PVE 5.3-8为例,首选你装好硬盘启动后查看下硬盘的名称

image.png

如上图所示,我用来当数据盘的设备名称为 sdc

也可以到终端内使用命令查看

ls /dev/sd*

如果你是IDE硬盘,应该没有了吧,使用以下命令查看

ls /dev/hd*

image.png

上图是查询结果,如果/dev/sdb这种样子,后面没有sdb1等数字,说明硬盘还没有分区(我上面显示/dev/sdb1  /dev/sdb2  /dev/sdb3说明已经分好区了)

之后我们要把这个硬盘分区,并格式化为ext4格式

fdisk /dev/sdc

进入fdisk界面,按下面方式操作

Select (default p): (直接按下enter)

Partition number (1-4, default 1): (直接按下enter)

First sector (2048-167772159, default 2048): (直接按下enter)

Last sector, +sectors or +size{K,M,G} (2048-167772159, default 167772159): (直接按下enter)

Command (m for help): w

image.png

 

上面的sector会根据你硬盘大小改变,我们分一个区,所以直接默认回车就可以

分区之后就会多出一个 /dev/sdb1,之后我们格式化为ext4格式

mkfs -t ext4 /dev/sdc1

格式化需要一些时间,等待一下就可以,不要着急,完成后出现done

image.png

如上图样子就格式化好了!之后我们要挂载到pve上面,先新建一个挂载目录

mkdir -p /mnt/sdc1

然后把硬盘挂载信息写入 /etc/fstab

echo /dev/sdc1 /mnt/sdc1 ext4 defaults 1 2 >> /etc/fstab

因为此时/目录是只读模式,进行修改/etc/fstab时,提示无法保存(只读),这时需要将/目录重新挂载为可读写模式 ,用命令

mount -o remount,rw,auto /

然后再对/etc/fstab进行修改就可以了。重启后系统正常启动。

之后重启PVE即可

开机添加目录

image.png

image.png

添加完毕,就可以在节点里看到你刚刚添加的目录了

image.png

 

Openwrt获取当前连接设备信息列表

查看连接上openwrt的设备IP信息,mac地址,方式有两种:

方式1:

Bash
cat /proc/net/arp

结果:

Bash
IP address       HW type     Flags       HW address            Mask     Device
192.168.0.1      0x1         0x2         **:95:**:5c:**:79     *        eth0.2
192.168.1.242    0x1         0x2         **:6c:**:77:**:40     *        br-lan
192.168.0.124    0x1         0x0         **:00:**:00:**:00     *        eth0.2
192.168.1.198    0x1         0x2         **:8d:**:5a:**:3c     *        br-lan

Flags标志可以表示是否在线状态,0x0表示离线,标志0x2表示在线

Device表示接口的名称

方式2:

Bash
cat /tmp/dhcp.leases

结果

Bash
1505227895   **:6c:**:77:**:40   192.168.1.242   android-5734b930181b5156   *
1505225907   **:8d:**:5a:**:3c   192.168.1.198   DESKTOP-AFGM9OL   01:40:8d:5c:5a:a0:3c

可以看到mac地址,IP,设备名等信息

还有个查看wifi连接设备的命令

Bash
#ra0 是设备的名称,根据实际情况也可能是wlan0或者其他名称
iwinfo ra0 assoclist

得到结果

Bash
**:**:**:C6:76:26  -44 dBm / -57 dBm (SNR 13)  37000 ms ago
    RX: 65.0 MBit/s, MCS 7, 20MHz                      0 Pkts.
    TX: 65.0 MBit/s, MCS 7, 20MHz                      0 Pkts.

**:**:**:FF:91:98  -44 dBm / -57 dBm (SNR 13)  6000 ms ago
    RX: 65.0 MBit/s, MCS 7, 20MHz                      0 Pkts.
    TX: 65.0 MBit/s, MCS 7, 20MHz                      0 Pkts.

LEDE / OPENWRT 自动清理内存

一、LINUX常用

1.清理前内存使用情况

free -m
  • 1

2.开始清理

echo 1 > /proc/sys/vm/drop_caches
  • 1

3.清理后内存使用情况

free -m
  • 1

4.完成!

二、OPENWRT
使用脚本自动配置openwrt时,ssh终端收到错误提示;****out of memory。各种无响应,郁闷之下发扬搬运精神,于是有了下面的脚本

#!/bin/sh

used=`free -m | awk ‘NR==2’ | awk ‘{print $3}’`

free=`free -m | awk ‘NR==2’ | awk ‘{print $4}’`

echo “===========================” >> /var/log/mem.log

date >> /var/log/mem.log

echo “Memory usage | [Use:${used}KB][Free:${free}KB]” >> /var/log/mem.log

if [ $free -le 153600 ] ; then

sync && echo 1 > /proc/sys/vm/drop_caches

sync && echo 2 > /proc/sys/vm/drop_caches

sync && echo 3 > /proc/sys/vm/drop_caches

echo “OK” >> /var/log/mem.log

else

echo “Not required” >> /var/log/mem.log

fi

Vmware 平台虚拟机导入到PVE平台上

 

PVE(Proxmox VE)是新的开源虚拟化平台,具有较多优点,如群集功能、容器等,但是实际操作中也有不少bug或不如意的地方。

现有一台vmware虚拟化平台的windows 2012R2 虚拟机,为了不重新安装操作系统和应用,因此希望通过直接转化的方法导入到PVE主机内。

检查pve资料,pve说可以通过两种方式导入,一种是通用ovf格式,另一种是直接加载vmdk磁盘。后来确认两种方式结果是几乎一样的。

我总结的导入过程如下:

1、将vmware下的windows2012R2虚拟机导出为OVF (略),但是要注意,不能导出成单个的ova文件,因为PVE中不认识达成包的OVA文件。但是导出ovf会生产三个文件,都需要拷贝出来。

2、将生成的三个ovf文件导入到pve的local存储上。正常可以使用local存储上“上传”的方法,选择*.*文件格式。也可以使用ssh工具,通过SFTP协议将文件上传只PVE 的ISO目录,该目录位于PVE机器的/var/lib/vz/template/iso   。

(注意:ssh secure shell client 3.2.9版本不行哦,我是用secure CRT 中SFTP上传的)

 

3、上传后就用PVE介绍的方式来导入虚拟机,说一种简单一点的方法,执行以下命令:

qm importovf 999  WindowsServer2012.ovf  local-lvm

其中999是导入虚拟机的ID,WindowsServer2012.ovf是虚拟机导入文件,local-lvm是放置虚拟机的磁盘卷。导入成功后,最后有100%的提示。

 

4、启动虚拟机,发现能看到windows 2012窗口,提示修复,反复重启,无法进入最后的操作系统界面,按照提示操作也几乎无法进行下去。

检查PVE文档,官网这样说:“除了格式问题之外,如果模拟的硬件从一个虚拟机监控程序到另一个虚拟机监控程序的变化太大,则从其他虚拟机监控程序导入磁盘映像可能会失败。Windows VM对此特别关注,因为OS对硬件的任何更改都很挑剔。可以通过在导出之前安装Internet上可用的MergeIDE.zip实用程序来解决此问题,并在引导导入的Windows VM之前选择IDE的硬盘类型。”

5、文档提示用IDE硬盘,就把硬盘类型从scsi改成IDE。

把原有硬盘从scsi上卸除。把硬盘挂载到ide0的总线上了,命令如下:

qm set 999 –ide0 local-lvm:vm-999-disk-0

 

6、可以挂PE,可对认到的IDE硬盘进行CHKDSK 的磁盘扫描,去除坏块等。方法如下:

chkdsk  /f:   e:   , 修正了一些小故障,重启还是不行,继续找问题。

 

7、突然想到应该要进安全模式,去除不合理的驱动,这样系统应该就能起来了。但是win2012启动时候缺省不响应F8,无法进入安全模式。

8、等待启动进入到了高级模式,找到命令行,在命令式模式下键入:bcdedit /set {default} bootmenupolicy legacy    这条命令是允许在win2012菜单出来之前可以按F8进入安全模式。

 

9、重启,在菜单出来之前按键F8进入安全模式。

10、可以进入到windows的安全模式,问题初步解决。找到“计算机管理”中的“设备管理器”,把里面没有用的驱动全部删除掉,特别是有vmware和HyperV字样的驱动,直至没有黄色的感叹号出现。

11、退出安全模式,再重新启动,终于出现了久违的Windows 2012 R2的画面。
————————————————
linux 迁移

VMware完美迁移PVE方法(两条命令解决)

未来村长 2021-05-05 15:07:40 20 收藏
分类专栏: 虚拟化 文章标签: 虚拟机 vmware pve
版权
一、为什么要迁移
因为VMware是收费的,PVE是免费的,就是这么简单粗暴,没有太多理由。
Proxmox优势:
Proxmox的主要特性,去中心化、超融合、高可用、开源低成本、易于实施管理,前面几个特性都和open stack一样,但是最后一点易于实施管理,open stack却做得不是特别好,对于易于实施管理这一点,主要有以下几个方面(引述):
1、proxmox以iso文件提供下载,刻录到u盘,安装方便高效。
2、创建集群,只需登陆每个系统执行一条指令,马上就能看到效果。
3、支持分布式存储,创建ceph存储池,也是寥寥几步就可完成,并很快可以在管理界面看到效果。
4、轻松实现高可用,web界面组成对象高可用(ha),也是易如反掌。
5、方便扩容,重复执行相同创建扩容命令即可完成。
6、统一界面。一个web入口,管理节点、存储、网络、虚拟机等所有资源,完成绝大部分用户操纵,无需要安装客户端。

1.迁移方法
(1)首先,把镜像从VMware虚拟机导出OVF格式
我用的是浏览器,客户端方法一样

(2)镜像已经导出成功,然后把导出来的镜像上传到PVE的镜像存储里面,上传的话,可以用FTP等,我用的是finalshell直接拉进去,保存路径是/var/lib/vz/template/iso/,后面根据自己实际保存路径来分。

 

(3)然后打开PVE,新建一个空白虚拟机,配置根据实际需要来配就行。

 

 

 

 

 

(4)然后用命令登录到PVE的节点node,用命令把镜像导入到刚才新建的虚拟机121里面,知道100%完成。
qm importdisk 121 /var/lib/vz/template/iso/test.vmdk local-zfs
qm set 121 –ide0 local-zfs:vm-121-disk-0
1
2
这里类型根据你虚拟机硬盘类型来选ide0还是scsi0,我就在这里翻车了,排查了很久才找到原因,所以,这里要注意。

 

(5)然后修改下刚才新建虚拟机的引导,放到第一个,不然的话,开机会找不到引导,一直重启。

 

(6)然后再开机,刚才导入进来的镜像已经可以开机运行了。

————————————————

SEO-您是否禁止了mj12bot蜘蛛的访问

MJ12bot这个蜘蛛是大家都怎么处理的?是否对SEO有帮助,他一直频繁的访问网站,是否应该屏蔽掉他呢,我的选择是好不犹豫的直接干掉他;

  • MJ12bot遵循robots.txt标准,惹需屏蔽他,直接在 robots.txt 添加以下代码;

过去几个月总是在过一段时间后收到服务器资源负载过高的警告,基本上每次上机检查日志都会发现某个网站被奇怪的恶意爬虫给完整检查了一遍。而且不知道为什么 MJ12bot 总是会检查一些无限重定向的链接,导致服务器资源被无意义地消耗。


几个资源消耗比较高的爬虫包括:

  • dotbot
  • SemrushBot
  • MJ12bot
    • 我特别建议屏蔽 MJ12bot,因为一些版权方会使用这家的爬虫来批量检查网站中是否包含侵犯版权的文件
  • SMTBot

对于这些爬虫建议直接在 robots.txt 中屏蔽掉它们,目前复查日志发现至少它们确实是遵守 robots.txt 规则的

  • User-agent: dotbot
  • Disallow: /
  • User-agent: SemrushBot
  • Disallow: /
  • User-agent: MJ12bot
  • Disallow: /
  • User-agent: SMTBot
  • Disallow: /
  • User-agent: PetalBot
  • Disallow: /
  • User-agent: AhrefsBot
  • Disallow: /
  • User-agent: CheckMarkNetwork
  • Disallow: /
  • User-agent: DigiCert DCV Bot
  • Disallow: /

OpenWRT分配挂载剩余磁盘空间

软路由用的是60G的固态硬盘,而openwrt占用的空间很少,将剩下的空间划分出来,做可道云空间,存储办公文档,还是不错的。
首先,ssh连接,然后输入 fdisk /dev/sda

image

继续输入w,保存分区表
image

开始格式化分区,输入mkfs.ext4 /dev/sda3
image

挂载分区
登录路由器:系统 > 挂载点> 添加
启用此挂载点:勾选
UUID:选择要挂载的分区
挂载点:选择(自定义),输入 /mnt/sda3回车。
image