CentOS 7中如果使用yum命令提示如下信息,即為數據庫損壞:
error: db5 error(28) from dbenv->open: No space left on device
error: cannot open Packages index using db5 – No space left on device (28)
error: cannot open Packages database in /var/lib/rpm
CRITICAL:yum.main:
Error: rpmdb open failed

解決方法:
cd /var/lib/rpm/
mv __db* /tmp/
rm __db.* -rf
rpm –rebuilddb
yum clean all

基本安裝:
wget http://www.rarlab.com/rar/rarlinux-x64-5.3.0.tar.gz
tar -zxvf rarlinux-x64-5.3.0.tar.gz
cd rar && make

———-List in the Console————–
mkdir -p /usr/local/bin
mkdir -p /usr/local/lib
cp rar unrar /usr/local/bin
cp rarfiles.lst /etc
cp default.sfx /usr/local/lib
—————-End———————–
現在已經成功安裝RAR/UNRAR

基本使用:
rar a test.rar test
把test文件壓縮為test.rar
rar a -p test.rar
把test.rar設置密碼
rar a -v49m test.rar file
把file文件分卷打包成每卷49mbs的rar文件,名字為test01.rar、test02.rar…(不足49mbs的話只分一卷)

unrar l test.rar
把test.rar裡面的東西列出來
unrar x test.rar
把test.rar解壓縮(保留文件結構)
unrar x test.rar ./dir
把test.rar解壓縮到本地文件夾下的dir文件夾

. – Any Character Except New Line
\d – Digit (0-9)
\D – Not a Digit(0-9)
\w – Word Character (a-z, A-Z, 0-9, _)
\W – Not a Word Character
\s – Whitespace (space, tab, newline)
\S – Not Whitespace (space, tab, newline)

\b – Word Boundary
\B – Not a Word Boundary
^ – Beginning of a String
$ – End of a String

[] – Mathes Characters in brackets
[^ ] – Matches Characters NOT in bracket
| – Either Or
( ) – Group

Quantifiers:
* – 0 or More
+ – 1 or More
? – 0 or One
{3} – Exact Number
{3,4} – Range of Numbers (Minimum, Maximum)

import re

text_to_search = ”’
abcdefghijklmnopqurtuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
1234567890
Ha HaHa
Meta Characters(need to be escaped):
. ^ $ * + ? { } [ ] \ | ( )
http://v2rayz.me


321-555-4321
123.555.12342343
123*555*1234234234
800-555-123454554654
900-555-1234332423


Mr Smith
Ms Davis
Mrs. Robinson
Mr. Ferrari JR.
Mr. T

[email protected]
[email protected]
[email protected]
[email protected]

在私人建站的過程中,最方便的莫過於使用寶塔的SSL自動續簽。但是,什麼免費的東西也有個但是,就是如果你一天之內申請次數過多,加上狗血的寶塔對多域名支持不友好的情況下,因為寶塔的GUI設計或者各種原因,導致不能再申請,或者你想你的網站的擁有一些與眾不同的證書,那麼申請一個付費又便宜的證書其實蠻適合私人站長的。

首先我們選擇一個賣證書的商家,這裡本站選擇了Namecheap,個人認為不會像狗爹那麼浮誇,比較老牌,有口碑,服務也比較專業。註冊好賬號之後,登入去,充錢:dashborard-top up, 支付流程就不多說了。

這裡選擇自己需要的證書,一定要按需選擇,不然就是燒錢無底洞。

單域名證書:可以綁定一條帶www和不帶www的域名,比如http://admin.com和http://www.admin.com就是一條。多域名證書:可以綁定250多條任意類型的域名。泛域名證書:可以綁定一條頂級域名和頂級域名下的所有二級域名,或者是一條二級域名和二級域名下的所有三級域名。

買好之後就可以開始部署自己的證書了,部署的步驟大概分為幾個:

第一步,在namecheap.com生成一個CSR(Certificate Signing Request),填寫要申請SSL證書的域名、國家、郵箱、公司等信息之後,對激活申請發起請求,會生成一個private key和certificate給你,這個privatekey後面有用到,現在這個certificate是沒什麼卵用的,生成的結果請你用txt文件保存起來。生成CSR的方式有很多種,可以軟件也可以網站生成,一般來說在Namecheap購買的可以到這個網址申請:https://decoder.link/csr_generator

第二步,進行DCV(domain control validation),就是證明你擁有這個域名的完全控制權(證明你交了租~)
有三種方式可以證明你擁有這個域名
1,通過向網域郵箱發送認證
2,在web服務器添加一個文件
3,修改DNS設置,添加一條CName Record

第三步,等待DCV生效,上面的方式還是第3點比較方便,你就去你的Name Server那裡設置添加一個CName Record,要填的variable有兩個,一個叫host,另一個叫target,這兩個值可以在namecheap–dashboard–已購的ssl產品目錄–edit method的下拉箭頭找到。缺點敏銳的偵查能力都找不到~大概等個5~30分鐘左右就行。

第四步,接收證書。到你剛剛填寫的郵箱裡查收郵件,郵件裡包含一個certificate

第五步,到寶塔裡配置,把剛才留下來的privatekey以及郵件發給你的certificate給填上寶塔網站裡的ssl裡,保存–強制https,即可

完成了之後再你的Namecheap的DashBoard裡就會出現一個鎖頭。

瀏覽器打開https://v2rayz.org,chrome瀏覽器按網址左邊的鎖頭,可以查看到證書的相關信息。

“””
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
yum -y install git
“””
安裝docker和git(如未安裝)

git clone https://github.com/etaf/shadowsocks-docker.git && cd shadowsocks-docker
在github下載Dockerfile和相關設置

cat shadowsocks_config.json
查看設置,有需要就修改

{
“server”:”::”,
“server_port”: 8838,
“local_address”:”127.0.0.1″,
“local_port”:1080,
“password”:”abcdefg”,
“timeout”:300,
“method”:”aes-256-cfb”,
“fast_open”:true
}

systemctl stop firewalld
用各種方式停止防火墻和開啟端口,這裡只使用firewalld

docker build -t etaf/shadowsocks ./
把你的設置和原來的image一起構建成docker image

sudo service docker restart
重啟docker

sudo docker run –restart=always -d -p 8838:8838 etaf/shadowsocks
運行Container和開機自啟動

docker logs $(docker ps -ql)
查看Contianer裡的輸出

Matplotlib是Python語言中比較流行的畫圖的包,用於製作靜態圖比較合適。

交易產品的蠟燭圖所需要的源數據也就是Open High Low Close的價格,還有就是日期時間,現在給出一個data.csv作為Sample

import numpy as np
import csv
import matplotlib.pyplot as plt
from matplotlib import dates, ticker
import matplotlib as mpl
from mpl_finance import candlestick_ohlc

mpl.style.use(‘default’)

fname = ‘data.csv’

# Empty lists to extract the data from csv files
date_data = []
open_data = []
high_data = []
low_data= []
close_data= []
trade = []
turn = []

# Extracting data
with open(fname, ‘r’) as csvfile:
data = csv.reader(csvfile, delimiter=’,’)
for line in data:
date_data.append(line[0])
open_data.append(line[1])
high_data.append(line[2])
low_data.append(line[3])
close_data.append(line[4])
trade.append(line[5])
turn.append(line[6])
# removing ‘-‘ indata
trade[18] = 0
turn[18] = 0


# Conversion to numpy arrays
open_val = np.array(open_data[1:], dtype=np.float64)
high_val = np.array(high_data[1:], dtype=np.float64)
low_val = np.array(low_data[1:], dtype=np.float64)
close_val = np.array(close_data[1:], dtype=np.float64)
trade_val = np.array(trade[1:], dtype=np.float64)
turn_val = np.array(turn[1:], dtype=np.float64)

# Matplotlib needs dataes in floating numbers to plot them under the hood
data_dates=[]
for date in date_data[1:]:
new_Date = dates.datestr2num(date)
data_dates.append(new_Date)


i = 0
ohlc_data = []
while i < len(data_dates):
stats_1_day = data_dates[i], open_val[i], high_val[i], low_val[i], close_val[i]
ohlc_data.append(stats_1_day)
i += 1

fig, ax1 = plt.subplots()
candlestick_ohlc(ax1, ohlc_data, width=0.5, colorup=’g’, colordown=’r’, alpha=0.8)
plt.show()

得出以下結果:

PYTHON

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
安裝Docker

docker pull [image name]
下載鏡像(image name:latest)

docker pull ubuntu

docker run –name Myubuntu1 -it ubuntu bash
在Container中運行ubuntu,進入bash,並使用interative mode

docker run -it –name [tag] -p 1234:80 -v $PWD/.:/home/test [name]
Interactively地去運行一個Container,端口指定

docker run -d -it –name [container name] -p 192.168.2.1:80:80 [image name]


docker help
一般性幫助
docker [command] –help
尋求幫助

docker images
查看所有鏡像

docker start [name]
運行Container

docker ps -a
列出所有Container

docker attach [name]
重新进入该Container

top -b
查看正在運行的進程

ctl+p & ctl+q
退出Container,進程繼續

exit
退出Container,進程結束

docker exec -it [name] [command]
在Container裡執行命令Without結束其他進程

docker stop [name]
結束Container

docker rm [name]
刪除Container

docker rmi [name]
刪除鏡像

docker inspect [name] | grep [content]
在鏡像信息裡查找需要的Content

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

docker build [path]
docker build .
建立鏡像

docker tag 40d13af0eebd [image name]
命名鏡像


sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
卸載Docker

docker -v
查看版本


>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Dockerfile的用法


From [image name]

MAINTAINER [email protected]

RUN yum -y install httpd

COPY index.html /var/www/html

EXPOSE 80 443 8080/tcp 5000/udp

CMD [“bash”, “/script.sh”]

以上命令都幹了什麼事情:
從dockerhub載入image
註明作者
運行命令
從本地copy一個文件到Contianer的路徑
打開80 443 8080的tcp端口和5000端口
執行bash /script.sh