Ubuntu 22.04 LTS 入门安装配置&优化、开发软件安装
例行前言
最近在抉择手上空余的笔记本(X220 i7-2620M,Sk Hynix ddr3 8G*2 ,Samsung MINISATA 256G)拿来运行什么系统比较好,早年间我或许还会去继续使用Win10的LTSC,但是后续版本升级后后台总多了些奇奇怪怪的进程,无端占用了很多的CPU和内存,哪怕它确实简洁,去掉了所有的微软捆绑的冗余程序,但是对我这台14年的小黑来说,无端50%的CPU使用与额外30%的内存占用太伤了。(这点询问过官方,也问过专业的师傅,无解)
徘徊了所谓的国产的UOS、Deepin、Hackintosh等诸多系统,最终还是决定回归Ubuntu的怀抱(主要是可以改成自己喜欢的样子,而不是去适应设计者的喜好)。
事先说明,Ubuntu并不影响日常的开发工作,IDEA、VS code、WPS等都是有的,但是和Mac一致,打游戏是不现实的,很少的适配,适合极客党和折腾党。
写这个文档也主要是先前18和20的文档不适用了,很多地方出现了完全不同的操作,部分软件的包也取消了,配置方面不能完全照着以前的copy了,所以上新,20的弃了TAT
1.安装
步入正体,第一步先是安装,当然,我是已经安装好了(为了截图又装了n遍QAQ),现在写文档就已经是在linux下进行的了
1.1 下载镜像
Ubuntu的官网一般不会被墙,但偶尔政治原因总也会抽点风.它的官网https://ubuntu.com/
截至2022.9.22,它的官网长这样:
正常下载它家的镜像就是点击上面的Download然后就得到了下图:
之后直接点22.04 LTS就可以直接下载镜像。
1.2 制作启动盘
安装系统的话,启动盘是必须的,这东西也就是所谓的介质。
目前看的话,Ubuntu官方推荐的是balenaEtcher,这个工具可运行于win、mac、linux,用于直接将镜像写入U盘,官网如下:
根据你的原系统环境,它会自动推荐对应的版本供下载,下载出来的界面就和官网长一样,操作也很简单,第一步选择镜像(刚刚下的),第二步选择一个你的U盘,这将会清空你的U盘,所以提前备份好文件,U盘需大于4G,且不能是SD卡;然后就直接Flash!等就可以了。
使用rufus等其他写入工具,原理都是一样的,个人更喜欢rufus:
截止发文编辑时间,rufus最新的版本是3.20,下拉直接下载便携版就可以(通过Github下载,网络寄的回头我把用得到的工具打个包上传吧)。下载后打开:
之后想恢复正常U盘的话像下图那样操作就可以了(恭喜你学会了制作启动盘,WinPE、Linux、Mac都是一个道理的)。
1.3 修改BIOS以支持从U盘启动
安装肯定是要你的主板BIOS允许从BIOS启动的,因此需要进BIOS修改,具体如何进BIOS视机型与主板而定,需自行百度“XXXX电脑如何进BIOS”
进入BIOS主要是使SATA为AHCI模式,关闭安全启动,现在的主板商搞出了一堆各式各样的BIOS界面和功能设置,故不能提供详细教程,请自行百度,见谅。
1.4 通过介质安装
修改好BIOS并使用U盘进入引导后,你的电脑就会进入一个黑底白字的选择界面,第一行是尝试进行安装,第二行是进安全模式(低分辨率),不用操作等它自己进入第一个选项就可以了。
漫长等待后(时间视U盘读写速度和主板芯片而定,一般不会超过5分钟,小阿凡友情提示你该去喝点水,远眺一下而不是继续盯着它 ~ ),进入图形化操作界面,左侧第一栏是系统语言选择,默认操作语言是英语,拉到底就有中文了,这时候旁边的试用(体验操作,进系统后桌面也可以进行安装)和安装就都能看得懂。这里上的是试用的图(主要还是为了方便截图 ~ 直接安装就可以的):
安装并没有太多的步骤,从18到22的安装都是一致的。第一步都是例行欢迎 ~ :
接下来挑选键盘布局,你应该没有什么奇奇怪怪的键盘吧…有也没关系!点击探测键盘布局跟着提示走就可以了,一般用的都是US键盘
由于我是点的试用,中间截图编辑此文档是提前就连接网络了的,所以这一步之前应该还有一个连接网络,建议连接,能省不少事的。之后便是安装细节问题,由于个人并不喜欢自带的那些小游戏(连连看之类)以及本地化音乐播放器等软件,所以我选择最小安装,其他里的下载更新看个人,你感觉不急这一时就选上,这无非就是将后续系统更新的时间放到了安装这里(然而之后还是会有更新的),同时,如果你是使用独立显卡的用户,那么建议你勾上最后一个选项以避免硬件驱动异常和显示异常。
然后就需要决定安装类型了,由于我早就安装好了,所以这里显示已经安装,只是为了截图留个过程干脆重新装了,如果你之前用的是Win那么就会有与Win共存的选项,Mac同理。共存就是所谓的双系统,还是提一嘴吧,与win构成的双系统需提前安装好Win,之后会顶替掉win的启动项,以后都是通过Ubuntu的引导(就是最开始要你选择尝试安装还是安全启动的黑底白字界面)去决定启动哪个系统,之前有试过三系统共存(安装顺序win-linux-hacintosh),有一说一,只有黑苹果的Colver四叶草引导和OC引导比较舒适,其他的多少都有点不尽人意。
回归正题,这里因为我是选择完全独立使用一个系统,因此选择格盘安装,其他选项就是自定义分区和安装方式,这个涉及到Linux的分区格式,可以参考我之前的文章,看不懂就看后面再详写一下各系统的文件系统吧(阿巴阿巴,下次一定 ~ )
选择好安装方式后就会提醒你它将对硬盘文件系统作出以下改动:
接下来是对时区的设定,一般来讲,你应该是在东八区,所以不用改动,如果不是,那么我很荣幸你能看到它,请设置到你所在的区域。
最后一个设定,设置你的个人登陆信息,建议全英文,中文用户名不管是win还是linux都存在很大弊端
接下来就静等安装结束即可。
值得一提的是,安装完成后需要重启,机器会黑屏告诉你需要拔掉介质再回车(enter),所以看到黑屏不要慌。
2. 配置
安装完成后的第一次启动,输入你刚刚设定的密码进入桌面,系统会自动检测一次更新和提示对机器进行一次初始化配置,先进行初始化配置。
2.1 初始化
首先是登陆Ubuntu的单点登陆账号,这将用于后面的更新和应用商店等操作,没有的话建议注册一个Ubuntu的单点账户进行登陆。
然后是设置Livepatch,这个程序的意义在于可以免重启安装更新,十分建议开启:
Livepatch是需要Ubuntu账号进行激活的:
然后,嗯,失败。不用管,继续前进吧(网络问题)
决定是否帮助改进:(处于隐私,俺不!)
决定是否开启定位功能:
完成!开始使用吧~
中间应该会弹出一个更新窗口,现在再来处理它,立即安装:
一路继续就可以了:
重启吧,而且由于后续更新问题,建议重启后再打开软件更新器再检查一次更新,避免出问题。
2.2 配置Livepatch
更新完了嘛,就再来看刚刚开启失败的Livepatch,打开软件和更新程序看到Livepatch这一栏:
之所以建议前面登陆单点登陆账户就是因为它是需要和你的Ubuntu账户绑定的(22前的版本是直接登陆就可以开启),此时的你并不能直接开启其功能,它还需要你提供你的账户令牌(token):
token的获取需登陆这个网址https://ubuntu.com/advantage#livepatch,服务器原因会比较卡:
通过Register进入登陆界面以获取免费的Token:
确认登陆信息:
之后获取到的页面下拉就可以看到你的token,每个免费账户的token只能绑定3台设备:
这时候复制(Ctrl+C)再打开软件和更新程序,找到Livepatch进行关联,令牌就是Token,处于网络问题,失败后关掉再打开看看可能就是关联好的:
每个账户最多可免费激活三台设备,不过除了我估计一般人也不会搞那么多设备在手上装着玩。
至此,初始化阶段告一段落。
2.3 开启root
因为默认下我们只是普通用户,对linux来说,系统文件是只允许root用户去修改的,所以我们开启root用户的密码,这样在root权限下,我只需要输入命令就可以了,不再需要sudo增设权限。(主要是懒得多打)开启命令为:
sudo passwd
密码需要连续输入两次以确保无误,提示不符合规定等可以无视,保证密码一致即可。请记住你设置的密码!
3 优化
对个人用户而言,linux 与 win 最大的区别就是 linux 使用命令行远比图形化操作简便,因此使用终端的操作是一定要会的。
对Ubuntu而言,在任何页面都可以使用Ctrl + Alt +T唤起终端:
这里显示的是 用户名@主机名:路径(权限符),对linux来讲,~表示当前用户的根目录,即/usr/home/(用户名)/,权限符$表示普通用户,#表示root用户,也就是超级管理员权限。这些后面用多了也就逐渐理解了。
首先进行更新软件列表操作,处于一些原因,并不推荐去使用国内的软件源,快了点但是问题也多,更新不及时,隐藏病毒等都是可能的,当然像阿里之类的大源也是不太可能出问题的。个人更喜欢用原版源睡前丢一边慢慢更。
在终端中输入:
sudo apt-get update
之后需要输入你的登陆密码(开机的那个),然后就会跑一大段命令(高级起来了)。更新完软件列表(检测有没有可以更新的程序)后再输入:
sudo apt-get upgrade
3.1 修改Dock
早先版本的Dock,也就是“任务栏”部分一直不合口味,因此早先版本的我都会直接卸载掉自带的Dock换成自己喜好的,但是!22自带的Dock就已经很好看了:
在设置里就可以直接改成这样了:
嗯哼 ~ 我很满意!
打住!,如果你对现在的结果已经很满意了,那么换个自己喜欢的壁纸就可以了,往后的操作适合折腾党。
3.2 安装Tweaks
Ubuntu最合我心意的就是他可以高度自由化的定义UI,你所看到的都可以去自定义,例如我的桌面现在长这样:
它所依赖的就是Tweaks,通过命令进行安装,在终端中输入:
sudo apt intall gnome-tweaks
为了方便管理和添加,还需添加:
sudo apt install gnome-shell-extension-prefs gnome-shell-extension-manager -y
然后你的程序列表里就多了下图的拓展:
打开第二个英文名称的程序进行管理和添加拓展
emmm…我事先添加了User Theme,在旁边的Browse添加,第一个就是:
之后便可以在拓展中使用自定义的主题了。
3.3 更改主题
嗯,我从来没想到打脸会来得这么快,一调主题Dock就寄了,所以先去刚刚下User Theme拓展的Browse再去搜索一个Dash to Dock:
然后在左边Installed栏关掉Ubuntu Dock,然后恭喜,系统卡死,强制关机重启即恢复正常。
这时再去下载GNOME主题,有一说一,下载的时候那不是一点点卡,是直接进不去,建议使用GitHub进行安装。
个人的话,比较喜欢WhiteSur的窗口设计与Fluent的图标设计,组合下来能达到这个效果: 出于兼容性,从github上git下来的项目再适配主题是最舒心的,除了实在找不到合适的方法优化Firefox的样式,算是一块较为惋惜的瑕疵。总的来说,就是通过命令生成主题文件或将现有的主题文件分别添加到"/usr/share/"下的"themes"和"icons"里,最后再通过程序菜单里的工具文件夹的优化去修改主题,我的最终设定如下:
主题改动算是比较深度的操作了,感兴趣的话回头可以再专门出一篇细讲(嗯,再挖个坑,会填的)。
4. 开发配置
并不清楚各位常用的开发领域都是些什么,以下仅为个人软件工程阶段所需要的开发配置(应该全了吧,。后续有了会补充 ~ )
Node.js
首先是选择你要的版本,也就是确定源,8.x版本需在终端(Ctrl+Alt+T)中输入:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
嗯,。如果你需要使用9.x版本的话,可以使用另一段指令:
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
以上是指定版本的安装,还有LTS版本,现在是16.17.0:
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
以及最新版,当下为18.8.0:
curl -fsSL https://deb.nodesource.com/setup_current.x | sudo -E bash -
之后再执行安装指令(加个y是静默同意安装):
sudo apt-get install -y nodejs
安装完成后可以使用node -v
和npm -v
核验安装并查看版本
VS Code
虽然Ubuntu的snap商店自带,但是据说功能不全,所以这边还是建议通过指令安装,首先也是添加源:
sudo apt-get install wget gpg
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
rm -f packages.microsoft.gpg
之后就可以通过包资源管理器去安装了:
sudo apt install apt-transport-https
sudo apt update
sudo apt install code
Open-JDK
开发为避免版权纠纷,一律推荐使用开源的程序。
open-jdk版本同正常的jdk,安装命令都是sudo apt-get install openjdk-X-jdk
格式,需要什么版本就把X换成对应的版本就可以了,截至发文时间,有8、11、17、18供选择。示例:
sudo apt-get install openjdk-8-jdk
最后通过java -version
核验安装和确定版本。
Python
这个直接默认上最新的吧
sudo apt install python3-pip
一样可以通过命令查看版本:pip --version
MySQL
先用命令安装mysql:
sudo apt-get install mysql-server
之后需要配置才能使用,第一步,进入数据库的root账户:
sudo mysql -u root
随后便进入了mysql,第二步给root用户添加密码为root(BY后面那个,可以自定义成自己的,注意别少英文半角的引号和分号):
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
其后的是启动mysql服务,现在的你应该还在mysql里,输入exit
退出mysql命令工具,第三步启动mysql service:
sudo service mysql start
(下面的我就直接搬之前写的过来改进啦)
允许MySQL 被远程连接
这一点,还是由于实际开发中你不可能一直使用自己本地的数据库,也不可能自己设置了数据库只能给自己用,所以这个还是很有必要的。
-
开放3306端口并关闭防火墙
打开3306号端口:sudo ufw allow 3306
查看端口状态(allow就是开放的。):
sudo ufw status
关闭防火墙:
sudo ufw disable
开启的防火墙的指令是这个,这里不用开 :
sudo ufw enable
-
允许其他IP访问
进入到 /etc/mysql/mysql.conf.d 目录:cd /etc/mysql/mysql.conf.d
一般mysql默认会安装在这个目录下。如果不是,可以使用这个命令来查找文件位置:
sudo find / -name “mysql.cnf”
- 修改mysqld.cnf文件:
sudo gedit mysqld.cnf
两种选择:
- 把bind-address从127.0.0.0改为0.0.0.0
(0.0.0.0表示的是默认路由,即当路由表中没有找到完全匹配的路由的时候所对应的路由。) - 把bind-address这一行前加#注释掉
-
允许root用户在其他IP上登录
- 使用root用户登录mysql数据库:
mysql -u root -p
- 进入到mysql数据库:
use mysql;
- 查看user表的host和user数据:
select host, user from user;
( 会发现root用户允许的host是localhost)
4. 修改数据:update user set host='%' where user='root';
( 把user为root的host改为通配符
%
,表示允许root用户在所有IP上登录。)
5. 刷新权限:flush privileges;
- 退出mysql:
exit
- 在终端中重启mysql:
sudo service mysql restart
额外操作
-
新增用户(在mysql中)
CREATE USER 'admin'@'localhost' IDENTIFIED BY '你要设置的密码';
-
卸载(在终端中)
sudo rm /var/lib/mysql/ -R sudo rm /etc/mysql/ -R sudo apt-get autoremove mysql* --purge
DBeaver-CE
数据库管理器,类似navicat
添加源:
sudo add-apt-repository ppa:serge-rider/dbeaver-ce
更新源:
sudo apt-get update
安装程序:
sudo apt-get install dbeaver-ce
JetBrains系列
JetBrains家的软件对Linux都是一样的安装方式,下载对应压缩包解压,通过压缩包里bin下的.sh
文件运行。所以我还是选择之前的方法,创建图标文件指定路径,以后更新文件就可以了。方法如下:
统一路径型(不方便后期更新)
这种方法适合某些原因不能更新的用户,官网下载压缩包后直接在下载里解压并提取,然后重命名为idea、pycharm、webstorm(要求这几个文件夹下就直接是软件的bin文件夹等的上一级目录,不能出现多级目录。),最后把这三个文件夹放进新建的jetbrains文件夹里面,使用这个命令一键挪进/usr/local/
去 (前面的地一个路径是你整理出来的文件夹的位置。)
sudo mv ~/下载/jetbrains/ /usr/local/jetbrains/
特别注意,文件夹的命名一定要正确,不然你后面在启动器中会找不到应用图标。
接下来在启动器中创建各自的应用程序图标(只示例了IDEA、WebStorm、Pycharm的,其他程序原理相同)
-
通过终端进入启动器目录下:
cd /usr/share/applications
-
创建WebStorm的图标快捷方式:
sudo gedit webstorm.desktop
输入内容:
[Desktop Entry] Encoding=UTF-8 Version=1.0 Name=WebStorm GenericName=Web IDE Exec=/usr/local/jetbrains/webstorm/bin/webstorm.sh %f Icon=/usr/local/jetbrains/webstorm/bin/webstorm.png Terminal=false Type=Application Categories=Development;IDE Comment=The Drive to Develop StartupWMClass=jetbrains-webstorm
右上角保存后关闭文本编辑器。
-
创建IDEA的图标快捷方式:
sudo gedit idea.desktop
输入内容:
[Desktop Entry] Encoding=UTF-8 Version=1.0 Name=IntelliJ IDEA GenericName=Java IDE Comment=IntelliJ IDEA is a code-centric IDE focused on developer productivity. The editor deeply understands your code and knows its way around the codebase, makes great suggestions right when you need them, and is always ready to help you shape your code. Exec=/usr/local/jetbrains/idea/bin/idea.sh %f Icon=/usr/local/jetbrains/idea/bin/idea.png Terminal=false Type=Application Categories=Development;IDE StartupWMClass=jetbrains-idea
右上角保存后关闭文本编辑器
-
python:
sudo gedit pycharm.desktop
输入内容:
[Desktop Entry] Encoding=UTF-8 Version=1.0 Name=Pycharm GenericName=Python IDE Exec=/usr/local/jetbrains/pycharm/bin/pycharm.sh %f Icon=/usr/local/jetbrains/pycharm/bin/pycharm.png Terminal=false Type=Application Categories=Development;IDE Comment=The Drive to Develop StartupWMClass=jetbrains-pycharm
保存后推出
这时候你的程序列表里就有你刚刚添加的图标了,直接双击图标就可以运行对应的程序,就很 nice~
但是问题也是有的,由于权限问题,后期的更新文件你都需要用sudo
前缀的命令去删除和增加新文件。所以比较适合那些用了插件和手段不能正常更新的用户。
直接放在用户根目录,后期更新直接文件夹里删除旧文件换新的,不用命令去更改文件
这个方法要求你能经常顺利激活软件,学生、老师就去申请免费使用(我就是这么干的!),开源项目也能申请,尽管他这正版属实贵,十月据说还要涨价就离谱。
类似的操作,官网下载程序压缩包后解压,然后改名丢到新建的jetbrains文件夹里,最后再把jetbrains文件夹移到用户根目录(主目录)下,这里你是有操作权限的,所以可以直接鼠标拖动或者CV。然后一样的,创建图标快捷方式:
-
通过终端进入启动器目录下:
cd /usr/share/applications
-
创建WebStorm的图标快捷方式:
sudo gedit webstorm.desktop
输入内容,注意了,Exex和Icon的值要根据你的用户名来确定我的用户名是rob,所以我的输入值为:
[Desktop Entry] Encoding=UTF-8 Version=1.0 Name=WebStorm GenericName=Web IDE Exec=/home/rob/jetbrains/webstorm/bin/webstorm.sh %f Icon=/home/rob/jetbrains/webstorm/bin/webstorm.png Terminal=false Type=Application Categories=Development;IDE Comment=The Drive to Develop StartupWMClass=jetbrains-webstorm
右上角保存后关闭文本编辑器。
-
创建IDEA的图标快捷方式:
sudo gedit idea.desktop
输入内容,注意了,Exex和Icon的值要根据你的用户名来确定我的用户名是rob,所以我的输入值为:
[Desktop Entry] Encoding=UTF-8 Version=1.0 Name=IntelliJ IDEA GenericName=Java IDE Comment=IntelliJ IDEA is a code-centric IDE focused on developer productivity. The editor deeply understands your code and knows its way around the codebase, makes great suggestions right when you need them, and is always ready to help you shape your code. Exec==/home/rob/jetbrains/idea/bin/idea.sh %f Icon==/home/rob/jetbrains/idea/bin/idea.png Terminal=false Type=Application Categories=Development;IDE StartupWMClass=jetbrains-idea
右上角保存后关闭文本编辑器
-
python:
sudo gedit pycharm.desktop
输入内容,注意了,Exex和Icon的值要根据你的用户名来确定我的用户名是rob,所以我的输入值为:
[Desktop Entry] Encoding=UTF-8 Version=1.0 Name=Pycharm GenericName=Python IDE Exec==/home/rob/jetbrains/pycharm/bin/pycharm.sh %f Icon==/home/rob/jetbrains/pycharm/bin/pycharm.png Terminal=false Type=Application Categories=Development;IDE Comment=The Drive to Develop StartupWMClass=jetbrains-pycharm