2020年12月30日 星期三

Debian 10 安裝 dante-server

1. apt-get install dante-server

2.編輯 /etc/danted.conf
mv /etc/danted.conf  /etc/danted.conf.ori
cat >/etc/danted.con <<EOF
# /etc/danted.conf

logoutput: syslog
user.privileged: root
user.unprivileged: nobody

# The listening network interface or address.
internal: 0.0.0.0 port=1080

# The proxying network interface or address.
external: eth0

# socks-rules determine what is proxied through the external interface.
# The default of "none" permits anonymous access.
#socksmethod: username
socksmethod:  none

# client-rules determine who can connect to the internal interface.
# The default of "none" permits anonymous access.
clientmethod: none

client pass {
        from: 0.0.0.0/0 to: 0.0.0.0/0
        log: connect disconnect error
}

socks pass {
        from: 0.0.0.0/0 to: 0.0.0.0/0
        log: connect disconnect error
}
EOF                        

3.systemctl enable danted;systemctl start danted

4.測試
 curl -v -x socks5://192.168.1.1:1080 http://www.google.com/



2020年12月16日 星期三

Debian 10 xfce4 更改 wallpaper 筆記

xfconf-query --channel xfce4-desktop --property  /backdrop/screen0/monitorDisplayPort-1/workspace0/last-image --set  /home/1.jpg

相關指令及檔案
xfconf-query --channel xfce4-desktop --list
/usr/share/desktop-base/profiles/xdg-config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml

Debian 10 Python 安裝 虛擬環境

apt-get install -y python-libvirt
apt-get install -y libvirt-dev
apt install -y python3-pip
pip3 install virtualenv

2020年12月15日 星期二

Proxmox 6.x LXC 設定quota 摘要

1.host lxc
apt install -y quota

2.lxc
resource configure enable quota
quotacheck -cmug /
quotaon /

2020年12月11日 星期五

bash 尋找可用的port

 #!sh

j=10240

f(){ for i in $(netstat -an|grep TCP|awk '{print $2 }'|uniq|awk -F : '{print $2 }'|sort -n);do [ $1 -lt $i ]&&break;[ $1 -eq $i ]&&echo found&&break; done; };
p(){ for i in $(seq $1 65535);do [ -z "$(f $i)" ]&& echo $i && return 0;done;echo 0;return 1; };
ncvzn(){ r=$(echo|timeout ${3:-3} nc $1 $2 2>/dev/null);r0=$?;echo $r;return $r0;};

for i in p1 p2;do eval "$i=\$(p \$j);j=\$(expr \$$i + 1)";done;
echo $p1 $p2

2020年12月3日 星期四

pvcreate 錯誤訊息:Device /dev/sdx excluded by a filter.

原因為pvcreate 無法識別硬碟分割區訊息

pvcreate /dev/sdx
Device /dev/sdx excluded by a filter.

parted /dev/sdx
mklabel msdos

Proxmox VE 6.x 安裝 Proxmox backup server

 echo "deb http://download.proxmox.com/debian/pbs buster pbs-no-subscription" >/etc/apt/sources.list.d/pbs-no-subscription.list
apt update
apt-get install proxmox-backup-server

Debian 10 瘦身摘要

清除 dpkg cache 相關檔案
/var/lib/apt/lists/
apt clean
apt autoremove --purge

保留所需的 kernel 及module

消除沒用的設定檔
dpkg -l | grep ^rc | cut -d' ' -f3 | sudo xargs dpkg --purge

移除相關多國語言支援
/usr/lib/locale/
/usr/share/locale
apt-get install localepurge
dpkg --configure localepurge
localepurge

參考資料
https://wiki.debian.org/ReduceDebian

2020年12月2日 星期三

Debian 10 安裝 tftp server

apt-get install -y tftpd xinetd

cat <<REM > /etc/xinetd.d/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
REM

systemctl enable xinetd
systemctl restart xinetd

2020年11月30日 星期一

DReichLab / EIG 安裝摘要(debian 10)

target=/opt
src=https://github.com/DReichLab/EIG/archive/v7.2.1.tar.gz

apt-get install -y libgsl0-dev libopenblas-dev gfortran liblapacke-dev
pwd=$(pwd)
cd $target
wget -O- $src |tar zxv
cd EIG-7.2.1/src
sed  -i 's/# override LDLIBS += -llapacke/override LDLIBS += -llapacke/g' Makefile
make
make install
cd $pwd
for i in $(find ${target}/EIG-7.2.1/bin/ -type f  -perm /a=x);do ln -s $i /usr/local/bin/$(basename $i);done;

Python pip 常用指令

pip list    列出安裝清單
pip install :pacakagename:    安裝    
pip install -v :packagename:==1.0 安裝指定版本
pip install -U :pacakagename:    更新
pip uninstall :pacakagename:    移除
pip install -r :requirements.txt:    安裝清單
pip freeze > :requirements.txt:        輸出清單

EIGENSOFT 安裝摘要

apt-get install -y libgsl0-dev libopenblas-dev gfortran liblapacke-dev
wget https://storage.googleapis.com/broad-alkesgroup-public/EIGENSOFT/EIG-6.1.4.tar.gz

安裝 RTG Tools

#!/bin/bash
# RTG Tools
# https://github.com/RealTimeGenomics/rtg-tools

apt install -y ant
target=/opt
cd $target
git clone https://github.com/RealTimeGenomics/rtg-tools.git
cd rtg-tools
ant runalltests
ant zip-nojre
cd $target
unzip ${target}/rtg-tools/dist/*
                              

安裝 vcflib

Debian/Ubuntu
apt-get install libvcflib-tools libvcflib-dev

by source
#!/bin/bash
#https://github.com/vcflib/vcflib

target=/opt
pwd=$(pwd)
apt install -y git make cmake libbz2-dev liblzma-dev libc6-dev
cd $target
git clone --recursive https://github.com/vcflib/vcflib.git
cd vcflib
make -j
cd bin
for i in $(find ${target}/vcflib/bin/ -type f  -perm /a=x);do ln -s $i /usr/local/bin/$(basename $i);done;
cd $pwd

安裝 vcftools

 #!/bin/bash
# http://vcftools.sourceforge.net/

src=https://nchc.dl.sourceforge.net/project/vcftools/vcftools_0.1.13.tar.gz?viasf=1
target=/opt
pwd=$(pwd)
mkdir -p ${target}
cd $target
wget -O- $src |tar zx
cd vcftools_0.1.13
make
cd bin
for i in $(find ${target}/vcftools_0.1.13/bin/ -type f  -perm /a=x);do ln -s $i /usr/local/bin/$(basename $i);done;
cd $pwd

安裝 bcftools

 #!/bin/bash
# install  bcftools
# https://samtools.github.io/bcftools/

pwd=$(pwd);
target=/opt/
cd ${target};
apt install -y git automake libgsl-dev libcurl4-openssl-dev
git clone --recurse-submodules git://github.com/samtools/htslib.git

git clone git://github.com/samtools/bcftools.git
cd bcftools
# The following is optional:
#autoheader && autoconf && ./configure --enable-libgsl --enable-perl-filters
make
ln -s ${target}/bcftools/bcftools /usr/local/bin/bcftools
cd ${pwd};

安裝 plink 2

 #!/bin/bash
# install PLINK 2.00 alpha
# https://www.cog-genomics.org/plink/2.0/

src=http://s3.amazonaws.com/plink2-assets/alpha2/plink2_linux_x86_64.zip
src=https://s3.amazonaws.com/plink2-assets/plink2_linux_x86_64_20211125.zip
target=/opt/PLINK2a


[ $(which busybox) ]&& { for i in wget unzip;do [ -f "/usr/local/bin/${i}" ] || ln -s $(which busybox) /usr/local/bin/${i}; done; };
for i in unzip wget;do [ $(which ${i}) ]&& : || { echo check ${i}: not found ${i}! &&exit 1; } ;done;
[ -d "$target" ]&&mv ${target} ${target}.$(date +%Y-%m-%d-%H-%M);
mkdir -p $target;cd $target;
echo $target >readme.txt;echo $src >>readme.txt
wget -q -O- $src | unzip -;
chmod a+x plink2;cd -;
for i in plink2;do [ -f "/usr/local/bin/${i}" ]&&mv /usr/local/bin/${i} /usr/local/bin/${i}.$(date +%Y-%m-%d-%H-%M);   ln -s ${target}/${i} /usr/local/bin/${i};done;
~      

Debian 10 安裝 Java

OpenJDK 11
apt update;apt install default-jdk

2020年11月24日 星期二

Proxmox backup server 指令摘要

 proxmox-backup-manager datastore remove datastore01

Proxmox backup Server 安裝 OpenMediaVault 摘要

apt-get install --yes gnupg
wget -O "/etc/apt/trusted.gpg.d/openmediavault-archive-keyring.asc" https://packages.openmediavault.org/public/archive.key
apt-key add "/etc/apt/trusted.gpg.d/openmediavault-archive-keyring.asc"

cat <<EOF >> /etc/apt/sources.list.d/openmediavault.list
deb https://packages.openmediavault.org/public usul main
# deb https://downloads.sourceforge.net/project/openmediavault/packages usul main
## Uncomment the following line to add software from the proposed repository.
# deb https://packages.openmediavault.org/public usul-proposed main
# deb https://downloads.sourceforge.net/project/openmediavault/packages usul-proposed main
## This software is not part of OpenMediaVault, but is offered by third-party
## developers as a service to OpenMediaVault users.
# deb https://packages.openmediavault.org/public usul partner
# deb https://downloads.sourceforge.net/project/openmediavault/packages usul partner
EOF

export LANG=C.UTF-8
export DEBIAN_FRONTEND=noninteractive
export APT_LISTCHANGES_FRONTEND=none
wget -O "/etc/apt/trusted.gpg.d/openmediavault-archive-keyring.asc" https://packages.openmediavault.org/public/archive.key
apt-key add "/etc/apt/trusted.gpg.d/openmediavault-archive-keyring.asc"
apt-get update
apt-get --yes --auto-remove --show-upgraded \
    --allow-downgrades --allow-change-held-packages \
    --no-install-recommends \
    --option Dpkg::Options::="--force-confdef" \
    --option DPkg::Options::="--force-confold" \
    install openmediavault-keyring openmediavault

omv-confdbadm populate

wget -O - https://github.com/OpenMediaVault-Plugin-Developers/packages/raw/master/install | bash

2020年11月13日 星期五

Debian 10 R 3 升級 R 4

apt-key adv --keyserver keys.gnupg.net --recv-key 'E19F5F87128899B192B1A2C2AD5F960A256A04AF'

echo "deb https://cloud.r-project.org/bin/linux/debian buster-cran40/" >/etc/apt/sources.list.d/r.list

apt update
apt upgrade

2020年11月11日 星期三

2020年11月9日 星期一

Windows 10 系統發生 1272 錯誤

regedit.msc

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters] , 修改或新增[AllowInsecureGuestAuth] = 1 (DWORD)

2020年11月3日 星期二

LEAF 使用 TFTP 備份設定檔

TFTP_SERVER="192.168.1.1"
HOST=`hostname`

TMP_DIR="/tmp"
CFG_FILE=`echo $TMP_DIR"/configdb.lrp"`

APKG="/usr/sbin/apkg"
TFTP="/usr/bin/tftp"

OUTFILE=`date +%Y-%m-%d_%k_%M_%S`
OUTFILE=`echo $HOST-$OUTFILE-configdb.lrp`

CMD="put $CFG_FILE  $OUTFILE"


echo "tftp file"
$APKG -o $TMP_DIR
$TFTP $TFTP_SERVER -c $CMD


OUTFILE=`echo $OUTFILE-list`
CMD="put $TMP_DIR/list $OUTFILE"
$APKG -l >$TMP_DIR/list
$TFTP $TFTP_SERVER -c $CMD

2020年10月26日 星期一

putty forward 指令列摘要

putty -ssh ssh-server -P 2128 -L 3489:rds-remote:3389 -L 2122:sftp-remote:22

相關參數參考
-l   指定帳號
-pw  指定密碼
-P   指定 port
-ssh 指定 ssh 協定
-m   指定執行連線端指令集,指令執行完畢,putty視窗會自動關閉
-L   指令 tunnel(local_port:sftp.remote:remote_port)

2020年10月14日 星期三

CentOS 7 (LXC) 安裝 XRDP摘要

yum install -y gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm;yum -y install -y xrdp tigervnc-server

cp /etc/xrdp/xrdp.ini  /etc/xrdp/xrdp.ini.ori;
cp /etc/xrdp/xrdp.ini  /etc/xrdp/xrdp.ini.$(date +%s);
sed -i 's/ssl_protocols=TLSv1.2, TLSv1.3/ssl_protocols=TLSv1, TLSv1.1, TLSv1.2, TLSv1.3/g'  /etc/xrdp/xrdp.ini;
systemctl enable xrdp;systemctl start xrdp;

防火牆設定
firewall-cmd --permanent --add-port=3389/tcp
firewall-cmd --reload

sssd設定
echo "ad_gpo_map_interactive = +xrdp-sesman">>/etc/sssd/sssd.conf

2020年10月13日 星期二

ssh 登入錯誤

登入錯誤訊息
Unable to negotiate with 192.168.0.253 port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1

登入錯誤訊息
Unable to negotiate with 192.168.0.253 port 22: no matching cipher found. Their offer: 3des-cbc

ssh 加入相關參數
ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -oCiphers=+3des-cbc 192.168.0.253

Proxmox VE 6.x 錯誤訊息 short read on command socket (16 !=0)(500)

Proxmox 6.x 錯誤訊息
short read on command socket (16 !=0)(500)

解決方式
systemctl restart lxc.service

Proxmox Backup Server 1.0.1-1 安裝摘要

mv /etc/apt/sources.list.d/pbs-enterprise.list /etc/apt/sources.list.d/pbs-enterprise.list.bak
echo "deb http://download.proxmox.com/debian/pbs buster pbs-no-subscription"> /etc/apt/sources.list.d/pbs-no-subscription.list

apt update
apt upgrade -y

Cisc, Netgear VLAN 設定摘要

Cisco
interface GigabitEthernet1/0/1
switchport access vlan 200
switchport mode access

Netgear
interface 1/0/1
vlan pvid 200
vlan participation include 200

R 重新安裝 package

 # R 匯出舊套件名稱
pkgs.file = "~/r_packages.rdata"
pkgs.df <- installed.packages(priority = "NA")
pkgs.vec <- as.vector(pkgs.df[,1])
save(pkgs.vec, file = pkgs.file)

# 使用匯出清單 安裝 套件
pkgs.file = "~/r_packages.rdata"
load(pkgs.file)
install.packages(pkgs.vec)

2020年10月6日 星期二

遺失 Openmediavault Web管理帳號

 執行 omv-firstaid. --Change control panel administrator password

Librenms 遺失 web 管理帳號

新增管理增帳號來處理
/opt/librenms//adduser.php newadmin password 10

2020年9月26日 星期六

wget mirror site example

 wget \
    --recursive \
    --no-clobber \
    --page-requisites \
    --html-extension \
    --convert-links \
    --restrict-file-names=windows \
    --no-parent 192.168.1.1:80/Docs/

2020年9月25日 星期五

Debian 10 install JupyterHub + Hail

 #Installing OpenJDK 8
sudo apt update
sudo apt install apt-transport-https ca-certificates wget dirmngr gnupg software-properties-common
wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add -
sudo add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/
sudo apt update
sudo apt install adoptopenjdk-8-hotspot

# install JupyterHub
apt install -y python3-pip npm
python3 -m pip install jupyterhub
npm install -g configurable-http-proxy
python3 -m pip install notebook  # needed if running the notebook servers locally

#install Hail
pip3 install hail

 

2020年9月24日 星期四

Debian 10 安裝 R Studio

wget https://download1.rstudio.org/desktop/bionic/amd64/rstudio-1.3.1093-amd64.deb
apt install  libxkbcommon-x11-0
dpkg -i rstudio-1.3.1093-amd64.deb

How to list the available package groups in Fedora/CentOS/Debian

CentOS
yum grouplist
yum groupinfo "Performance Tools"

Fedora
dnf grouplist
dnf groupinfo Editors

Debian / Ubuntu
tasksel --list-task
tasksel --task-desc "desktop"
tasksel install xfce-desktop

 

2020年9月17日 星期四

tcp-wrapper iptables 筆記

1.tcp-wrapper: Application layer
2.iptable: Transport layer
3.確認是否支援 tcp-wrapper 方法 ldd [program] | grep libwrap
4.tcp-wrapper 設定檔:/etc/hosts.allow,/etc/hosts.deny
5.tcp-wrapper 設定檔語法 daemon_list : client_list [ : shell_command ]
6.tcp-wrapper 配置規則保存後,立即生效

2020年9月15日 星期二

2020年9月13日 星期日

Debian 10 安裝 mongodb 4.4

apt install dirmngr gnupg apt-transport-https software-properties-common ca-certificates curl wget gnupg

wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -

echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.4 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

apt-get update

apt-get install -y mongodb-org
echo "mongodb-org hold" | sudo dpkg --set-selections
echo "mongodb-org-server hold" | sudo dpkg --set-selections
echo "mongodb-org-shell hold" | sudo dpkg --set-selections
echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
echo "mongodb-org-tools hold" | sudo dpkg --set-selections

移除
apt-get purge mongodb-org*
rm -r /var/log/mongodb
rm -r /var/lib/mongodb

2020年9月11日 星期五

centOS8 安裝 screen

dnf install epel-release -y
dnf install screen
 

2020年9月8日 星期二

snmpd 錯誤訊息 No more variables left in this MIB View (It is past the end of the MIB tree)

/etc/snmp/snmpd 加入
#access   notConfigGroup ""       any       noauth     exact   all     none none
view all    included  .1 

Debian snmpd 設定

apt-get install -y snmp snmpd wget
wget -O /etc/snmp/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro

chmod a+x /etc/snmp/distro
mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.$(date +%s)

cat <<EOF >/etc/snmp/snmpd.conf
rocommunity public localhost
rocommunity public 192.168.0.0/16

#sysName hostname

syslocation 5FG
syscontact email@email

extend hardware "/bin/cat /sys/devices/virtual/dmi/id/product_name"
extend manufacturer "/bin/cat /sys/devices/virtual/dmi/id/sys_vendor"
extend distro "/etc/snmp/distro"

#access   notConfigGroup ""       any       noauth     exact   all     none none
#view all    included  .1
EOF

systemctl enable snmpd;systemctl start snmpd

測試
snmpwalk -v 2c -c public localhost

autofs 設定筆記

編輯 /etc/auto.master.d/auto.cifs
cifs -fstype=cifs,acl,uid=kwai_yang,gid=tnode1,user_xattr,cred=/root/password,vers=3.0,users,file_mode=0760,dir_mode=0770 ://10.0.0.1/cifs


編輯 /etc/auto.master.d/cifs.autofs
/aumnt   /etc/auto.master.d/auto.cifs    --timeout=60

Enable Serial Console on CentOS/RHEL 7/ Debian

方法一

編輯 /etc/default/grub 加入以下設定
GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200n8"
GRUB_TERMINAL=serial
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"

重建 grub.cfg
grub2-mkconfig -o /boot/grub2/grub.cfg

方法二
編輯 /etc/default/grub

GRUB_CMDLINE_LINUX="quiet console=tty0 console=ttyS0,115200"

重建 grub
# debian based
update-grub

# redhat based
grub2-mkconfig --output=/boot/grub2/grub.cfg


2020年9月3日 星期四

nginx 413 Request Entity Too Large

 http、server 或 location 加入 client_max_body_size 設定

client_max_body_size 128M;

2020年9月2日 星期三

Debian 10 X window xfce4 語系設定

目前預設語系
/etc/default/locale

查詢已安裝的語系
locale -a

安裝新語系
locale-gen zh_TW.utf-8
dpkg-reconfigure locales

更新語系
locale-gen
dpkg-reconfigure locales

變更個人環境語系
echo export LANG=en_US >>~.xsessionrc

2020年9月1日 星期二

Proxmox cluster 異常修復

Proxmox Cluster 修復同步
for i in pve-cluster pvedaemon pveproxy corosync;do systemctl restart $i;done

有問題 Node
pvecm expected 1
for i in pve-cluster pvedaemon pveproxy corosync;do systemctl restart $i;done

2020年8月31日 星期一

bash 判斷是否由source 方式執行

 (return 0 2>/dev/null) && sourced=1 || sourced=0

CentOS 7 安裝 MariaDB 10.

編輯 /etc/yum.repos.d/MariaDB.repo

# MariaDB 10.1 CentOS repository list - created 2017-01-27 16:31 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

安裝
yum install MariaDB-server MariaDB-client

2020年8月27日 星期四

sudo 傳入環境變數

使用方式
sudo --preserve-env=HOME /usr/bin/env
sudo ZEBRA=true /usr/bin/env

修改 /etc/sudoers
ALL ALL=NOPASSWD:SETENV:/bin/mount

2020年8月26日 星期三

pypi mirror site 建置

安裝
mkdir -p /home/pypi
cd /home/pypi 

apt-get install python3-venv
python3 -m venv bandersnatch
bandersnatch/bin/pip install bandersnatch
bandersnatch/bin/bandersnatch mirror  建立設定檔  /etc/bandersnatch.conf
bandersnatch/bin/bandersnatch mirror  #執行 mirror 工作

可在 /etc/crontab 中增加設定
* */1 * * * root bandersnatch mirror |& logger -t bandersnatch[mirror]

client 設定
~/.pip/pip.conf
[global]
trusted-host=10.10.10.10 
index-url=http://10.10.10.10/simple

2020年8月24日 星期一

bash ldapsearch 網域帳號認證

#!/bin/bash

_timeout="/usr/bin/timeout 3"
_ldapsearch=/usr/bin/ldapsearch

user=${1%@*}
_dn=${1#*@};
_dbn=$(for i in $(echo $_dn|tr . " ");do t="$t dc=$i";done;echo $t|tr " " ,);

t=$($_timeout $_ldapsearch -D ${1} -w ${2} -b "$_dbn" -h ${_dn} "sAMAccountname=$user"
 2>/dev/null|grep "sAMAccountName: $user");
[ "$t" = "sAMAccountName: $user" ]&&echo -e "OK"&&exit 0;

echo -e "ERR";



2020年8月23日 星期日

sqlite3 查詢筆記

 .tables
.schema(table_name);
PRAGMA table_info('table_name')

2020年8月20日 星期四

2020年8月19日 星期三

sudo 指令傳入環境變數

 錯誤訊息

sudo: sorry, you are not allowed to preserve the environment

編輯 /etc/sudoers
user  ALL=(ALL)       NOPASSWD:SETENV: /usr/bin

執行方式
sudo var=varvalue 1.sh

2020年8月18日 星期二

Windows AD accountexpires 欄位摘要

1700-01-01  最早時間表示
31241952000000000

1970-01-01
116445312000000000

2020-08-01
132407712000000000

10000000 = 1 秒 

PHP程式計算時間

$time1="2020-08-01 00:00:00";
$time2="2020-08-15 00:00:00";
132407712000000000 + (strtotime($time2) - strtotime($time1)) * 10000000


2020年8月13日 星期四

pipe tar gzip without creating intermediary files

 tar cf - dirname | gzip -9 > file.tar.gz

pipeline 上傳檔案

 cat file|curl -F file=@- http://127.0.0.1/upload.php?a=1

2020年8月12日 星期三

Ubuntu 18.4 capture screen with VLC

安裝

apt install -y vlc vlc-plugin-access-extra

使用
Media-Open capture Device-Capture mode-Desktop-Play-Convert-Browse-Start

2020年8月7日 星期五

How do I allow remote desktop to domain controller?

1.gpedit

2.Computer Configuration - Windows settings - Security Settings - Local policies - User Rights Assignment

2020年8月5日 星期三

resize ext4 partition

1.parted /dev/whatever
2.resize2fs /dev/whatever
3.e2fsck /dev/whatever

2020年8月3日 星期一

bash 由變數轉向

t='1 2 3';
while read a b c;do
echo a=$a b=$b c=$c

done <<< $(echo $t)
echo a=$a b=$b c=$c

2020年7月29日 星期三

Debian apt 使用 proxy 更新

編輯 /etc/apt/apt.conf
Acquire::http::Proxy "http://proxy.tw:8080";

Debian 10 設定 /etc/rc.local

1.編輯 /etc/systemd/system/rc-local.service
[Unit]
Description=/etc/rc.local
ConditionPathExists=/etc/rc.local

[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99

[Install]
WantedBy=multi-user.target

2.編輯 /etc/rc.local

#!/bin/bash

exit 0;

3.chmod a+x /etc/rc.local

4.systemctl enable rc-local
 

5.systemctl start rc-local

2020年7月28日 星期二

Debian 10.4 安裝 R Studio server 摘要

sudo apt-get install gdebi-core
wget https://download2.rstudio.org/server/bionic/amd64/rstudio-server-1.3.1093-amd64.deb
sudo gdebi rstudio-server-1.3.1093-amd64.deb

Debian 10.4 安裝 R 摘要

apt install dirmngr --install-recommends
apt install software-properties-common
apt install apt-transport-https
apt update
apt upgrade -y
apt install r-base

親屬關係分析工具-KING 安裝摘要

KING

# install KING version 2.2.5 (released on June 5, 2020).
# http://people.virginia.edu/~wc9c/KING/Download.htm

src=http://people.virginia.edu/~wc9c/KING/Linux-king.tar.gz
target=/opt/KING2.2.5

[ $(which busybox) ]&& { for i in wget;do [ -f "/usr/local/bin/${i}" ] || ln -s $(which busybox) /usr/local/bin/${i}; done; };
for i in wget;do [ $(which ${i}) ]&& : || { echo check ${i}: not found ${i}! &&exit 1; } ;done;
[ -d "$target" ]&&mv ${target} ${target}.$(date +%Y-%m-%d-%H-%M);
mkdir -p $target;cd $target;
echo $target >readme.txt;echo $src >>readme.txt
wget -q -O- http://people.virginia.edu/~wc9c/KING/Linux-king.tar.gz|tar zxf -;
chmod a+x king;cd -;
for i in king;do [ -f "/usr/local/bin/${i}" ]&&mv /usr/local/bin/${i} /usr/local/bin/${i}.$(date +%Y-%m-%d-%H-%M); ln -s ${target}/${i} /usr/local/bin/${i};done;


GWAS工具-Haploview安裝摘要

Haploview

https://www.broadinstitute.org/haploview/downloads

apt install -y openjdk-11-jre*
wget -q -O /opt/Haploview.jar https://www.broadinstitute.org/ftp/pub/mpg/haploview/Haploview.jar

echo "java -jar /opt/Haploview.jar &" >/usr/local/bin/haploview
chmod a+x /usr/local/bin/haploview

GWAS 分析工具-plink 安裝摘要

# install PLINK 1.07
# http://zzz.bwh.harvard.edu//plink/download.shtml#download

src=http://zzz.bwh.harvard.edu//plink/dist/plink-1.07-x86_64.zip
target=/opt/PLINK1.07

[ $(which busybox) ]&& { for i in wget unzip;do [ -f "/usr/local/bin/${i}" ] || ln -s $(which busybox) /usr/local/bin/${i}; done; };
for i in unzip wget;do [ $(which ${i}) ]&& : || { echo check ${i}: not found ${i}! &&exit 1; } ;done;
[ -d "$target" ]&&mv ${target} ${target}.$(date +%Y-%m-%d-%H-%M);
mkdir -p $target;cd $target;
echo $target >readme.txt;echo $src >>readme.txt
wget -q -O- $src | unzip -;
mv ${target}/plink-1.07-x86_64/* ${target}/
chmod a+x ${target}/plink;
rmdir ${target}/plink-1.07-x86_64;


# install PLINK 1.90beta
# https://www.cog-genomics.org/plink/1.9/

src=http://s3.amazonaws.com/plink1-assets/dev/plink_linux_x86_64.zip
target=/opt/PLINK1.90beta

[ $(which busybox) ]&& { for i in wget unzip;do [ -f "/usr/local/bin/${i}" ] || ln -s $(which busybox) /usr/local/bin/${i}; done; };
for i in unzip wget;do [ $(which ${i}) ]&& : || { echo check ${i}: not found ${i}! &&exit 1; } ;done;
[ -d "$target" ]&&mv ${target} ${target}.$(date +%Y-%m-%d-%H-%M);
mkdir -p $target;cd $target;
echo $target >readme.txt;echo $src >>readme.txt
wget -q -O- $src | unzip -;
chmod a+x plink prettify;cd -;
for i in plink prettify;do [ -f "/usr/local/bin/${i}" ]&&mv /usr/local/bin/${i} /usr/local/bin/${i}.$(date +%Y-%m-%d-%H-%M);   ln -s ${target}/${i} /usr/local/bin/${i};done;

xrdp client 資源限制

編輯 /etc/xrdp/xrdp.ini

rdpdr=[true|false]  設備轉向
    If set to 1, true or yes using the RDP channel for device redirection is allowed.

rdpsnd=[true|false] 聲音功能
    If set to 1, true or yes using the RDP channel for sound is allowed.

drdynvc=[true|false]  初始化附加動態 channel 
    If set to 1, true or yes using the RDP channel to initiate additional dynamic virtual channels is allowed.

cliprdr=[true|false] 
    If set to 1, true or yes using the RDP channel for clipboard redirection is allowed.

rail=[true|false]
    If set to 1, true or yes using the RDP channel for remote applications integrated locally (RAIL) is allowed.

xrdpvr=[true|false] 視訊流功能
    If set to 1, true or yes using the RDP channel for XRDP Video streaming is allowed.


2020年7月27日 星期一

Debian 10.4安裝browser chrome

apt install -y  fonts-liberation  libappindicator3-1
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
dpkg -i google-chrome-stable_current_amd64.deb

proxy 設定方法
指令列加上  --proxy-server="IP proxy Server:port"

scim 無法正確執行

編輯 /etc/X11/Xsession.d/74scim

export XMODIFIERS="@im=SCIM"
export GTK_IM_MODULE=SCIM
export QT_IM_MODULE=SCIM
export XIMPROGRAM="scim -d"
scim -d

2020年7月21日 星期二

限制 Windows RDS 遠端主機和本機資源

RDS上
本機群組原則編輯器 (gpedit)
本機電腦原則-電腦設定-系統管理範本-Windows元件-遠端桌面服務-遠端桌面工作階段主機

AD上
本機群組原則編輯器 (gpedit)
本機電腦原則-電腦設定-系統管理範本-Windows元件-遠端桌面服務-遠端桌面工作階段主機-裝置及資源重新導向

Windows2K3
Administrative Templates > Windows Components > Terminal Services > Client/Server data redirection: Do not allow Clipboard redirection - enabled

Windows AD 查詢帳號登入資訊,包含密碼上次變更時間

net user  administrator
net user  administrator /domain

變更密碼指令
net user administrator new-password
net user administrator new-password /domain

2020年7月18日 星期六

windows eerver 2003 install Certificate Services

1.新增或移除Windows元件-Certificate Services

2.Request a new server certificate for LDAP server
Open Certificates mmc:
Start - Run - mmc
File - Add/Remove Snap-in
Add - Certificates - Computer Account - Local Computer
Request certificate
Certificates > Personal - Certificates
Actions - All Tasks- Request New Certificate
Complete wizard with default values.

sssd 除錯

1.Couldn't authenticate to active directory: SASL(-1): generic failure: GSSAPI Error: Unspecified GSS
編輯 /etc/krb5.conf
[libdefaults]
rdns = false

2.無法正確查詢
編輯 /etc/krb5.conf
[libdefaults]
default_realm = DOMAIN.NAME

2020年7月17日 星期五

2020年7月15日 星期三

windows server 2003 + sssd + xrdp 除錯摘要

1.sp2

2. /etc/X11/Xwrapper.config containing
allowed_users = anybody

3./etc/pam.d/common-session
# add to the end if need (create home directory automatically at initial login)
session optional        pam_mkhomedir.so skel=/etc/skel umask=077

4./etc/sssd/sssd.conf
ad_gpo_map_interactive = +xrdp-sesman

5. /etc/krb5.conf
[libdefaults]
      default_realm = domainname.local
      default_tgs_enctypes = arcfour-hmac-md5 des-cbc-crc des-cbc-md5
      default_tkt_enctypes = arcfour-hmac-md5 des-cbc-crc des-cbc-md5

2020年7月11日 星期六

windows server 2003 ad 重建 dns server

1.刪除所有相關dns record
2.net stop netlogon
3.刪除 system32\config\netlogon.dnb,netlogon.dns
  刪除 system32\dns\domain.com.dns,_msdcs.domain.com.dns
4.dns server 指向自己
5.net start netlogon
6.ipconfig /flushdns, ipconfig /registerdns.

windows server 2003 +sssd:generic failure: GSSAPI Error: Unspecified GSS failure. Minor code may provide more information (Ticket expired)

安裝 sp2

2020年7月9日 星期四

/etc/skel/目錄

1.目錄是用來存放新使用者配置檔案的目錄

2.新增新使用者的時候,這個目錄下的所有檔案會自動被複制到新新增的使用者的家目錄下。

3.通過修改、新增、刪除/etc/skel目錄下的檔案,可為新建立的使用者提供統一的、標準的、初始化使用者環境。

2020年7月4日 星期六

nginx: [emerg] unknown "connection_upgrade" variable

http 區塊中加入
 map $http_upgrade $connection_upgrade {
default upgrade;
 '' close;
}

2020年7月3日 星期五

xrdp + sssd

1.編輯 /etc/sssd/sssd.conf 加入
ad_gpo_map_interactive = +xrdp-sesman

2.編輯 /etc/X11/Xwrapper.config 修改
allowed_users = anybody

3.重啟 sssd
systemctl restart sssd

Xpra + Apache2 proxy (Debian 10.4)

1.安裝 XPRA
echo "deb https://xpra.org/ buster main" >/etc/apt/sources.list.d/xpra.list

apt-get install apt-transport-https
wget -q https://xpra.org/gpg.asc -O- | sudo apt-key add -
apt-get update
apt-get install xpra

2.Apache2 載入模組
a2enmod proxy
a2enmod proxy_http
a2enmod proxy_ajp
a2enmod rewrite
a2enmod deflate
a2enmod headers
a2enmod proxy_balancer
a2enmod proxy_connect
a2enmod proxy_html
a2enmod proxy_wstunnel

3.修改 Apache2 設定檔,加入
<Location "/xpra">
  RewriteEngine on
  RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
  RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
  RewriteRule .* ws://localhost:14500/%{REQUEST_URI} [P]

  ProxyPass ws://localhost:14500
  ProxyPassReverse ws://localhost:14500

  ProxyPass http://localhost:14500
  ProxyPassReverse http://localhost:14500
</Location>

4.xpra 執行方式
xpra start :100 --start-child=xterm --bind-tcp=0.0.0.0:14500

2020年7月1日 星期三

Debian 10 安裝 Shell in a box

安裝
apt install -y shellinabox

允許 root 登入
修改 /etc/default/shellinabox
SHELLINABOX_ARGS=--no-beep
加入 --service=/:SSH

2020年6月29日 星期一

apache2.service: Failed to set up mount namespacing: Permission denied

1.編輯  /etc/systemd/system/multi-user.target.wants/apache2.service
修改 PrivateTmp=true 為
PrivateTmp=false
NoNewPrivileges=yes

2.執行
systemctl daemon-reload

2020年6月10日 星期三

Linux 列出伺服器廠商、型號及 SN

dmidecode -s system-manufacturer
dmidecode -s system-product-name
dmidecode -s system-serial-number

ipmitool fru list

2020年6月7日 星期日

Raspberry pi Waveshare 3.5 RPi LCD XPT2046 A 設定

git clone https://github.com/waveshare/LCD-show.git
cd LCD-show/
sudo ./LCD35-show

編輯 /boot/config
dtoverlay=waveshare35a:rotate=270
hdmi_force_hotplug=1
#max_usb_current=1
hdmi_group=0
hdmi_mode=1
hdmi_mode=87
hdmi_cvt 640 480 60 6 0 0 0
hdmi_drive=2
#display_rotate=1
#lcd_rotate=2

參考資料
https://t.codebug.vip/questions-171571.htm
https://www.raspberrypi.org/documentation/configuration/config-txt/video.md


2020年6月3日 星期三

Raspberry pi 3 Under-voltage detected! (0x00050005)

編輯 /boot/config.txt 加入

# Disable under-voltage warning
avoid_warnings=1

2020年6月2日 星期二

Linux CPU NUMA 資訊

numactl --hardware
lscpu
cat /sys/devices/system/node/online

2020年5月28日 星期四

Linux 查詢 L1 L2 L3 cache

lscpu
getconf -a | grep CACHE
dmidecode -t cache -t memory
lshw -C memory

Linux Hugepages 相關資訊

查詢
cat /proc/meminfo | grep Huge

開機時執行
編輯 /etc/sysctl.conf 加入
vm.nr_hugepages=4096

設定方法
sysctl -w vm.nr_hugepages=4096
echo 4096 > /proc/sys/vm/nr_hugepages

2020年5月27日 星期三

ipxe 編譯 (Debian 10)

1.設置編譯環境
apt install -y git gcc binutils make perl liblzma-dev  libz-dev mtools genisoimage syslinux

2.取得原始程式 
git clone git://git.ipxe.org/ipxe.git 
3.編輯設定檔案
src/config/general.h

相關檔案
./bin/ipxe.dsk
./bin/ipxe.lkrn
./bin/ipxe.iso
./bin/ipxe.usb
./bin/ipxe.pxe

2020年5月26日 星期二

Debian 10 自動登入

1.編輯相關服務
systemctl edit getty@tty1  加入以下內容

[Service]
ExecStart=
ExecStart=-/sbin/agetty --autologin root --noclear %I 38400 linux

2.啟用相關服務
systemctl enable getty@tty1.service

3.重新開機
reboot

2020年5月20日 星期三

bash 大寫轉小寫

echo $str | tr '[:upper:]' '[:lower:]'

echo $str | awk '{print tolower($0)}'

bash 4
echo "${str,,}"

2020年5月18日 星期一

Raspberry PI3 設定 WiFI AP

0. cat /etc/debian_version
10.3

1.安裝相關軟體
apt install hostapd dnsmasq -y

2.編輯 /etc/hostapd/hostapd.conf
interface=wlan0
ssid=pi-ap
hw_mode=g
channel=1
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=0123456789
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP

3.編輯 /etc/dnsmasq.conf
interface=wlan0
dhcp-range=192.168.13.2,192.168.13.20,255.255.255.0,1h

4.編輯 /etc/dhcpcd.conf
interface wlan0
static ip_address=192.168.13.1/24
static routers=192.168.13.1
static domain_name_servers=8.8.8.8

5.執行
#sudo ip addr add 192.168.13.1/24 dev wlan0
sudo systemctl start dnsmasq
sudo systemctl unmask hostapd
sudo systemctl start hostapd

sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT

Raspberry pi 開機 文字/圖形界面

sudo raspi-config

3 Boot Options
B1 Desktop / CLI
B1 Console


2020年5月14日 星期四

Raspberry pi 更改 console 字體

1.文字視窗指令
sudo dpkg-reconfigure console-setup

2.更改設定檔
sudo vi /etc/default/console-setup
FONTFACE="Terminus"
FONTSIZE="16x32"

3.套用設定
sudo /etc/init.d/console-setup.sh restart

2020年5月13日 星期三

Proxmox mount VM partition

apt install -y kpartx

使用範例
kpartx -av /dev/pve/vm-100-disk-0
partx -a /dev/zvol/rpool/data/vm-100-disk-1
kpartx -d /dev/zvol/rpool/data/vm-100-disk-1

dmsetup remove data-data
dmsetup remove vm-100-disk-1p1

相關指令
dmsetup ls 
dmsetup remove 

2020年5月1日 星期五

2020年4月24日 星期五

CISCO 交換器不同 VLAN 間 傳送 dhcp 封包

vlan interface 加入  dhcp server ip
ip helper-address 192.168.232.253

2020年4月14日 星期二

linux machine-id 筆記

/etc/machine-id 安裝操作系統時產生獨一無二的 machine ID
machine ID一個32字符長度的十六進位小寫字母字符串, 並以換行符結尾,128位二進制整數的16進位表示。

systemd-machine-id-setup 產生 /etc/machine-id
/var/lib/dbus/machine-id 玲存在時,系統會產生連結至 /etc/machine-id

LEAF Bering-uClibc PKGTATH 使用 uuid

PKGPATH=UUID=BC52-AE10:vfat


2020年4月9日 星期四

Debian 缺少 add-apt-repository 指令

apt-get install python-software-properties
apt-get install software-properties-common

2020年4月8日 星期三

Proxmox 關閉 KVM windows server 2003

secpol.msc -> "Security Settings\Local Policies\Security Options"

1."Shutdown: Allow system to be shut down without having to log on".
2."Interactive logon: Do not require CTRL+ALT+DEL"

disable logon screen screensaver using regedit
[HKEY_USERS\.DEFAULT\Control Panel\Desktop]
"ScreenSaveActive"="0"

2020年3月29日 星期日

losetup /dev/loop0 test.img

mount -o loop,ro,offset=32256 hda.img


 kpartx -a fs.img
ls -l /dev/mapper

2020年3月28日 星期六

Raspberry pi Zero 開啟 USB OTG Serial

echo "dtoverlay=dwc2" | sudo tee -a /boot/config.txt
echo "dwc2" | sudo tee -a /etc/modules
echo "g_serial" | sudo tee -a /etc/modules

sudo systemctl enable getty@ttyGS0.service

Linux 連接方式
screen /dev/ttyACM0 115200

2020年3月24日 星期二

CentOS 8 / Proxmox 6.x 啟用 rc.local

1.chmod +x /etc/rc.d/rc.local

2.編輯 /usr/lib/systemd/system/rc-local.service
加入 [Install]區塊
WantedBy=multi-user.target

[Unit] 區塊新增
Requires=network-online.target
After=network-online.target

3.systemctl enable rc-local.service

2020年3月19日 星期四

Proxmox 6.x CentOS 8 root 登入 console 設定

編輯 /etc/pam.d/login 加入
auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so

編輯 /etc/securetty 加入
lxc/console
lxc/tty0
lxc/tty1
lxc/tty2
lxc/tty3
lxc/tty4
pts/0
console

CentOS 7(x86_amd64) Squid 3.5 使用 Windows AD 認證(指定群組)

說明
1.squid proxy 使用帳號須為 ad_group 群組成員
2.dc 192.168.1.1
3.domain name aaa.com
4.squid 向dc認證用帳號 squid 密碼 p@ssw0rd

/etc/squid/squid.conf 加入
auth_param basic program /usr/lib64/squid/basic_ldap_auth -R -b "dc=aaa,dc=com" -D "CN=squid,cn=Users,DC=aaa,DC=com" -w p@ssw0rd -f sAMAccountName=%s -h 192.168.1.1

external_acl_type ldap_group %LOGIN /usr/lib64/squid/ext_ldap_group_acl -R -b "dc=aaa,dc=com" -D "CN=squid,cn=Users,DC=aaa,DC=com" -w p@ssw0rd -f "(&(objectclass=person)(sAMAccountname=%v)(memberof=cn=%g,cn=Users,DC=aaa,DC=com))" -h 192.168.1.1

acl ad_group external ldap_group ad_group

http_access allow  ad_group

2020年3月9日 星期一

CentOS 7(x86_amd64) Squid 3.5 使用 Windows AD 認證

 Windows AD (aaa.com) 中 新增一帳號 squid,密碼  password

編輯 /etc/squid/squid.conf

在 http_access deny all 前加入
auth_param basic program /usr/lib64/squid/basic_ldap_auth -P -R -b "dc=aaa,dc=com" -D "cn=squid,cn=Users,dc=aaa,dc=com" -w "password" -f sAMAccountName=%s -h 192.168.1.1
acl ldapauth proxy_auth REQUIRED
http_access allow ldapauth

2020年2月15日 星期六

Linux realm 設定筆記

realm discover
realm join --user=admin domain.example.com
realm leave realm list
realm permit --all
realm permit user@example.com
realm permit DOMAIN\\User2
realm permit --withdraw user@example.com
realm deny --all

Linux 查詢使用者 uid,gid

id -u username id -g username id -G username id username

Proxmox VE 6.x 5.x 4.x 更改名稱

編輯以下檔案
/etc/hosts
/etc/hostname
/etc/mailname
/etc/postfix/main.cf

重啟相關服務
systemctl start pve-cluster
systemctl restart pvedaemon
systemctl restart pveproxy
systemctl restart pvestatd

相關檔案
/proc/sys/kernel/hostname

Debian 10 產生pxe boot 安裝開機檔

wget http://ftp.nl.debian.org/debian/dists/buster/main/installer-amd64/current/images/netboot
 /mini.iso -O /tmp/mini.iso

mkdir /mnt2;mount -o loop /tmp/mini.iso /mnt2

cp /mnt2/linux  /tmp/debian.kernel
mkdir /tmp/a;cd /tmp/a
zcat /mnt2/initrd.gz |cpio -i
cp  /tmp/mini.iso /tmp/a
find .|cpio -o -H newc|gzip -9 >/tmp/debian.initrd

Proxmox PVE 6.x 移除 cluster

service pve-cluster stop
pmxcfs -l
rm /etc/pve/corosync.conf
rm /etc/corosync/corosync.conf
rm /etc/corosync/authkey

2020年1月22日 星期三

Debian/Ubuntu :Fix add-apt-repository: command not found error

sudo apt-get install software-properties-common

Raspberry pi 設定無線網路、開啟 ssh

boot 區下 產生檔名 ssh 檔案

boot 區下 產生 wpa_supplicant.conf 檔案內容
country=TW
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="SSID_NAME"
    psk="SSID_KEY"
    key_mgmt=WPA-PSK
    scan_ssid=1
}

squid custom authentication helper 摘要

#!/bin/bash
read a

echo user=${a% *} password=${a#* } >/tmp/input

#echo -e "OK";
echo -e "ERR";

squid 設定方式
auth_param basic program /usr/bin/bash /tmp/1.sh
auth_param basic children 5
auth_param basic realm Please enter your proxy server username and password
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive on

acl authenticated proxy_auth REQUIRED
http_access allow authenticated

查詢 Debian /Ubuntu 版本

lsb_release
hostnamectl

cat /etc/os-release

IMS4000取得 datalog

#!/bin/bash
ip=192.168.0.1
username=admin
password=password

url="http://${ip}/cgi-bin/web2timehist.cgi?unit=0&chan=0&ip=100&frame=82"

x=$(curl -s --cookie "username=${username}; password=${password}" $url|sed -e 's/<[/]tr>/ \n/g'|sed -e 's/<[^>]*>/ /g'|sed '/^$/d')&&x=${x#*GMT\"}&&x=${x%<!--*}&&IFS=xxxxxxx&&echo ${x}|while read a;do [ ${#a} -gt 18 ]&&echo  $a|tr -s " ";done;

IMS4000取得目前狀況

#!/bin/bash
ip=192.168.0.1
username=admin;
password=password;

url="http://${ip}/cgi-bin/do_frames.cgi?unit=0&frame=202"
url="http://${ip}/cgi-bin/do_frames.cgi?unit=1&frame=202"
#url="http://${ip}/cgi-bin/do_frames.cgi?unit=2&frame=202"

x=$(curl -s --cookie "username=${username}; password=${password}" $url|sed -e 's/<[/]td>/ \n/g'|sed -e 's/<[^>]*>/ /g'|sed '/^$/d')&&x=${x##*//-->};

OIFS=$IFS&&IFS=xxxxxx;
x=$(echo $x|while read i;do ii=$(echo $i|tr -d " \n"|grep -v onClick|grep -v onmouse);[ ${#ii} -gt 2 ]&&echo $ii;done);

IFS=$OIFS&&n=0;

for i in $x;do echo -n "${i%°C} ";n=$(($n + 1));[ $(($n %4)) -eq 0 ]&&echo ;done;

2020年1月2日 星期四

Debian 10 nfs ganesha 安裝摘要

安裝
apt install -y nfs-ganesha  nfs-ganesha-vfs

編輯設定檔 /etc/ganesha/ganesha.conf
EXPORT
{
        # Export Id (mandatory, each EXPORT must have a unique Export_Id)
        Export_Id = 1;

        # Exported path (mandatory)

        Path = /nfs;

        # Pseudo Path (required for NFS v4)

        Pseudo = /nfs;

        # Required for access (default is None)
        # Could use CLIENT blocks instead
        Access_Type = none;
        Squash = No_root_squash;

       CLIENT {
                Clients = 192.168.1.0/24;
                Access_Type = RW;
        }


        # Exporting FSAL
        FSAL {
                Name = VFS;
        }
}



啟動服務
systemctl restart nfs-ganesha