2021.03.19->2021.04.26 [ B18 ]
[ B18 ]
<2021.03.19>
WDNMD!懂的自然懂!
</2021.04.26>
记录一个广东广电的超级账号跟密码
广东广电的光猫超级管理员的账号密码
账号operator
密码operator123
Centos7关闭防火墙和禁用防火墙
今天折腾甲骨文的VPS,上面写了篇文章如何放行端口,但实际上它只是临时放行,VPS重启过后还是会被“隔离”,找了半天原因,原来是被Centos的防火墙给“隔离”了,所以下面的命令就是如何关闭防火墙跟禁用防火墙。
老样子,先sudo -i
拿到root权限
然后sudo systemctl stop firewalld
关闭防火墙
关闭防火墙过后只是暂时关闭,重启过后防火墙依然会启动
接下来sudo systemctl disable firewalld
禁用防火墙,然后就可以愉快的玩耍了。
甲骨文VPS开放通行端口
我是centos系统的,连接上SSH过后,依次执行以下命令就可以了
甲骨文里面的系统,默认账号
centos 默认登录账户是 opc
ubuntu 默认登录账户是 ubuntu
sudo -i 切换到ROOT
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
sudo iptables -F
linux shell数值比较和字符串比较
说明:
- 把字符串当成整型进行比较,由于abcd等字符对不上0123当程序尝试去转成二进制时无法完成转换,所以用于数值比较的运算不能用于字符串比较;但是把整型当成字符串进行比较,0123这些数值完全可以转成ASCII码而且原本两个整型相等则变成ASCII码还是相等、不等的还是不等,所以可用于字符串的比较也可用于整型的比较。
- if语句中,数值比较的写法是
if [ $var1 -ge $var2 ];
字符串比较的写法是if [ "$var1" != "$var2" ]
,其中加双引号只是兼容$var2处为空的情况 - 在各种运算中,test命令的运算和中括号是等效的
- 赋值时等号两边没空格,比较或测试时运算符两边都要有空格
- shell默认是字符运算,如果想当数值进行运算要在前边加上expr,如:var3='expr $var1 + $var2'
- shell的文件包含命令只有“.”,而且该命令只能一次包含单个文件(当然可以用*表示文件夹下所有文件)而不能包含一个文件夹;所见的!includedir和#includedir并不存在这样的命令,应该是程序自己实现的包含功能
- “.”在shell中执行则会影响shell的环境,但如果只在脚本中执行那只影响脚本中的环境不会影响当前shell的环境;source其实也如此。
1. 只适用于数值的比较
该类型操作会把两边变量当成整型进行加减运算,字符串abcd按整型运算无法进行,所以此类型不能用于字符串比较
参数 | 说明 |
---|---|
-eq | 等于则为真 |
-ne | 不等于则为真 |
-gt | 大于则为真 |
-ge | 大于等于则为真 |
-lt | 小于则为真 |
-le | 小于等于则为真 |
if [ $i -eq 10 ]
2. 适用于字符串的比较(也可用于数值比较)
参数 | 说明 |
---|---|
== | 相等则为真 |
!= | 不相等则为真 |
注意:==的功能在[[]]和[]中的行为是不同的,如下:
[[ $a == z* ]]
#如果$a以“z”开头(模式匹配)那么将为true
[[ $a == "z*"]]
#如果$a等于z(字符匹配)那么为true,为字符
[ $a == z* ]
#file flobbing和word splitting将会发生
[ "$a" == "z*" ]
#如果$a等于z*(字符匹配),那么为true
3. 字符串测试运算
参数 | 说明 |
---|---|
-z 字符串 | 字符串的长度为零则为真 |
-n 字符串 | 字符串的长度不为零则为真 |
if[ -z $i ]
4. 文件测试运算
参数 | 说明 |
---|---|
-e 文件名 | 如果文件存在则为真 |
-r 文件名 | 如果文件存在且可读则为真 |
-w 文件名 | 如果文件存在且可读则为真 |
-x 文件名 | 如果文件存在且可执行则为真 |
-s 文件名 | 如果文件存在且至少有一个字符则为真 |
-d 文件名 | 如果文件存在且为目录则为真 |
-f 文件名 | 如果文件存在且为普通文件则为真 |
-c 文件名 | 如果文件存在且为字符型特殊文件则为真 |
-b 文件名 | 如果文件存在且为块特殊文件则为真 |
if [ -d /root/cw ]
shell利用grep判定文件内是否存在指定文本
shell利用grep判定文件内是否存在指定文本
if [ "0" -ge `grep -c "systemup" /etc/crontabs/root` ] ;then
echo "不存在指定文本"
else
echo "存在指定文本"
fi
Hello2020
Goodbye2019;
Hello2020;
</2019>
<2020>
在PVE服务器里面创建Docker并安装PortainerGUI
在PVE服务器里面创建Docker并安装PortainerGUI
- Install Proxmox VE
- 进行以下源代码调整以便可以更新:
要首先修复此问题,请添加无订阅源:
编辑文件:
# nano /etc/apt/sources.list
添加:
deb http://download.proxmox.com/debian stretch pve-no-subscription
删除企业源,编辑文件:
# nano /etc/apt/sources.list.d/pve-enterprise.list
找到并删除或注释掉以下一行:
# deb https://enterprise.proxmox.com/debian stretch pve-enterprise
更行系统源:
apt-get update && apt-get dist-upgrade -y
- 重启服务器
- 安装 docker-ce:
apt-get install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
apt-key fingerprint 0EBFCD88
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
apt-get update && apt-get install docker-ce -y
你现在应该可以运行docker ps并且没有看到正在运行的容器
- 使用持久容器安装Portainer
为了便于入门,我们将在引导驱动器上创建一个目录。您应该将其移动到其他存储,这样比较简单:
mkdir /root/portainer/data
为Docker WebGUI安装Portainer:
docker run -d -p 9000:9000 -v /root/portainer/data:/data -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer
在您看到Portainer启动后等待大约15-30秒(您可以运行“docker ps”查看状态)
- Your login URLs will be the following ports:
Proxmox GUI: https://<serverip>:8006
Portainer GUI: http://<serverip>:9000
PVE(Proxmox VE)下网卡是如何设置直通的
介绍
PVE虚拟机相对ESXI虚拟机来说直通网卡在5.2版本之前还是比较复杂的,但是5.3版本开始就加入了图形化的直通界面,大大提升了我们直通网卡的便捷性,但是还是不够那么的直观。
Intel CPU
shell里面输入命令:
nano /etc/default/grub
在里面找到:
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
然后修改为
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"
在更新一下
update-grub
重启一下
reboot
AMD CPU
shell里面输入命令:
nano /etc/default/grub
在里面找到:
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
然后修改为
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on""
重启一下
reboot