環境:
A - cluster
N1 - 實體機
N2 - 實體機
1.N1 / N2 進入 Vmware client設定node1 / node2 網路
1-1 virtual switch 就是虛擬node之間的switch ,做高速網路流量用
1-2 連接埠擇像是網段,意思是node之間要用virtual switch的這個網段互通
2 設定HD,注意紅框設定
This man is too old to remember everything in his brain. Right now, he needs a place to write down what he has studied.
環境:
A - cluster
N1 - 實體機
N2 - 實體機
1.N1 / N2 進入 Vmware client設定node1 / node2 網路
1-1 virtual switch 就是虛擬node之間的switch ,做高速網路流量用
1-2 連接埠擇像是網段,意思是node之間要用virtual switch的這個網段互通
2 設定HD,注意紅框設定
Summary:
1.產生ssh key 在client 端 (就是要發出ssh的那台機器,會有公鑰和私鑰)
2.將公鑰設定放到伺服器上 (在client端產生公鑰後,將公鑰放到server,也就是接受ssh要求的機器)
3.產生的私鑰和金鑰可以提供給client端其他user使用
來源:https://xenby.com/b/220-%E6%95%99%E5%AD%B8-%E7%94%A2%E7%94%9Fssh-key%E4%B8%A6%E4%B8%94%E9%80%8F%E9%81%8Ekey%E9%80%B2%E8%A1%8C%E5%85%8D%E5%AF%86%E7%A2%BC%E7%99%BB%E5%85%A5
一般我們登入伺服器可以透過密碼進行登入,但是安全性的程度會比較沒有像SSH key那個安全,而且如果使用SSH key登入的話可以就不用每次手動輸入密碼,會方便許多,本篇教如何產生SSH key並且設定到伺服器上。
首先輸入指令來產生 key
ssh-keygen
接著會詢問產生的ssh key要存放的位置
這時選擇要放的位置 預設為 /home/username/.ssh/id_rsa
如果不同伺服器會使用不同的key 則改變key的位置 (例如: /home/username/.ssh/id_rsa_ubuntu)
Generating public/private rsa key pair. Enter file in which to save the key (/home/username/.ssh/id_rsa):
接著會詢問要不要設定 passphrase,空白表示不設定
如果有設定passphrase,則每次用此key登入都需要輸入這個密碼 (安全性較高,可依個人需求設定)
Enter passphrase (empty for no passphrase): Enter same passphrase again:
接下來就會產生key到指定位置了
會有兩個key 一個有副檔名 .pub 為公鑰,而沒有副檔名的為私鑰
注意私鑰要保存好 絕對不能被竊取
Your identification has been saved in /home/username/.ssh/id_rsa_ubuntu. Your public key has been saved in /home/username/.ssh/id_rsa_ubuntu.pub. The key fingerprint is: SHA256:nNnQckFbuegUs4WD3y+7YqwCaDhfUlX2J17jxF7X3FU xenby@demo.com The key's randomart image is: +---[RSA 2048]----+ | .o++ .. E| | . *o+. ..| | . = *+ o ..| | . . Ooo+ * +| | . o Soo..B o.| |o + o . ..o | | + o . . . . | | . . + o | | ..o .o. | +----[SHA256]-----+
有幾個方法可以把公鑰放到伺服器上,可以依據自己的使用狀況選擇
輸入指令以下指令
(將 username 與 server_host 換成自己的帳號與伺服器IP或host,而 your_key_path 換成自己的剛剛產生的key位置)
ssh-copy-id -i your_key_path username@server_host
成功後會顯示如下的訊息
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'username@server_host'" and check to make sure that only the key(s) you wanted were added.
先記下剛剛產生的公鑰資料
cat ~/.ssh/ubuntu_id_rsa.pub
會顯示公鑰資料,把它複製下來
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOZypQABxuCschD6jjRZFr1iPCqzrpo40Mzw6vXRfPlFwF9QJhLm3YYdtnpVekj9e1Y4kUduM924PAiLgfRw/6AJ1ueDR1BEDLeH8gAV1Cc90oPUvitYItPN8F1HrqiT37GZ3wKWKIFw70NL8Hs6BL61F+LgFmfXQDRyp7IIcyK9rmk24yqLSue/DiSbA0y85E4uvV7ekZD2NXeA9AnKHFe/cy614SQv2NNQCwi2ZRuP25du9xGVv0QvCwrZ4ANJky9V7xlO4dFFHqcNXUPQUm8EeRxySVCdTbenqiEQ3flLVBCCCxvnc7ApHlLNc/CZSpcft96xfGB3qOCrRvjb2/ xenby@demo.com
連線到伺服器上後
將公鑰資料複製到 ~/.ssh/authorized_keys 中 (下面指令的 public_key_string 要換成剛剛複製的公鑰資料)
如果該檔案已經存在就將資料新增到新的一行,如果不在就自己創建一個
echo "public_key_string" >> ~/.ssh/authorized_keys
假如剛剛自己是建立一個新的檔案,因為安全性的關係要改變 permission
輸入以下兩個指令 (username需要換成自己的帳號)
chmod -R go= ~/.ssh chown -R username:username ~/.ssh
試試看是否能正常登入使用key登入
ssh username@server_host
如果能夠不需要輸入密碼 就表示已經成功了
https://www.jeffcodingmentor.com/python%E5%AD%B8%E7%BF%92/certificate_verify_failed-%E8%A7%A3%E6%B1%BA%E6%96%B9%E6%B3%95
import requests
requests.get("https://techpro.tp.edu.tw/manager/cms/taipei-edu/scartch.html")
SSLError: HTTPSConnectionPool(host='techpro.tp.edu.tw', port=443): Max retries exceeded with url: /manager/cms/taipei-edu/scartch.html (Caused by SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)'),))
如果只是測試,那關掉認證就可以解決,但還是有警告提示。
requests.get("https://techpro.tp.edu.tw/manager/cms/taipei-edu/scartch.html", verify=False)
C:\Users\ManaTsao\.conda\envs\tensorflowenv\lib\site-packages\urllib3\connectionpool.py:986: InsecureRequestWarning: Unverified HTTPS request is being made to host 'techpro.tp.edu.tw'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecureRequestWarning,
若要徹底解決問題,就要將憑證加到環境中。步驟如下:
1. 先更新 certifi :
在 andaconda prompt 中執行
pip install certifi
pip install -U pyopenssl
若此時再執行 requests.get 沒有出錯,那就不必繼續下面的步驟。
2. 找出台北科技教育網所用的認證:
在 Chrome 中打開台北教育網後,按 F12 進入開發人員工具模式,並選擇 Security
找到用的是 RapidSSL RSA CA 2018。點 View Certificate 進去找一下是哪一家公司發行的,是 digicert 這家公司。
3. 接著到 Google 搜尋 “RapidSSL RSA CA 2018 download” 並找到 digicert 的網頁
注意是digicert的網頁
一路可以找到下載的地方
點選 Download PEM 下載 RapidSSLRSACA2018.crt.pem , 用文字編輯器打開,大概長這樣:
RapidSSLRSACA2018.crt.pem 的內容
4. 回到 Jupyter Notebook 執行
import certifi
certifi.where()
執行結果:
'C:\\Users\\ManaTsao\\.conda\\envs\\tensorflowenv\\lib\\site-packages\\certifi\\cacert.pem'
找到該檔案,也用文字編輯器打開,內容會像是這樣:
cacert.pem 的內容
5. 接著把網頁上 Rapid SSL RSA 的說明,copy 到 cacert.pem 的最下方,再 copy RapidSSLRSACA2018.crt.pem 裡面所有的內容,結果如下:
加上 RapidSSLRSACA2018.crt.pem 的結果
完成後記得存檔
6. 回到 Jupyter Notebook 重新執行
import requests
requests.get("https://techpro.tp.edu.tw/manager/cms/taipei-edu/scartch.html")
就不會有錯誤或警告了,結果如下:
<Response [200]>
第一次發此類文,只是把這幾天受的苦、網路爬的文做個記錄,希望能幫到大家。Bye now~
************************************************************************
有另一個方法可以試試:
使用Browser 的下載憑證,載網址左邊有一鎖頭小圖示,點進去後下載發行公司的憑證
1. $HOME/.profile
</u1/usr/tiptop> cat .profile
#echo "?D?i?U?u§@Ao1O (1)¥?|!°I (2)’u﹐O°I (3)?D·C°I *) Exit [1]:\c"
echo "請選擇工作環境 (1)正式區 (2)測試區 (3)標準區 *) Exit [1]:\c"
echo ""
read ans
case $ans in
1) . /u1/usr/profile/profile.topprod
;;
2) . /u1/usr/profile/profile.toptest
;;
3) . /u1/usr/profile/profile.topstd
;;
*) exit
;;
esac
2. 根據選取,讀檔
資料庫設定在選取的檔案內,如 /u1/usr/profile/profile.topprod
環境變數在這裡的檔案設定
例如,$FGLPROFILE就是在這裡設定,然後tiptop程式會呼叫環境變數來讀取資料庫設定
##########################################################################
另外,一般user,
1. default directory 在/etc/passwd 設定為/u1/usr/topgui
2. /u1/usr/topgui/.profile 裡面會直接執行udm7
[root@tiptop ~]# cat /u1/usr/topgui/.profile
. /u1/usr/profile/profile.topprod.udm7
exit
所以一般user在linux shell 下,su 過去時,就會直接開啟GUI
https://junhanli.blogspot.com/2016/07/linux-server-server.html
在遇到Linux Server要移轉或者作備援機時,需要連同用者帳號一同移轉,移轉的步驟如下:
一、會影響到的舊Server的檔案:
/etc/passwd – 內含帳號資訊, 如家目錄, shell 等
/etc/shadow – 內含帳號加密的密碼
/etc/group – 定義用戶群組
/etc/gshadow – 內含群組加密資訊
/home – 用戶預設的家目錄
二、先在舊Server本機上做備份
https://ithelp.ithome.com.tw/m/articles/10259775
既然是從 INFORMIX 剝離出來的工具,應該連結資料庫的能力是強大的。本段落我們檢視一下Genero連結資料庫的能力。
市面上常用的資料庫,都有自己努力的強項,個別的指令也稍微有些不同。為了最大化能共通於這些資料庫,以做到『Write Once, Use
Everywhere』,Genero FGL具有自開發的『共通性資料庫介面 ODI, Open Database Interface』,以
INFORMIX 指令為基準 (因為來自於 INFOMIX ),將其他資料庫具有的些微差異,利用 ODI 進行轉譯,概略流程如下:
透過 ODI 的轉換,資料庫內包含數據型態、SQL語法、指令等,能在最大限度下求同,但仍舊保持了使用 PREPARE 方法,使得特殊指令仍在 Genero內能被使用,滿足『優化』的需求,此為存異。
FGL套件的設定檔案是 FGLPROFILE,在這裡可以指定許多必要的設定,今天專門針對『資料庫的連線』進行說明。
FGLPORIFLE採用 entry 的方式設定 (非INI模式),行首 # 字號時代表為註解
Genero可對接 IBM DB2 / INFORMIX / MS SQL Server / ORACLE / MySQL / PostgreSQL / SAP Hana / SQLite / Sybase ASE (以上按照名稱排序),但是支持版本各有不同,以下挑選部分資料庫作為簡介對象
資料庫廠牌 | Genero 2.40 | Genero 2.50 | Genero 3.20 |
---|---|---|---|
ORACLE | 8.x / 9.x / 10.x / 11.x | 9.2 / 10.x / 11.x / 12x | 11.x 以上全版本 |
INFORMIX | 5.x / 7.x / 8.x / 9.x / 10.x / 11.x | 5.x / 7.x / 8.x / 9.x / 10.x / 11.x | 5.x以上全版本 |
MS SQL Server | 2005 / 2008 / 2012 | 2005 / 2008 / 2012 | 2012以上全版本,Azure SQDBL V12 |
PostgreSQL | 8.x.y / 9.x.y | 8.x.y / 9.x.y | 9.6 / 10 / 11 / 12 |
SQLite | 3.5.x / 3.6.x | 3.5.x / 3.6.x | 3.x |
連線到資料庫時,最重要的就是連線字串的設定。包含連結的資料庫主機位置 (port) 、登入資料庫的帳號密碼,以及對應需使用的字元組等環境變數。
^ 例如 ORACLE 資料庫會將相關訊息以 ORACLE_SID 含括成為一組設定時,則須依照該資料庫要求進行設定。
Genero支持靜態的設定檔,即透過 FGLPROFILE 進行連線字串的設定。FGLPROFILE的存放有兩組路徑:$FGLDIR/etc/fglprofile 與 $FGLPROFILE 指定檔案,遇有同樣的設定時,後者可壓過前者;同檔案內衝突時,下方設定壓過上方設定
若需要連結的資料庫眾多,或是需要動態設定,則可以在程式內部使用 CONNECT 指令
語法
『CONNECT TO連線對象+ODI驅動程式名稱 USER 連線帳號 USING 連線密碼』
註:連線對象依照不同資料庫有不同需求。部分資料庫如SQLite無帳號密碼則可省略
本文摘錄需特別關注要點進行說明與介紹,需大量採用或作為生產環境時,仍應詳讀FGL的ODI文件,該文件內均會詳列連線時,DB的特殊之處、須採用的特殊語法、如何將原有程式或查詢語句進行轉換為 ODI 通用語句。
需在 Genero 所在主機安裝完成對應的 ORACLE Client 軟件,並配置 tnsname.ora,確認ORACLE_SID / ORACLE_HOME 等必須存在的環境變數時,可進行 Genero 端設定
dbi.database.dbname.driver = "dbmora"
dbi.database.dbname.source = "stock"
dbi.database.dbname.username= "登入帳號"
dbi.database.dbname.password= "登入密碼"
dbi.database.dbname.schema= "登入SCHEMA"
驅動程式配置完成後,需確認 INFORMIXSERVER 環境變數是否已完成配置
因為源自於 INFORMIX,所以在 FGLPROFILE 中指定驅動程式即可
需安裝好client,且必須完成下列環境變數的設定
dbi.database.dbname.driver = "dbmpgs"
dbi.database.dbname.source = "test1" #或用dbname[@host[:port]]
dbi.database.dbname.username= "登入帳號"
dbi.database.dbname.password= "登入密碼"
SQL Server在2.40與更早前的版本,有支持 open source的FREETDS與Easysoft 的連線,此兩種連線需透過
OPEN ODBC的協助。設定上較為繁雜且軟件為社群維護,可能會有維護窗口的顧慮。可考慮直接使用微軟推出的 Linux 版本SQL
Server驅動 SNC (SQLserver Native Client) 。
依據 Genero 官網要求,SQL Server連線前應先確定 Linux 上是否已完成對應驅動程式安裝的最低版本要求如下
dbi.database.dbname.driver = "dbmsnc"
dbi.database.dbname.source = "test1"
dbi.database.dbname.username= "登入帳號"
dbi.database.dbname.password= "登入密碼"
單機文件型資料庫,只需確認套件已安裝即可
dbi.database.dbname.driver = "dbmsqt"
dbi.database.dbname.source = "/opt/myapp/stock.dbs"
要驗證連線時,可先利用 DATABASE 指令進行連線,依據上方的FGLPROFILE設定,以『dbname』為範例,測試連線如下
MAIN
DEFINE cnt INTEGER
DATABASE dbname
SELECT COUNT(1) INTO cnt FROM hello_table
IF cnt > 0 THEN
DISPLAY “CONNECT OK!”
END IF
END MAIN
即可確認 DB連線成功。
https://tech.digitgeek.net/t/199.html
改變VirtualBox硬碟大小按下列步驟執行:
(1)VirtualBox 虛擬PC關機狀態
(2)使用系統管理者的身分來開啟"cmd"
(3)在命令提示視窗切換VirtualBox安裝目錄,例如: C:\Program Files\Oracle\VirtualBox
(4)使用指令" VBoxManage modifyhd "修改vdi硬碟大小
例如:想將虛擬硬碟修改成40GB
VBoxManage modifyhd C:\Users\USER\Desktop\WINS2019\WINS2019.vdi -–resize 40960
(5)執行後,虛擬硬碟就被修改為40GB
(6)虛擬PC開機進入系統
到"系統管理工具"==>"電腦管理"
將滑鼠移至舊的分割區C:,按右鍵,選取"延伸磁碟區"(見圖2)
進入後如圖4,直接按"下一步",即可完成,如圖5
到此即完成修改硬碟大小及增加C槽大小的任務
[圖1]
[圖2]
[圖3]
[圖4]
[圖5]