Linux学习之路我用 LinuxLinux

写在使用 Linux 工作一年后

2018-10-25  本文已影响6人  noark9

start

去年公司空了几台台式机,当时看了下似乎配置比我用的乞丐版 air 略高一些,而且除了 ssd 以外还有一个 1T 的大硬盘,加上后面可能会有一段时间不做 iOS 了,那就不需要 macOS 了,于是顺了一台过来桌上用来打算做开发机,当时可选的方案有 Windows 10 和 Linux,思考了下机器上 60G 的 ssd 估计是不能装那么多东西的,而 Windows 要把好多东西装到 D 盘,其实用起来好麻烦,感觉自己不太会用,于是选择了 Linux

本文写在我使用 Linux 作为开发环境后的三个月,也就是主力开发环境为纯 Linux 环境,偶尔使用虚拟机做配合,Linux 是天生为喜欢折腾的人准备的,当然也是为了知道自己想要做什么和想要什么的人准备的,所以本文的目的是为了以 Linux 作为生产开发环境为目标的人准备的,如果只有想要装个 Linux 的想法,或者只有想要试试玩玩的想法,个人建议使用自己熟悉的环境(Windows 或者 macOS)搭配虚拟机从完整配置一个 ArchLinux 开始学习

本文主要是为了将要以 Linux 作为自己主力开发环境的同学准备的一些意见建议,以及自己的踩坑经历,如果你想要以 Linux 作为主力开发环境可以把本文作为开始,但是本文绝对不是结束,linux 的折腾是无止境的

好处和坏处

Linux 中折腾,既是好处也是坏处,好的地方是让你知道盒子里到底是哪个齿轮坏了,坏的地方是找来找去,发现盒子里齿轮没坏,只是每个齿轮都有那么一丢丢不正常,所以我一直觉得开源那帮人其实是非常不靠谱的,如果没有需求,真心不需要折腾 Linux,你看得没错,我在劝退

开始折腾

上面介绍完了,有兴趣的同学继续往下看吧,接下来我们开始正题吧,Linux 之路折腾无限,但是作为开发环境,我们需要在折腾和稳定之间找到平衡点

折腾的背景

下面是我在 Linux 世界探索(碰壁)以及对我使用 Linxu 有帮助的一些经验,希望对大家有用

上面几点,是我这次能成功把工作环境迁移到 Linux 的一个基本保障,接下来我在下面列下我折腾了哪些东西,让我的工作丝般顺滑

发行版选择

作为生产开发环境不同于实验研究环境,最主要是需要稳定能够持续支持工作,至少不经常崩溃或者每过几个月就需要重装系统。我曾经在大学时候和工作以后,体验过很多主流的发行版(这里说主流就是真的主流主要包括,Debina,Fedora,Ubuntu,openSuse,ArchLinux),最终选择了 Fedora 27(当时是测试版,但是我相信自己有坑能踩过并且正式版还有一个月就发布了,不太信自己的同学可以在选择的时候选择正式版,毕竟是用于支持生产开发的环境,最主要是稳如老狗)

桌面环境的选择

Linux 上的开放性,所以,我们在不喜欢当前用着的桌面环境的时候,可以换一个。。。这似乎是个很美好的事情。。。但是很遗憾,开源社区再次 show 出了他们的不靠谱

最终我选择了 GNOME on Xorg,原因如下:

为什么不直接全盘命令行?

这里可以说下,个人建议使用 KDE 或者 GNOME,因为我的目的是稳定,当然大家也可以尝试其他的桌面环境,毕竟 linux 最大的优势就是开放

安装

安装指引

上面就是安装 fedora 需要的所有材料了

因为安装的时候我没有截图,这里用虚拟机打开了镜像给大家看下安装界面,等待半小时左右,就可以安装完成了,安装完成后重启就会进入到新的系统了,我们就进入纯 linxu 的世界了

系统调配

安装完成后,这只是一个刚好可以用,并附带了 GNOME 所附带的大部分应用程序的系统,那么离我们可以使用,其实还是有距离的,接下来我会介绍我对系统的初步调配

将消耗空间的东西链接到磁盘上去

我的初衷就是为了想要一个启动快速的系统,并且能安装大量应用,所以第一步,我将会把很多消耗磁盘空间的路径链接到 1T 的机械硬盘上(哎呀,好长,下面统一叫 HDD 了),如果这一步失败了,那么也不会有剩下的步骤了,链接后给我的感觉是,整体系统速度并没有变慢很多,不过在打开大应用(比如 Jetbrain 家的大型 Java 应用)时会有一些卡顿,但是打开后,整个使用体验是很流畅的,不过也因为本机内存不是很大(8G)所以应用开多了还是会卡,特别开了虚拟机以及某些大型 Java 应用的时候很容易出现卡顿的现象

下面是我电脑上磁盘使用的截图,data 1 - 3 就是 HDD(切勿嘲笑别人取名无力),这里没有显示 home 的分区,我的 home 分区大约是 20G,root 分区大约是 40G(当然还有 boot 啊之类的分区,这个在选择自动分区的时候,安装程序会帮你搞定)

磁盘截图

不过我并不是一次性把所有的路径链接好的,而是在用的过程中发现 SSD 空间不足的时候,找到一些消耗空间大的路径,把他链接到 HDD 上,这里是我链接的一部分路径,供大家参考下:

把这些路径链接后,相信磁盘空间会空闲出很多了,这样小 SSD 的电脑也能愉快玩耍了

另外,除了上面的路径外,还有一些比较特殊的路径也会占用大量空间,这里也列举下

除了这些如果大家在使用过程中发现某个路径,或者某个应用特别占空间,也可以把他们链接到 HDD 上,节约 SSD 上宝贵的空间

安装大概率用得到的包

参考 -> RPMFusion 配置 根据系统版本启用 RPMFusion 自由(free)和非自由(nonfree)的软件源配置

参考 -> FDZH 配置 根据系统启用 FDZH 中的源,同时 FDZH 的 wiki 中也包含了一些常用软件的安装配置,大家可以参考下

第一次安装完成,或是添加了 RPMFusion 和 FDZH 的源后,需要刷新一下 dnf 的源,这样我们就能安装到新添加的软件包了

sudo dnf update --refresh

Development Tools 包含了开发使用到的各种工具,所以我们首先要把他装上

sudo dnf group install "KDE Plasma Workspaces"

这一步是可选的,如果喜欢 KDE 的,那么可以输入下面的命令安装

sudo dnf group install "KDE Plasma Workspaces"

使用 Linux 作为主力环境最方便的地方就是我们需要什么那么就安装什么,可以使用下面的命令看下还有些什么软件组可以安装使用

dnf group list

配置工具系统

Font Tweaks Tool Fedy

存活指引

安装配置结束后,接下来介绍下 linux 的日常存活指引

开发存活指引

本文介绍是以主力使用 Linux 开发为主,所以优先介绍开发使用到的工具,其实大部分工具都是开源或是跨平台的,在其他系统中我们也能用到

有了上面的一堆开发工具相信是可以从容面对日常开发工作了,linux 上除了 DataGrip,Navicat 之类的商业软件以外确实没找到很好用的多数据库链接工具,这点算是一个遗憾了,大家要是有推荐的可以联系我

虚拟机建议

如果虚拟系统是 linux 系并且不使用 GUI,建议直接使用系统自带的 qemu 或是 kvm,另外不要使用 GNOME 带的 Boxes,Boxes 是为了简化虚拟机操作而开发的应用,但是实际上还不是很成熟,建议安装 Virtual Machine Manager 作为虚拟机管理工具,虽然 Virtual Machine Manager 上手会比 Boxes 稍微麻烦一些,但是可配置性要好很多,并且 qemu 和 kvm 对共享文件系统支持要好一些,据说文件读写速度接近原生

并且 qemu 是系统服务,Virtual Machine Manager 只是一个管理界面,在启动好虚拟机后,我们可以直接 ssh 上虚拟机即可操作,无需继续开着管理界面,并且在系统 UI 崩溃的时候,虚拟机服务并不会崩溃,也不会影响我们运行在虚拟机中的程序

如果虚拟系统是 Windows 系或是使用 GUI 的 linux,那么建议使用 Virtual Box 或 VMWare 商业软件,qemu 在图形化操作系统上始终并不是很好用,经常有鼠标位移,速度慢之类的问题

日常存活指引

日常存活主要包括了聊天和 Office 办公系列,以及笔记之类的日常应用

为没有程序起动器的应用添加程序起动器

程序起动器我们可以理解是 Windows 里面的快捷方式,linux 中很多应用最主要就是执行二进制文件,但是有些应用却没有提供一个起动器(在 Launcher 中),这让我们每次打开的时候还需源通过命令行去运行,当然还有的应用更过分比如用 python 写的,还需要用 python 去找到那个应用的脚本去执行,既然我们都进入图形界面了,那不能倒退啊,这里说下怎么创建起动器

这里我用 Typora 来举例,Typora 并没有提供 rpm 包装,也没有在 dnf 的软件源中,所以 Typora 在下载后就是一个朴实无奇的压缩包,解压后,就是一堆文件,看下图我圈起来那个文件,那就是 Typora 的可执行文件,双击他也能运行,那么我们起动器的目标就是打开这个可执行文件

Typora

在 linux 中,每一个起动器都对应一个 desktop 文件,所有的 desktop 文件都在 /usr/local/share/applications 路径下,用户自己的起动器,也可以放到 ~/.local/share/applications 路径下,接下来我们来看看起动器的内容,起动器其实就是一个文本文件,告诉系统如何启动这个应用

Name=Typora
Comment=Markdown Writer
Exec=/home/noark9/data1/Applications/Typora/current/Typora
Icon=/home/noark9/data1/Applications/Typora/current/resources/app/asserts/icon/icon_512x512@2x.png
StartupWMClass=Typora
Terminal=false
Type=Application
Encoding=UTF-8
Categories=Productive;
Name[en_US]=Typora.desktop

这里就描述了 Typora 这个应用如何启动,之后把这个文件放到 /usr/local/share/applications 或是 ~/.local/share/applications 路径下,这样在应用程序中就能看到他了,在 /usr/local/share/applications 路径下还有很多起动器,大家在自己写的时候可以多多参考

让心情愉悦的指引

心情愉悦啊,那就包括一些娱乐活动了

end

使用了 linux 一年以后,我发现我已经可以很好的在 linux 桌面下存活了,也能很好的完成我的工作,我并不推崇大家盲目的上 linux,毕竟这并不是一个想上就能上的系统,在使用过程中还是遇到了很多奇奇怪怪的问题,也有作死把桌面环境网络全搞挂最后自己恢复的时候,但是 linux 确实是一个能锻炼人的好系统,使用 linxu 能大大增强自己查找资料的能力,解决问题的能力,以及独立思考的能力

本来本文应该是今年年初的时候就会写完了,所以这里最早的标题是在使用 Linux 工作三个月后,直到年末了,我也开始用回 Mac 后才完成本文的撰写,但是本文依然是完全在 linxu 下撰写完成,并未使用到 Mac 做任何的辅助,中途由于我的失误把 GNOME,KDE 等桌面环境卸载了,并且删掉了网卡驱动后重新配置了网卡驱动和重新安装桌面环境,导致部分我使用的部分应用已经没有安装在系统里面了,这样也让我遗失了一些资料

大家也可以经常看看 Fedora Magazine ,我挺喜欢 Fedora Magazine 的,里面经常有有趣的开源工具和 linux 使用经验分享

最后欢迎大家订阅我的微信公众号 Little Code

Little Code
上一篇下一篇

猜你喜欢

热点阅读