archlinux 使用日常
之前玩了段时间gentoo, 电脑垃圾了, 再加上网络不好, 每更新一次,都是耗梦, 特别是网络不好, 经常挂在那里更新就超时了, 编译大型软件也是操蛋的操作。
因此决定玩 archlinux, 经过一段时间折腾发现,archlinux 更加适合学习linux, 更对我的味口。
系统安装
- 安装原理
系统安装的启动盘使用任何一个linux版本都行, 不论是系统还是软件, 安装的本质就是将一系列文件放在特定的位置。
对于系统来说, 需要一个bootloader 来加载特定位置的程序, 对于程序来说, 依托于系统的环境变量,或直接到可执行目录下执行。
类unix系统中, 万物皆文件, 磁盘也是一个文件, 所以, 磁盘可以挂载在任意文件夹下。 对于USB启动盘中的系统来说,将目标硬盘挂载到一个目录下, 然后将整个系统的文件放在系统盘的分区中,再使用chroot(change root) 即可改变当前的操作根目录。chroot 命令改变了当前操作的根目录, 意味着环境变量也变了, 所以,chroot 到 任意系统的分区下, 即可以使用对应系统的程序, 因为程序是依托环境变量执行的嘛。
这是任意linux 启动盘安装 任意linux 的原理。
- 图形与命令行
图形与命令行是相辅相承的,只在命令行下工作, 那是条件所迫。 只在图形阶面工作, 那也体会不到linux的精髓。
所以, 一开始, 我总是纠结选择什么样的 DE, 或者直接使用 WM 来操作窗口。 在这上面, 就浪费了不少时间和精力,却忽略了初衷。
我的初衷是学习操作系统,提升技术,开发自己的产品。 然后,每个时间段, 做事都有轻重缓急的, 且循序渐进的。
对于图形操作, 上来我就选择了难度较高的 dm + wm (lightdm + dwm, awesome, iw3) 方案,搞了几天, 连基本的系统正常使用就没搞定,开发效率更是没有。因此这有本末倒置了。
相比于操作系统的图形界面安装, 程序开发显然是优先级更高的任务, 在程序开发的过程中,闲睱时间再折腾这些花哩胡哨的东西, 带有目的的学,要比笼统的学习更加高效。
为什么说是花哩胡哨呢? 自己配置 dm, wm, tmux, 这仅仅是最基本的使用, 再继续高效率打开应用,浏览器,多媒体, 网络,独立显卡,键盘驱动,输入法,语言支持,真得是短时间内搞不定的,花一两个月甚至更久,仅仅是为了达到系统的基本使用,这是一件成就感很低的事情。 因为在这个过程中, 基本上还是按照他人的教程,修改各种配置文件,输入操作指令来达到的, 而这些软件都是在更新变化的, 换不同的软件配置又不一样。 而这些规则大多没有一个统一的标准,所以,即使懂得原理了, 再换到其他的软件,学习成本依旧是不低的, 有些没有文档的,还得看源码去修改。这种折腾的收益比在兼顾生存的情况下是很低的。
所以, 直接选择一个DE, 一键安装使用起来, 真香。有问题了,有余力了, 有闲情了, 再逐步定制, 更是一个学习的挑战。
这里我选择了KDE, 说是更稳定, 更简洁。
有了桌面环境, 打开终端, 至少能正常使用系统办公了。
- 包管理器
完全移除某一个软件, 如从dke 换到 gnome
sudo pacman -Rns plasma-meta kde-applications-meta
权限管理
使用 chmod -R 4775 /usr
改了usr 的权限,网络上搜索建议重装系统, 然而使用了一年多的系统, 重装个系统的代价挺大的,鉴于系统还能点亮, 那就还能用, 出了什么问题,修复即可。
KDE 常用软件
图片查看器 gwenview
网络管理 plasma-nm, 开机启动 systemctl enabled networimanager.service
截图工具 flameshot
终端 st
konsole 实在是用得不爽了,我要配置自己的st
golang 代理设置
go env -w GOPROXY=https://goproxy.cn,direct
后续
暂时没有折腾archlinux 了,现改成折腾 manjaro,主要是想分配更多的精力去开发自己的产品。