伺服器上想要開機後直接有一個/temp資料夾,權限跟一般的tmp類似要開sticky bit,這樣只有owner可以刪除或重新命名,但所有使用者都可以建立自己的資料夾。做法是在/etc/fstab裡面加上一行:
tmpfs /temp tmpfs nosuid,nodev,size=64G 0 0
這樣就可以讓系統開機的時候自動產生一個64G的空間並掛在/temp下:
伺服器上想要開機後直接有一個/temp資料夾,權限跟一般的tmp類似要開sticky bit,這樣只有owner可以刪除或重新命名,但所有使用者都可以建立自己的資料夾。做法是在/etc/fstab裡面加上一行:
tmpfs /temp tmpfs nosuid,nodev,size=64G 0 0
這樣就可以讓系統開機的時候自動產生一個64G的空間並掛在/temp下:
在處理文本資料,尤其是像csv格式的表格,第一列通常是表格每個欄位的標題(header),在排序的時候通常不會處理,但又會需要印出來看。例如說:
第1個指令是印出目前系統上的掛載點與使用空間,2, 3, 4三個指令結果一樣,都是將掛載點依照名稱排序,但第一行的欄位不參與排序。每個指令的詳細說明如下:
Ubuntu 22.04 server預設沒有 /etc/rc.local。三步驟設定:
要看自架的DNS服務被查詢的情況,可以用dnstop指令:
上述的 eth0 指的是要被監控的網卡,也可以分析用tcpdump產生的pcap檔案:
要分析DNS的封包,可以先用tcpdump來擷取:
上述指令會擷取來自53 port的1000個封包,要注意指令裡面的port前面沒有dash一槓。上面方法的缺點是下載後的檔案的UID和GID會變成tcpdump,要變成使用者的話則是:
如果想要蒐集的是一段時間,例如說10秒內流過的封包,則用:
最近安裝好的Debian 11 Bulleye開機一陣子就會睡著,睡著的狀態是電源燈會閃爍,硬碟燈全暗且螢幕沒有任何畫面。 推測睡著和系統設定有關。使用下面的指令來確認:
若有看到下面的字樣,則代表系統有五花八門睡著的方式:
loaded (/lib/systemd/system/sleep.target; static)
loaded (/lib/systemd/system/suspend.target; static)
loaded (/lib/systemd/system/hibernate.target; static)
loaded (/lib/systemd/system/hybrid-sleep.target; static)
解決方法則是用下面指令關閉systemd上面會導致睡著的設定:
又再一次忘記/dev/shm/下面的檔案,一般的使用者登出後檔案會被刪除。解法就是去修改 /etc/systemd/logind.conf,裡面選項改成RemoveIPC=no。修改完後用下面的指令去重新啟動:
為了自動分享iPhone熱點給多台Wifi設備,先前在Raspberry Pi 3上安裝了Ubuntu Server 20.04 LTS。經過了55天不關機且沒有任何使用問題後,登入時發現有104個套件可以更新。雖然這些套件都是一般的更新而不是安全性更新,但還是手癢想更新...。指令如下:
以上四個指令的意思分別是:
檢查某台機器是否裝在VM (Virtual Machine)虛擬機上,用lscpu指令:
如果有結果跑出來,那就是在VM上:例如說
關於Hypervisors提供者還有例如:
Linux或Mac可用指令locate + 關鍵字來查找檔案,在做這件事情之前要先建立整個檔案系統的索引,Linux上的指令是updatedb,在Mac或是其他BSD上則是locate.updatedb。執行過程如下所示:
指令df會顯示檔案系統的使用量,但現在還會顯示udev, tmpfs, loop device等等,資料太多讓人有點困擾。下面的指令可以去除udev, tmpfs, loop,並且將硬碟或是NVMe硬碟或NFS掛載列出並且上色:
第一行的grep用意是在去除loop, udev與tmpfs
第二行的grep則是把硬碟sdx與nvme用顏色標示,並留下其他掛載系統。
以前的Linux系統要暫時修改hostname,用hostname這個指令;要永久修改hostname,只要去改/etc/hostname並重開機即可。但在Ubuntu 20.04上永久修改hostname,要使用的指令是hostnamectl而不是hostname,指令的使用方法如下:
修改完以後,再直接執行hostnamectl,就會看到:
對於hardware RAID, 用storcli加入的hotspare硬碟有幾個參數可以設定:
在Linux上面要檢查某個檔案有冇被快取在記憶體上,可以用linux-fincore這個指令。但這指令沒有被APT給收錄,也找不到.deb包可以用dpkg安裝。下面介紹安裝過程
到Google Code Archive的linux-ftools,找到source後下載。
wget https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/linux-ftools/source-archive.zip
mv source-archive.zip linux-ftools-1.3.0.zip
md5sum linux-ftools-1.3.0.zip這邊算出來的md5 checksum是 ae142ebe7c1448d20ec42756d64adf08
裝完Ubuntu 20.04後,為了要修改/etc/sudoers這個檔案,要用visudo這個指令。但預設的編輯器是/bin/nano。要修改成/usr/bin/vim的話,用下面的指令:
之後按照指示選擇預設的編輯器成vim即可,其實是修改了軟連結
參考《SSH遠端連線,接視窗回本機使用》,遠端機器的圖形桌面是可以透過X11 forwarding接回來使用的。但這僅限於ssh登入的使用者。若是在操作時,需要sudo或是su成其他使用者,那麼就沒辦法接回來,錯誤訊息如下
Incorrect authorization cookie.Error: Can't open display: localhost:16.0
上面那個數字16會根據不同的情況出現不同數字。要變成使用者,並且用X11 forwarding接回視窗用先用下面兩個指令得到相關的訊息
CentOS 7上面目前的netdata版本只到1.26,要裝最新版的1.28.0要手動安裝。首先要安裝一些必要的套件並且打開防火牆讓port 19999可以使用
sudo yum install cmake libuv libuv-devel sudo firewall-cmd --permanent --zone=public --add-port=19999/tcp sudo firewall-cmd --reload
然後從Git上面下載最新版的source code並安裝