Dulcie @ 2021 By : Template Sell.

Category: ubuntu

[ubuntu] certbot cannot import name _remove_dead_weakref

前兩週將機器從 ubuntu 14.04 更新為 ubuntu 22.04,發現每月執行的指令 certbot-auto renew 會噴以下錯誤 排查後發現 certbot 1.9.0 以後只支援 Debian / RHEL 版本的 linux OS certbot-auto was deprecated on all systems except for those based on Debian or RHEL. https://community.letsencrypt.org/t/certbot-1-9-0-release/135414 於是嘗試重新安裝 certbot 新版,由於我使用系統配置為 ubuntu / nginx,其他配置可以參考 官方安裝文件 嘗試執行 certbot certificates 即可正常執行了 ~ 參考資料:

[iptables] 如何看 iptables 的阻擋紀錄

在 Linux 常見的防火牆套件為 iptables,相信有當過網管或管理伺服器的管理人員都相當熟悉。 (曾經設定完 iptables 就再也連不進去遠端機器的經驗 這篇就不說明如何設定 iptables,這方面的說明在網路上有相當多教學,也可以參考 鳥哥私房菜-防火牆 紀錄一下時常設定完後,如何觀察有哪些嘗試連線而被阻擋的紀錄 首先舉個例子: 透過以下指令我們限制僅有 x.x.x.x ip 可以透過 ssh 連線進入主機 這時候除了 x.x.x.x ip ssh 連線至主機會顯示 這時候我們可以藉由以下指令新增 iptables rule,查看主機上是否有相關的阻擋紀錄 接下來在 /var/log/kern.log 就可以看到封包相關的阻擋紀錄 參考資料 https://www.thegeekstuff.com/2012/08/iptables-log-packets/

[ubuntu] 更改啟動列(launcher bar)位置

今天幫朋友裝了 ubuntu 桌面版,查了一下怎麼把平常像 windows 的啟動列改變位置。   開 terminal ctrl + alt + T 輸入指令 置底: gsettings set com.canonical.Unity.Launcher launcher-position Bottom 置左: gsettings set com.canonical.Unity.Launcher launcher-position Left PS. 若要使用 GUI 設定的方法,可以考慮安裝 Unity Tweak Tool (sudo apt-get install unity-tweak-tool),Lanuncher 設定中。 參考資料: http://www.howtogeek.com/251616/how-to-move-the-unity-desktops-launcher-to-the-bottom-of-your-screen-on-ubuntu-16.04/  

[ubuntu] 安裝 nodejs 與 npm

這篇採用的系統環境為 ubuntu 14.04   使用 ubuntu 的套件庫進行安裝,一行指令安裝 (由於此安裝方法的來源為 ubuntu 維護, nodejs 版本可能會比較低) sudo apt-get install nodejs sudo apt-get install nodejs-legacy sudo apt-get install npm ps. 由於 nodejs 安裝完後會產生執行檔 /usr/bin/nodejs,透過 node-legacy 會幫我們建立常見的 /usr/bin/node 透過 PPA (personal package archive) 安裝,目前 nodejs 最高版本為 6.x curl -sL https://deb.nodesource.com/setup_6.x -o nodesource_setup.sh sudo bash nodesource_setup.sh sudo apt-get install nodejs sudo apt-get install build-essential ps. 此方法已經幫你裝好 […]

[ubuntu] crontab 用法 與 rsync 定時備份資料庫與系統設定等檔案

在 ubuntu 中,我們若需要建立定時的排程工作時(如:定時備份),可以使用 crontab 加入例行性排程,系統將會會定時執行相對應的工作。 在 ubuntu 中,決定使用者是否可以編輯自己 cron job 的設定檔為 /etc/cron.allow 在此檔案中的使用者帳號將可編輯 cron job,若不在其中則無法使用。 /etc/cron.deny 在此檔案中的使用者帳號將不可使用 crontab,若不在其中則可以使用。 例: PS.  預設會以 cron.allow 為優先。因此,通常只會選擇其中之一( cron.allow 或 cron.deny )做限制 接下來,介紹一下如何使用 crontab crontab -u [username] :只有 root 可以使用這個參數,可以新增或刪除其他使用的 cron job -e:編輯自己的 cron job -l:列出目前的 corntab -r:移除目前所有的 cron job 來看看如何編輯自己的 cron job, crontab -e #  m(分鐘) h(小時)  dom(日)  mon(月) […]

[ubuntu] rsync 用法及備份教學

以前做備份都是用 tar 在打包,在本機上移動到其他的磁碟,都沒想過把備份檔透過網路傳輸至其他機器備份等等。 因此這邊來介紹 rsync 這個指令,可以透過 rsh、ssh 將檔案做鏡像備份及增量備份至遠端機器。 rsync 參數 -v:觀察模式,列出更多資訊(檔案名稱等等)。 -q:與 -v 相反,僅列出錯誤訊息。 -r:遞迴複製,用在多層目錄及檔案時。 -u:僅更新檔案,增量備份的作法。若目的地檔案較新,則不更動。要注意可能覆寫舊資料! -l:保留 symbolic link  的屬性,非檔案內容。 -p:保持原有檔案的屬性(rwx)。 -g:保持原有檔案的擁有群組。 -o:保持原有檔案的擁有者。 -D:保持原有檔案的裝置屬性。 -t:保持原有檔案的時間屬性。 -I:忽略檔案的 mtime,在增量備份比對時會比較快速。 -z:資料傳輸時,加上壓縮。 -e:使用的通道協定。如:-e ssh -a:相當於 -rlptgoD rsync 的三種模式 本機上備份(複製),其實就相當於cp,只是你可以顯示更多資訊 如:將 np 資料夾底下的所有東西複製至 tmp 資料夾 rsync -av np/ tmp/ 透過 rsh 或 ssh 協定在 不同機器間傳輸備份 如:將遠端機器的 etc 資料夾備份至此機器的 tmp 資料夾 […]

[ubuntu] apt-get update、upgrade 與 dist-upgrade 差別

update 更新我們的套件清單 /etc/apt/sources.list,這樣在我們更新時才能比對最新的套件清單,決定是否更新 upgrade 根據前述的更新清單 /etc/apt/sources.list,比對是否更新套件。若有相依性問題,則放棄更新。 dist-upgrade 根據前述的更新清單 /etc/apt/sources.list,比對是否更新套件。若有相依性問題,會嘗試做安裝/移除,將相依性問題解決並更新。 PS. 通常視為較危險的更新 參考資料: man page update update is used to resynchronize the package index files from their sources. The indexes of available packages are fetched from the location(s) specified in /etc/apt/sources.list. For example, when using a Debian archive, this command retrieves and scans the Packages.gz files, so that information […]

[ubuntu] fail2ban 防止 ssh 暴力嘗試密碼

架好主機後,通常會開啟 ssh 遠端登入,但過一陣子看系統紀錄後,會發現有許多在惡意嘗試登入的使用者 因此,安裝 fail2ban 可以防止 ssh 暴力嘗試   安裝 fail2ban sudo apt-get install fail2ban 查看目前 ssh 阻擋設定,/etc/fail2ban/jail.conf,並複製一份為 jail.local 覆寫你想做的設定,如下: 開啟 fail2ban 服務 sudo service fail2ban start  完成!!