轉載請註明原文地址: "程式員的 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: Win ...
轉載請註明原文地址:程式員的 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
有哪些用戶
文中主要涉及三個用戶
- root
- 根用戶,在系統中擁有最高許可權
- user
- 系統用戶,筆者使用的用戶名是 simonriley ,文中為便於辨認使用 user 代替
- www-data
- 大部分 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 的文件傳輸/請求模擬 |
git | GitHub 命令行客戶端 |
htop | 進程管理 |
fcitx-googlepinyin | Google 拼音輸入法 |
gnome-tweak-tool | Gnome 優化工具 |
gnome-shell-extensions | Gnome 擴展管理 |
chrome-gnome-shell | Chrome 的 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 視窗
-
右上角設置
- 配置文件首選項
-
常規
- 關閉 啟用菜單快捷鍵(影響 htop 退出)
-
配置文件
- 未命名
- 文本
- 文本外觀
- 終端起始尺寸 140 列 40 行
- 文本外觀
- 顏色
- 文本和背景顏色
- 關閉 使用系統主題中的顏色
- 內置方案 -> Tango 暗色
- 關閉 使用系統主題的透明度
- 開啟 使用透明背景 ,將其調整為約 15%
- 文本和背景顏色
- 滾動
- 關閉 回滾限制到 10000 行
- 文本
- 未命名
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 軟體
卸載如下軟體包
- AisleRiot 紙牌游戲
- Amazon
- GNOME 掃雷
- GNOME 數獨
- GNOME 麻將牌
- Firefox 網路瀏覽器
或者您習慣使用 Firefox 瀏覽器可以留下它,但強烈推薦您使用 Chrome 瀏覽器
安裝 Chrome 請參考步驟 0x07
卸載預裝擴展
刪除 /usr/share/gnome-shell/extensions/
目錄下所有擴展(Dash to Dock 擴展與某個預裝擴展會產生衝突導致安裝失敗)
Alt + F2
,輸入 r
並回車重載桌面
在 Chrome 中安裝擴展
在 Chrome 中安裝 GNOME Shell integration 擴展
安裝完成後訪問 Gnome Extensions
進入擴展頁面後開啟擴展即可自動安裝,在 優化 應用中可以管理擴展
推薦如下擴展
- User Themes
- Dash to Dock
- Top Icons Plus
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(優化)
- 外觀
- 主題
- 應用程式 -> Adwaita-dark
- 圖標 -> Paper
- Shell -> Flat-Remix-Darkest-fullPanel
- 主題
- 開機啟動程式 -> 添加 Clash
配置 Dash to dock 擴展
打開 Gnome Tweak Tool(優化)
-
擴展
- 配置 Dash to dock
-
位置和大小
- 智能隱藏設置
- 自動隱藏
- 開啟 在全屏模式下啟用
- 避開視窗 -> 選擇 僅最大化視窗
- 自動隱藏
- 智能隱藏設置
-
啟動器
- 開啟 隔離工作區
-
外觀
- Customize windows counter indicators -> Dashes
- 自定義透明度 -> 固定
- 20%
Alt + 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 生成運行日誌
- 啟動新的 Clash 客戶端
- 每次啟動時檢查日誌是否超過 15 份,超出刪除
在該文件夾下建立 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)
這裡建議選擇第二個,在實際測試中發現第一項可能導致某些客戶端無法登錄的問題
Anaconda3
Anaconda 是一個很方便的 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.3
sudo 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
安裝 Nginx
sudo 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 5
FDM5 是一個開源下載器
訪問 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 Workbench
sudo 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 Code
- C/C++
- ESLint
- Markdown All in One
- markdownlint
- Polacode
- Project Manager
- Python
- Remote Development
- Remote - Containers
- Remote - SSH
- Remote - SSH: Editing Configuration Files
- Remote - WSL
- Todo Tree
將以下配置寫入 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
Postman
HTTP 請求模擬/測試
安裝 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
HMCL
Minecraft 第三方啟動器
註意:確保本地配置了 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