PVE修改虚拟机ID

前段时间在pve上做redis实验的时候创建的虚拟机,发现原有创建时ID与先前认为的规范不一致,所以需要修改为正确的ID。

关闭需要修改ID的虚拟机

使用虚拟机名称过滤停止虚拟机实例

# for vm in `qm list |grep redis |awk '{print $1}'`; do qm unlock  $vm;qm stop $vm; done

重命名虚拟机配置文件

进入到/etc/pve/nodes/pve,KVM虚拟机对应目录为qemu-server,lxc容器为lxc,重命名旧配置文件为新ID名称。这次目的只是为了修改虚拟机ID,所以不用做其他操作。

如果是修改了相应的磁盘信息之类的,则需要修改配置文件中相应的项。

# mv 331.conf 131.conf

因为在这里多台虚拟机都是连续的ID号,所以使用for来重命名

# for i in {1..6};do mv 33$i.conf 13$i.conf; done

 

esxi启用ssh客户端

在esxi中查看ssh客户端是否启用

esxcli network firewall ruleset list --ruleset-id sshClient

如果结果非true,使用下面的指令启用ssh客户端

esxcli network firewall ruleset set --ruleset-id sshClient --enabled=true

如果不启用ssh客户端,则无法在esxi中使用ssh连接到其他机器,亦无法使用scp拷贝文件

系统启动前进入fsck修复文件系统

当linux系统运行时候,无法对已挂载文件系统进行尝试性修复,所以当一个ext(n)根文件系统出现损坏时候,需要在开机时使其执行fsck修复根文件系统。

在/下创建名为forcefsck的文件,重启后将执行fsck文件系统修复。

# touch /forcefsck
# reboot

进入系统之后,默认情况下/forcefsck已被移除,如未移除,需要手动移除该文件,避免每次进入系统前都执行fsck。

# rm /forcefsck

 

Debian 10 安装Qtile

目前qtile包由于过旧,在新版debian/ubuntu源中已被移除,所以要使用源码安装qtile。

安装依赖库

如果没有安装pip,先安装pip

# sudo apt install python3-pip

然后安装依赖:

# sudo pip3 install xcffib
# sudo pip3 install --no-cache-dir cairocffi
# sudo apt install libpangocairo-1.0-0

安装Qtile

# git clone https://github.com/qtile/qtile.git
# cd qtile
# sudo pip3 install .
# sudo pip3 install qtile

初始化及启动

复制默认配置文件到个人配置文件夹:

# cp /usr/local/lib/python3.7/dist-packages/libqtile/resources/default_config.py ~/.config/qtile/config.py

在lightdm(或其他如sddm、gdm桌面管理器)中添加Qtile会话:

# sudo vim /share/xsession/qtile.desktop
[Desktop Entry]
Name=Qtile
Comment=Qtile Session
Exec=/usr/local/bin/qtile
Type=Application
Keywords=wm;tiling

 

使用nginx反向代理qbittorrent-nox

qbittorrent-nox设置

  • 修改qbittorrent-nox web ui监听地址

使用qbittorrnet-nox使用帮助查看了一下,没有看到有相关的监听地址选项,只有端口的设置,登入到qbittorrent-nox 的web ui中可以修改监听的ip地址,默认为*

到tools-options-Web UI-Web User Interface (Remote control)中将IP address:修改为127.0.0.1,重启后即无法从外部地址访问qbittorrent-nox。

  • 重启qbittorrent-nox

使用systemd服务重启qbittorrent-nox,具体使用方法参阅Dedian 10 使用qbittorrent-nox web

 sudo systemctl start qbittorrent-nox

nginx反向代理

  • 添加反向代理配置

 location /qbit/ {
    proxy_pass http://127.0.0.1:8080/;
    proxy_http_version      1.1;
    proxy_set_header        X-Forwarded-Host        $http_host;
    http2_push_preload on; # Enable http2 push
  }
  • 启用nginx_http_auth_basic认证

    • 使用htpasswd创建认证文件  # htpasswd -c /etc/nginx/qbit.passwd qbit
    • 在nginx反向代理qbittorrent-nox块中使用创建的认证信息
 location /qbit/ {
    auth_basic "Welcome Qbittorrent"; 
    auth_basic_user_file /etc/nginx/qbit.passwd;
    proxy_pass http://127.0.0.1:8080/;
    proxy_http_version      1.1;
    proxy_set_header        X-Forwarded-Host        $http_host;
    http2_push_preload on; # Enable http2 push
  }
  • 重启nginx

#systemctl restart qbittorrent-nox

到此即可使用nginx访问qbittorrnet-nox的web ui了,http://yourdomain/qbit

 

Dedian 10 使用qbittorrent-nox web

下载安装包

sudo apt install qbittorrent qbittorrent-nox

创建用于运行qbittorrent-nox的用户及组

sudo adduser --system --group qbittorrent-nox

也可以将系统原有用添加到qbittorrent-nox组中,此处用户主要用于qbittorrnet-nox 的systemd启动脚本

添加qbittorrent-nox服务,设置开机自启及启动

sudo vi /lib/systemd/system/qbittorrent-nox.service
[Unit]
Description=qBittorrent Command Line Client
After=network.target

[Service]
Type=forking
User=qbittorrent-nox
Group=qbittorrent-nox
UMask=007
ExecStart=/usr/bin/qbittorrent-nox -d --webui-port=8090
Restart=on-failure

[Install]
WantedBy=multi-user.target

webui-port用于浏览器访问的端口,可以自行更改(非root用户需使用1024-65535以上未被使用的端口)

sudo systemctl daemon-reload
sudo systemctl enable qbittorrent-nox
sudo systemctl start qbittorrent-nox

修改web访问用户及密码

使用8090端口访问qbittorrent web页面,默认用户admin,密码adminadmin

在tools-options-Web UI中找到Authentication,修改username及password。

Windows 10 下使用wsl2编译Openwrt

装备环境-准备并安装wsl

  • 启用wsl

    使用powershell或windows组建添加或删除启用wsl(Windows Subsystem Linux)及虚拟机平台(VirtualMachinePlatform)

    powershell:

    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

    windows组件:

    在windows组件中勾选wsl及VirtualMachinePlatform即可

    使用wsl2依赖于VirtualMachinePlatform,如使用wsl v1无需启用该组件

  • 安装wsl2并安装linux发行版本

    使用wsl2需要升级wsl内核,下载并安装wsl内核,然后到microsoft商店安装linux发行版本(如ubuntu)。

编译openwrt

  • 迁移wsl发行版本(系统分区空间充足的可忽略)

    获取LxRunOffline对系统中wsl发行版本进行目录迁移。

    1. 查看wsl发行版本

      lxrunoffline l

      Ubuntu

    2. 迁移wsl发行版本目录

      lxrunoffline m -n Ubuntu -d d:\test
    3. 确认转移

      lxrunoffline di -n Ubuntu

      d:\test

  • 启用windows大小写区分特性

    fsutil.exe file setCaseSensitiveInfo d:\test enable

    在启用大小写区分前写入的数据保持原有特性,新写入文件才拥有大小写区分特性

  • 获取openwrt源码开始编译

    将openwrt源码拉取到wsl用户目录,执行编译即可

    $ make menuconfig
    $ make V=s

tomcat 修改web端口及时区

默认web端口

修改conf/server.xml, Connector port

 <Connector port="8088" protocol="HTTP/1.1" 
              connectionTimeout="20000"               
              redirectPort="8443" />

时区

修改bin/catalina.sh,JAVA_OPTS中添加 -Duser.timezone=GMT+08

JAVA_OPTS="$JAVA_OPTS -Duser.timezone=GMT+08 $JSSE_OPTS"

openwrt 无法找到共享库libgcc_s.so.1

出现这个问题是今天在安装某个ipk包,所依赖的libgcc由于系统已存在,所以将其从/lib下移至/root/中,随后发现大部分命令依赖于libgcc导致无法使用。好在export正常工作,将LD_LIBRARY_PATH设置为libgcc所在目录/root,使其他工具正常使用。

export LD_LIBRARY_PATH=/root

 

virt-manager

无法创建虚拟网络:Failed to initialize a valid firewall backend

安装ebtables、dnsmasq,重启libvirtd

##debian
apt install ebtables dnsmasq

##arhch
pacman -S ebtables dnsmasq

 

sony遥控器

一、SONY的机型不需任何设定就能够使用装上电池就能直接遥控电视机不过要测试一下按键相关对应的功能(登入后即可检视图片)

二、输入品牌代码 (留邮箱地址向客服索取)

1)按住SET键3秒直到灯亮起,然后同时按下要设定的组态键(如DVD)
(2)输入品牌代码
如果不想看那密密麻麻的品牌代码表,也可以上官网查询

三、自动搜寻法
(1)打开要遥控的机器电源,将遥控器对准机器
(2)按住SET键3秒直到灯亮起,然后同时按下要设定的组态键(如AMP)
(3)依序键入9、2、2,SET灯会闪3下
(4)按住PLAY键直到机器电源关闭再放开
(5)按下方向键中间的确定键完成设定(试着用这方式搜寻MOD,虽然MOD的遥控讯号灯有亮但是最终并没有关闭电源,所以MOD无法用此方法设定)

四、一对一学习,也是最实用的功能 (一定要使用全新电池, 不要使用充电电池之类的旧电池)
(1)将要学习的遥控器面对面放置约3~8cm

(2)按住SET键3秒直到灯亮起,然后同时按下方向键中间的确定键
(3)依序键入9、8、8,SET灯会闪3下
(4)按下要设定的组态键(如CBL),组态灯会亮起

(5)按下要学习的按键,SET灯会闪1下 (要学习长按的时候请长按) (第5或第6步不行,或异常退出的都是电量不足引起的,请换全新电池)
(6)在要被学习的遥控器按下要学习的键,学习成功SET灯会闪3下,然后组态键的灯会熄灭 (要学习长按的时候请长按)
只要重复(4)~(6)的步骤就可以完成所有按键设定
建议在设定前心里先有个谱想想哪个要对应哪个按键
不然设定时会有点手忙脚乱,按错或过了30秒又要重按一次步骤(1)~(3)

成功地完成MOD遥控器的设定了热血

※如过要设定功能给组态键,只要把步骤(4)、(5)改为按住组态键3秒
Ex:把切换讯源的功能指定给DVD组态键
那遥控器按下DVD时就可以同时切换讯号到DVD

取消单一按键功能记忆:
(其实重新学一次复盖原来设定也可以,取消是让它变成无功能按键)
(1)按住SET键3秒直到灯亮起,然后同时按下方向键中间的确定键
(2)依序键入9、0、4,SET灯会闪3下
(3)按下要取消的组态(如CBL),组态灯会亮起
(4)按下要取消功能的按键,SET灯会闪3下表示取消成功

取消一个组态下的所有按键功能记忆:
(1)按住SET键3秒直到灯亮起,然后同时按下方向键中间的确定键
(2)依序键入9、0、5,SET灯会闪3下
(3)按下要取消的组态(如CBL),SET灯会闪3下表示取消成功

所有功能回复出厂默认值
(1)按住SET键3秒直到灯亮起,然后同时按下方向键中间的确定键
(2)依序键入9、0、0
(3)按下方向键中间的确定键,SET灯会闪3下表示设定完成(登入后即可检视图片) PS:连续指令设定方法:
(1)按住SET键3秒直到灯亮起,然后同时按下方相键中间的确定
(2)键入9、8、1,SET灯会闪3下
(3)按一下要设定的SYSTEM CONTROL键(遥控器最下面的1、2、3、4)
(4)输入要设定的连续指令
(5)设定完成后按一下SET键,SET灯会闪3下表示设定完成
取消方式:
(1)重复上列(1)、(2)
(2)按住要取消功能的SYSTEM CONTROL键3秒,SET灯会闪3下表示取消成功

openmediavault php无法运行的问题

根据官方文档的指引下安装openmediavault,一路来到apt安装软件包的步骤,php-fpm无法启动便无法继续后续,如下:


Apr 13 04:42:36 bananapim3 systemd[1]: Starting The PHP 7.3 FastCGI Process Manager...
Apr 13 04:42:36 bananapim3 php-fpm7.3[27202]: [13-Apr-2020 04:42:36] ERROR: unable to bind listening socket for address '/run/php/php7.3-fpm.sock': No such file or directory (2) 阅读更多 openmediavault php无法运行的问题

caja 更改默认终端

caja文件管理器默认配置打开的终端为mate-terminal,当系统未安装mate-terminal时,点击右键在终端中打开则无响应,因为无法调用mate-terminal,解决方法是手动装一个mate-terminal或是将其默认则改为其他当前系统中已有的终端。如果在caja中点击右键未发现有“在终端中打开选项时”,需要安装caja-open-terminal扩展,该扩展在不同linux发行版本中的包名可能不同。

  • $ gsettings set org.mate.applications-terminal exec $TERM
  • 也可以通过caja配置扩展中修改,caja菜单栏-编辑-首选项-扩展,打开终端-配置扩展,将终端应用程序修改为当前系统中已安装的终端。

linux中使用curl通过pfsense captive portal 认证

使用网络ping检测,每次发两个icmp包,如果检查某个公网IP不通时,则执行pfsense portal认证。

#!/bin/sh
while :
do
ping -c 2 baidu.com
[ $? -ne 0 ] && curl -d "auth_user=$user&auth_pass=$password&accept=Continue&zone=whitelist" -v http://192.168.1.1:8002/index.php\?zone=whitelist

sleep 10
done
 nohup portal_auth.sh >/tmp/auth.log 2>&1 &

 

Linux中交叉编译8812au驱动-NanoPi Neo2

构建NanoPi Neo2交叉编译环境

# apt install build-essential

配置编译工具链

Linaro下载gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu.tar.xz ,解压到/opt

# tar xvf gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu.tar.xz -C /opt

将/opt/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin 添加到PATH中

$ export PATH=$PATH:/opt/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin

编译内核

阅读更多 Linux中交叉编译8812au驱动-NanoPi Neo2

windows 10 无法访问samba服务器

widnows 10 无法访问某些samba服务器的原因,是因为windows 10默认安全策略不允许访问不安全的samba服务器(如smb 1.0版本),建议停用smb 1.0版本的服务器,详见 禁用SMB1协议

如有必要访问,修改注册表

计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters

将AllowInsecureGuestAuth值修改为1