在 Debian/Ubuntu 裡可以用 apt-cache show 來查詢套件版本,在 RHEL/CentOS 裡,可以用什麼指令呢?
第1種方法是使用
yum list <package_name>
第二種方法是使用
yum info <package_name>
Just thinking more…
在 Debian/Ubuntu 裡可以用 apt-cache show 來查詢套件版本,在 RHEL/CentOS 裡,可以用什麼指令呢?
第1種方法是使用
yum list <package_name>
第二種方法是使用
yum info <package_name>
主要是參考這篇:Get X11 Forwarding In macOS High Sierra (unixtutorial.org)
使用 homebrew 安裝的話,很容易:
brew install xquartz
安裝完以後,可以在啟動台找到,執行以後就啟動了。
選單裡有個終端機,啟動以後,就可以輸入 ssh 指令連線。
ssh -X user@<your_host>
連線過去以後,執行圖形應用程式,在本地端就會出現視窗,噹噹,就這樣了。
一般來說,空間足夠就不用特別管,但如果空間緊迫時,可能就會需要去處理。因為自己遇到了,就上網找看看有沒有人遇過,有找到這些方法,第一種方法是全部重來,第二種方法是用 MacOS 內建的 tmutil 指令。
參考資料:
使用 tmutil 這方法,需要先知道 TimeMachine 掛載到那邊,這時候需要先點選選單列裡的時光機圖示 (若沒有圖示,請到「設定」>「時光機」去勾選選單列中顯示「時光機」),然後選:進入「時光機」
此時,MacOS 會去掛載,然後就可以在 /Volumes 資料夾裡找到「時光機」備份的路徑,時光機備份是以年月日來作為目錄名稱,很容易就可以識別。
要刪除的時候,需要指定完整的路徑,以我的環境為例,就是
sudo tmutil delete /Volumes/「時光機」備份/Backups.backupdb/XXX的\ MacBook\ Pro/xxxxxx
刪除時,有幾點要注意:
我只是想下載微軟自家的 Edge,想不到 Internet Explorer 一直在那邊該該叫,好像在跟使用者抗議說不應該換掉我的感覺。因為一直跳對話視窗出來說要列入白名單,這實在是太浪費時間,上網找了一下看怎麼關掉。
步驟如下
很多 Linux 系統參數檢核表都有一個項目,就是在 /etc/ssh/sshd_config 裡加入下面這兩行,以禁用 sshd 不安全的 cipher。
Ciphers aes128-ctr,aes192-ctr,aes256-ctr
MACs hmac-sha1,hmac-ripemd160,hmac-sha2-256,hmac-sha2-512
但很有趣的是,RHEL8 sshd_config 裡的 comment 是這樣寫的
# This system is following system-wide crypto policy. The changes to
# crypto properties (Ciphers, MACs, ...) will not have any effect here.
# They will be overridden by command-line options passed to the server
# on command line.
# Please, check manual pages for update-crypto-policies(8) and sshd_config(5).
他說,這系統是依照系統的 crypto 原則,所以在這個設定檔裡加 Ciphers, MACs 是沒有效果的,會被傳遞給 sshd 的 command-line 選項給覆蓋掉。
來看看 sshd.service 的內容
# ...省略...
[Service]
Type=notify
EnvironmentFile=-/etc/crypto-policies/back-ends/opensshserver.config
EnvironmentFile=-/etc/sysconfig/sshd
ExecStart=/usr/sbin/sshd -D $OPTIONS $CRYPTO_POLICY
# ...省略...
首先載入 /etc/crypto-policies/back-ends/opensshserver.config 裡的環境變數,然後再載入 /etc/sysconfig/sshd 裡的環境變數,所以後者蓋掉前者。
那修改方法就很清楚了,就是修改 /etc/sysconfig/sshd 這個檔案就可以,把裏面 CRYPTO_POLICY= 前面的 # 拿掉,加入參數:
CRYPTO_POLICY="-oCiphers=aes128-ctr,aes192-ctr,aes256-ctr -oMACs=hmac-sha1,hmac-sha2-256,hmac-sha2-512"
然後重新啟動 sshd 就可以。
附帶一提,OpenShift CoreOS 也是用類似的方式修改,只是需要透過 MachineConfig。
參考資料:
資料來源:How to Access Media from UPnP or DLNA using VLC
該怎麼如何使用VLC存取網路上的UPnP/DLNA伺服器上的媒體呢?打開 VLC 找半天沒找到選單在哪裡,只好求助 Google 大神。
找到的步驟如下:
簡單的說,都跟記憶體分頁管理有關係。要用 Huge Page ,程式需要做調整,為了簡化使用方式,Red Hat 在 RHEL6 引入 Transparent Huge Page ,預設啟用,主要是要讓程式可以不需要更動,就可以使用 Huge Page。
詳情可以參考:
一般來說,若主機主要是執行資料庫,例如 Oracle, Redis, MongoDB, PostgreSQL,就不要使用 Transparent Huge Page。
在 RHEL 6 以後 Transparent Huge Page 預設是啟用,可以用以下指令檢查
cat /sys/kernel/mm/transparent_hugepage/enabled
輸出是 always ,就表示有啟用。若為 never ,就沒有啟用。madvise 是什麼意思呢?
當有啟用 Transparent Huge Page 時,Huge Page 就被禁用,可以用以下指令檢查,若為 0,表示禁用。
cat /proc/sys/vm/nr_hugepages
要禁用 Transparent Huge Page,用以下指令就可以
echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
在 RHEL8 裡,有 tuned,當使用上面設定無法生效時,有可能就是這個 tuned 在搞鬼。這時可以建立一個新的 tuned profile: /etc/tuned/nothp_profile/tuned.conf
內容是
[main]
include= throughput-performance
[vm]
transparent_hugepages=never
執行以下指令就可以生效。
chmod +x /etc/tuned/nothp_profile/tuned.conf
tuned-adm profile nothp_profile
若要永久禁用,可以在 /etc/default/grub 的 GRUB_CMDLINE_LINUX 加入 transparent_hugepage=never
執行 grub2-mkconfig -o 之後,重開機即可。
這幾年微軟大力推廣 .Net core ,把 .Net runtime 鋪到每個 Linux 發行版去,所以現在 Ubuntu、Red Hat Enterprise、Debian、Fedora、CentOS、Alpine 等 Linux 發行版都可以安裝 .Net runtime 跟 .Net SDK 。
以 Ubuntu 來說,安裝方法很簡單,就是照這篇 在Ubuntu 上安裝 .NET SDK 或 .NET 執行時間 來做就可以。
我桌機安裝的是 Ubuntu 21.10 ,所以下面就只節錄 Ubuntu 21.10 的部份
wget https://packages.microsoft.com/config/ubuntu/21.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
sudo apt-get update; \
sudo apt-get install -y apt-transport-https && \
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-6.0 aspnetcore-runtime-6.0
安裝完成以後,就可以使用 dotnet 這個指令來開發應用程式了。
首先建立目錄,然後切換到此目錄下
mkdir -p ~/dotnetcore-hello
cd ~/dotnetcore-hello
然後用 dotnet 指令建立範本
dotnet new webapp -n dotnetcore-hello -o .
產生完畢,就可以啟動。
dotnet run
啟動以後會有以下訊息
正在建置...
info: Microsoft.Hosting.Lifetime[14]
Now listening on: https://localhost:7219
info: Microsoft.Hosting.Lifetime[14]
Now listening on: http://localhost:5063
info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
Hosting environment: Development
info: Microsoft.Hosting.Lifetime[0]
Content root path: /home/user/dotnetcore-hello/
從訊息可以知道,用瀏覽器開啟 http://localhost:5063 或是 https://localhost:7219 就可以開啟網站。
一般在開發時,會把 port 固定起來,以方便開發;或者是禁用 https 。那這樣該怎麼做呢?這時候可以參考 How do I disable HTTPS in ASP.NET Core 2.1 + Kestrel? ,dotnet 應用程式的 port 跟 https 設定是在 Properties/launchSettings.json 裏面去指定的,只要修改裡面的 applicationUrl 即可。
例如 applicationUrl 本來是 https://localhost:7219;http://localhost:5063,改為只有 http,port 8000 並讓網路上其他電腦都可以連進來的話,就改為 http://0.0.0.0:8000
最後,開發完畢以後,要輸出檔案去佈署,可以用 dotnet publish 來建置。
dotnet publish -c release -o out
以上面的指令來說,
今天就把 QuickStart 的開發流程紀錄起來,免得以後遇到又在那邊查。
察看 RPM 內容,可以用下面指令,無需解開,就可以知道裏面有什麼檔案。
rpm -ql <rpm_file>
需要取出裡面的檔案時,可以用 rpm2cpio + cpio 來解開。
rpm2cpio <rpm_file> | cpio -idmv
cpio 的參數解說如下
在安裝 rpm 時,會在安裝前、後去執行腳本,但你會發現在解壓縮後的檔案裡找不到這些腳本。那如果想看這些腳本,該怎麼做?
這時候可以用下面指令來察看
rpm -qp --scripts <rpm_file>
裡面的 %preun、%postun …等等的區段是什麼意思呢?
這部份可以參考 Packaging Guidelines > Scriptlets 裡的說明。
參考資料:
剛好在轉第四台時轉到,就一路看下去了。開始看的地方是金剛還有島上的小女孩被帶走,要被帶去地底世界拿東西。附近的哥吉拉感應到金剛,就跑過來,金剛被放出來跟哥吉拉對打,打一打,哥吉拉感應到香港那邊有更驚人的生物反應,就跑過去了。小女孩還有金剛這邊後來就去地底世界拿東西,這部份算是被設計,其實是生物科技公司想要取得東西來製造機械哥吉拉,透過金剛幫忙拿到,就撤了。
撤了之後,香港那邊的機械哥吉拉就啟動了,哥吉拉過來以後,就跟機械哥吉拉打起來。小女孩跟金剛一行人回到地表後,金剛奄奄一息,小女孩感覺到金剛快掛了,告訴科學家。科學家就用強力的發電機去電擊金剛,讓他心臟恢復跳動。恢復以後,小女孩透過手語告訴金剛,哥吉拉是善良的,機械哥吉拉是壞蛋,於是金剛就幫手哥吉拉,一起打擊機械哥吉拉。最後,聯手把機械哥吉拉幹掉了。
在這段期間,穿插了哥吉拉2-怪獸之王裡 Madison 的副線,他們透過線索查到生物科技公司不懷好意,進而到了香港。在金剛、哥吉拉與機械哥吉拉打成一團時,他們破壞了機械哥吉拉的電腦,讓金剛、哥吉拉有了反擊的機會。這部電影就是娛樂片,接續著前面的金剛骷髏島、哥吉拉、哥吉拉2-怪獸之王看下來,還算不錯。
這集的寓意蠻深的,講的是人類的慾望。主軸是許願石,這顆許願石可以讓人的願望實現,但是在實現的同時,人也會失去一樣珍貴的東西,這樣珍貴的東西並不是自己可以決定了,而是由許願石決定的。
戴安娜在博物館認識了不起眼的芭芭拉,透過她,看到了這顆許願石。許願石上的拉丁文,說可以實現許願者的一個願望。戴安娜就跟芭芭拉閒聊起來,當時沒多想,心裡就說了自己希望 Steve 回來。而芭芭拉則是許願了希望自己可以跟戴安娜一樣。沒多久,戴安娜真的遇到了 Steve ,她欣喜若狂。而芭芭拉則是發現自己變得有魅力了,而且有了強大的力量。也透過此,她知道了戴安娜這個人不簡單。
失意的石油商人 Maxwell 不知道怎麼樣知道有這顆石頭,他到博物館接近芭芭拉,並且偷走了許願石。他許願,希望自己變成這顆石頭,換言之,Maxwell 有了可以幫別人實現願望的能力。他開始幫人實現願望,同時也透過這個來進行利益的交換。
戴安娜發覺了怪異之處,跟芭芭拉聯手進行調查,發現了在歷史裡,這顆許願石導致許多國家、王朝的覆滅。這些都是因為願望,在實現願望的同時會奪走許願者的珍貴事物。要阻止這一切,就必須收回自己的願望。捫心自問,這真的很難,在自己已經享受到願望所帶來的好處時,很難去放手,將願望收回。戴安娜此時也發現了這件事情,他想要把 Steve 留在身邊,但他身上也漸漸失去神力。芭芭拉更是不願意,他不想變回以前那個不被人重視的邊緣人。
戴安娜在 Steve 的鼓勵下,收回了自己的願望,Steve 消失,她哭著前去阻止 Maxwell 。跟芭芭拉打了一架,然後說服了 Maxwell 以及其他許了願望的人,收回自己的願望。
看到這邊,我就想到鋼之煉金術師所說的「等價交換」,天底下沒有平白無故掉下來的,你必須要做出交換。至於要交換些什麼,就得看自己怎麼去取捨,達到一個平衡。