轉載請註明原文地址:程式設計師的 Ubuntu 19.10 配置與優化指南
0x00 環境CPU: Intel Core i9-9900k
GPU: GeForce RTX 2070 SUPER
RAM: DDR4 16GBx2
OS 1: Ubuntu 19.10 eoan
OS 2: Windows 10 1909
Disk 1: Samsung SSD 970 EVO Plus 500GB - GUID Partition Table(/dev/nvme0n1)
Disk 2: ST4000VX007-2DT166 - GUID Partition Table(/dev/sda)
Disk 3: Samsung SSD 850 EVO M.2 250GB - GUID Partition Table(/dev/sdb)
Ubuntu Partition 1: 1G - Ext4 - /boot/ - 邏輯分區(/dev/sdb1)
Ubuntu Partition 2: 2G - Swap - swap - 邏輯分區(/dev/sdb2)
Ubuntu Partition 3: 40G - Ext4 - /home/ - 邏輯分區(/dev/sdb3)
Ubuntu Partition 4: 206G - Ext4 - / - 主分區(/dev/sdb4)
0x01 前言閱讀順序強烈建議先仔細閱讀一遍本文,了解注意事項及大概流程後,再應用到實際部署中
開發環境本文中配置的開發環境主要面向 web 開發及運維,主要包括 NodeJs, Go, Nginx, PHP, MySQL, Python
由於 C 的開發環境筆者主要依靠 VSCode + gcc + gbd,每個人有不同的配置習慣且不同需求的環境相差較大,這裡不做詳細描述
本機配置本文所有操作基於 Win10 + Ubuntu 雙系統,先安裝 Win10,再安裝 Ubuntu。安裝 Ubuntu 時使用單塊硬碟(Disk 3)配置分區,將 Ubuntu 引導系統放在 Windows Boot Manager(/dev/nvme0n1p2),也就是 Windows 的 EFI 分區中,安裝完成後該分區將作為引導分區被掛載到 /boot/efi/ 目錄
如果不使用雙系統單獨安裝 Ubuntu 或在虛擬機中安裝,並不影響本文中大部分操作,唯一需要注意的是不需要在 Grub 中調整引導順序
為什麼使用 Ubuntu 19.10在所有 Linux 發行/衍生版本中,Ubuntu 是唯一適合日常開發使用,環境較為成熟,社區論壇較多,軟體支持全面並且符合用戶操作習慣的版本
在筆者嘗試安裝 Ubuntu 19.04 的過程中,發現部分硬體打不上驅動,導致了安裝後有很多關於底層驅動的操作不適合普通用戶,並且 19.10 與 19.04 差距並不大,很多適用於 19.04(disco) 的軟體源同樣也適用於 19.10(eoan),所以最後選擇了 Ubuntu 19.10
有哪些用戶文中主要涉及三個用戶
系統用戶,筆者使用的用戶名是 simonriley ,文中為便於辨認使用 user 代替大部分 web 服務使用的用戶,由 Nginx 或 PHP-FPM 自動創建,只有 web 服務需要使用該用戶用戶與系統環境變量配置按照筆者的習慣,為保證 root 與 user 使用相同的環境,/root/ 目錄下 .bashrc,.dircolors 和 .condarc 三個配置文件均使用 /home/user/ 目錄下同名文件的軟連接
實際部署中發現 root 用戶可能不會從 /etc/profile 讀取環境變量配置,所以在 .bashrc 中添加如下配置
source /etc/profile注意:在 .bashrc 配置中,為保證後續添加的配置不會被覆蓋,默認將新增的配置寫在該行下面
文件權限配置使用軟體包管理器安裝的包,管理器會自動配置權限,但有些包是我們手動下載並配置的,例如 /usr/local/node/ 目錄,對於這類包,建議在配置完成後使用下面的命令手動將其權限修改為 user
sudo chown user:user -R /usr/local/node/
在終端中使用的用戶終端默認使用的用戶是 user ,但實際操作中會遇到很多需要使用 root 權限的命令,在本文中調用該權限的方式為 sudo <command>
注意:在對系統沒有足夠了解的情況下不建議直接使用 root 用戶操作,即使足夠了解也請先確認自己知道每一步操作的作用和可能造成的後果。使用 root 用戶進行操作所造成的任何損失(包括但不限於文檔資料損壞或丟失及硬體損壞)筆者不承擔任何責任
如果您認為自己有一定 Linux 操作知識,也可以直接使用 sudo -s 切換到 root 用戶進行操作,只要保證創建一些需要從桌面啟動的文件/文件夾時能夠將其權限設置為 user ,或出現權限問題能夠通過查看和理解錯誤輸出及時意識到問題所在即可
注意:在對系統沒有足夠了解的情況下不建議直接使用 root 用戶操作,即使足夠了解也請先確認自己知道每一步操作的作用和可能造成的後果。使用 root 用戶進行操作所造成的任何損失(包括但不限於文檔資料損壞或丟失及硬體損壞)筆者不承擔任何責任
文中有些文件名為什麼和我下載的不一樣文中下載的有些文件名是帶有版本號的,例如 software-1.12.1.tar.gz,這裡所有版本號均使用 「x」 代替:software-x.xx.x.tar.gz
配置的應用及重啟文中很多配置在完成後需要重啟才會被應用,為減少重啟次數,本文將所有重啟應用的配置都放在 0x02 步驟中,完成該步驟後只需重啟一次
0x02 安裝後保證系統能夠正常使用系統使用 RTC 時間Ubuntu 安裝完成後會出現系統時間與硬體時間不同步的情況,導致 Windows 時間不正確,Windows 端無法進行加密相關的驗證
timedatectl set-local-rtc 1 --adjust-system-clock
更換國內軟體源軟體源分別來自 TUNA(清華大學 TUNA 協會 創建的 清華大學開源軟體鏡像站)和 OPSX(阿里雲 創建的 阿里巴巴開源鏡像站)
編輯 /etc/apt/sources.list
刪除原本的源,添加如下
## TUNA
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan-security main restricted universe multiverse
## OPSX
deb http://mirrors.aliyun.com/ubuntu/ eoan main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ eoan main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ eoan-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ eoan-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ eoan-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ eoan-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ eoan-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ eoan-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ eoan-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ eoan-backports main restricted universe multiverse更改完成後檢查所有軟體包的更新並升級
sudo apt update
sudo apt upgrade
使 root 與 user 配置同步將 /home/user/ 目錄下的配置建立到 /root/ 目錄的軟連結
sudo ln -sf /home/user/.bashrc /root/
sudo ln -sf /home/user/.dircolors /root/
安裝常用軟體包sudo apt install curl git htop fcitx-googlepinyin gnome-tweak-tool gnome-shell-extensions chrome-gnome-shell vim hwinfo
軟體包用途curl基於 URL 的文件傳輸/請求模擬gitGitHub 命令行客戶端htop進程管理fcitx-googlepinyinGoogle 拼音輸入法gnome-tweak-toolGnome 優化工具gnome-shell-extensionsGnome 擴展管理chrome-gnome-shellChrome 的 Gnome 擴展管理插件vim基於命令行的文本編輯器hwinfo查看硬體信息安裝語言支持並修改輸入法從應用菜單中找到 語言支持 ,打開後會提示 系統中安裝的語言支持不完整 ,點擊 安裝 ,等待安裝完成
安裝完成後,將鍵盤輸入法系統更改為 fcitx
此時輸入法修改並不會立即生效
0x03 優化顯示優化 Grub 顯示Grub 實際的配置文件是由多個配置自動生成的,所以這裡需要修改多個文件
修改 Grub 解析度Grub 默認會使用硬體能夠輸出的最小解析度,導致 Grub 界面模糊
查看顯卡在 Grub 中能夠輸出的解析度
sudo hwinfo --framebuffer筆者該命令的輸出中,最大解析度 1920x1080,實際使用中可能會出現更高的解析度
在 /etc/default/grub 中修改 Grub 顯示解析度為剛才查詢到的最大解析度
GRUB_GFXMODE=1920x1080
[可選] 修改 Grub 中顯示的作業系統順序/etc/grub.d/ 目錄中存放的是 Grub 能夠引導的作業系統的配置文件,按照 啟動順序_作業系統名 生成實際的啟動順序
這裡由於筆者習慣,需要將第一啟動項修改為 Windows,直接將 30_os-prober 前的數字改到小於 10_linux 即可
注意:該目錄下有一些需要在所有作業系統前啟動的配置,例如 00_header 和 05_debian_theme,修改的數字要大於這些
為 Grub 安裝主題在 grub2-themes - GitHub 下載 Release 包
解壓後運行 install.sh,通過參數選擇主題及支持的解析度,具體請參考上面的 GitHub 項目主頁
這裡安裝的是 vimix 主題
sudo ./install.sh --vimix
修改 Grub 背景顏色雖然已經設置了 Grub 主題,但實際上它只是在默認的紫色背景上顯示了一張圖片進行覆蓋,當選擇作業系統退出 Grub 後,有些主板仍然會顯示默認的紫色背景
這可能導致啟動系統時屏幕出現 黑 -> Grub -> 黑 -> 紫 -> 黑 -> OS ,影響美觀,所以這裡將背景修改為黑色
編輯 /usr/share/plymouth/themes/default.grub 文件,將原本的腳本注釋並寫入新的
#if background_color 79,25,76,0; then
if background_color 0,0,0; then
應用以上 Grub 更改上面說過 Grub 的配置是由多個文件生成的,系統提供了升級 Grub 重新生成配置文件的命令
update-grub
優化終端顯示修改終端配色這裡先修改 /home/user/ 目錄下的 .bashrc 和 .dircolors,然後在 /root/ 目錄下建立軟連結,確保能夠同步
在 ~/.bashrc 中注釋掉如下配置
#if [ "$color_prompt" = yes ]; then
# PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
#else
# PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
#fi
#unset color_prompt force_color_prompt
# If this is an xterm set the title to user@host:dir
#case "$TERM" in
#xterm*|rxvt*)
# PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
# ;;
#*)
# ;;
#esac並添加如下配置
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[38;5;39m\]\w\[\033[00m\]\$ '但此時使用 ls 命令顯示的文件夾顏色較深,使用下面的命令修改
dircolors -p > ~/.dircolors
sed -ie 's/DIR 01;34/DIR 38;5;39/g' ~/.dircolors
優化 Terminal 窗口顯示Ctrl + Alt + T 打開 Terminal 窗口
0x04 日常使用優化修改用戶 home 目錄下文件夾名為英文由於日常使用終端使用的都是英文,切換到中文目錄中比較麻煩,並且中文可能會導致一些問題
注意:該步驟所有命令使用 user 用戶操作
通過以下命令修改系統語言
export LANG=en_US更新 GTK 語言
xdg-user-dirs-gtk-update彈出 Update standard folders to current language? 對話框,選擇 Update Names
一下命令將系統語言重新修改為中文
export LANG=zh_CN此時該步驟並未結束,重啟後會提示 將標準文件夾更新到當前語言嗎? ,先選擇 不要再次詢問我 ,再點擊 保留舊的名稱
重啟以上大部分更改都是重啟後才被應用,為減少重啟次數,本文先完成以上所有配置,至此重啟一次即可
注意:此時重啟後默認啟動項是 Windows
0x05 桌面優化卸載不需要的軟體打開 Ubuntu 軟體
卸載如下軟體包
或者您習慣使用 Firefox 瀏覽器可以留下它,但強烈推薦您使用 Chrome 瀏覽器
安裝 Chrome 請參考步驟 0x07
卸載預裝擴展刪除 /usr/share/gnome-shell/extensions/ 目錄下所有擴展(Dash to Dock 擴展與某個預裝擴展會產生衝突導致安裝失敗)
Alt + F2,輸入 r 並回車重載桌面
在 Chrome 中安裝擴展在 Chrome 中安裝 GNOME Shell integration 擴展
安裝完成後訪問 Gnome Extensions
進入擴展頁面後開啟擴展即可自動安裝,在 優化 應用中可以管理擴展
推薦如下擴展
Top Icons Plus 擴展需要使用包管理器安裝
sudo apt install gnome-shell-extension-top-icons-plus
安裝 Gnome Shell 主題訪問 Gnome Look - Gnome Shell Themes 下載更多,各主題安裝方式可能不同,請參考主題頁面
推薦 Flat-Remix 主題
sudo add-apt-repository ppa:daniruiz/flat-remix
sudo apt update
sudo apt install flat-remix-gnome
安裝圖標主題推薦 Paper 圖標主題
sudo add-apt-repository -u ppa:snwh/ppa該源中並不包含 Ubuntu 19.10(eoan),但 Ubuntu 19.04(disco)的主題包也可以應用在 19.10 中,這裡手動更改版本
編輯 /etc/apt/sources.list.d/snwh-ubuntu-ppa-eoan.list
將連結後的 eoan 修改為 disco
更新軟體包列表並安裝圖標主題
sudo apt update
sudo apt install paper-icon-theme
修改 Gnome 桌面設置打開 Gnome Tweak Tool(優化)
Shell -> Flat-Remix-Darkest-fullPanel配置 Dash to dock 擴展打開 Gnome Tweak Tool(優化)
Customize windows counter indicators -> DashesAlt + F2,輸入 r 並回車重載桌面
0x06 開發環境安裝及配置[可選] Clash 或 ClashR下載 Clash 各組件如果您有服務商或自建節點,該步驟將幫助您使用 Clash 或 ClashR 連接 Vmess 及 SSR 節點
該步驟使用 Clash 舉例,ClashR 相同
在 Clash - GitHub 下載 Release 包
注意:下載 clash-linux-amd64-vx.xx.x.gz 格式的包
或在 ClashR - GitHub 下載 Release 包
注意:下載 clashr-linux-amd64-vx.xx.x.x.gz 格式的包
解壓後重命名為 clash 或 clashr 並賦予執行權限
mv clash-linux-amd64-vx.xx.x clash
chmod +x clash在 maxmind-geoip - GitHub 下載 Country.mmdb 文件,該文件提供基於 IP 的定位
在Clash GitHub 源碼 中下載 Clash 的 Logo,作為桌面圖標
在您的服務商處下載 Clash 或 ClashR 節點列表,並更名為 config.yaml
將以上四個文件放到 /usr/local/clash/ 目錄中
啟動腳本該腳本實現了以下功能
在該文件夾下建立 Clash 的啟動腳本 clash_startup.sh
注意:腳本中變量值根據實際情況配置
#!/bin/bash
CLASH_APP_NAME="clash"
CLASH_APP_PATH="/usr/local/clash"
CLASH_CONFIG_PATH="/usr/local/clash"
CLASH_LOG_PATH="/usr/local/clash/log"
LOG_DATE=$(date +'%Y%m%d')
CHECK_CLASH_PID=$(ps aux | grep "./$CLASH_APP_NAME -d $CLASH_CONFIG_PATH" | grep -v grep | awk '{print $2}')
mkdir -p $CLASH_LOG_PATH
LOG_NUM=$(ls -lR $CLASH_LOG_PATH | wc -l)
LOG_NUM_MAX=15
if [ -n "$CHECK_CLASH_PID" ]; then
for clash_pid in $CHECK_CLASH_PID; do
kill -9 $clash_pid
done
fi
cd $CLASH_APP_PATH && nohup ./$CLASH_APP_NAME -d $CLASH_CONFIG_PATH 2>&1 >>$CLASH_LOG_PATH/$CLASH_APP_NAME-$LOG_DATE.log &
if [ $LOG_NUM -gt $LOG_NUM_MAX ]; then
for i in $(seq 1 $(($LOG_NUM-$LOG_NUM_MAX))); do
log_old=$(ls $CLASH_LOG_PATH | sort -n | head -1)
rm -f $CLASH_LOG_PATH/$log_old
done
fi為腳本添加執行權限
chmod +x clash_startup.sh
Clash 桌面圖標在 /usr/share/applications/ 目錄中 創建 Clash 桌面圖標文件 clash.desktop 並寫入如下配置
注意:配置值根據實際情況填寫
[Desktop Entry]
Version=1.0
Name=Clash
GenericName=Clash
Comment=Clash
Exec=/usr/local/clash/clash_startup.sh
Terminal=false
Icon=/usr/local/clash/logo.png
Type=Application
Categories=Network
Clash 管理界面的桌面圖標在 /usr/share/applications/ 目錄中 創建 Clash 管理界面的桌面圖標文件 clash-panel.desktop 並寫入如下配置
注意:配置值根據實際情況填寫
注意:該配置是使用 Chrome 打開 http://clash.razord.top/,如果使用其他瀏覽器,將 Exec 項的值修改為您使用的瀏覽器打開指定連結的命令即可
[Desktop Entry]
Version=1.0
Name=Clash Panel
GenericName=Clash Panel
Comment=Clash admin GUI
Exec=/usr/bin/google-chrome-stable http://clash.razord.top/
Terminal=false
Icon=/usr/local/clash/logo.png
Type=Application
Categories=Network
配置系統和應用代理Clash 默認使用 7890 埠進行 HTTP/HTTPS 代理,使用 7891 埠進行 SOCKS5 代理
系統設置 -> 網絡 -> 網絡代理 -> 手動 ,設置為如下值
HTTP 代理 127.0.0.1 7890
HTTPS 代理 127.0.0.1 7890
Socks 主機 127.0.0.1 7891此時即可配置應用代理為以上對應的地址和埠實現代理(Chrome 默認使用系統的配置)
配置命令行代理但有些命令行不使用 Gnome 中設置的代理,可以通過軟體包 Proxychains 設置
sudo apt install proxychains編輯 /etc/proxychains.conf
注釋掉最後一行的 socks4 配置,添加 socks5 配置
#socks4 127.0.0.1 9050
socks5 127.0.0.1 7891使用方法
proxychains <command>測試
proxychains curl google.com
MySQL 8.0從 官網 下載安裝包
注意:該安裝包的作用是將 MySQL 官方源列表安裝到本地,並非直接安裝 MySQL
點擊 Download 後在跳轉的頁面中選擇 No thanks, just start my download
下載完成後使用 apt 安裝
sudo apt install ./mysql-apt-config_0.8.15-1_all.deb在彈出的 mysql-apt-config 中選擇 OK
安裝完成後更新軟體包列表並安裝 mysql-server 包
注意:建議先使用 apt show mysql-server 查看包信息,確認 APT-Source 項為 MySQL 官網(repo.mysql.com)
sudo apt update
sudo apt install mysql-server根據提示輸入 MySQL root 用戶的密碼
注意:該用戶是 MySQL 的根用戶,與系統 root 用戶不同
在 Select default authentication plugin 中有以下兩個選項,如果想使用新版加強的密碼加密插件,可以選擇第一個。想使用 5.x 版本的認證方法,選擇第二個。他們的區別主要在於對密碼強度的要求
Use Strong Password Encryption (RECOMMENDED)Use Legacy Authentication Method (Retain MySQL 5.x Compatibility)
這裡建議選擇第二個,在實際測試中發現第一項可能導致某些客戶端無法登錄的問題
Anaconda3Anaconda 是一個很方便的 Python 包和虛擬環境管理器,詳情請參考 Anaconda Doc
安裝 Anaconda3從 TUNA 下載 Anaconda3-xxxx.xx-Linux-x86_64.sh 格式的安裝腳本
賦予執行權限並安裝
chmod +x Anaconda3-xxxx.xx-Linux-x86_64.sh
./Anaconda3-xxxx.xx-Linux-x86_64.sh安裝過程中會詢問安裝位置,填寫為 /usr/local/anaconda3 即可
安裝最後一步會詢問 Do you wish the installer to initialize Anaconda3 by running conda init? [yes|no]
建議輸入 yes
更換為 TUNA 源換 TUNA 源
首先使用 user 用戶執行 conda config --set show_channel_urls yes 命令生成配置文件
修改 user 用戶 home 目錄下的 .condarc 文件為如下
channels:
- defaults
show_channel_urls: true
channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud在 root 用戶 home 目錄下建立軟連接
sudo ln -sf /home/user/.condarc /root/Anaconda 默認使用 Python 3.7,但實際開發中多使用 Python 3.6
清除索引緩存並將當前 conda 環境下 python 版本替換為 3.6
conda clean -i
conda install python=3.6
Java SE 8u241截至目前(2020年4月12日),Oracle 發布的最新 Java SE 版本為 14,但為了兼容舊項目以及其他應用,這裡仍然選擇安裝配置 Java SE 8u241
訪問 Java 官網
點擊 Java SE Development Kit 8u241 下的 Linux x64 Compressed Archive 右側連結下載
在彈出的對話框中選中 I reviewed and accept ... ,然後點擊 下載
在跳轉的頁面中登錄 Oracle 帳號
解壓後將其移動到 /usr/local/ 目錄下
編輯 /etc/profile 文件,增加如下配置
export PATH=$PATH:/usr/local/jdk1.8.0_241/bin
export JAVA_HOME=/usr/local/jdk1.8.0_241
export JRE_HOME=/usr/local/jdk1.8.0_241/jre
Go訪問 GoLang 官網
點擊 Linux 開始下載
解壓後移動到 /usr/local/ 目錄下
在 /etc/profile 中添加以下配置
export PATH=$PATH:/usr/local/go/bin
export GOROOT=/usr/local/go
export GOPATH=/usr/local/go/src
NodeJs安裝 NodeJs訪問 NodeJs 官網
點擊 長期支持版 開始下載
解壓後重命名為 node 並移動到 /usr/local/ 目錄下
在 /etc/profile 中添加以下配置
export PATH=$PATH:/usr/local/node/bin
安裝 cnpm由於 npm 官方源位於國外,這裡安裝 cnpm,使用淘寶源進行 nodejs 包管理,在之後的使用中可以直接使用 cnpm 替換 npm
npm install -g cnpm --registry=https://registry.npm.taobao.org
PHP 7.3安裝 PHP 7.3sudo apt install php7.3-fpm
使 FastCGI 監聽埠FastCGI 默認監聽 /run/php/php7.3-fpm.sock 文件,按照習慣這裡修改為監聽 9000 埠
將 /etc/php/7.3/fpm/pool.d/www.conf 中 listen 的值修改為 9000
Nginx安裝 Nginxsudo apt install nginx
配置 Nginx 解析 PHP編輯 /etc/nginx/site-enabled/default,在 server {} 塊中添加如下配置
location ~ \.php(.*)$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}替換將 server {} 塊中的 index 配置替換為如下
index index.php index.html index.htm;使用以下命令重啟 Nginx 和 php-fpm
systemctl restart nginx
systemctl restart php7.3-fpm訪問 http://127.0.0.1/ 測試 Nginx 是否配置成功
Nginx 的 web 根目錄默認位於 /var/www/html/ 目錄,在該目錄下創建 index.php 文件,寫入如下代碼並訪問 http://127.0.0.1/ 測試 php 可用性
<?php
phpinfo();
?>測試完成後刪除 index.php 中的內容
0x07 應用安裝及配置Chrome 瀏覽器下載 Chrome 並安裝
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo apt install ./google-chrome-stable_current_amd64.deb
Free Download Magager 5FDM5 是一個開源下載器
訪問 FDM5 官網 下載安裝包
sudo apt install ./freedownloadmanager.deb在 Chrome 中安裝 Free Download Manager 擴展,可接管瀏覽器下載行為
Sarasa Term SC 字體這是一個開源的等寬字體,中文名為 更紗黑體 ,該字體可以解決在 Chromium 內核中等寬字體渲染錯誤導致不等寬的問題(例如 YaHei Consolas Hybrid 在 VSCode 中)
雖然這個字體一開始用會覺得很奇怪,用習慣了還挺好看
訪問 Sarasa GitHub 下載 sarasa-gothic-ttf-x.xx.x.7z 格式的 Release 包
注意:該字體包中包含了多種字體,我們只需要雙擊 sarasa-term-sc 開頭的字體並點擊右上角 安裝 即可
MySQL Workbenchsudo apt install mysql-workbench
VSCode安裝 VSCode訪問 VSCode 官網 點擊 .deb 開始下載
sudo apt install ./code_x.xx.x-xxxxxxxxxx_amd64.deb
插件推薦Chinese (Simplified) Language Pack for Visual Studio CodeRemote - SSH: Editing Configuration Files將以下配置寫入 setting.json(VSCode 的用戶配置文件)
{
"editor.fontFamily": "Sarasa Term SC",
"editor.mouseWheelZoom": true,
"editor.fontSize": 16,
"todo-tree.tree.showScanModeButton": false
}
網易雲音樂訪問 網易雲音樂官網
右上角 下載全部客戶端 -> Linux版 -> ubuntu 18.04(64位)
sudo apt install ./netease-cloud-music_x.x.x_amd64_ubuntu_xxxxxxxx.deb
VLC開源播放器
sudo apt install vlc
FileZilla開源 FTP 客戶端
sudo apt install filezilla
Telegram加密即時通訊
sudo apt install telegram-desktop
PostmanHTTP 請求模擬/測試
安裝 Postman訪問 Postman 官網,點擊 Download 下載
將解壓後的文件夾移動至 /usr/local 下
Postman 桌面圖標在 /usr/share/applications/ 目錄下為其建立桌面圖標 postman.desktop 並寫入如下配置
[Desktop Entry]
Version=1.0
Name=Postman
GenericName=Postman
Comment=Postman
Exec=/usr/local/Postman/Postman
Terminal=false
Icon=/usr/local/Postman/app/resources/app/assets/icon.png
Type=Application
Categories=Development
修改 Postman 工作目錄Postman 默認將工作文件放在用戶 home 目錄下且不隱藏
這裡將 settings -> General -> WORKING DIRECTORY -> Location 修改為 /home/user/.postman/ 目錄
Meld開源文件/文件夾 Diff + Merge 工具
sudo apt install meld
HMCLMinecraft 第三方啟動器
注意:確保本地配置了 jdk 環境且 java 命令可用
安裝 HMCL訪問 HMCL 官網 下載 .jar 包
下載後將其重命名為 HMCL.jar
創建啟動腳本創建啟動腳本 hmcl.sh,便於桌面調用
#!/bin/bash
HMCL_PATH="/usr/local/minecraft"
HMCL_NAME="HMCL.jar"
cd $HMCL_PATH && java -jar $HMCL_NAME賦予其執行權限
chmod +x hmcl.sh下載 logo 並將其重命名為 logo.png
Logo 來自 HMCL 官方 Github 的資源目錄,同級目錄下有其他 Logo 可供使用,以下為可用的 Logo 連結列表
在 /usr/local 目錄下建立 minecraft 文件夾,將 HMCL 的 jar 包,啟動腳本和 logo.png 移動到該目錄中
HMCL 桌面圖標在 /usr/share/applications/ 目錄下為其建立桌面圖標 hmcl.desktop
[Desktop Entry]
Version=1.0
Name=HMCL
GenericName=Hello Minecraft! Launcher
Comment=A Minecraft Launcher which is multi-functional, cross-platform and popular
Exec=/usr/local/minecraft/hmcl.sh
Terminal=false
Icon=/usr/local/minecraft/logo.png
Type=Application
Categories=Game
修改下載緩存位置啟動器設置 -> 文件下載緩存目錄 修改為 /usr/local/minecraft/.minecraft/ 目錄
注意:需要將 HMCL 下載源修改為官方源才能正常安裝 fabric
Jetbrains 系列 IDE這裡使用 idea 舉例
訪問 JetBrains 官網,頂部 Tool 選擇要下載的 IDE,跳轉後點擊 Download ,下載 Ultimate 或 Professional 版本
解壓後將其放在 /usr/local/ 目錄下,其可執行程序一般位於 ide文件夾/bin/ 目錄下,例如 idea/bin/idea,使用 user 用戶運行,在配置過程中會自動創建桌面圖標,無需用戶配置
開始配置前請務必參考 知了 Blog