Tag: Fedora

Shell Script 字串搜尋並取代

寫程式很多時都需要做字串搜尋並取代, 在 Shell Script 內可以使用各種工具完作, 以下是 Shell Script 做字串搜尋取代的方法。搜尋取代變數的字串: 上面的程式, 第 3 行定義變數 str 的值是 abc, 而第 5 行則設定將變數 str 內的 abc 替換成 xyz.如果不是替換變數的字串, 是要替換檔案的字串, 可以用 sed 完成, 例如:以上 Shell …

解決 CentOS 7: fuser command not found

fuser 指令可以查看檔案, 目錄或 socket 是經由那一個 process 開啟,如果 RHEL 7 / CentOS 7 用最少化安裝,當執行 fuser 指令時,會遇到 command not found:fuser: command not found要用 yum 安裝 fuser 指令,不可以直接用 fuser 來安裝,因為 fuser 指令包括在 psmisc …

Linux 安裝 7zip

7zip 是開源的壓縮工具,可以壓縮及解壓自家的 7z 壓縮檔,以及其他常見的壓縮檔,例如 XZ, GZIP, TAR, ZIP, BZIP2, RAR, DEB, RAR 及 ISO,除了解壓縮及壓縮檔案後,也支援 AES-256 加密壓縮,使用上十分方便好用。以下文章會示範在 Linux 下安裝 7zip。安裝 7zip:在 RHEL 及 CentOS 安裝 7zip 需要啟用 EPEL Repo: $ sudo …

解決 gzip: stdin: not in gzip format 錯誤

在使用 tar 指令解壓 tar.gz 壓縮檔時,如果錯誤定義副檔案,可能會出現錯誤,當執行 tar 指令後: $ tar -zxvf myfile.tar.gz 會出現以下錯誤: gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error is not recoverable: exiting now …

CentOS 7 安裝 Dropbox

Dropbox 是十分流行的雲端硬碟,對共享或同步檔案十分好用,以下文章會介紹在 CentOS 7 安裝及設定 Dropbox。1. 安裝 Dropbox首先下載最近版的 Linux Dropbox 客戶端: # wget -O dropbox-linux-x86_64.tar.gz https://www.dropbox.com/download?plat=lnx.x86_64 然後可以進行安裝: # mkdir /opt/dropbox # tar zxfv dropbox-linux-x86_64.tar.gz –strip 1 -C /opt/dropbox 2. 建立儲存 …

解決 BIND 錯誤: unable to rename log file

近日在安裝了 DNS 伺服器的主機上, Log 看到 BIND 不能輪替記錄檔的錯誤, 具體錯誤訊息如下:Aug 27 03:57:53 dns named: unable to rename log file ‘/var/log/named.log’ to ‘/var/log/named.log.0’: permission denied由於想方便管理, 我在 BIND 設定了 Log 記錄檔放在 /var/log/named.log, 而不是使用 BIND …

RHEL / CentOS 設定 Logrotate 實現記錄檔輪替

在 Linux 如果用套件管理工具 (例如 yum, dnf, apt-get) 安裝套件, 一般會設定好 logrotate 做記錄檔輪替, 但如果套件是自行編譯安裝, 或者是自行開發的系統 (例如 Shell Script), 除了可以自行編譯記錄檔輸替的功能外, 也可以用 Logrotate 實現。Logrotate 的設定檔是 /etc/logrotate.conf, 用作設定 Logrotate 的預設參數, 而 /etc/logrotate.d/ 目錄下建立需要輪替的記錄檔, 每項服務一個檔案, 這樣對日後維護及管理也會較方便。我的 …

解決 PHP 錯誤 – Allowed memory size exhausted

PHP 其中一個常見的錯誤 “Allowed memory size exhausted”,這是由於執行的 PHP 程式使用的記憶體超出 PHP 設定的限制,要解決可以很簡單地修改 php.ini 檔案內的 memory_limit 選項即可。首先開啟 php.ini,在 RHEL 及 CentOS 用 yum 安裝的 PHP,預設路徑是 /etc/php.ini: # vi /etc/php.ini 找到 “memory_limit” 的一行,將原來的 128M …

解決 “Could not chdir to home directory”

如果 Linux 帳號的 home directory 不存在,在登入帳號後,會出現以下找不到 home directory 的錯誤:Could not chdir to home directory /home/username: No such file or directory出現這個錯誤的原因,是帳號的 home directory 不存在 (可能錯誤刪除,或者建立帳號時沒有建立目錄),或者權限問題所致。要解決可以重新建立缺少的 home directory,例如 home directory 在 /home/username,可以用以下指令建立目錄及設定權限: …

vi / vim 開啟多個檔案

vi 在 Unix 環境作業系統下常用的文字編輯器,如果想在 vi 或 vim 同時開啟多個檔案,可以用以下方法:開啟 file1 file2: $ vi file1 file2 fileN 開啟所有 .php 副檔名的檔案: $ vi *.php 當開啟了多個檔案後,在 vi 可以用以下指令在檔案間進行切換操作:列出開啟了的檔案: 切換到下一個檔案: 切換到上一個檔案: 以檔案名稱作為切換: 如果是使用 vim,上面指令可以支援使用 Tab …