Tag: Linux
在安裝 MySQL 或 MariaDB 伺服器後, 當執行 mysql_secure_installation 後會完成一些基本的安全設定, 其中一項就是設定 root 的密碼。 如果在往後忘記了這個 MySQL root 密碼, 可以用以下方法重設, 以下文章會以 CentOS 環境作為例子. 首先將運行中的 MySQL Server 停止執行: # systemctl stop mariadb 或 # …
在主機上經上都要做一些更新, 尤其是一些與安全性相關的更新, 雖然很多更新也要重啟更新的套件, 或者像更新核心這類套件需要重新開機, 但開啟自動更新還是較方便及安。 在 RHEL 或 CentOS 7 可以安裝 yum-cron 套件, 便可以做到自動更新, 先用 yum 安裝 yum-cron: # yum install yum-cron -y 安裝好 yum-cron 後, 接著便要設定 yum-cron, yum-cron …
當用 yum 或安裝套件後,如果想將套件的版本降級或回滾以前的舊版本,可以用以下方法: yum 降級回滾語法: $ sudo yum downgrade package_name 例如想將 zsh 降級到舊版本,可以用以下語法: $ sudo yum downgrade zsh 然後系統便會將 zsh 回滾到對上一個版本的舊套件,如果要自訂回滾的版本,可以在套件後面加上版本: $ sudo yum downgrade package_name-version-number
今天編譯安裝 Apache, Apache 的預設安裝目錄是 /usr/local/apache2, 但我將它安裝到 /usr/local/apache, 但在編譯時出現以下錯誤: 原因可能是之前編譯 Apache 時, 有一些紀錄是安裝到 /usr/local/apache2 所致, 解決方法是有兩個: 1. 執行 make clean 指令, 再重新編譯。 2. 將原始碼的目錄刪除, 再重新解壓 Apache 的源始碼, 再進行編譯安裝即可。
Linux 下找檔案很多時會用上 find 指令,當用 find 指令找到檔案或目錄後,可以在後面加上 -exec 參數,來對每一個找到的檔案或目錄執行特定指令。 find 指令加上 -exec 參數的具體語法是這樣: $ find /path/to -name “filename” -exec command {} \; 在 -exec 前面是 find 指令找出想要的檔案,在 -exec 後面的 command …
不管系統管理還是寫程式,在檔案內對字串進行搜尋並取代十分常用,在 Unix Like 環境下常會用 sed 或 perl 做 search & replace. 如果在開啟檔案後需要取代字串,其實在 vi 及 vim 內同樣可以做搜查及取代字串,做法跟 sed 差不多,以下是 vi 做搜尋及取代的語法: :%s/search_from/replace_to/g 以上 vi 的語法會將檔案內,所有 “search_from” 的字串替換成 “replace_to”。 將上面指令最後加上一個 “c” …
當需要在兩台主機間執行指令,可以用 SSH 直接傳送要執行的指令,該遠端主機直接執行,而無需登入另一台主機。 以下是具體指令的語法: 上面的 “user” 是登入帳號的使用者名稱,remote.server 是遠端主機,而 “ls -l” 是要執行的指令。當執行以上指令後,如果系統沒有設定自動免密碼登入,會詢問遠端主機的密碼,輸入密碼後會在遠端執行指令,並輸出執行結果。 如果要同時執行多個指令,可以用 “;” 或 “&&” 分隔,例如: 或 如果需要用 Shell Script 執行遠端指令,當需要在指令加入變數,需要將上面的單引號,改成雙引號,例如: 最後是執行類似 top 這類互動模式的指令,只要加入 -t 選項即可: 除了 top 後,也可以用在 …
在 Linux 下要刪除檔案,可以用 rm 指令很簡單地完成,但 rm 指定遇上容量很大的檔案時,例如 100GB 以上,刪除時會佔用很多系統資源,如果系統的資源很緊張,也有可能在執行時當掉。 以下會介紹在 Linux 下要刪除大容量檔案, 而不會佔用過多系統資源 (I/O) 的方法。 這個方法的原理是先清空檔案內容,然後再用 rm 刪除。Linux 下清空檔案的方法有很多,以下列出其中兩種,並假設要刪除的檔案是 big-file.log: $ echo “” > big-file.log $ cat /dev/null > …
基於保安理由, Ubuntu 預設不能用 root 登入 ssh, 但如果是用作內部測試的主機, 為了方便使用, 可以用以下方法解除限制: 首先要重新設定 Ubuntu 的 root 密碼, 輸入以下指令: $ sudo passwd root 修改了 root 密碼後, 開啟 sshd 的設定檔: $ sudo vi /etc/ssh/sshd_config …
在 Linux CLI 下連接到 MySQL 或 MariaDB 時, 最簡單的方法是用預設的 MySQL 客戶端工具, 連接方法是這樣: $ mysql -u root -p 這樣連接 MySQL 最大的問題是, 登入 MySQL 後, 在裡面輸入的 SQL 指令或語法要憑記憶, 逐個字母輸入。而 MyCLI 就可以解決這個問題, …