Eric Guo's blog.cloud-mes.com

Hoping writing JS, Ruby & Rails and Go article, but fallback to DevOps note

Install ImageMagick 7.0.10 on CentOS 7.8

Permalink

Go official imageMagick website to download

Install ImageMagick 7.0.10 on CentOS 7.8
sudo su -
wget https://imagemagick.org/download/linux/CentOS/x86_64/ImageMagick-libs-7.0.10-30.x86_64.rpm
wget https://imagemagick.org/download/linux/CentOS/x86_64/ImageMagick-7.0.10-30.x86_64.rpm
yum install libraqm
yum install fftw
yum install libwebp
rpm -Uvh ImageMagick-libs-7.0.10-30.x86_64.rpm
yum remove ImageMagick # if 6.9.10.68 exist
rpm -Uvh ImageMagick-7.0.10-30.x86_64.rpm

Install Ruby 2.2.10 in New macOS 10.15 and Linux

Permalink

Install ruby 2.2.10 in new macOS 10.15 and Linux
RUBY_CONFIGURE_OPTS=--disable-werror rbenv install 2.2.10

See doc if require.

If in Linux:

If in Linux:
sudo apt install gcc-6 g++-6
wget https://github.com/openssl/openssl/archive/OpenSSL_1_0_2j.tar.gz
tar xzf OpenSSL_1_0_2j.tar.gz
cd openssl-OpenSSL_1_0_2j
./config --prefix=/opt/openssl/1.0.2j
make depend
make -j$(nproc)
sudo make install
CC=$(which gcc-6) CONFIGURE_OPTS="--with-openssl-dir=/opt/openssl/1.0.2j" rbenv install 2.2.10

Extend the Disk Size in CentOS Which Running in VMware

Permalink

Largely copy from Linux Techi

Check whether free space is available space in the volume group

Check whether free space is available space in the volume group
[root@localhost dev]# vgdisplay
--- Volume group ---
VG Name centos
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 9
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 3
Max PV 0
Cur PV 1
Act PV 1
VG Size <199.00 GiB
PE Size 4.00 MiB
Total PE 50943
Alloc PE / Size 28896 / <112.88 GiB
Free PE / Size 22047 / 86.12 GiB
VG UUID cUFFyw-wCaq-Ym07-TzQY-mii3-y8Xo-IdQRmn

lvextend command to increase the size

lvextend command to increase the size
[root@localhost ~]# lvextend -L +80G /dev/mapper/centos-root
Size of logical volume centos/root changed from 100.00 GiB (25600 extents) to 180.00 GiB (46080 extents).
Logical volume centos/root successfully resized.

Run the resize2fs command

Run the resize2fs command
[root@localhost ~]# resize2fs /dev/mapper/centos-root
resize2fs 1.42.9 (28-Dec-2013)
resize2fs: Bad magic number in super-block 当尝试打开 /dev/mapper/centos-root
找不到有效的文件系统超级块.

Resolve error due to root is xfs

Resolve error due to root is xfs
[root@localhost ~]# cat /etc/fstab
# /etc/fstab
# Created by anaconda on Mon Dec 23 14:28:29 2019
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=48xxxx48-xxxx-xxxx-xxxx-xxxxxxxxxxxx /boot xfs defaults 0 0
/dev/mapper/centos-home /home xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
[root@localhost ~]# xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=512 agcount=8, agsize=3276800 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=26214400, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=6400, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 26214400 to 47185920

Presenting Code With Syntax-highlight in Keynote Using Command Tool Highlight

Permalink

Just one line

Syntax-highlight code for Keynote with highlight
pbpaste | highlight --syntax=rb -O rtf | pbcopy
pbpaste | highlight --syntax=html -O rtf | pbcopy
pbpaste | highlight --syntax=scss -O rtf | pbcopy
pbpaste | highlight --syntax=jsx -O rtf | pbcopy
pbpaste | python -m json.tool | highlight --syntax=json -O rtf | pbcopy

Click to see more language highlight supported.

Note: install highlight first using brew install highlight, original link

Bug or Correct Behavior but Very Miss Leading LEFT JOIN in MySQL 8

Permalink

Today I found a missing rows in MySQL 8 problem in production, which SQL LEFT JOIN should be added at join condition instead of where.

Missing data version:

Missing data version:
SELECT SUM(markettotal) markettotal
FROM `SUB_COMPANY_REAL_RECEIVE`
LEFT JOIN ORG_REPORT_DEPT_ORDER on ORG_REPORT_DEPT_ORDER.编号 = SUB_COMPANY_REAL_RECEIVE.deptcode_sum
WHERE `SUB_COMPANY_REAL_RECEIVE`.`realdate` BETWEEN '2020-01-01' AND '2020-06-30'
AND (ORG_REPORT_DEPT_ORDER.开始时间 <= '2020-06-11')
AND (ORG_REPORT_DEPT_ORDER.结束时间 IS NULL OR ORG_REPORT_DEPT_ORDER.结束时间 >= '2020-06-11')
AND `SUB_COMPANY_REAL_RECEIVE`.`orgcode_sum` IN ('H000109', '000109')

Correct version:

Correct version:
SELECT sum(markettotal)
FROM `SUB_COMPANY_REAL_RECEIVE`
LEFT JOIN ORG_REPORT_DEPT_ORDER ON SUB_COMPANY_REAL_RECEIVE.deptcode = ORG_REPORT_DEPT_ORDER.编号
AND ((ORG_REPORT_DEPT_ORDER.开始时间 <= '2020-06-11') AND (ORG_REPORT_DEPT_ORDER.结束时间 IS NULL OR ORG_REPORT_DEPT_ORDER.结束时间 >= '2020-06-11'))
WHERE `SUB_COMPANY_REAL_RECEIVE`.`realdate` BETWEEN '2020-01-01' AND '2020-06-30'
AND `SUB_COMPANY_REAL_RECEIVE`.`orgcode_sum` IN ('H000109')

New T3 Micro EC2 Box on Amazon Linux Install Log

Permalink

Time is pass so faster, another 3 years passed after my previous T2 micro installed.

Now have to install another new box with price $134 in Tokyo AWS.

Install postgresql 11

Install postgresql 11
yum update
amazon-linux-extras install postgresql11 epel
yum install -y postgresql-server postgresql-devel
/usr/bin/postgresql-setup --initdb
systemctl enable postgresql
systemctl start postgresql
sudo -u postgres -i psql -c 'SELECT version();'

Install nginx

Install nginx
amazon-linux-extras install nginx1
yum install nginx
systemctl enable nginx
systemctl start nginx

Install node.js 14 & yarn

Install node.js 14 & yarn
curl --silent --location https://rpm.nodesource.com/setup_14.x | bash -
yum install -y gcc-c++ make
yum install -y nodejs
curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | tee /etc/yum.repos.d/yarn.repo
yum install yarn

Install dependencies required by rbenv and ruby 2.7.1

Install dependencies required by rbenv and ruby 2.7.1
yum install openssl-devel readline-devel zlib-devel gdbm-devel

Fix Yum Update Postgresql12 to v12.3 Require LLVM-toolset-7-clang >= 4.0.1 Dependency Problem

Permalink

Simple running yum update on a CensOS 7 machine which installing the official postgresql v12 will get below problem:

PostgreSQL 12 yum update dependency error
---> Package postgresql12-devel.x86_64 0:12.3-1PGDG.rhel7 will be an update
--> Processing Dependency: llvm-toolset-7-clang >= 4.0.1 for package: postgresql12-devel-12.3-1PGDG.rhel7.x86_64
--> Finished Dependency Resolution
Error: Package: postgresql12-devel-12.3-1PGDG.rhel7.x86_64 (pgdg12)
Requires: llvm-toolset-7-clang >= 4.0.1
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest

You can install CentOS SCLo RH repository and install llvm-toolset-7-clang to resolve it.

Install LLVM Toolset 7 for PostgreSQL 12 updates
yum install centos-release-scl-rh
yum install llvm-toolset-7-clang