程序員的 Ubuntu 19.10 配置與優化指南


轉載請注明原文地址:程序員的 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 服務需要使用該用戶

用戶與系統環境變量配置

按照筆者的習慣,為保證 rootuser 使用相同的環境,/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

使 rootuser 配置同步

/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

筆者該命令的輸出中,最大分辨率 1920x1080x32,實際使用中可能會出現更高的分辨率

/etc/default/grub 中修改 Grub 顯示分辨率為剛才查詢到的最大分辨率

GRUB_GFXMODE=1920x1080x32

[可選] 修改 Grub 中顯示的操作系統順序

/etc/grub.d/ 目錄中存放的是 Grub 能夠引導的操作系統的配置文件,按照 啟動順序_操作系統名 生成實際的啟動順序

這里由於筆者習慣,需要將第一啟動項修改為 Windows,直接將 30_os-prober 前的數字改到小於 10_linux 即可

注意:該目錄下有一些需要在所有操作系統前啟動的配置,例如 00_header05_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 退出)
  • 配置文件

    • 未命名
      • 文本
        • 文本外觀
          • 終端起始尺寸 14040
      • 顏色
        • 文本和背景顏色
          • 關閉 使用系統主題中的顏色
          • 內置方案 -> 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/ 目錄下的 ubuntu-dock 擴展(該擴展會與 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 格式的包

解壓后重命名為 clashclashr 並賦予執行權限

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.conflisten 的值修改為 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 ,下載 UltimateProfessional 版本

解壓后將其放在 /usr/local/ 目錄下,其可執行程序一般位於 ide文件夾/bin/ 目錄下,例如 idea/bin/idea,使用 user 用戶運行,在配置過程中會自動創建桌面圖標,無需用戶配置

開始配置前請務必參考 知了 Blog


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM