Category: LINUX


1、使用NFSv4.1以上协议来挂载
2、更改主机名为不重复的
3、modprobe nfs nfs4_unique_id=$RANDOM && echo “options nfs nfs4_unique_id=$RANDOM" > /etc/modprobe.d/nfsc.conf
4、mount.nfs -v -o migration 1.1.1.1:/test /xxx

以上4种方法都能解决centos7高版本挂载NFSv4.0协议读写报错的问题。

原因是NFSv4.0使用SETCLIENTID来区分用户,而NFSv4.1以上使用EXCHANGE_ID来区别用户。

sed -i ‘s/$releasever/6.10/g’ /etc/yum.repos.d/CentOS-Base.repo
sed -i ‘s/centos/centos-vault/g’ /etc/yum.repos.d/CentOS-Base.repo

sed -i ‘s/epel/epel-archive/g’ /etc/yum.repos.d/epel.repo

查看当前主机系统事件状态:
ocalcli hardware ipmi sel get

Maximum Records 最大可接受SEL事件数量,Total Records 当前已经SEL事件数量。

清除日志:
localcli hardware ipmi sel clear

Updating VSAN HCL
https://partnerweb.vmware.com/service/vsan/all.json
(右键单击,另存为all.json)。如果无法保存文件,则必须复制整个内容并创建扩展名为 “*.json". 的新文件。

Updating VSAN Release Catalog
https://vcsa.vmware.com/ph/api/v1/results?deploymentId=2d02e861-7e93-4954-9a73-b08692a330d1&collectorId=VsanCloudHealth.6_5&objectId=0c3e9009-ba5d-4e5f6-bae8-f25ec506d219&type=vsan-updates-json
(右键单击,另存为results.json)。如果无法保存文件,则必须复制整个内容并创建扩展名为 “*.json". 的新文件。

PS:
https://kb.vmware.com/s/article/2145116?lang=zh_cn
https://kb.vmware.com/kb/58891

首先声明:不需要升级KERNEL内核。centos8自带BBR功能,只是未开启。

1、正在运行的系统生效:
sysctl -w net.ipv4.tcp_congestion_control=bbr

2、重启后也能生效:
echo “net.ipv4.tcp_congestion_control = bbr" >> /etc/sysctl.conf

3、验证当前设置:
sysctl -a | egrep -e congestion
net.ipv4.tcp_allowed_congestion_control = reno cubic bbr
net.ipv4.tcp_available_congestion_control = reno cubic bbr
net.ipv4.tcp_congestion_control = bbr

PS:开启BBR对新建立链接立即生效,对已建立链接的,需要重新建立链接才能生效。

显示当前链接使用的拥塞控制算法:
ss -tin

https://access.redhat.com/solutions/3713681

一、环境初始化
# 开启Ubuntu’s universe 更新源
sudo apt-add-repository universe
# 更新源最新的包版本信息
apt update
# 改主机名
sudo hostnamectl set-hostname meet.example.org
# 改主机名文件设置Fully Qualified Domain Name (FQDN)
vi /etc/hosts
127.0.0.1 localhost meet.example.org
# 测试主机名解析
ping “$(hostname)"
# 添加Jitsi 更新源
curl https://download.jitsi.org/jitsi-key.gpg.key | sudo sh -c ‘gpg –dearmor > /usr/share/keyrings/jitsi-keyring.gpg’
echo ‘deb [signed-by=/usr/share/keyrings/jitsi-keyring.gpg] https://download.jitsi.org stable/’ | sudo tee /etc/apt/sources.list.d/jitsi-stable.list > /dev/null
# 更新源最新包信息
sudo apt update
# 开通防火墙权限
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 4443/tcp
sudo ufw allow 10000/udp
sudo ufw allow 22/tcp
sudo ufw enable
# 检验防火墙策略是否生效
sudo ufw status verbose

二、安装、部署、优化、排错、附加组件
# 安装Jitsi Meet
sudo apt install jitsi-meet
# 免费证书自动续期,选装,非必须
sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
# 修改内核参数
/etc/systemd/system.conf
DefaultLimitNOFILE=65000
DefaultLimitNPROC=65000
DefaultTasksMax=65000
# 检验内核参数是否生效
systemctl show –property DefaultLimitNPROC
systemctl show –property DefaultLimitNOFILE
systemctl show –property DefaultTasksMax
# 排错时,常用日志路径
/var/log/jitsi/jvb.log
/var/log/jitsi/jicofo.log
/var/log/prosody/prosody.log
# 附加功能安装sip-gateway,安装时将提示输入SIP的帐号密码
sudo apt install jigasi

======================
1、JITSI所用端口说明
80 TCP – for SSL certificate verification / renewal with Let’s Encrypt
443 TCP – for general access to Jitsi Meet
4443 TCP – for fallback network video/audio communications (when UDP is blocked for example)
10000 UDP – for general network video/audio communications
22 TCP – if you access you server using SSH (change the port accordingly if it’s not 22)

2、更换个性设置
Logos Change
/usr/share/jitsi-meet/images/watermark.png
Favicon Change
/usr/share/jitsi-meet/images/favicon.ico
Change welcome page content
/usr/share/jitsi-meet/libs/app.bundle.min.js

PS:
https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-quickstart
https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-manual
https://gitlab.talview.com/meet/lib-jitsi-meet-v1/tree/59fc3642a6bc612ac0366d118718e942153b85c5
http://www.xmanong.com/project/12272

让xscreensaver随机自启

1、安装
sudo pacman -S xscreensaver

2、配置屏保
xscreensaver-demo

3、编辑启动文件
vi ~/.config/systemd/user/xscreensaver.service
[Unit]
Description=XScreenSaver
[Service]
ExecStart=/usr/bin/xscreensaver -nosplash
[Install]
WantedBy=default.target

4、加入自启动项
systemctl –user enable xscreensaver

#!/bin/bash
i=1

# 硬盘数量,除系统盘之外是12块
while [ $i -lt 13 ]
do
# 若不足2位数,则左侧补0
k=`printf “%02d" $i`
# ready for convert ascii value to char
u=$((97+$i))
# 系统盘是sda,%c格式化为单个字符
#j=`echo $i|awk ‘{printf “%c",97+$i}’`
#j=echo $u|awk ‘{printf(“%c",$1)}’
j=$(printf \\x`printf %x $u`)

# 每个物理硬盘整块分成一个区
parted -s /dev/sd$j mklabel gpt
parted /dev/sd$j mkpart primary ext4 0% 100%
# 格式化磁盘
mkfs.ext4 /dev/sd${j}1

# 建立挂载点目录
mkdir /mnt/disk${k}
# 导入挂载硬盘信息
mountfs="/dev/sd${j}1 /mnt/disk${k} ext4 defaults 0 0″

# 写入分区表
echo $mountfs >>/etc/fstab

i=$(($i+1))
done
echo “It’s mounting all of the disk, wait a min, plz"
# 挂载fstab里所有的磁盘
mount -a
echo “SUCCESS, CONGRATULATIONS!"

#!/bin/bash
# 业务IP
IP=10.131.0.117
GW=10.131.0.251
# 心跳IP
HB=172.17.0.117
# 业务网卡
ETH1=eno1
ETH2=ens6f0
# 心跳网卡
ETH3=eno2
ETH4=ens6f1

modprobe –first-time bonding
#modprobe bonding

cd /etc/sysconfig/network-scripts/
mkdir bak
mv ifcfg-$ETH1 ifcfg-$ETH2 ifcfg-$ETH3 ifcfg-$ETH4 bak/

cat < /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
#NAME=bond0
TYPE=Bond
BONDING_MASTER=yes
IPADDR=$IP
PREFIX=24
GATEWAY=$GW
ONBOOT=yes
BOOTPROTO=none
BONDING_OPTS="mode=6 miimon=100"
NM_CONTROLLED="no"
USERCTL=no
EOF

cat < /etc/sysconfig/network-scripts/ifcfg-bond1
DEVICE=bond1
#NAME=bond1
TYPE=Bond
BONDING_MASTER=yes
IPADDR=$HB
PREFIX=24
ONBOOT=yes
BOOTPROTO=none
BONDING_OPTS="mode=6 miimon=100"
NM_CONTROLLED="no"
USERCTL=no
EOF

cat < /etc/sysconfig/network-scripts/ifcfg-$ETH1
DEVICE=$ETH1
#NAME=bond0-slave1
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
NM_CONTROLLED="no"
EOF

cat < /etc/sysconfig/network-scripts/ifcfg-$ETH2
DEVICE=$ETH2
#NAME=bond0-slave2
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
NM_CONTROLLED="no"
EOF

cat < /etc/sysconfig/network-scripts/ifcfg-$ETH3
DEVICE=$ETH3
#NAME=bond1-slave1
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond1
SLAVE=yes
NM_CONTROLLED="no"
EOF

cat < /etc/sysconfig/network-scripts/ifcfg-$ETH4
DEVICE=$ETH4
#NAME=bond1-slave2
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond1
SLAVE=yes
NM_CONTROLLED="no"
EOF

systemctl restart network
echo $IP
ping -c 3 $GW

Centos7安装openmeetings4

vi /etc/selinux/config
selinux=disable

# epel repo
yum install -y epel-release

# rpmfusion repo
sudo yum localinstall –nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm

# nux repo
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

# Adobe repo 64-bit x86_64 For Flash player
rpm -ivh http://linuxdownload.adobe.com/adobe-release/adobe-release-x86_64-1.0-1.noarch.rpm
rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux

# JDK11. icedtea-web for can access to record and share desktop
yum install -y java-11-openjdk-devel icedtea-web wget

# 选择JDK版本
update-alternatives –config java

# OpenMeetings will need LibreOffice to convert to pdf the uploaded office files
yum -y install libreoffice libreoffice-headless

# Installation of Ghostscript, necessary packages and libraries
yum install -y ghostscript libjpeg libjpeg-devel freetype freetype-devel unzip gcc gcc-c++ ncurses ncurses-devel make zlib zlib-devel libtool bison bison-devel openssl-devel bzip2 bzip2-devel file-roller git autoconf automake pkgconfig tomcat-native nmap vlc

# ImageMagick, work the images files jpg, png, gif. Sox, work the sound
yum install -y ImageMagick sox giflib giflib-devel giflib-utils

# OpenMeetings even need Adobe Flash Player for cam and audio
yum install -y flash-plugin

# FFmpeg work with video
yum install -y glibc alsa-lib-devel faac faac-devel faad2 faad2-devel gsm gsm-devel imlib2 imlib2-devel lame-devel vorbis-tools theora-tools libvpx-devel vlc autoconf automake cmake freetype-devel gcc gcc-c++ git libtool make mercurial pkgconfig zlib-devel curl

# Installation MariaDB data server
yum install -y mariadb-server
# 启动,设置
systemctl start mariadb.service
mysqladmin -u root password YOUR-password
mysql -u root -p
# create a user with all permission on this meetdb database. name of the database:meetdb; user for that database:meetuser; password of that user:meetuser
> CREATE DATABASE meetdb DEFAULT CHARACTER SET ‘utf8’;
> CREATE USER meetuser;
> GRANT ALL PRIVILEGES ON meetdb.* TO ‘meetuser’@’localhost’ IDENTIFIED BY ‘1a2B3c4D’ WITH GRANT OPTION;
> FLUSH PRIVILEGES;
> \q

# Installation of OpenMeetings
mkdir /opt/meeting
cd /opt/meeting
wget http://archive.apache.org/dist/openmeetings/4.0.10/bin/apache-openmeetings-4.0.10.tar.gz
tar xzvf apache-openmeetings-4.0.10.tar.gz
mv apache-openmeetings-4.0.10.tar.gz /opt

# Download and install the connector between OpenMeetings and MariaDB:
cd /opt
wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.48/mysql-connector-java-5.1.48.jar
cp /opt/mysql-connector-java-5.1.48.jar /opt/meeting/webapps/openmeetings/WEB-INF/lib

# Script to launch red5-OpenMeetings
cd /opt
wget https://cwiki.apache.org/confluence/download/attachments/27838216/red5-2
cp red5-2 /etc/init.d/
chmod +x /etc/init.d/red5-2
vi /etc/init.d/red5-2
RED5_HOME=/opt/red54010
…to
RED5_HOME=/your-path-installation

# Run red5-OpenMeetings
systemctl restart mariadb.service
/etc/init.d/red5-2 start

# go with your browser to:
http://localhost:5080/openmeetings

# 配置openmeetings
打开的网页,下一步,
第2页配置 Choose DB type to MySQL
mysql
localhost
3306
meetdb
meetuser
your-password
第3页,创建管理员用户
第4页,下一步,
第5页,配置IMAGEMAGICK,FFMPEG,SOX,LIBREOFFICE路径
ImageMagick Path == /usr/bin
FFMPEG Path == /usr/bin
FFMPEG Path == /usr/bin
OpenOffice/LibreOffice Path for
jodconverter == /usr/lib64/libreoffice
第6页,下一步,
第7页,Finish
# 重启应用
/etc/init.d/red5-2 restart
第8页,Enter the Application

# 防火墙开启如下端口
1935 5080

=========================
# 编译安装Ghostscript 9.27
cd /opt
wget https://cwiki.apache.org/confluence/download/attachments/27838216/ghostscript.sh
chmod +x ghostscript.sh
…and run it:
./ghostscript.sh
…when be finished will announce it: GhostScript compilation is Finished!
rm -Rf /opt/ghostscript-9.27

# 编译安装SOX
wget http://ftp.icm.edu.pl/packages/sox/14.4.2/sox-14.4.2.tar.gz
tar xzvf sox-14.4.2.tar.gz
cd /opt/sox-14.4.2
./configure
make && make install
cd /op

# 编译安装FFMPEG
https://trac.ffmpeg.org/wiki/CompilationGuide/Centos
cd /opt
wget https://cwiki.apache.org/confluence/download/attachments/27838216/ffmpeg_centos7.sh
…concede execution permission to it:
chmod +x ffmpeg_centos7.sh
…and run it (be connected to Internet). The compilation will spend about 30 minutes:
./ffmpeg_centos7.sh
All the compiled files will be installed in: /usr/local/bin