在Ubuntu下将iso文件刻录到U盘, 可以使用系统自带的Startup Disk Creator.

分区方式

使用整个硬盘, 一个512G SSD, 使用默认的分区方式, 会创建一个512M的EFI分区, 剩下的全部分为根目录.

这里有一个坑需要留意一下, 如果机器是双硬盘并且一块硬盘已经安装了Linux且有引导区, 你希望新系统安装在另一块硬盘上并且互不干扰, 那么在安装时一定要选对从安装的目标硬盘引导, 否则不小心选错了你会发现还必须从另一块硬盘启动才能引导这个系统.

$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 7.8G 0 7.8G 0% /dev
tmpfs 1.6G 1.9M 1.6G 1% /run
/dev/sdb2 468G 18G 427G 4% /
tmpfs 7.8G 26M 7.8G 1% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
/dev/sdb1 511M 7.8M 504M 2% /boot/efi
tmpfs 1.6G 84K 1.6G 1% /run/user/1000

如果使用自定义安装, 如果是一个机械硬盘, 可以划分两个分区, 一个/boot, 1024M(或者512M), 另一个/, 使用剩下所有, 两个区都用ext4. 引导区直接选中这块硬盘(本例是/dev/sdb). 而如果是SSD, 就不需要分了, 将整个硬盘作为一个区挂载到/就可以了, 现在的SSD上划分区是没什么意义的.

$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 7.7G 0 7.7G 0% /dev
tmpfs 1.6G 1.9M 1.6G 1% /run
/dev/sdb2 937G 7.1G 883G 1% /
tmpfs 7.7G 170M 7.6G 3% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 7.7G 0 7.7G 0% /sys/fs/cgroup
/dev/loop0 55M 55M 0 100% /snap/core18/1705
/dev/loop1 241M 241M 0 100% /snap/gnome-3-34-1804/24
/dev/loop2 63M 63M 0 100% /snap/gtk-common-themes/1506
/dev/loop3 28M 28M 0 100% /snap/snapd/7264
/dev/loop4 50M 50M 0 100% /snap/snap-store/433
/dev/sdb1 945M 137M 744M 16% /boot
tmpfs 1.6G 52K 1.6G 1% /run/user/1000

使用USTC镜像替换自带的软件源

自带的软件源为http://cn.archive.ubuntu.com/ubuntu/ , 因为支持ipv6, 所以在某些ipv6配置有问题的网络下, 更新容易出错, 可以使用 -o Acquire::ForceIPv4=true 参数强制指定IPv4, 或者更改为USTC等其他镜像源. 更改之后的 /etc/apt/sources.list 内容为(已过滤注释和空行)

deb https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted
deb https://mirrors.ustc.edu.cn/ubuntu/ focal universe
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-updates universe
deb https://mirrors.ustc.edu.cn/ubuntu/ focal multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-updates multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu focal-security main restricted
deb http://security.ubuntu.com/ubuntu focal-security universe
deb http://security.ubuntu.com/ubuntu focal-security multiverse

小红点中键禁用粘贴

这个问题在20.04中依然存在, 和18.04一样的解决办法

# 查看xinput设备列表
$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=11 [slave pointer (2)]
⎜ ↳ TPPS/2 IBM TrackPoint id=12 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ Integrated Camera: Integrated C id=9 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=10 [slave keyboard (3)]
↳ ThinkPad Extra Buttons id=13 [slave keyboard (3)] # 对应指点杆的设备是id=12
# 查看按键, 其中1, 2, 3分别对应的 左, 中, 右键
milton@milton-X240:~$ xinput get-button-map 12
1 2 3 4 5 6 7 # 将中键禁用
milton@milton-X240:~$ xinput set-button-map 12 1 0 3 4 5 6 7

将最后这行加到 .bashrc

输入法

自带的默认输入法为ibus. ibus在18.04的时候就已经是默认自带, 但是当时还是安装使用了fcitx, 这次直接使用ibus, 感觉也很不错, 配置在 Settings-> Region & Language-> Input Sources, 添加 Chinese (Intelligent Pinyin). 如果没有这个选项, 说明中文相应的软件还没有安装, 点击下面的Manage Installed Languages, 在打开的对话框里会提示要安装新的软件, 一路安装完, 再重启, 就可以选择智能拼音的输入法了.

为什么不使用fcitx而使用ibus呢? 因为在一些软件里, 默认是没法使用fcitx输入中文的, 例如sublime text, qt creator, 而ibus就不存在这个问题. 在使用上, 两者并无区别.

配置的时候, 要勾选 Candidates下面的三个选项: Dynamic adjust ..., Remember every input ..., Show suggestions, 将Sort candidates by 设为 Frequency, 这样才能在打字中将输入历史中的常用词提前.

字体

将自定义的TTF字体放到/usr/share/fonts/truetype/下的新建字体目录,

cd /usr/share/fonts/truetype/
sudo mkdir custom
cd custom/
sudo cp ~/Backup/fonts/*.* .
sudo fc-cache -f -v

APT使用Socks5代理

从18.04开始, 支持使用socks5代理, 命令参数参考下面安装Sublime Text的例子

sudo apt -o Acquire::http::Proxy="socks5h://127.0.0.1:1090" install sublime-text

安装Sublime Text

参考官网的安装说明 http://www.sublimetext.com/docs/3/linux_repositories.html

# Install the GPG key:
wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add - # Ensure apt is set up to work with https sources:
sudo apt install apt-transport-https # Stable
echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list #
sudo apt update
sudo apt install sublime-text

中文输入法: iBus工作正常

安装Package Control: 参考官网 https://packagecontrol.io/installation 安装说明, 直接在菜单Tool -> Install Package Control, 或者Shift+Ctrl+P, 输入Install Package Control回车. 安装过程无动静(就像回车无效一样), 安装完成后会有弹出提示框.

在Package Controll: Install Package 里安装 Codecs33 和 ConvertToUTF8, 后者依赖于前者的编解码. 此插件是必装插件, 用于查看GBK编码的文件. 安装Sublimerge 3用于对比文件.

Update 2021-06-30: 升级到Sublime Text 4之后, 不再需要安装Codecs33

Note: For those who upgrade to Sublime Text 4, please remove or disable Codecs33 plugin which files are included in embedded Python 3.8.

Sublime Text 的垂直选择功能不像其他文本编辑器那样通过按钮开关,而是通过鼠标右键+Shift组合按键就可以进行选择。

GNOME Tweaks

Tweaks还是必装的, 可以使带鱼屏显示得更紧凑, 另外再下载安装 Unit-shell https://github.com/hardpixel/unite-shell 可以将顶栏的时钟右移, 并使顶栏右侧的图标更紧凑(不显示展开的小三角).

apt install gnome-tweaks

dconf-editor

安装dconf-editor用于隐藏Dock上显示的外部存储图标. 从19.0x开始, 会默认展示这些图标, 可以通过命令行或者dconf-editor将这些图标关闭

gsettings set org.gnome.shell.extensions.dash-to-dock show-mounts false

如果使用dconf-editor界面工具, 需要浏览到 org > gnome shell > extensions > dash-to-dock page, 将 show-mounts 设置为off

网络

系统默认安装就已经自带了openwpn, 所以不需要任何额外安装, 直接新增打开配置文件就可以添加.

V2R安装

下载 https://install.direct/go.sh 后, 直接通过 sudo bash go.sh 安装, go.sh 支持如下参数, 可以下载到本地后进行安装

-p 或 --proxy: 使用代理,格式与 curl 接受的参数一致,比如 "socks5://127.0.0.1:1080" 或 "http://127.0.0.1:3128"。
-f 或 --force: 强制安装。在默认情况下,如果当前系统中已有最新版本的 V2R,go.sh 会在检测之后就退出。如果需要强制重装一遍,则需要指定该参数。
--version: 指定需要安装的版本,比如 "v1.13"。默认值为最新版本。
--local: 使用一个本地文件进行安装。如果你已经下载了某个版本的 V2R,则可通过这个参数指定一个文件路径来进行安装。 # 示例:使用地址为 127.0.0.1:1080 的 SOCKS 代理下载并安装最新版本:
./go.sh -p socks5://127.0.0.1:1080 # 安装本地的 v1.13 版本:
./go.sh --version v1.13 --local /path/to/v2r.zip

用于管理v2r订阅, 生成config.json并启动v2r的工具脚本: https://github.com/MiltonLai/python-tools/tree/master/v2sub , 如果需要界面工具, 可以使用这个 https://github.com/IOsetting/v2rock

Update 20201107: 安装方式已经更新, 软件维护团队使用了新的github地址 github.com/v2fly/, 在releases中下载最新的打包文件后, 解压, 将两个可执行文件复制至 /opt/v2rock/ (如果目录不存在就创建)就可以了, 然后安装v2rock, 在v2rock的settings中, 将可执行文件的路径配置好就可以了.

Update 一个服务器端的设置

因为V2R运行在服务端和客户端的实例是一样的, 区别就在于配置不同的inbounds和outbounds, 在Ubuntu Server下配置的明细:

  1. 防火墙开启端口

  2. 安装V2R, 配置, 在测试阶段可以用 /usr/bin/v2r/v2r -c /etc/v2r/config.json , 注意要配置listen, 看netstat -lnp, 如果没配置listen, 可能会被绑到ipv6网口.

$ more /etc/v2r/config.json
{
"log": {
"loglevel": "info",
"access": "/var/log/v2r-access.log",
"error": "/var/log/v2r-error.log"
}, "inbounds": [{
"port": 59000,
"listen": "192.168.13.25",
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "55f20598-87c6-4a60-b472-81ccfddce81f"
}
]
}
}],
"outbounds": [{
"protocol": "freedom",
"settings": {}
},{
"protocol": "blackhole",
"settings": {},
"tag": "blocked"
}],
"routing": {
"rules": [
{
"type": "field",
"ip": ["geoip:private"],
"outboundTag": "blocked"
}
]
}
}
  1. 因为V2R配置在内网节点, 还需要在网关机器配置转发, 这个网关机器是Centos7
firewall-cmd --zone=public --add-port=50000/tcp --permanent
firewall-cmd --permanent --zone=public --add-forward-port=port=50000:proto=tcp:toaddr=192.168.13.25:toport=59000
firewall-cmd --reload
  1. 对应客户端的配置
$ more /etc/v2r/config.json
{
"policy": null,
"log": {
"loglevel": "info"
},
"inbounds": [
{
"tag": "socks-inbound",
"port": 1090,
"listen": "127.0.0.1",
"protocol": "socks",
"settings": {
"udp": true
}
}
],
"outbounds": [
{
"tag": "proxy",
"protocol": "vmess",
"settings": {
"vnext": [
{
"address": "123.123.123.123",
"port": 50000,
"users": [
{
"id": "55f20598-87c6-4a60-b472-81ccfddce81f"
}
]
}
],
"servers": null,
"response": null
}
},
{
"tag": "direct",
"protocol": "freedom",
"settings": {
"vnext": null,
"servers": null,
"response": null
},
"streamSettings": null,
"mux": null
},
{
"tag": "block",
"protocol": "blackhole",
"settings": {
"vnext": null,
"servers": null,
"response": {
"type": "http"
}
},
"streamSettings": null,
"mux": null
}
],
"stats": null,
"api": null,
"dns": null,
"routing": {
"domainStrategy": "IPOnDemand",
"rules": [
{
"type": "field",
"ip": [
"geoip:private"
],
"outboundTag": "direct"
}
]
}
}

电池管理

只需要安装tlp就可以查看电池充电阈值了.

sudo apt install tlp
# 查看电池状态
sudo tlp-stat -b
--- TLP 1.3.1 -------------------------------------------- +++ Battery Features: Charge Thresholds and Recalibrate
natacpi = active (data, thresholds)
tpacpi-bat = inactive (kernel module 'acpi_call' not installed)
tp-smapi = inactive (kernel module 'tp_smapi' not installed) +++ ThinkPad Battery Status: BAT0
/sys/class/power_supply/BAT0/manufacturer = SANYO
/sys/class/power_supply/BAT0/model_name = 42T4845
/sys/class/power_supply/BAT0/cycle_count = (not supported)
/sys/class/power_supply/BAT0/charge_full_design = 3963 [mAh]
/sys/class/power_supply/BAT0/charge_full = 3177 [mAh]
/sys/class/power_supply/BAT0/charge_now = 2246 [mAh]
/sys/class/power_supply/BAT0/current_now = 0 [mA]
/sys/class/power_supply/BAT0/status = Unknown /sys/class/power_supply/BAT0/charge_start_threshold = 39 [%]
/sys/class/power_supply/BAT0/charge_stop_threshold = 70 [%] Charge = 70.7 [%]
Capacity = 80.2 [%]

设置充电阈值使用 setcharge命令

sudo tlp setcharge 50 80 BAT0

文件管理

20.04的Nautilus还是一样的难用, 而且还出现了一个新的问题, 就是桌面上的文件, 不能通过Del键删除了. 必须打开文件管理窗口在里面删除.

Update 2020-07-14: 系统自动更新Files升级到3.36.3-stable后, 在桌面上可以直接按Del键删除文件了, 但是按Shift + Del时没有弹出确认框.

WPS

直接通过官网下载的deb 11.1.0.9505版, 安装后, 启动非常慢, 需要20多秒才能打开窗口, 通过apt purge wps-office卸载后, 通过snap安装wps-office 10.1.0.6757 from liuyang8, 这个版本启动非常快.

sudo snap install wps-office

注:对HiDPI支持不好

Update 2020-07-14: 安装7月9日发布的 Version 11.1.0.9604后, 启动正常, 对HiDPI的支持也正常.

WPS字体还是要单独安装, 否则启动后会弹出报字体缺失错误. 需要补充的字体是

  • mtextra.ttf
  • symbol.ttf
  • webdings.ttf
  • wingding.ttf
  • wingdng2.ttf
  • wingdng3.ttf

SSH终端管理Asbru

在官网 https://github.com/asbru-cm/asbru-cm/ 参考安装说明进行安装

curl -s https://packagecloud.io/install/repositories/asbru-cm/asbru-cm/script.deb.sh | sudo bash
sudo apt-get install asbru-cm

使用正常

邮件客户端Thunderbird

通过apt install安装, 使用正常

设置邮箱顺序

默认安装的Thunderbird, 邮箱顺序是固定的, 不能编辑, 需要安装Add-on:

Tools->Add-ons->Find more add-ons, 输入Manually sort folders, 安装. 安装完成后, 在Tools下面会增加一个Manually Sort Folders菜单, 在里面可以调整邮箱顺序.

备份邮件,导出邮件

  • 普通方式: 在邮箱里全选邮件, 通过File->Save as->File导出为单个的eml文件
  • 工具方式: 安装Add-on:ImportExportTools NG, 通过工具导出. 选中要导出的目录后, Tools->ImportExportTools NG->Export Remote Folder, 会将这个目录下所有邮件, 以文本的形式导出成单个文件.

腾讯QQ

通过 https://im.qq.com/linuxqq/download.html 下载对应的64位安装包直接安装. 这个QQ实际上是web包装的版本, 功能上相对简陋, 和微信一样必须通过手机扫码才能登录. 对Ubuntu20.04的暗色风格支持不好, 点击关闭不是最小化而是直接关闭. 好在是个官方维护的版本, 期待后续版本改进吧.

Transmission Remote GUI

可以直接通过 apt install transgui安装了, 版本就是最新的5.18, 不需要到github项目去下载64位压缩包, 那个解压完反而是不能运行的(在19.xx和20.xx上都不能运行), 因为GTK2和GTK3不兼容.

默认启动级别

# 命令行状态
systemctl set-default multi-user.target # 图形界面状态
systemctl set-default graphical.target

在命令行下启动图形界面

sudo systemctl start lightdm

命令行状态启动后, 切换到登录提示符按 Ctrl + Alt + (F1~F6) 进入.

图形界面状态启动后, 按Ctrl+Alt+(F3~F6)进入命令行, 按Ctrl+Alt+F2返回图形界面.

安装黑屏问题

在一台2013年的Atom N2800机器上安装Ubuntu20.04 Server时, 在安装界面选择安装后, 读安装盘数秒即黑屏, 再无反应. 更换其他发行版包括Ubuntu18.04, Lubuntu, Linux Mint, Debian, 均出现同样情况. 用Live CD试运行也是一样的情况. 但是用Win PE盘可以正常启动.

经各种尝试, 最终发现是ACPI相关的问题. 解决的方法是:

  1. 在使用安装盘启动时, 需要选择非UEFI的安装盘
  2. 在选择完安装盘后, 立即按F11, 进入Ubuntu的安装选项界面
  3. 在选项界面, 按F6, 调出选项菜单, 在里面勾选 ACPI=off, noapic 和 nolapic 这三个选项,

然后选择Install就能正常启动安装界面了.

Update:

在已经安装的系统, 如果要在启动时进入Grub界面并修改参数, 要修改/etc/default/grub, 将hidden一行注释, 并将timeout的时间修改成正整数, 然后再执行 sudo update-grub.

在启动时, 进入Advance菜单, 在启动项上按e, 如果要修改acpi=off, noapic, nolapic这些参数, 在出现的编辑界面中, 修改linux开头的那行

Update:

经过上面的处理, 可以正常安装和启动, 但是启动后查看cpuinfo可以看到, 只认出了一个核. 经过各种尝试, 可以用下面的参数组合, 既能启动, 又能识别多核

noapic pci=assign-busses apicmaintimer idle=poll reboot=cold,hard

Ubuntu20.04安装记录的更多相关文章

  1. Ubuntu20.04安装Typora

    Ubuntu20.04安装Typora 安装方法 # optional, but recommended sudo apt-key adv --keyserver keyserver.ubuntu.c ...

  2. Ubuntu20.04安装 maven并配置阿里源

    Ubuntu20.04安装 maven并配置阿里源 sudo apt update sudo apt install maven #安装maven,默认安装路径为/usr/share/maven 添加 ...

  3. ubuntu20.04安装网易云音乐

    Ubuntu20.04安装网易云 进入网易云音乐下载地址 下载对应客户端 进入终端,安装 sudo dpkg -i 软件名.deb

  4. ubuntu20.04安装EasyConnect兼容性问题解决

    目录 1. 命令行启动EasyConnect 2. 降级pango 3. 重新启动EasyConnect,即可成功启动 Ubuntu20.04安装EasyConnect后无法启动的解决方案 工作使用操 ...

  5. Ubuntu20.04 安装MongoDB及其基本使用

    MongoDB 官方文档 本博客旨在自我学习使用,如有任何疑问请及时联系博主 基本介绍 MongoDB 是由C++语言编写并基于分布式文件存储的开源数据库. MongoDB 是一款介于关系数据库和非关 ...

  6. Ubuntu20.04安装PEA软件

    PEA软件可用于实时精密卫星钟差估计,精密卫星定轨,精密单点定位,电离层建模以及DCB估计等. Ginan开发人员推荐使用Ubuntu18.04或Ubuntu20.04搭建,本文使用Ubuntu20. ...

  7. Ubuntu20.04安装Redis

    本文介绍了如何在Ubuntu20.04上安装Redis. 安装Redis sudo apt install redis-server 检查服务的状态 安装完成后可以通过以下命令检查服务的状态 sudo ...

  8. Ubuntu20.04安装MongoDB

    本教程描述了如何在Ubuntu20.04上安装MongoDB4.4 安装MongoDB Ubuntu 20.04默认存储库中不提供最新版本的MongoDB,因此需要在系统中添加官方的MongoDB存储 ...

  9. ubuntu20.04安装测试uhttpd

    uhttpd是openwrt上运行一个高效小型Http服务,支持cgi, lua等特性.可以直接通过snap方式安装,如果是16.04,18.04或者20.04,snap已经默认安装了:如果是其它版本 ...

  10. Ubuntu20.04安装和配置JDK

    首先在官网下载Linux系统的jdk到本地 创建/java目录 sudo mkdir /java 这是直接创建在根目录下的. 3. 将下载的jdk压缩包移动到java文件夹 sudo mv 你的安装包 ...

随机推荐

  1. Verilog Review

    Agenda 目的 Verilog概述 Verilog建模 模块 模块组成 书写建议 时延 Verilog基本语法 标识符 可读性 注释 空格 数据类型 操作数 运算符 条件语句 循环语句 函数 Ve ...

  2. TCP连接状态的多种判断方法

    ​ 前言 在TCP网络编程模型中,无论是客户端还是服务端,在网络编程的过程中都需要判断连接的对方网络状态是否正常.在linux系统中,有很多种方式可以判断连接的对方网络是否已经断开. 通过错误码和信号 ...

  3. JDK21更新特性详解

    有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top 首发博客地址 文章更新计划 文章更新计划 | 430: | String T ...

  4. [转帖]TIDB_HOT_REGIONS

    https://docs.pingcap.com/zh/tidb/stable/information-schema-tidb-hot-regions TIDB_HOT_REGIONS 表提供了关于当 ...

  5. [转帖]金仓数据库KingbaseES分区表 -- 声明式创建分区表

    https://www.modb.pro/db/638045 1. 创建分区表同时创建分区 1.1 准备环境 # 创建分区表同时创建分区 create table tb1(id bigint,stat ...

  6. [转帖]金仓数据库KingbaseES数据目录结构

    KingbaseES数据库结构 [kingbase@postgresV8]$ tree -LP2data/ . ├── data │ ├── base # 存储用户创建的数据库文件及隶属于用户数据库的 ...

  7. [转帖]Linux平台shell脚本输入密码,不显示明文

    需求:shell脚本中输入密码,要求不显示明文,需要将其转换为"*"星号,或者不显示 实现方案:有两种实现方案,一是通过stty命令来实现,二是直接使用read来实现 方案一:使用 ...

  8. [转帖]CPU结构对Redis性能的影响

    文章系转载,便于分类和归纳,源文地址:https://wangkai.blog.csdn.net/article/details/111571446 CPU的多核架构和多CPU架构都会影响到Redis ...

  9. 公司内部Oracle RAC测试环境的简单使用说明.

    1. 公司内部要测试Oracle RAC系统的创建与测试工作. 因为Oracle RAC 主要需要 多个网段以及共享存储, 直接使用ESXi搭建比较复杂 所以我这边使用vagrant的方式搭建Orac ...

  10. void的讲解 、any的讲解 、联合类型的讲解

    1. void的使用 空值一般采用 void 来表示,同时void也可以表示变量 也可以表示函数没有返回值哈 使用了 void 就不能够使用 return 哈 let sum = function() ...