顯示具有 SA系統管理 標籤的文章。 顯示所有文章
顯示具有 SA系統管理 標籤的文章。 顯示所有文章

2024年9月15日 星期日

用fstab設定RAMdisk給/temp使用

伺服器上想要開機後直接有一個/temp資料夾,權限跟一般的tmp類似要開sticky bit,這樣只有owner可以刪除或重新命名,但所有使用者都可以建立自己的資料夾。做法是在/etc/fstab裡面加上一行:

tmpfs  /temp  tmpfs nosuid,nodev,size=64G 0 0

這樣就可以讓系統開機的時候自動產生一個64G的空間並掛在/temp下:

2023年11月2日 星期四

Bash一行文:文本第一行不參與sort排序

在處理文本資料,尤其是像csv格式的表格,第一列通常是表格每個欄位的標題(header),在排序的時候通常不會處理,但又會需要印出來看。例如說:

  1. df -Th
  2. df -Th | awk 'NR<2{print $0;next}{print $0| "sort"}'
  3. df -Th | { sed -u 1q; sort; }
  4. df -Th | (sed -u 1q; sort)

第1個指令是印出目前系統上的掛載點與使用空間,2, 3, 4三個指令結果一樣,都是將掛載點依照名稱排序,但第一行的欄位不參與排序。每個指令的詳細說明如下:

2023年9月28日 星期四

Ubuntu 22.04用systemd開啟rc.local

Ubuntu 22.04 server預設沒有 /etc/rc.local。三步驟設定:

  1. 編輯 /etc/systemd/system/rc-local.service
  2. 建立 /etc/rc.local
  3. 設定開機啟動執行 /etc/rc.local

2023年7月30日 星期日

調整mdadm的software RAID5, 6的效能

用mdadm做了兩個磁碟陣列,為了解釋方便用md5, md6來說明:
  • /dev/md5:是個software RAID-5的磁碟陣列
  • /dev/md6:是個software RAID-6的磁碟陣列
這種用mdadm做出來的software RAID可以透過下列方式來調整效能

2023年5月4日 星期四

使用dnstop看DNS查詢的情況

要看自架的DNS服務被查詢的情況,可以用dnstop指令: 

  • sudo dnstop -l 5 eth0

上述的 eth0 指的是要被監控的網卡,也可以分析用tcpdump產生的pcap檔案

  • tcpdump -c 1000 port 53 -w dump.pcap
  • dnstop -l 5 dump.pcap

2023年5月3日 星期三

使用tcpdump擷取port 53的DNS封包

要分析DNS的封包,可以先用tcpdump來擷取:

  • sudo tcpdump -c 1000 port 53 -w dump53.pcap

上述指令會擷取來自53 port的1000個封包,要注意指令裡面的port前面沒有dash一槓。上面方法的缺點是下載後的檔案的UID和GID會變成tcpdump,要變成使用者的話則是:

  • sudo tcpdump -c 1000 port 53 -w - > dump53.pcap

如果想要蒐集的是一段時間,例如說10秒內流過的封包,則用:

  • sudo timeout 10 tcpdump port 53 -w - > dmp53in10sec.pcap

2022年9月13日 星期二

關閉Debian 11的睡眠、休眠等模式

最近安裝好的Debian 11 Bulleye開機一陣子就會睡著,睡著的狀態是電源燈會閃爍,硬碟燈全暗且螢幕沒有任何畫面。 推測睡著和系統設定有關。使用下面的指令來確認:

  • systemctl status sleep.target suspend.target hibernate.target hybrid-sleep.target

若有看到下面的字樣,則代表系統有五花八門睡著的方式:

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上面會導致睡著的設定:

2022年6月7日 星期二

Debian/Ubuntu重新啟動systemd服務

又再一次忘記/dev/shm/下面的檔案,一般的使用者登出後檔案會被刪除。解法就是去修改 /etc/systemd/logind.conf,裡面選項改成RemoveIPC=no。修改完後用下面的指令去重新啟動:

  • sudo systemctl restart systemd-logind.service

2022年5月20日 星期五

Ubuntu 20.04更新所有套件

為了自動分享iPhone熱點給多台Wifi設備先前在Raspberry Pi 3上安裝了Ubuntu Server 20.04 LTS。經過了55天不關機且沒有任何使用問題後,登入時發現有104個套件可以更新。雖然這些套件都是一般的更新而不是安全性更新,但還是手癢想更新...。指令如下:

  1. sudo apt update
  2. apt-get -s dist-upgrade | grep "^Inst" | grep -i security
  3. apt -s dist-upgrade
  4. sudo apt dist-upgrade
  5. sync;sync;sync;sudo reboot

以上四個指令的意思分別是:

2022年5月12日 星期四

檢查系統是否裝在VM虛擬機上

檢查某台機器是否裝在VM (Virtual Machine)虛擬機上,用lscpu指令:

  • lscpu | grep -i 'hypervisor vendor'

如果有結果跑出來,那就是在VM上:例如說

  • Hypervisor vendor: KVM,裝在KVM virtualization
  • Hypervisor vendor: Xen,裝在Oracle VM

關於Hypervisors提供者還有例如:

2022年4月22日 星期五

Mac上做locate的updatedb

Linux或Mac可用指令locate + 關鍵字來查找檔案,在做這件事情之前要先建立整個檔案系統的索引,Linux上的指令是updatedb,在Mac或是其他BSD上則是locate.updatedb。執行過程如下所示:

  1. cd /
  2. sudo /usr/libexec/locate.updatedb

2022年3月21日 星期一

df指令僅顯示本地硬碟與NFS硬碟

指令df會顯示檔案系統的使用量,但現在還會顯示udev, tmpfs, loop device等等,資料太多讓人有點困擾。下面的指令可以去除udev, tmpfs, loop,並且將硬碟或是NVMe硬碟或NFS掛載列出並且上色:

  • df -h | grep -v -e loop -e udev -e tmpfs \
          | grep --color '/dev/sd\|$\|/dev/nvme

第一行的grep用意是在去除loop, udev與tmpfs
第二行的grep則是把硬碟sdx與nvme用顏色標示,並留下其他掛載系統。

2022年2月18日 星期五

安裝與使用BashTOP來監控資源的使用


在Ubuntu 20.04上面用bashtop監控系統資源,安裝指令依序如下:

  1. sudo add-apt-repository ppa:bashtop-monitor/bashtop
  2. sudo apt update
  3. sudo apt install bashtop

BashTOP是個用bash寫出來的程式,用/usr/bin/bashtop直接執行。設定檔放在$HOME/.config/bashtop/bashtop.cfg 但執行時不用更改,進去畫面後的操控主要是靠鍵盤上面的快速鍵達成:

2022年2月14日 星期一

Ubuntu 20.04永久更改hostname

以前的Linux系統要暫時修改hostname,用hostname這個指令;要永久修改hostname,只要去改/etc/hostname並重開機即可。但在Ubuntu 20.04上永久修改hostname,要使用的指令是hostnamectl而不是hostname,指令的使用方法如下:

  • sudo hostnamectl set-hostname HOSTNAMEyouWANT

修改完以後,再直接執行hostnamectl,就會看到:

  • Static hostname: 設定好永久的hostname,內容儲存在/etc/hostname       
  • Icon name: 圖形化介面看到的名稱,內容儲存在/etc/machine-info
  • Machine ID在安裝操作系統時生成的、專屬於本系統的、獨一無二的"machine ID"。"machine ID"是一個32字符長度的十六進制小寫字母字符串, 本質是一個128位二進制整數的16進製表示。

2022年2月11日 星期五

用storcli加入Global Hotspare Drive

對於hardware RAID, 用storcli加入的hotspare硬碟有幾個參數可以設定:

  • dgs:指定加入的hotspare硬碟要加入的drive group
    一般而言,這個選項不會使用,讓hotspare給所有的drive group使用
  • enclaffinity:指定加入的hotspare要用的enclosure
    一般而言,這個選項不會使用
  • norevertible:加入的hotspare不會使用revertible功能
    一般而言,這個選項不會使用(預設是開啟revertible功能)

2022年1月1日 星期六

安裝linux-fincore 1.3.0到Debian 8.8

在Linux上面要檢查某個檔案有冇被快取在記憶體上,可以用linux-fincore這個指令。但這指令沒有被APT給收錄,也找不到.deb包可以用dpkg安裝。下面介紹安裝過程

Step 1:下載source code,安裝編譯環境需要的套件

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

2021年11月23日 星期二

dmesg出現AER: PCIe Bus Error

開機後發現dmesg狂噴AER: Corrected error received: 0000:00:1b.4

可看到出問題的是PCIe port 0000:00:1b.4

2021年11月18日 星期四

讓visudo的編輯器改用vim

裝完Ubuntu 20.04後,為了要修改/etc/sudoers這個檔案,要用visudo這個指令。但預設的編輯器是/bin/nano。要修改成/usr/bin/vim的話,用下面的指令:

  • sudo update-alternatives --config editor

之後按照指示選擇預設的編輯器成vim即可,其實是修改了軟連結

2021年8月10日 星期二

sudo成其他使用者後無法接回X11視窗

參考《SSH遠端連線,接視窗回本機使用》,遠端機器的圖形桌面是可以透過X11 forwarding接回來使用的。但這僅限於ssh登入的使用者。若是在操作時,需要sudo或是su成其他使用者,那麼就沒辦法接回來,錯誤訊息如下

Incorrect authorization cookie.Error: Can't open display: localhost:16.0

上面那個數字16會根據不同的情況出現不同數字。要變成使用者,並且用X11 forwarding接回視窗用先用下面兩個指令得到相關的訊息

  • echo $DISPLAY  左邊是指令,下一行是輸出
    localhost:16.0
  • xauth list $DISPLAY 左邊是指令,下一行是輸出
    HOSTNAME/unix:16  MIT-MAGIC-COOKIE-1  31b73c9444f09826f775ca8d3f17e1c4

2021年1月14日 星期四

手動安裝netdata到CentOS 7

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並安裝