Tag: Debian & Ubuntu

Shell Script 字串搜尋並取代

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

Linux 安裝 7zip

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

解決 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 …

查詢 Ubuntu 版本

要查詢安裝在電腦的 Ubuntu 版本有幾種方法,以下是查詢的方法。1. /etc/lsb-release 檔案: # cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=16.04 DISTRIB_CODENAME=xenial DISTRIB_DESCRIPTION=”Ubuntu Xenial Xerus 2. lsb_release 指令: # lsb_release -da No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu …

解決 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 …

Linux 隱藏 GRUB 開機選單

GRUB 是 Linux 下十分常用的開機管理工具, 主要作用是在不同作業系統或 kernel 選擇要啟動的項目, 以下文章會介紹將 GRUB 啟動選單隱藏的方法。要隱藏 GRUB 啟動選單, 需要編輯 GRUB 的設定檔 /etc/default/grub, 在編輯前先進行備份, 以免設定錯誤不能啟動: $ sudo cp /etc/default/grub /etc/default/grub.bak 備份了 GRUB 設定檔案, 可以修改設定, 開啟 /etc/default/grub: $ …

Nginx 設定密碼保護目錄

在 Apache 設定密碼保護目錄會使用 .htpasswd 這種檔案,在 Nginx 有提供 auth_basic 模組,設定也很方便,以下是 Nginx 設定密碼保護目錄的方法。首先建立儲存使用者名稱及加密密碼的檔案 .htpasswd,可以用 htpasswd 指令完成,以下會設定使用者名稱是 username,密碼檔放在 /var/www/domain.com/member/ 目錄下面: # htpasswd -c /var/www/domain.com/member/.htpasswd username 然後會出現提示,要求設定密碼。如果系統內沒有安裝 htpasswd,可以手動建立這個檔案,每個使用者一行紀錄。在手動建立密碼檔前,需要先用 Perl 的 crypt 函式取得加密密碼的字串,執行以下指令:然後系統會印出加密了的密碼,將這個密碼複製,放入 .htpasswd 檔案: …