Linux开发环境探索

从上大学的时候开始接触Linux, 但是一直也没有实际使用. 从事软件开发之后, 看到很多人推荐使用Linux系统作为开发环境, 努力试用一段时间之后, 目前基本已经可以应付基本的日常任务了. 由于不想单独分区安装系统, 一直是使用镜像运行和安装的方式, 有一些限制不太好解决. 理论上, Linux作为开放系统, 所有功能都是可以自己开发配置的, 但是对于基础的系统功能, 都靠自己解决的话, 成本也是较高的. 因此目前还是在混合使用, 碰到解决不了的问题就先重启进入Windows系统解决.

首先是要选择发行版, Linux发行版众多, 甚至有专门的列表网站DistroWatch, 我的需求主要是体积小 占用内存少, 可以内存或者镜像运行. 之前一直关注的是Ubuntu, 不过现在也越来越大了, 于是找到了Porteus, 虽然小众, 但是确实符合我的需求, 应该是一群有类似需求的极客做出来的. 更新还算稳定, 大约一年发一个新版本, 下载的话, 官网有一个论坛, 里面有镜像服务器列表, 多数服务器下载速度不快, 但是能下载成功. 目前我下载的最新版是5.0rc3.

然后是桌面环境, Porteus支持多个桌面环境, 试用之后感觉KDE成熟完善, 且占用内存小. 最新的代码应该是重构过的, 有专门的名字Plasma, 感觉确实已经不输于Windows和Mac.启动之后占用内存400M左右. 常用的软件也基本都自带了.

引导管理使用的是grub24dos. grub是Linux环境下最常用的引导管理器, 重构之后的版本是grub2, 功能更为强大, grub24dos支持使用Windows的bootmgr加载, 对原有分区无影响, 作为双系统共存的方案使用还是很合适的, 只是这个项目目前好像停止开发了, 下载地址也不好找. 下载好之后是一个压缩包, 解压到引导分区根目录下, 目录名一般是叫grub2, 然后在这个目录下建立一个grub.cfg的配置文件, 配置文件的写法和含义可以在网上搜一下相关文章, install文件夹里也有示例, 我是用的原来安装Ubuntu和Deepin时的配置文件, 大概如下

insmod part_msdosinsmod ntfs# insmod font# insmod all_videoset default=1set timeout=3menuentry "Porteus-KDE-v5.0rc3-x86_64" {    set root=(hd0,msdos7)    set isofile="/os/Porteus-KDE-v5.0rc3-x86_64.iso"    loopback loop $isofile    linux (loop)/boot/syslinux/vmlinuz copy2ram nomagic norootcopy from=/os/Porteus-KDE-v5.0rc3-x86_64.iso cliexec=/mnt/sda3/mnt.sh extramod=/mnt/sda3/linux/Porteus timezone=Asia/Shanghai utc    initrd (loop)/boot/syslinux/initrd.xz}

主要是寻找硬盘上的iso镜像文件, (hd0,msdos7)这样的编号是grub对磁盘分区的标记法, MBR分区表四个主分区编号从0到3, 之后是逻辑分区. 如果不确定, 可以启动进入grub2之后, 在命令行下查看一下, 按tab键会补齐所有可用的分区列表. 最长的那行是传给内核的一些参数, 参数文档在进入系统后可以查看.

添加grub2启动项我们还是使用BootICE, 打开BCD文件, 新建实模式启动项, 选择解压gbub2目录的分区, 启动文件填入\grub2\winloader\grub2.boot, 保存. 然后就可以重启, 选择grub2, 如果没有进入系统, 可能是磁盘分区编号没有填对, 可以在命令行下查看当前硬盘有哪些分区, 编号是多少, 然后直接修改启动命令, 进入系统之后再修改grub.cfg文件, 以后就可以直接进入系统了.

[图片上传失败...(image-cca5ff-1651719316324)]

如果只是体验系统使用, 这样也足够了, 系统是直接运行在内存中, 每次启动都是完全干净的. 但是作为开发环境, 每次开机之后还是希望能有一些配置好的常用环境. 在Linux下都可以通过编写脚本来初始化环境. 然而我对Linux配置没有那么熟悉, 所以选择了更简单的方式, 在硬盘上新建一个文件夹作为Linux用户主目录, 每次启动后, 挂载该目录, 替换系统原有的用户目录, 这样系统的配置大部分都会保存在硬盘上, 每次开机后, 只要执行一下挂载脚本, 环境就都恢复好了.

cd /mntln -s /mnt/sda1 dln -s /mnt/sda5 eln -s /mnt/sda6 fln -s /mnt/sda7 gcd /homerm  -rf ./*ln -s /mnt/f/Users/ubuntu ./guest

我硬盘上用的还是Ubuntu留下的用户目录. 盘符编号沿用Windows的顺序, 方便切换. 系统默认登录的用户是guest, 密码也是guest, 特权操作需要root用户密码toor. 有一个不太方便的地方是每次需要手动连接无线网络, 尝试用命令自动连接没有成功, 好在不是每次都需要联网, 暂时是需要的时候再手动连接.

默认系统是没有中文字体的, 好在论坛里有很多爱好者制作了字体包. Porteus的安装包用的xzm格式, 可以即时挂载进系统, 也可以分离, 比较方便. 装上字体之后就可以显示中文了, 但是中文输入法我还没有配置成功, 所以只能先用在线输入法应急.

至于常用软件, 系统自带的也比较丰富了, 系统自带的Dolphin文件管理器有标签页, 左右窗格功能, 感觉还可以, 就不用找其他了. 记事本, 播放器, 解压软件, PDF查看器, 都有.
我主要是下载了sublime和浏览器. Linux下的软件包好多要通过源码编译, 不方便, 比较好的像sublime, 提供了编译好的压缩包, 解压后可以直接运行. 而Chrome和Edge都是提供deb和rpm格式的下载包, 我选择了deb格式, 解压之后, 也是可以运行的.

官网上还有develop工具包, 一键安装git, gcc等常用开发工具, 甚至各种Office, wine的包都可以在官网或者论坛里找到. 只是wine我也没有测试成功, 遇到需要Windows软件的, 还是重启进入Windows操作. 也许电脑内存大的话, 可以装一个VirtualBox虚拟机, 就不用重启了, 不过目前觉得这样也还能接受. 毕竟世事无完美, 每种方案都会有成本和体验的各种问题.

你可能感兴趣的:(Linux开发环境探索)