月度归档:2021年05月

Ubuntu 20.04或者Debian 10系统环境里面 安装Docker CE的步骤 2021-5-25

需求描述
想要尝试NextCloud,发现编译LNMP太麻烦了,索性直接使用开箱即用的Docker来搭建
本文介绍在Debian10系统上安装DockerCE的步骤

建议参考官方教程,比较新,比较权威,详细

Docker 官方页面 https://docs.docker.com/get-docker/


Debian 10:

# 第一步,更新
root@SERVER:~# apt-get update

# 第二步,安装一些必要的依赖包
root@SERVER:~# apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common

# 第三步,增加Docker官方的GPG密钥
root@SERVER:~# curl -fsSL https://download.docker.com/linux/debian/gpg |  apt-key add -

# 第四步,增加Docker的更新源到系统
root@SERVER:~# add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

# 第五步,更新
root@SERVER:~# apt-get update

# 第六步,使用官方的repo而不是Debian源里面的旧版本
root@SERVER:~# apt-cache policy docker-ce

# 第七步,安装DockerCE社区版本
root@SERVER:~# apt install docker-ce docker-ce-cli containerd.io
root@SERVER:~# docker -v
Docker version 20.10.7, build f0df350
root@SERVER:~# 

# 第八步,开机启动
root@SERVER:~# systemctl enable docker


# 第八步,正常启动
root@SERVER:~# systemctl start docker

Ubuntu 20.04

# Ubuntu 20.04 LTS 安装Docker  2022-5-3
root@SERVER:~# apt-get remove docker docker-engine docker.io containerd runc
root@SERVER:~# apt-get update
root@SERVER:~# apt-get install ca-certificates curl gnupg lsb-release
root@SERVER:~# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
root@SERVER:~# echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
root@SERVER:~# apt-get update
root@SERVER:~# apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
Donate
云乞讨

迅雷极速版本1.0.35.366,No迅雷广告,正确安装的姿势方法 2021-12-13

需求描述
需要临时下载WindowsServer2012R2的镜像,网络上给的是ED2K格式的下载链接,于是考虑使用迅雷下载,并尽量避免被安装很多推广内容的软件

执行步骤
# 网络搜索,下载"迅雷极速版1.0.35.366",校验sha1sum:58f74abc521f5d913a139fdd72d5ab80750749bc
# 安装"迅雷极速版",安装完成后,不要着急打开迅雷
# 找到下载目录
C:\Program Files (x86)\Thunder Network\Thunder\Data
# 创建文件夹,名称为"ThunderPush"
# 在文件夹"ThunderPush"上右击鼠标,选择属性,选择常规,勾选只读
# 在文件夹"ThunderPush"上右击鼠标,选择属性,选择安全,依次选择组或用户名,选择编辑,选择拒绝
ThunderPush权限控制
ThunderPush目录权限控制
# 完成后,想要打开ThunderPush,会提示"您当前无权打开该文件夹"即可
# 正常打开软件,Enjoy没有推广安装的下载
ThunderPush权限控制效果
ThunderPush目录权限控制的效果

YouTube:

000042  迅雷极速版本1.0.35.366,No迅雷广告,正确安装的姿势方法 20211213
博客 https://dasmz.com/?p=152
视频 https://youtu.be/PkzTlhsCw5w
Donate
云乞讨

关闭 谷歌浏览器Chrome Chromium 火狐浏览器Firefox WebRTC 2021-5-22

关闭 谷歌浏览器 火狐浏览器 WebRTC 2021-5-22

WebRTC项目是由Google创建的,主要用于在用户浏览器(P2P连接)之间传输流数据(音频和视频),而无需任何辅助软件或插件。这使支持WebRTC的浏览器不仅可以访问您的网络(独立于操作系统),而且可以通过STUN协议检测您的公共IP地址和本地IP地址,从而绕过任何类型的NAT建立P2P连接

浏览器默认启用了WebRTC,这使得这些浏览器的用户无法使用匿名功能,且国内部分知名的直播网站直接使用该功能大量占用客户端的上传带宽

您应该禁用WebRTC的支持,以阻止它检测您的公共IP地址和本地IP地址,且可避免自己沦为国内直播平台的P2P节点

关闭火狐浏览器的WebRTC
# 在地址栏里,输入about:config,进入配置页面,搜索"media.peerconnection.enabled"
# 该选项默认值为true,双击一下,修改为false
# 重启浏览器
关闭谷歌浏览器的WebRTC
# 打开谷歌Chrome商店
https://chrome.google.com/webstore/category/extensions
# 搜索如下的某一个
1. WebRTC Network Limiter
2. WebRTC Leak Shield
# 
WebRTC-Leak-Shield
Chrome WebRTC Leak Shield

副作用
1. 此扩展可能会影响使用WebRTC进行音频/视频或实时数据通信的应用程序的性能
2. 因为它限制了潜在的网络路径和协议,所以WebRTC可以选择导致显着更长的延迟或较低质量的路径

检测IP信息泄漏的网站
https://ipleak.net/
https://ipleak.com/full-report/
https://www.dnsleaktest.com/
https://dnsleak.com/
https://www.expressvpn.com/webrtc-leak-test
https://ip.voidsec.com/


2021-9-3 更新 update:
宿主机系统Ubuntu 20.04 安装的Chromium浏览器,时常发生右击鼠标,卡住的现象

解决办法
地址栏输入 chrome://flags 打开浏览器隐藏设置页

将如下的项目设置为disable状态,重启浏览器,就恢复正常
WebRTC multi-channel capture audio processing.
Send WebUI JavaScript Error Reports
WebRTC remote-bound event logging
WebRTC hybrid Agc2/Agc1.
WebRTC Agc1 analog clipping control.
Anonymize local IPs exposed by WebRTC.
Experimental QUIC protocol
Enable WebRTC actions in Media Session


2021-9-5 更新 在Ubuntu 20.04 Chromium上,右击鼠标没有反应的处理办法

在谷歌浏览器的设置里面,把Use hardware acceleration when available,这个硬件支撑的取消掉

Donate
云乞讨

SSH登录远程主机 提示远程主机的指纹改变 2021-5-21

SSH登录远程主机 提示远程主机的指纹改变 2021-5-21

需求描述
SSH登录远程主机 提示远程主机的指纹改变 2021-5-21/p>

警示报错的提示如图:

Donate
SSH提示远程主机的指纹改变

# 修复方式:
# 执行清除掉本地缓存的旧的指纹信息即可 10.1.1.123为你需要登录的远程主机的IP地址
root@SERVER:~# ssh-keygen -f "/root/.ssh/known_hosts" -R 10.1.1.123

Donate
云乞讨

使用scp命令 传输文件夹 到远程的服务器 2021-5-20

需求描述
使用scp命令 传输文件夹 到远程的服务器 2021-5-20


# 原始服务器IP 10.AA.B.CC /u1/tmn
# 新的服务器IP 10.XX.Y.ZZ /u1/tmn

# ssh 登录到 文件源头服务器 10.AA.B.CC
root@localhost~:# ssh root@10.AA.B.CC

# cd 到所需要传输的文件夹的上层目录
root@SourceServer~:# cd /u1

# 传输所需要的目录到远程服务器对应的位置
# 如果在根目录下操作,要及其小心,不能覆盖掉系统的那些/bin /etc ...目录
root@SourceServer~:# scp -r tmn root@10.XX.Y.ZZ:/u1/



# 实际操作的演示
# 例如,传输本地/home/user/TMP0944目录 到 远程服务器的相同位置 /home/user/TMP0944
root@RemoteServer~:# cd /home/user/
root@RemoteServer~:# scp -r ./TMP0944  root@21.45.36.9:/home/user/
# 参数注释 -r 指定本地的文件目录名字
# 参数注释 /home/user/ 指定到远端文件夹的目录下
# 命令释义 本语句的意思 传输本地的TMP0944文件夹 到 远程服务器21.45.36.9的 /home/user/这个目录下

传输完成后
root@RemoteServer:/home/user/TMP0944# ls -a
.  ..  .tmp2.txt  tmp3.txt
root@RemoteServer:/home/user/TMP0944# 

Donate
云乞讨

OpenStack 云平台 创建云物理机步骤 2021-5-19

需求描述
OpenStack 云平台 创建云物理机步骤 2021-5-19

#. 登录"云平台"
#. 点击"计算&存储",点击"云物理机",点击"新建"
#. 指定名称为需要的名字,如"shzq-project-subname-prod-mq07"
#. 项目"某某某项目"
#. 用户"admin"
#. 可用域"nova"
#. 名称"BM" 搜索,选中"BM_centos73"
#. 选择CPU/内存/硬盘规格/默认的裸机规格
#. 选择名称对应为"shzq-project-subname-prod-mq07"的裸机服务器
#. 选择对应项目分组subname的网络,按Excel清单对应关系,指定IP地址
#. 提交,等待完成

Donate
云乞讨

动态分区LVM方式挂载两块新增的硬盘到系统 2021-05-18

需求描述
动态分区LVM方式挂载两块新增的硬盘到系统 2021-05-18


# 第一步
# 查看系统内可用的硬盘
root@SERVER:~# fdisk -l
...
Disk /dev/vdb: 2 GiB, 2147483648 bytes, 4194304 sectors  #新增的硬盘1,大小2GB
Disk model: HARDDISK        
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xacc559c1

Device     Boot Start     End Sectors Size Id Type
/dev/vdb1        2048 4194303 4192256   2G 8e Linux LVM


Disk /dev/vdc: 3 GiB, 3221225472 bytes, 6291456 sectors  #新增的硬盘1,大小3GB
Disk model: HARDDISK        
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes




# 第二步
# 依次对刚刚的/dev/vdb  /dev/vdc 进行文件系统的创建
root@SERVER:~# fdisk /dev/vdb 
p   #这个地方如果显示了分区,记得按d逐个删除掉
n
[enter]
[enter]
[enter]
[enter]
t
L
8e
p 
w

root@SERVER:~# fdisk /dev/vdc
p   #这个地方如果显示了分区,记得按d逐个删除掉
n
[enter]
[enter]
[enter]
[enter]
t
L
8e
p 
w

root@SERVER:~# 
root@SERVER:~# fdisk -l
...
Disk /dev/vdb: 2 GiB, 2147483648 bytes, 4194304 sectors
Disk model: HARDDISK        
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xec2d5eb5

Device     Boot Start     End Sectors Size Id Type
/dev/vdb1        2048 4194303 4192256   2G 8e Linux LVM


Disk /dev/vdc: 3 GiB, 3221225472 bytes, 6291456 sectors
Disk model: HARDDISK        
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x228299a9

Device     Boot Start     End Sectors Size Id Type
/dev/vdc1        2048 6291455 6289408   3G 8e Linux LVM

...
root@SERVER:~#









# 第三步
# 物理卷是将在LVM配置中使用的实际存储设备,它可以是整个磁盘,
# pvcreate命令初始化这些磁盘,以便它们可以构成卷组
# 如果没有该命令,使用apt-get install lvm2安装组件
root@SERVER:~# pvcreate /dev/vdb1 /dev/vdc1
  Physical volume "/dev/vdb1" successfully created.
  Physical volume "/dev/vdc1" successfully created.
root@SERVER:~# 
root@SERVER:~# pvs
  PV         VG Fmt  Attr PSize  PFree 
  /dev/vdb1     lvm2 ---  <2.00g <2.00g
  /dev/vdc1     lvm2 ---  <3.00g <3.00g
root@SERVER:~# 



# 第四步
# 物理卷被合并为卷组(VG)。它创建了一个磁盘空间池,可以在其中分配逻辑卷
# 逻辑卷被分配到与物理盘区大小相同的逻辑盘区中。
# 因此,卷大小对于卷组中的所有逻辑卷都相同。卷组将逻辑盘区映射到物理盘区
root@SERVER:~# vgcreate vg01 /dev/vdb1 /dev/vdc1
  Volume group "vg01" successfully created
root@SERVER:~# vgs
  VG   #PV #LV #SN Attr   VSize VFree
  vg01   2   0   0 wz--n- 4.99g 4.99g
root@SERVER:~# 




# 第五步
# 卷组分为逻辑卷。因此,如果您早先创建了vg01,则可以从该VG创建逻辑卷
root@SERVER:~# lvcreate -l 100%VG -n lv01 vg01
  Logical volume "lv01" created.
root@SERVER:~# lvs
  LV   VG   Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv01 vg01 -wi-a----- 4.99g                                                    
root@SERVER:~# 

# 如果是指定大小为50G,命令语法为
root@SERVER:~# lvcreate -L 50G -n lv01 vg01



# 第六步
# 创建需要挂在数据盘的分区目录
root@SERVER:~# mkdir -p /u1

# 第七步
# 创建需要LV盘的文件系统
root@SERVER:~# mkfs -t xfs  /dev/vg01/lv01
mke2fs 1.44.5 (15-Dec-2018)
Found a dos partition table in /dev/vg01/lv01
Proceed anyway? (y,N) y
Creating filesystem with 1308672 4k blocks and 327680 inodes
Filesystem UUID: e0fa3f74-3600-408a-b1c5-324694303b65
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done 

root@SERVER:~# 



# 第八步
# 挂载LV分区到系统的文件系统
root@SERVER:~# mount /dev/vg01/lv01 /u1
root@SERVER:~# df -h
Filesystem             Size  Used Avail Use% Mounted on
udev                   977M     0  977M   0% /dev
tmpfs                  200M  6.0M  194M   4% /run
/dev/vda1               14G  4.0G  9.1G  31% /
tmpfs                  998M     0  998M   0% /dev/shm
tmpfs                  5.0M  4.0K  5.0M   1% /run/lock
tmpfs                  998M     0  998M   0% /sys/fs/cgroup
tmpfs                  200M   28K  200M   1% /run/user/117
tmpfs                  200M     0  200M   0% /run/user/1000
/dev/mapper/vg01-lv01  4.9G   20M  4.6G   1% /u1   #此处可见挂载成功
root@SERVER:~# 


# 第九步
# 添加如下内容到开机启动文件 /etc/fstab
/dev/vg01/lv01 /u1 xfs defaults 0 0



# 第十步
# 重启验证一下开机启动是否有效
root@SERVER:~# reboot




# 附录
# 如果前面的操作错误,需要删除vg01 lv01,则按如下步骤删除
root@SERVER:~# lvchange -an /dev/mapper/vg01-lv01
root@SERVER:~# lvremove /dev/mapper/vg1-lv1
  Logical volume "lv1" successfully removed
root@SERVER:~# vgremove vg1
  Volume group "vg1" successfully removed
root@SERVER:~# 
root@SERVER:~# vgremove vg01
  Volume group "vg01" successfully removed
root@SERVER:~# pvremove /dev/vdb /dev/vdc
  Labels on physical volume "/dev/vdb" successfully wiped.
  Labels on physical volume "/dev/vdc" successfully wiped.
root@SERVER:~# 

Donate
云乞讨

某次发现SSH登录服务器报错的事件记录 2021-05-18

需求描述
某次发现SSH登录服务器报错的事件记录 2021-05-18

user@server:~$ ssh -v root@10.6.8.56
OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n  7 Dec 2017
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 10.6.8.56 [10.6.8.56] port 22.
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: identity file /home/fd/.ssh/id_rsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/fd/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/fd/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/fd/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/fd/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/fd/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/fd/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/fd/.ssh/id_ed25519-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.3


// 后审阅message日志,发现是系统内存不够了,重启就好了

Donate
云乞讨

OpenStack 云平台 计算节点 预留和超分 参数修改 2021-5-17

需求描述
私有云主机申请的资源大多为8C16G40G 16C64G40G这样的高配置,实际内存使用率很低,可以配置云平台的超分参数,让内存得到最大利用

# 修改计算节点的参数的配置文件
/etc/kolla/nova-compute/nova.conf

# 保留给宿主机系统的CPU核数
reserved_host_cpus = 8

# 保留给宿主机系统的内存数32GB
reserved_host_memory_mb = 32768

# CPU超分
cpu_allocation_ratio = 3

# 内存超分
ram_allocation_ratio = 1.5

# 修改完配置,重启完成
docker restart nova_compute

# 2021-5-17 修改的计算节点为
Nova_001 Nova_002 Nova_003 Nova_004 Nova_005
Nova_006 Nova_007 Nova_008 Nova_009 Nova_010
CPU 超分 参数设置 3
内存 超分 参数设置 1.5

# 部署节点IP 172.*.148.233

Donate
云乞讨