Ubuntu/Debian 筆記

    版本為 20:33, 20 Nov 2024

    到這個版本。

    返回到 版本存檔.

    查閱目前版本

    更多文章

    語音指令 spd-say
    spd-say "Hello"
    echo "Runing your program, when done it will play an audio." && sleep 10 && spd-say "Done" 
    
    防火牆 ufw

    安裝

    sudo apt-get install ufw
    sudo ufw status 
    

    開放 SSH & XRDP

    sudo ufw allow 22
    sudo ufw allow 3389 
    

    開放來自網段的連線

    sudo ufw allow from 192.168.1.0/24
    

    開機時自動啟動/關閉

    sudo ufw --force enable
    sudo ufw --force disable 
    

    移除規則

    > sudo ufw status numbered
    
    Status: active
    
    To Action From
    -- ------ ----
    [ 1] 22 ALLOW IN Anywhere
    [ 2] 3389 ALLOW IN Anywhere
    
    > sudo ufw delete 1 
    
    如何快速安裝 LAMP 套件
    sudo apt-get install tasksel
    sudo tasksel
    >> 選擇 LAMP 
    
    或者執行
    sudo tasksel install lamp-server
    

    指令其他用法

    列出可安裝的套件群組
    tasksel --list-task
    
    安裝套件群
    tasksel install <task> 
    
    安裝編譯開發需要的套件
    apt-get install build-essential
    
    安裝 Java Run Time

    for Ubuntu 13.04

    JRE Download: http://www.oracle.com/technetwork/ja...ads/index.html

    Ubuntu 14.04/Mint)

    sudo add-apt-repository ppa:openjdk-r/ppa
    sudo apt-get update 
    sudo apt-get install openjdk-8-jdk
    

    Ubuntu 13.04)

    sudo tar xzf jdk-7u60-linux-i586.tar.gz -C /usr/lib/jvm
    
    sudo chown -R root:root /usr/lib/jvm/jdk1.7.0_60/
    
    sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.7.0_60/bin/java" 1
    sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.7.0_60/bin/javac" 1
    sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.7.0_60/bin/javaws" 1
    
    
    sudo update-alternatives --config java
    替代項目 java(提供 /usr/bin/java)有 2 個選擇。
    
      選項       路徑                                   優先權  狀態
    ------------------------------------------------------------
    * 0            /usr/lib/jvm/java-8-oracle/jre/bin/java   2         自動模式
      1            /usr/lib/jvm/java-8-oracle/jre/bin/java   2         手動模式
      2            /usr/lib/jvm/jdk1.7.0_60/bin/java         1         手動模式
    
    按 [enter] 保留目前選項 [*],或輸入選項編號:2
    或者
    sudo update-alternatives --set java /usr/lib/jvm/jdk1.7.0_60/bin/java
    
    cd /usr/lib/mozilla/plugins/
    sudo rm libjavaplugin.so
    sudo ln -s /usr/lib/jvm/jdk1.7.0_60/jre/lib/i386/libnpjp2.so

    for Ubuntu 12

    sudo apt-get purge openjdk* 
    sudo add-apt-repository ppa:webupd8team/java
    sudo apt-get update
    sudo apt-get install oracle-java7-installer

    for Ubuntu 10, 11

    sudo add-apt-repository ppa:sun-java-community-team/sun-java6
    sudo apt-get update
    sudo apt-get install sun-java6-jre sun-java6-bin sun-java6-jdk
    在 /home 目錄下有 .gvfs 目錄無法移除
    umount /home/alang/.gvfs
    rm -f /home/alang.gvfs 
    
    設定 Apache/HTTPD

    服務啟動/關閉指令

    service apache2 start|stop|status
    

    主要設定檔

    • /etc/apache2:所有設定檔的儲存目錄
    • /etc/apache2/apache2.conf:Apache 主要設定檔
    • /etc/apache2/httpd.conf:Apache 次要設定檔之一,預設是空白內容。
    • /etc/apache2/envvars:記載 Apache 的用戶及群組。
    • /etc/apache2/sites-enabled/000-default:預設網站的設定檔的啟動連結,若要關閉此網站,只要將此連結刪除。
    • /etc/apache2/sites-available/default:預設網站的設定檔。
    變更電腦名稱
    echo "your.host.name" > /etc/hostname
    /etc/init.d/hostname restart 
    

    註:/etc/init.d/hostname 指令只有在 Ubuntu 11+ 才有。

    帳號管理
    ; 系統用帳號群組
    addgroup --system mygroup
    adduser --system --ingroup mygroup --home /this/is/user/home --no-create-home myuser 
    
    ; 刪除群組
    delgroup mygroup
    
    ; 將帳號加入群組 video
    sudo usermod -a -G video alang
    
    ; 管理員將帳號加入一個新群組後,該帳號不用登出登入就能套用這個新群組
    $> newgrp <group-name> 
    
    ; 檢查目前或特定帳號所屬的群組列表
    $> groups
    $> groups <user-name> 
    
    變更系統的時區

    系統預設時區)

    dpkg-reconfigure tzdata
    

    TIP:

    不要變更設定,退出後會顯示目前的時區設定。

    找不到指令,執行 apt-get install tzdata

    或 依照登入的 user

    tzselect 
    

    依照輸出內容修改 .profile。

    Service/Daemon 啟動管理

    新增服務

    update-rc.d <service name> defaults
    update-rc.d <service name> defaulte 80 20 (80 啟動編號;20 停止編號) 
    

    移除服務

    update-rc.d -f <service name> remove
    

    列出所有服務狀態

    service --status-all
    

    也可以安裝這套件 sysv-rc-conf

    apt-get install sysv-rc-conf
    
    apt-get/dpkg 套件管理

    連結:

    // dpkg 指令

    列出已安裝的套件
    dpkg -l
    
    列出指定套件的檔案列表
    dpkg -L <package name>
    
    查詢系統內某個指令檔的套件名稱
    dpkg -S <path to command> 
    
    查訊套件詳細資訊
    dpkg -p <package name> 
    

    // apt-get 指令

    更新套件庫資訊
    apt-get update
    
    安裝套件
    apt-get install <package-name>
    apt-get build-dep <package-name> ;安裝這個程式所需的相依性套件
    apt-get -s install <package-name> ; 模擬安裝
    
    移除套件及相關不需要的相依性套件
    apt-get autoremove <package-name>
    
    移除單個套件
    apt-get purge <package-name>
    
    安裝本機套件
    apt-get update
    dpkg -i <package-name>.deb
    NOTE: 如果出現缺少套件的資訊,再執行
    apt-get -f install
    
    檢視套件的 Changelog
    apt-get changelog <package-name> 
    

    // apt-cache 指令

    apt-cache search <package-name>
    apt-cache show <package-name>
    apt-cache showpkg <package-name>
    
    顯示套件的相依性
    apt-cache depends <package-name>  
    

    // 其他指令

    列出 GPG Key
    apt-key list
    
    避免套件被更新/升級
    apt-mark hold glusterfs* 
    

    // 設定 proxy 方式連接
    方法一:

    export http_proxy=http://username:password@proxy.server.net:port/
    ; 若是 Windows AD 帳號, 加上反斜線兩次
    export http_proxy=http://addomain\\username:password@proxy.server.net:port/
    

    方法二:編輯 /etc/apt/apt.conf,加上這幾行。

    Acquire::http::proxy "http://192.168.1.1:3128/";
    Acquire::https::proxy "https://192.168.1.1:3128/";
    Acquire::ftp::proxy "ftp://192.168.1.1:3128/";
    Acquire::socks::proxy "socks://192.168.1.1:3128/";
    

    // 新增台灣鏡像主機
    Debian)
    http://www.debian.org/mirror/mirrors_full#TW

    deb http://ftp.isu.edu.tw/pub/Linux/Debian/debian/ lenny main contrib non-free
    deb-src http://ftp.isu.edu.tw/pub/Linux/Debian/debian/ lenny main contrib non-free
    

    Ubuntu)

    deb http://tw.archive.ubuntu.com/ubuntu/ saucy main restricted
    deb-src http://tw.archive.ubuntu.com/ubuntu/ saucy main restricted
    

    注意:如果 Repository 主機已經移除該版本,可以指向到這位址:old-releases.ubuntu.com

    deb http://old-releases.ubuntu.com/ubuntu/ karmic main restricted
    

     

    Q: GPG error: http://apt.insynchq.com rosa InRelease: The following signatures were invalid: KEYEXPIRED 1473479811
    Solution:

    $> apt-key list | grep expired
    
    pub   2048R/ACCAF35C 2012-09-10 [expired: 2016-09-10]
    
    $> sudo apt-key adv --recv-keys --keyserver keys.gnupg.net ACCAF35C
    
    移除 GPG Key
    $> sudo apt-key del ACCAF35C 
    關閉 ipv6 網路協定

    狀況說明:安裝 Ubuntu 10.x 後,整個系統的網路連線有特別緩慢現象,原因是在預設的安裝會開啟 ipv6 的網路功能,將其關閉即可。

    for Ubuntu 12/11/10/9)
    // 如何檢查 ipv6 已開啟

    # ip a | grep inet6
    
        inet6 ::1/128 scope host <==
        inet6 fe80::20c:29ff:fe10:f035/64 scope link <==
    

    // 關閉 ipv6 功能
    增加這幾行在 /etc/sysctl.conf

    #disable ipv6
    net.ipv6.conf.all.disable_ipv6 = 1
    net.ipv6.conf.default.disable_ipv6 = 1
    net.ipv6.conf.lo.disable_ipv6 = 1
    

    機器重開機。

    註:不想重開機時,可以執行 sysctl -p

    for Ubuntu 8)
    編輯 /etc/modprobe.d/blacklist

    # disable ipv6
    blacklist ipv6
    

    機器重新開機。

    for OpenSUSE)
    請參閱

    使用 serial console 介面開機

    參考連結
    https://help.ubuntu.com/community/SerialConsoleHowto

    步驟開始 (適用 8.x Lenny)

    1. 編輯 /etc/inittab

    # 將註解拿掉,並修改成這樣
    T0:23:respawn:/sbin/getty -L ttyS0 115200 vt100
    

    2. 編輯 /boot/grub/menu.lst

    default         0
    
    # 在 default 下方新增這幾行
    # Enable console output via the serial port
    serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1
    terminal --timeout=15 serial console
    #
    title           Debian GNU/Linux, kernel 2.6.26-2-686
    root            (hd0,0)
    kernel          /boot/vmlinuz-2.6.26-2-686 root=/dev/hda1 ro quiet console=tty0
    console=ttyS0,115200n8
    initrd          /boot/initrd.img-2.6.26-2-686
    

    適用 9.x Karmic
    參考連結:https://help.ubuntu.com/community/SerialConsoleHowto

    1. 設定 upstart
    編輯 /etc/init/ttyS0.conf

    # ttyS0 - getty
    #
    # This service maintains a getty on ttyS0 from the point the system is
    # started until it is shut down again.
    
    start on stopped rc or RUNLEVEL=[2345]
    stop on runlevel [!2345]
    
    respawn
    exec /sbin/getty -L 115200 ttyS0 vt102

    2. 設定 GRUB
    編輯 /etc/default/grub

    # Uncomment to disable graphical terminal (grub-pc only)
    GRUB_TERMINAL=serial
    GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
    
    在 8.10 安裝 PPTP VPN Client

    $sudo apt-get install network-manager-pptp pptp-linux

    新增 VPN 連結:
    在右上角網路圖示按滑鼠右鍵,選 VPN 連線 -> VPN設置

    通訊閘:<VPN 主機位址>
    使用者名稱:連線帳號
    進階 -> 使用點對點加密(勾選)

    檢查系統版本 
    $> lsb_release -a
    $> cat /etc/lsb-release
    $> cat /etc/debian_version
    $> cat /proc/version
    $> uname -a

    各版本資訊

    設定網路

    //設定 IP address
    $>sudo vi /etc/network/interfaces

    auto eth0
    iface eth0 inet static
    address 10.1.1.201
    netmask 255.255.255.0
    network 10.1.1.0
    broadcast 10.1.1.255
    gateway 10.1.1.254
    dns-nameservers 10.1.1.254   <== 支援12.04+
    dns-search my.domain.com  <== 支援 12.04+
    

    $>sudo /etc/init.d/networking stop
    $>sudo /etc/init.d/networking start

    //設定 Hostname
    ;重開機後會失效
    $>sudo /bin/hostname <newhost>
    ;永久變更
    $>sudo vi /etc/hostname
    ;用 sysctl 的方法
    $>sudo sysctl kernel.hostname
    $>sudo sysctl kernel.hostname=<newhost>

    //設定DNS server 位址
    $>sudo vi /etc/resolv.conf

    #domain my.domain
    #search my.domain
    nameserver 192.168.51.8
    nameserver 192.168.51.13
    

    注意: 12.04 以後,不可以直接編輯 resolv.conf,必須寫入 interfaces。

    Powered by MindTouch Core