Second slide

您现在的位置是:网站首页Linux技术-Linux笔记 > 文章内容

写在使用 Linux 工作一年后

admin 2018-11-03 14:48:00 浏览



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 的折腾是无止境的

好处和坏处

  • 好处
    • 开箱即用的开发环境,和 macOS 一样,Linxu 几乎为所有主流开发平台、语言提供了开箱即用的环境
    • 大量开箱即用的开源工具,后来我喜欢上了 Kate(KDE 上提供的一个文本编辑器,虽然插件少,但是本身功能完善)
    • 很少让人分心的东西(没有 QQ,基本没有游戏)
    • 超好用的终端模拟器
    • 很多好用的开源工具,有些甚至带到了 mac 上继续使用
    • 高度可配置,只要你有心思,外表想做成什么样都可以
    • 折腾
    • 折腾
    • 折腾
  • 坏处
    • 折腾
    • 折腾
    • 折腾
    • 没有 QQ,只能虚拟机或者 wine,smart qq 消息或者群多,就二了
    • 微信,只有 web 微信,或者经过 electronic 包装的 Electronic-Wechat 或者非官方的 wewechat,但是一直用 web 版本微信,容易被封号,前几天我被封号了,用户反馈了,理所当然的未果,用了两周虚拟机,莫名的解封了
    • 高度可配置,双刃剑,配置的后果,杀敌1000,起码自损300,用了一些暗色系主题。。。结果有些文本,button 看不清了,wps 的表格居然变黑了(暂时懒得解,用 libreoffice 其实挺顺畅的,之前在 mac 上这东西可卡了)

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

开始折腾

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

折腾的背景

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

  • 很多的 Windows 安装经验和 Linux 安装经验,多体验不同的发行版,找到合适自己使用的,以前电脑性能很差跑虚拟机很费劲,对于现在电脑来说,有虚拟机会很方便你的学习
  • 通过配置一个完整的 ArchLinux 环境,学习整个 Linux 系统的配置,启动,桌面环境相关的所有基础知识
  • 4年的 macOS 使用经验,大家别说,从 macOS 迁移到 Linux 除了开发者们给我们准备的各色精致的 mac 应用以外,整个迁移过程非常顺滑
  • 知道自己想要什么
  • 遇到问题能自己解决

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

发行版选择

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

  • 排除的理由
    • Debian:排除,装的次数太少了,熟悉程度不高
    • Ubuntu:安装了两次,每次都有奇奇怪怪的问题(可能跟我安装的是非 LTS 版本有关)
    • openSusu:上大学的时候用的最多的就是他,但是那时候总有些奇奇怪怪的问题没办法解决
    • ArchLinux:太过于折腾,工作以后装了几次,从安装到桌面环境,一般需要一到两天的时间,个人感觉坚守 Arch 的简单哲学 pacman 其实没有 dnf 那么完善,但是如果初学 linux,那么这个是首选
  • 选择的理由
    • 我第一次折腾 Linux 的时候,尝试了 RedHat 9,之后尝试了 Fedora Core(那时候 Fedora 的原名),选择 Fedora 有种熟悉的配方的感觉
    • 服务器大多数用 CentOS,依然是熟悉的配方的感觉,将来部署应用也会有熟悉的味道
    • 知呼看介绍,Fedora 是 Linux 的 Cutting-Edge,想要体验最新最棒的 Linux 就靠他了
    • 两次 Ubuntu 的安装失败。。。让我怀疑这最广的发行版,不是为我准备的(我真不是黑 Ubuntu,在想要切换的一开始就想到他了,也动手装上了)

桌面环境的选择

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

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

  • KDE 依然是炫技的平台,高端大气上档次,但是各种 bug 不断
  • GNOME on Wayland,不能用 shutter 截图,偶尔整个 GNOME 挂,Wayland 离稳定使用还有一些距离
  • 虽然 GNOME 的臃肿是大家一直诟病的问题,但是我只是需要一个常用的工作环境,并不想花一两天去折腾,而 GNOME 确实符合这个需求
  • 感觉 GNOME 的文件管理器跟 Finder 很类似,稍微好用一些了

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

  • 我虽然熟悉以及喜爱命令行,但是我倡导合适的地方使用合适的工具,我们主要的目的是工作,而不是炫技,并不是所有人都能只用命令行完成所有工作
  • 相比每次找到项目路径,敲入 push,pull 我还是喜欢用点下鼠标就能 push pull 代码还能分组库的 GitEye
  • VSCode – 我的主力开发工具,并没有命令行版
  • 图形界面下,有 Tilix 这样方便的神器,可以类似 iTerm 一样分割窗口各种,也有 Hyper 这样能随意扩展的现代命令行工具
  • 多窗口管理,对,我还要聊天呢

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

安装

安装指引

  • 需要材料
    • 网络
    • fedora live 镜像,可以到 Fedora 官网 下载
    • 一个 4G 的优盘(live 镜像大约 1.7G ~ 2G 左右,大一点没啥坏处)
    • Etcher 用于将 live 镜像写入优盘中

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

  • 安装步骤
    • 使用 Etcher 将 fedora 的镜像写入到优盘中
    • 重启电脑,在 BIOS 中设置通过优盘启动
    • 启动后会进入到 fedora 的 live 界面中,在 live 界面中找到安装程序并打开
    • 根据提示选择安装位置,语言,市区等各种东西,之后点击开始安装,这样就开始了安装之旅

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

系统调配

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

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

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

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




 

  • data1 作为 home 的延伸,主要用来存放文档,开发中的项目等
  • data2 用作虚拟机存储空间,单独分区,方便管理
  • data3 就是这一环节的主角了,大部分的系统应用都链接到了这里

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

  • ~/.icons~/.themes:主题和图标路径,链接这个主要是装主题方便
  • ~/.local:当前用户的应用数据,链接这个帮你解决大部分的空间问题
  • ~/.var:当前用户的 var 路径,一部分(主要是 flatpak 打包的)应用会把数据写到这个路径
  • /opt:部分应用会安装到这个路径
  • /var/lib/flatpak:flatpak 的应用会安装到这里
  • /var/log:日志

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


作者:RuijunLi
链接:https://juejin.im/post/5bd1e9ce51882543e82f50f7
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

上一篇:第一页

下一篇:最后一页