顯示具有 Linux 標籤的文章。 顯示所有文章
顯示具有 Linux 標籤的文章。 顯示所有文章

2024-02-01

【LinuxMint20.3】以 docker 安裝 Apache Superset -- 免費,開源的 BI

參考資料 ----


Superset 的安裝方式有:
  • Linux 套件安裝
  • 以 Docker Compose 佈署
  • 以 Kubernetes(K8S) 佈署
  • 在 Dockerhub 執行
  • 以 Pypi 下載安裝
  • 自 GitHub 下載安裝
  • 自 Apache 基金會官網下載安裝


其中 Docker Compose 只支援單機運行且不支援高可用性(HA),因此官方不建議安裝使用於正式生產環境(production);聽起來,似乎雖然不是開發版本,但適合快速安裝嚐鮮用。本筆記採用 Docker Compose 佈署


安裝必要的相依套件
 
[user]$ sudo  apt-get  update

[user]$ sudo  apt  install  git  docker  docker-compose
 


複製資源庫
 
# 預定裝在 /usr/share
[user]$ cd  /usr/share
[user]$ sudo  git  clone  https://github.com/apache/superset.git

# 會看到生成 /usr/share/superset/ 目錄
 


執行 docker daemon
 
[user]$ cd  superset
# 執行 docker daemon
[user]$ sudo  systemctl  start  docker

# 檢查確認 docker daemon 執行狀態
[user]$ sudo  systemctl  status  docker
 


啟動 superset
 
# 第一次執行, 下傳 container, 一次性指令
[user]$ sudo  docker-compose  -f  docker-compose-non-dev.yml  pull

# 之後只要執行這指令
[user]$ sudo  docker-compose  -f  docker-compose-non-dev.yml  up
 


若要停止執行 superset,則 CTRL + C
這時會看到螢幕顯示
Stopping superset_app...
Stopping superset_worker_beat...
...
等正在停止程序的訊息

superset 內建並不支援 Microsoft SQL Server,若要連接 mssql,則要安裝驅動程式,官方建議的驅動為 pymssql
 
[user]$ sudo  vim  /usr/share/superset/docker/requirements-local.txt
# 輸入
pymssql

:x 存檔離開

# 再執行
[user]$ sudo  docker-compose  -f  docker-compose-non-dev.yml  up
# 就會自動安裝 pymssql 了
 


開啟瀏覽器,輸入網址
http://localhost:8088
登入帳/密:admin / admin

建立資料庫連線

點擊右上角的 "Settings"
Database Connections



+DATABASE
→ 可以看到列出的預設支援資料庫沒有 MS SQL Server
→ 下拉下方的 Supported databases,選擇最末的 Other



DISPLAY NAME (必填) 命名您的資料庫連線
SQLALCHEMY URI(必填) 輸入連線字串,格式為
 
mssql+pymssql://username:password@hostname:port/database_name

* 若 password 內含有 @ 字元,要改為 URL編碼(percent-encoding),改成 %40
* port 的部份,若您的 mssql 採用預設的 port,則可不填
 
→ 點擊 TEST CONNECTION 鈕確認連線正常
→ CONNECT 建立連線





設定為開機自動執行 superset

 
[user]$ sudo  vim  /etc/systemd/system/superset.service
# 輸入下述指令
[Unit]
Description=Apache  Superset
After=docker.service

[Service]
Type=simple
ExecStart=/usr/bin/docker-compose  -f  /usr/share/superset/docker-compose-non-dev.yml  up
ExecStop=/usr/bin/docker-compose  -f  /usr/share/superset/docker-compose-non-dev.yml  down

[Install]
WantedBy=multi-user.target

:x 存檔離開

# 啟用 docker.service 開機自動執行
[user]$ sudo  systemctl  enable  docker.service

# 啟用 superset.service 開機自動執行
[user]$ sudo  systemctl  enable  superset.service
 
重新開機,驗證 superset 確實開機自動執行

版本號碼為 0.0.0-dev,在 Apache Superset 0.0.0dev Overview 有解釋。


2024-01-31

【Metabase】設定 Metabase 為開機即啟動服務

參考資料 ----

metabase.jar 移至 /usr/share/metabase/ 目錄


 
[user]$ sudo  su
[root]# groupadd  -r  metabase
[root]# useradd  -r  -s  /bin/false  -g  metabase  metabase
[root]# chown  -R  metabase:metabase  /usr/share/metabase
[root]# touch  /var/log/metabase.log
[root]# chown  syslog:adm  /var/log/metabase.log
[root]# touch  /etc/default/metabase
[root]# chmod  640  /etc/default/metabase
 


建立 Metabase Service 服務檔
 
[root]# cd  /etc/systemd/system/
[root]# vim metabase.service
# 輸入下述內容
[Unit]
Description=Metabase server
After=syslog.target
After=network.target

[Service]
WorkingDirectory=/usr/share/metabase/
ExecStart=/usr/bin/java  -jar  /usr/share/metabase/metabase.jar
EnvironmentFile=/etc/default/metabase
User=metabase
Type=simple
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=metabase
SuccessExitStatus=143
TimeoutStopSec=120
Restart=always

[Install]
WantedBy=multi-user.target

:x 存檔離開
 


建立 syslog conf
 
[root]# vim  /etc/rsyslog.d/metabase.conf
# 輸入下述內容
if $programname == 'metabase' then /var/log/metabase.log
& stop

:x 存檔離開

# 重啟 rsyslog.service 以使 metabase.conf 生效
[root]# systemctl  restart  rsyslog.service
 


編輯 Metabase 的環境變數
 
[root]# vim  /etc/default/metabase
MB_PASSWORD_COMPLEXITY=strong
MB_PASSWORD_LENGTH=密碼字串長度
MB_JETTY_HOST=0.0.0.0
MB_JETTY_PORT=3000
MB_DB_TYPE=mysql
MB_DB_DBNAME=metabase
MB_DB_PORT=3306
MB_DB_USER=metabase
MB_DB_PASS=MySQL的metabase帳戶密碼
MB_DB_HOST=localhost
MB_EMOJI_IN_LOGS=true    # log 要不要有顏文字...這還蠻有趣的...若不要就填 false
# any other env vars you want available to Metabase
 


設定 metabase 為開機啟動
 
# 先手動啟動 metabase.service
[root]# systemctl  daemon-reload
[root]# systemctl  start  metabase.service
[root]# systemctl  status  metabase.service

# 確定執行沒問題了, 就改為開機自動啟動
[root]# systemctl  enable  metabase.service
 



相關筆記 ----

2024-01-20

【CentOS 7.x】安裝 Filebeat 集中收集 防火牆 Fortigate 的 log

參考資料 ----

 
[root]#  rpm  --import  https://packages.elastic.co/GPG-KEY-elasticsearch
 

打開 CentOS 防火牆 9004 port


編寫 filebeat repo
 
[root]#  vi  /etc/yum.repos.d/filebeat.repo
# 寫入下列內容
[elastic-8.x]
name=Elastic repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
# 存檔離開
 


安裝 filebeat
 
[root]# yum  install  -y  filebeat

# 安裝後, 建議關閉 filebeat.repo 自動更新功能
# enabled=0
 


設定為開機啟動
 
[root]# systemctl  enable  filebeat
 


啟用收集 Fortinet 防火牆 Fortigatelog 功能
 
[root]# filebeat  modules  enable  fortinet
 
切換到 /etc/filebeat/modules.d/ 下,會看到 fortinet.yml,其他模組因為未啟用,所以會看到其他的檔名皆為 《模組名.yml.disabled》


修改設定檔 /etc/filebeat/modules.d/fortinet.yml
 
- module: fortinet
  firewall:
    enabled: true    改成 true
    var.input: udp   解除註解
    var.syslog_host: 0.0.0.0 或 localhost
    var.syslog_port: 9004    解除註解
    var.internal_interfaces: [ "LAN" ]    解除註解
# 存檔離開
 


由於 Filebeat 屬於 ELK 系統的其中一個套件,預設是將收集到的 log 再往 ElasticsearchLogstash 送,所以要修改 /etc/filebeat/filebeat.yml, 將 log 存成檔案
 
[root]# vi /etc/filebeat/filebeat.yml
# 必須將其他 output 的設定註解
# 亦即同一時間只能有一個 output 設定
output.file:
  path: "/var/log/filebeat"
  filename: filebeat        # 檔名規則, 在本例:filebeat-西元年月日.ndjson, 內容為 json 格式
  rotate_every_kb: 10240    # 每個 log 檔的 size, 若達設定值,
                            # 則換存新的 log 檔, 在本例, 產生的檔名依序為 filebeat-西元年月日.ndjson, filebeat-西元年月日-1.ndjson, filebeat-西元年月日-2.ndjson, ...
                            # 預設為 10240 KB
  number_of_files: 7        # 保留的檔案數, 若達設定值, 則刪除最舊的檔案, 預設值為 7, 設定值範圍為 2~1024
  permissions: 0600         # 檔案權限, 設定值 0600
  rotate_on_startup: true   # 是否啟動時就存新的 log 檔, 預設值 true
# 存檔離開
 
要注意檔名雖然為 filebeat-西元年月日.ndjson,但換檔的規則是當檔案達設定值才換,並不會每天生出一個新的檔,
所以我想到變通的做法 -- 在 crontab 指定每天重啟 filebeat
只是若同一天重啟 filebeat 一次以上,仍會產生 filebeat-西元年月日-1.ndjson, ...


立即啟動
 
[root]# systemctl  start  filebeat
 


確認 filebeat 在運行中
 
[root]# systemctl  status  filebeat
 
切換到 /var/log/filebeat/ 目錄下, 發現已生出檔案 filebeat-西元年月日.ndjson,打開檔案觀察,格式 json


Fortigate 防火牆,設定將 log 往 CentOS 送,由於防火牆不歸老人家管,只聽說此功能為進階設定,在 Fortigate 的圖形界面達不到此目的,必須下指令,陽春的指令如下:
 
config log syslogd setting
set status enable
set format default
set server <安裝 Filebeat 的 CentOS 主機的 IP>
set port 9004

 
防火牆的 log 數量非常驚人,不到 1 小時就超過 1G 了!!
管防火牆的高手夥伴還啟用了過濾條件,只將 critical、alert、emergency 三個等級的 log 往 CentOS 送,這樣 log 的數量大幅減少。

log 的等級如下:










2023-07-08

【Linux】LinuxMint 21.1 安裝/設定中文輸入法

參考資料 ----

滑鼠點擊左下角的開始
→ 控制中心
→ 輸入法
→ 出現視窗

預設已經安裝 fcitx5 輸入法框架,並且已安裝 新酷音
 
頗讓人不爽的是它將 倉頡輸入法 歸到簡體中文內
滑鼠點擊左下角的開始
→ 附屬應用程式
→ 文字編輯器
→ 營幕右下角出現鍵盤圖示
→ 滑鼠在鍵盤圖示點右鍵 → 設定
→ 視窗右側的 "可用輸入法" 往下捲,就會看到 倉頡 被歸在 简体中文(中国)

 

先不關閉 "設定" 視窗,另開個終端機視窗,試著以命令方式安裝 倉頡,也沒看到列出的套件有 cangjie 字樣的...

更令人火大的是,回到 "設定" 視窗,雙擊 "倉頡"(倉頡就移到左邊列表) → 套用 後

回到 文字編輯器,切換輸入法為 倉頡,雖然輸入的是繁體中文拆法,但顯示的卻是簡體中文!! 例如:
輸入 【女火竹水卜】畫面出現的候選字居然是【】!!

注意:不要在 "輸入法" 視窗 按 那個 "安裝" 鈕,會出現一堆套件衝突的錯誤訊息

開一個 終端機視窗,將 fcitx5 移除,再安裝舊版的 fcitx
 
[user]$ sudo  apt  remove  fcitx5*

# 一併安裝 新酷音 & 倉3
[user]$ sudo  apt  install fcitx  fcitx-chewing  fcitx-table-cangjie3
 
→ 滑鼠點擊左下角的開始
→ 控制中心
→ 輸入法
→ 此時是無 輸入法框架 的狀態
→ 下拉並選取 fcitx
→ 重開機

接下來的設定步驟就參考上面的 LinuxMint 20.3 安裝/設定中文輸入法 連結吧






2023-05-20

【Linux】在 CentOS7 製作 LinuxMint21 USB 開機碟

參考資料 ----

以指令方式製作

開啟終端機
 
切換到存放要製作的 LinuxMint21 iso 檔的目錄, 在本例為 /vm
而我的隨身碟目錄為 /dev/sdf
[user]$  cd  /vm/
[user]$  su
[root]#  dd if=linuxmint-21.1-mate-64bit.iso of=/dev/sdf
 
指令模式不會顯示執行進度只好靜靜等待


以圖形界面方式製作

CentOS7 要製作 USB 開機碟,網上推薦的圖形界面工具軟體都是 unetbootin

CentOS7 並未內建安裝 unetbootin,所以要另外尋找套件庫 -- nux-dextop-release

 
[user]$  su
[root]#  yum  install  nux-dextop-release-0-5.el7.nux.noarch.rpm
[root]#  yum  install  unetbootin
 


執行 unetbootin(需要 root 權限)
 
[root]#  cd  /usr/bin/
[root]#  ./unetbootin
 

按下 "確定" 鈕,等待幾分鐘後就製作完成了




2022-10-19

【Linux】CentOS 7 安裝 Git2

CentOS 7Git 版本為 1.8.x,若想使用 Git2,(例如想開發學習 Flutter 就必須更新到 Git2)必須另尋第三方的套件庫。


先移除舊版 git
 
[root]# yum  remove  git*
 


引入套件庫,目前有 2 個較多人採用的套件庫, 1 個是社群(IUS),一個是美國的資訊顧問公司(Endpoint)
 
# IUS 套件庫
[root]# yum  install  install https://repo.ius.io/ius-release-el7.rpm

# Endpoint 套件庫
# 本筆記採用 Endpoint 套件庫
[root]# yum  install  https://packages.endpointdev.com/rhel/7/os/x86_64/endpoint-repo.x86_64.rpm
 

安裝 git2
 
# 很神奇,自動安裝 Endpoint 的,而不是 CentOS7 的 git
[root]# yum  install git
 


2022-08-19

【.NET】CentOS 7 安裝 .NET SDK

參考資料 ----

CentOS7 可安裝 .NET6, 可設定以 yum 安裝 .NET SDK
 
[root]#  rpm  -Uvh  https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm

[root]#  yum  install  dotnet-sdk-6.0

# 若這台電腦不是要做開發 .NET 程式,則只要安裝 .NET Runtime 執行時期套件
[root]#  yum  install  dotnet-runtime-6.0
 



2022-07-11

【Linux】CentOS7 上的 defrag 套件 -- e4defrag

參考資料 ----


老人家的 CentOS7 執行效能變得愈來愈差,雖說網路上普遍的說法都是:

Linux 的檔案系統先天優異,所以不需要做重整。

而且以前上網拜大神,搜尋到的結果總是上述的說法。

但老人家還是覺得效能變差 跟 使用日子久了,造成檔案離散脫不了關係,而且每次開機後,就看著硬碟讀寫燈號持續地閃著,表示電腦一直在讀取硬碟。

於是在過了許多年後,再次拜大神,這次終於找到一篇如何重整硬碟的方法,而且這個套件還是內建於 CentOS7 中。


e4defrag 就是 CentOS7 的 defrag 套件,使用方法很簡單
 
# 切換成 root 系統管理者(或使用 sudo 指令)

[user]$ su

[root]#  e4defrag  /目錄名

ex:
[root]#  e4defrag  /var

如果懶的一個一個目錄分別重整, 那就...

[root]#  e4defrag  /
 



由於 Linux 的檔案系統是以 目錄為基礎,所以可能一個目錄就是一個磁區,甚至是一顆硬碟。

請注意:因為機械特性,本套件用於重整傳統機械硬碟才有感,如果您電腦裝的是 SSD,那應該感受不到顯著的效能提升。







2022-05-28

【Linux Mint】20.3(Una) 安裝 AndroidStudio

參考資料 ----

系統需求:
* 64 位元作業系統
* 64 位元 CPU, 並開啟 虛擬機功能(要在電腦上跑 Android 模擬器 所需要)
* 8G 以上的 RAM
* 1280 x 800 以上解析度

先在根目錄建立 Android SDK 的安裝目錄(這是老人家的壞習慣, 但因為反正只有自己在用, 所以...小朋友不要學😜), 以我的電腦為例: /android/


再建立 AndroidStudio 的安裝目錄, /android-studio/


AndroidStudio 官網下載, 這是一個壓縮包, 解開後, 會是一個資料夾, 資料夾名稱就是 /android-studio/, 將資料夾內的檔案移至 /android-studio/ 內.


/android-studio/bin/ 下有個檔案 studio.sh,
在檔案上點滑鼠右鍵
→ 建立鏈結
→ 將生成的 鏈結(捷徑)檔 拖放到 桌面.
這樣就是建立捷徑.


雙擊桌面上的 AndroidStudio 捷徑
→ 點選 "在終端機中執行", 啟動 AndroidStudio
→ 第一次執行, 會看到 "No Android SDK found." 的警示訊息, 就依指示安裝到 /android/sdk/
→ 點選 AndroidStudio 啟動畫面右上角的(直立) 3 個點圖示
SDK Manager
SDK Tools 頁籤
→ 勾選 Android SDK Command-line Tools(開發 Flutter app 會用到)


修改使用者設定, 讓系統知道 Android SDK 安裝所在
 
[user]# vim  ~/.bashrc

# 在檔案最末加上這兩列
export ANDROID_HOME=/android/sdk
export PATH=$PATH:$ANDROID_HOME/tools

:x 存檔離開

重新登入 或 重開機 讓設定生效
 
wwwww

2022-05-23

【Linux Mint】20.3(Una) 安裝/設定 Flutter

要安裝 Flutter,必須先安裝 AndroidStudio(另有一說AndroidStudio 體積太大太笨重,VisualStudioCode 是另一種選擇)及 Google Chrome 瀏覽器(做為 debug 用),只要搜尋 "google chrome" 並下載安裝即可。

修改使用者設定, 讓系統知道 Android SDK 安裝所在
 
以我的電腦為例
Android 安裝在 /android (根目錄下)

[user]# vim  ~/.bashrc

# 在檔案最末加上這兩列
export ANDROID_HOME=/android/sdk
export PATH=$PATH:$ANDROID_HOME/tools

:x 存檔離開

重新登入 或 重開機 讓設定生效
 

安裝 Flutter 最快速簡便的方式就是透過 snapd 安裝
 
[user]# sudo  snap  install  flutter  --classic

檢查 Flutter 安裝在哪裡
[user]# flutter  sdk-path
以我的電腦為例, 安裝在 /home/使用者名稱/snap/flutter/common/flutter


檢查 Flutter 安裝的完整度
[user]# flutter  doctor
看到 驚嘆號的都要設法滿足需求, 讓驚嘆號消失


同意/接受 授權聲明
[user]# flutter  doctor  --android-licenses

切換 Flutter 到 stable 頻道
[user]# flutter  channel stable

更新 Flutter 到最新版
[user]# flutter  upgrade

目前(2022.05.28) Flutter 已到 3.0, 支援更多平台: Android, iOS, Web, Windows, Linux, MacOS


設定可開發 Linux 桌面程式(圖形界面程式)
[user]# flutter  config  --enable-linux-desktop
 
可以開始開發 Flutter app 了

啟動 AndroidStudio
→ "New Flutter Project"
依指示操作
預設 Flutter 會自動幫您建立基本的框架程式, 包含各個平台(Android, iOS, web, ...)

您也可以在終端機視窗以命令列指令新建您的專案
 
切換到您的專案管理目錄
[user]# cd /case/flutter

新建專案
[user]# flutter  create  專案名稱
 
個人覺得以 命令方式新建專案較方便, Flutter 會自動幫您產生各平台的程式碼, 如果是以 AndroidStudio 新建專案, 則 AndroidStudio 只會產生您執行 AndroidStudio 的作業系統的程式碼, 例如: 我現在是 Linux 系統, 在點擊 "New Flutter Project" 後, AndroidStudio 就沒勾選 MacOS 和 Windows, 而且也沒法勾選.

看這氣勢...是不是想幹掉 Qt 啊 😈

【Linux Mint】20.3(Una) 安裝 snapd

snapd 似乎是類似 應用程式市集,雖然同屬 Ubuntu 家族,但是 LinuxMint20.3(Una) 是沒有預先安裝的。

移除 /etc/apt/preferences.d/nosnap.pref,(看這檔名,似乎 LinuxMint 壓根就沒打算讓使用者裝 snapd)保險起見,可移至其他目錄保留。
 
[user]#  sudo  apt  update

[user]#  sudo apt  install  snapd
 

重新登入 或 重開機 後 就生效了

2022-02-13

【Metabase】LinuxMint20.3 安裝設定 免費,開源的 BI -- Metabase

參考資料 ----

Working with MySQL in Metabase


Metabase 是一套 BI(Business Intelligence),標榜/訴求 主要使用者為 行銷人員,操作直覺簡易,不需有 資料庫 或 數據分析 技能。

可選擇付費的雲端服務,跟 Tablau 等知名、大牌的 BI 相比,價格親民的多;或是在自己公司內部架設伺服主機,免費版本為社群版,Metabase 有提供論壇,讓使用者在論壇尋求支援或解答。

之前接觸 Tablau,覺得 Tablau 雖然功能強大,但也需要有資料庫(尤其是 SQL 語法) 基礎以上的觀念才較能駕馭;而除非公司本身的性質就是與數據分析有關,員工才可能都有概念,不然操作 BI 大多是一般行銷人員,不見得能完全發揮 Tablau 的功能。


系統需求:Java8,目前版本為:0.44.6(不過下面的截圖是 0.41 的)


/家目錄/ 建立一個目錄給 Metabase

 
~$  cd ~
~$  mkdir  metabase
 


直接下載 jar


執行 Metabase 最簡單的方式:

開一個終端機視窗, 切換到 metabase 目錄,執行 Metabase

 
~$ cd  ~
~$ java  -jar  metabase.jar    #(注意要含副檔名)
 

然後就會看到一長串 Metabase 執行的訊息。

打開瀏覽器, 輸入本機網址, 預設的 port 為 3000

ex:http://localhost:3000(不是 https)


第一次執行,會出現設定畫面


按一下 "Let's get started" 鈕


選擇語言




設定 Metabase 系統管理員


設定連線資料庫,目前 Metabase 幾乎支援主流資料庫,不過社群版不支援連線 Oracle




輸入資料庫的連線設定,這裡以 MSSQL 為例


設定完成


此時回到 Metabase 目錄看到有新產生了幾個檔案,其中有副檔名為 .db 的 metabase.db.mv.db ,這是 Metabase 系統自己的 H2 資料庫,存放 Metabase 的系統資訊,例如您建立了哪些儀表板、圖表...等;之後若想讓 Metabase 在正式主機上運行,Metabase 建議自 H2 移植到 MySQL、MariaDB 或 Postgres 這幾個資料庫上。
也因如此,若您把 Metabase 玩壞了 或 玩一段時日後想重來,只要把這個檔案刪除,一切就重頭開始了。

稍微瞄一下,Metabase 內建的圖表有下圖幾種



Metabase 目前不支援多資料庫同時呈現在一個儀表板上

v0.33(含) 之後的版本有支援 多資料表 join 查詢,也支援 SQL 語法

雖然 MySQL/MariaDB 系出同源,不過 Metabase 預設支援 MariaDB 的連線方式,若要連接 MySQL,需做微調設定,登入的加密方式改為 mysql_native_password

 
# 登入 MySQL
~$  sudo  mysql  -u  root  -p

# 變更 Metabase 連線 MySQL 的密碼加密方式
>  ALTER  USER 'admin'@'%'  IDENTIFIED  WITH  mysql_native_password  BY  '密碼';
 


即使您目前沒有可連線的資料庫也不打緊,Metabase 自帶了一個 Sample 資料庫可讓您玩,官網上的說明文件也是以 Sample 資料庫做為範例。

2022-02-03

【Linux】LinuxMint 20.3 安裝/設定中文輸入法

滑鼠點擊左下角的開始

→ 控制中心

→ 輸入法

→ 正體中文 


在說明中有提示要安裝 fcitx,但這似乎只有輸入法框架,安裝好後,預設會安裝新酷音。

如果要安裝倉頡,在 GUI 找不到地方設定,只好開啟一個終端機視窗,以輸入指令的方式安裝

 
~$ sudo  apt  install  fcitx-table-cangjie*

# Mint 會幫您安裝 倉頡三代, 倉頡五代, 倉頡大字集


# 只裝 倉三
~$ sudo  apt  install  fcitx-table-cangjie3


# 只裝 倉五
~$ sudo  apt  install  fcitx-table-cangjie5
 


登出重登入 或 重開機 就生效了,會看到螢幕右下角多了個鍵盤。

在鍵盤點滑鼠右鍵
→ 設定
就會看到已安裝的輸入法

切換英/數,跟 Windows 一樣:Ctrl + 空白鍵
在輸入法間輪換:Ctrl + Shift

倉三是沒法打简体中文的,只能用倉五或倉頡大字集,但右下角的輸入法圖示又分不出目前切換到倉三或倉五





設定新酷音的鍵盤配置為 倚天雙流劍注音
滑鼠右鍵 點擊 螢幕右下角的 鍵盤圖示
→ 設定
→ 附加元件 頁籤
→ 向下捲, 找到 "新酷音", 點一下, 再點視窗正下方的 "設定" 鈕
→ "選詞鍵" 改成 "asdfghjkl;"
→ "鍵盤配置" 改成 "倚天26鍵鍵盤"
立即就生效了, 不需重新登入

2022-02-02

【Database】Mint Linux 20.3 安裝設定 MySQL 8.0 + phpMyadmin

參考資料 ----

ALTER USER Statement


看似 Ubuntu/Mint 家族並未棄用 MySQL,採 Mariadb/MySQL 並存的方式;偷懶,這次仍是安裝 MySQL,作業系統為 LinuxMint 20.3 MATE, 預設的版本為 MySQL 8.0


新建一台虛擬機


安裝 Guest Additions 讓 虛擬機的螢幕 自動調整客體顯示大小

安裝完成後,設定 "更新管理員" 的 "軟體來源" -- 鏡像站改為國內 國家高速運算中心(https://www.nchc.org.tw/)










安裝 vim(Mint 預設已裝 vi,這適合 80 鍵鍵盤,老人家用不慣 😓)
 
~$  sudo  apt  install  vim
 


暫時關閉防火牆
 
~$  sudo  ufw  disable

# 確認防火牆沒有啟動
~$  sudo  ufw  status
 

安裝 MySQL,Mint 會連帶安裝其他相關的套件
 
~$  sudo  apt  install  mysql-server
 

安裝完成後,MySQL server 應該會自行啟動執行
 
# 查詢 MySQL 狀態
~$  sudo  systemctl  status  mysql

# 啟動 mysql
~$  sudo  systemctl  start  mysql

# 停止 mysql
~$  sudo  systemctl  stop  mysql
 


安裝後,進行安全性設定
 
~$  sudo  mysql_secure_installation
 
問答式設定,依指示回答,以下是老人家的設定,請依自己需求設定

是否要設定密碼強度規則?


密碼強度選擇 -- 2:最強 -- 8 個字碼以上,其中必須 至少 1 個大寫英文 + 至少 1 個小寫英文 + 至少 1 個數字 + 至少 1 個特殊字元


輸入 MySQLroot 密碼(MySQL 也是以 "root" 這個名稱做管理者,不過這裡設定的不是 Linux 的 root 密碼)


是否要剛才設的密碼即刻生效?


是否移除匿名使用者


是否 "不允許" MySQLroot 從遠端登入 MySQL


是否移除 test 資料庫(因為稍後設定 MySQL 時要指定 phpMyAdmin 啟動時預設連線的資料庫,所以先留著,不刪)


重新載入權限資料表

設定完成


設定 MySQL 時區
 
~$  sudo  vim  /etc/mysql/mysql.conf.d/mysqld.cnf

[mydqld]
default-time-zone = '+8:00'

:x 存檔離開
 

剛安裝好 MySQL 時,預設的管理者帳號是 root,所以, 第 1 次以命令形式登入 MySQL,也不需要密碼

 
~$  sudo  mysql

-- SQL 指令沒有大/小寫分別,不過慣例上都會以大寫表示
-- (記得要加 分號 做為命令的結束)
>  ALTER  USER  'root'@'localhost'  IDENTIFIED  WITH  CACHING_SHA2_PASSWORD  BY  '新密碼';

-- 退出,密碼才能生效
> EXIT
 
因為先前的步驟我們指定了密碼強度為 2,所以密碼若不符合這個規則就會出錯

再重新登入就會要求輸入密碼了
 
~$  sudo  mysql  -u  root  -p
# 隨後會要求您輸入密碼
# 參數 -u 是要登入的使用者帳號
# -p 是稍後要輸入密碼


# 另一種登入指令, 但不建議使用, 因為是將密碼以明碼方式顯示
# 注意: -p 跟密碼間沒有空格, 但這麼一來, 您的密碼就顯示在命令列中, 旁人一覽無遺了
~$  sudo  mysql  -u  root  -p密碼


# 登入後, 命令提示字元會變成 >

-- 建立資料庫 
>  CREATE  資料庫名稱;


-- 列出目前 MySQL 已建立的使用者帳號
>  SELECT user FROM mysql.user;


-- 新建一個使用者 admin
>  CREATE USER 'admin'@'localhost' IDENTIFIED  WITH  caching_sha2_password  BY '密碼';
-- 預設的密碼格式為 caching_sha2_password
-- 其他格式有:mysql_native_password, sha256_password


-- 賦予 admin 最高權限
>  GRANT  ALL  PRIVILEGES  ON  * . *  TO  'admin'@'localhost';

>  exit
 


注意:
MySQL 8.0 預設不再支援 MyISAM

MySQL 預設的資料庫管理工具是 MySQL Workbench,不過在 Mint 20.3 執行時,會出現不支援 Mint 的訊息,而且我才玩了一下下就掛了!!


安裝 phpmyadmin
 
~$  sudo  apt  install  phpmyadmin

# Mint 會自動幫您安裝 apache2
 


打開本機的瀏覽器(預設是火狐Firefox),在網址列輸入 http://localhost注意:不是 https

目前,我們還沒有啟用(加密)安全連線,也無法從別的電腦訪問這個內網

phpMyadmin 的網址為
http://localhost/phpmyadmin


2021-07-07

【Linux】設定 Rocky Linux 為 GUI 圖形介面模式

適用 Rocky Linux 8/9

下載最小安裝 DVD iso


選擇 Server最小安裝


安裝完成後,會是文字介面,以 root 登入



[root]# dnf group list

會列出可安裝的群組類型,輸入下述指令(雙引號內的文字 無大/小寫區別)

[root]# dnf groupinstall "Server with GUI" -y

再設定以 GUI 模式開機

[root]# systemctl set-default graphical

重新開機,就 ok

[root]# reboot

2021-06-16

【CentOS7】 以 smbclient 指令連線 Windows 共享主機

參考資料 ----

SAMBA smbclient



Linux 系統的電腦要連線 Windows server 主機,必須要安裝 SAMBA 套件,然後就可以在圖形操作界面環境連線 Windows 主機,進行檔案相關操作。

 

如果要以指令方式,則是 smbclient


瀏覽

[user]$ smb  -L //IP/目錄名  -U 使用者帳號

要注意:通常網管不會直接開放 Windows 的根目錄出來共享,所以 Windows 主機的 IP 後應該會接目錄名稱。

接著會出現要您輸入密碼,若輸錯密碼,就會回到

[user]$ 

重新下 smbclient 指令

當密碼正確,就會列出 Windows 主機有開放共享的目錄及檔案



登入操作

[user]$ smb  //IP -U 使用者帳號

登入成功後,會看見提示字元

smb:\>

接下來的操作,類似 FTP 的指令模式,不過指令較陽春,例如:

 

 

列出目前 Windows 目錄下的檔案及子目錄

dirls



切換目錄

cd 切換目錄,還可以輸入中文

smb:\>cd 目錄名



下載檔案

get 完整檔案名稱(含副檔名)

會下載到您 Linux 當時所在的目錄,例如:

在您輸入 smbclient 要連線 Windows 主機時,所在的 Linux 目錄為 /tmp ,則 get 下來的檔案就會存放在 /tmp

get 完整檔案名稱(含副檔名)  /指定目錄/另存檔名

當要下載到指定目錄時,就必須輸入檔名,也就是說下面的指令是行不通

get 完整檔案名稱(含副檔名)  /指定目錄/



上傳檔案

put 本地檔案名

沒有來源目錄,就是目前的 Linux 本機目錄

沒有指定目的地目錄,就是上傳到目前的 Windows 目錄


離開

exit



2021-06-12

【CentOS7】Visual Studio Code 無法啟動

老人家安裝在 CentOS 7Visual Studio Code 已經有一陣子無法運作了 -- 只要一啟動 vscode,就僵在啟動畫面,目前的版本為 1.57.0

 

暫時先下載安裝 Sublime 頂著用。

 

可是...我還是想用 vscode 啊...


爬文後,參考網友的做法,先到 Microsoft YUM repos 找到舊的 1.52.1 版,手動下載安裝,並停用自動更新。

 
* 移除目前的 vscode 1.57.0 版
[root]# yum remove code

* 切換到下載下來的 1.52.1 的目錄(我是下載到 /tmp)
[root]# yum install code-1.52.1-1608137084.el7.x86_64.rpm

* 停止 vscode 自動更新
[root]# vi /etc/yum.repos.d/vscode.repo
* 啟動了 vi, 按 i 進入編輯模式
* 將 enabled=1  改為 enabled=0
* 按 :x 存檔離開
 

重開機,就可以使用 vscode

 

如果重開機後,Gnome 的圖形界面功能表--"軟體開發" 內仍沒有 vscode 的圖示,則可以

開啟終端機視窗,輸入

/usr/share/code/code

手動啟動 vscode


2020-04-03

【MSSQL】非 Windows 平台的 MS SQLserver 管理工具

因工作需要,要下載使用 SQL Server Management Studio(SSMS)

這時,心裡想到,現在微軟已經擁抱 Linux 了,是不是可能有 Linuxmssql 管理工具呢?

於是上網找了一下 -- 果然有,只是軟體名稱不同,叫做 Azure Data Studio(看網上的 po 文,以前好像叫 SQL Operations Studio),而且還有 MacOS 版本。

有興趣/需要的朋友可以下載使用。

RHEL/CentOS 選擇 rpm,以 yum 安裝

[root]# yum  install  azuredatastudio-linux-當時下載的版本

軟體預設是英文界面,需另外安裝語言套件,如下圖:



重新啟動,就可以看到操作界面變成中文了。

2019-12-07

【CentOS8】讓 CentOS 8 支援 NTFS

CentOS 8.0 剛推出的現在,官方還沒有支援 NTFS 的套件,得尋求第三方套件庫。


[root]#  wget  https://forensics.cert.org/cert-forensics-tools-release-el8.rpm


[root]#  rpm -Uvh cert-forensics-tools-release*rpm


[root]#  dnf  --enablerepo=forensics  install  ntfs-3g

2019-12-06

【CentOS7】VirtualBox5 安裝 CentOS8

以預設值(Server with GUI) 安裝好幾次都失敗,上網爬了一會兒,官方說在 VirtualBox 5.x 要改選擇 "Workstation" 安裝。

雖然安裝過程最後螢幕仍會出現類似裝錯顯卡驅動程式而當機的畫面,但強制關機,將安裝光碟自虛擬機移除後,重新開機就正常了。



==== 2020.02.16 ====
VirtualBox 更新至 6.x
並安裝 CentOS 8.1
以預設值(含 GUI 的伺服器)就可順利安裝