折腾linux

近期在折腾linux,折腾差不多来写个总结,这货折腾了我很长的时间。由于USB3.0已经发展很久了,现在随便买的MicroSD/SD卡或U盘基本上都是USB3.0 class 10起步,所以考虑直接用这些来安装系统,这样你对哪个系统不满意直接换个U盘或SD卡就搞定了,而且测试下来速度也不慢。即使你的机器只有USB2.0接口,那也是能用的,就是启动时能感觉出来慢一些。这个也是方便咱们在校学生只有一台电脑,能方便更换系统不必每次折腾一次硬盘,同时可以熟悉比赛时所用的linux环境。另外,如果你想偷懒,我在这也准备了一些系统镜像,直接刷入U盘即可使用,请参见本文最末尾。本文主要针对LTS20版ubuntu,存在有效时限。

在USB存储器上安装linux操作系统

在USB设备上安装个linux系统是很容易的,比起windows和MacOS来说,容易很多。这里有两种操作方式,一是使用虚拟机,这样我们只需要准备一个U盘(或SD或MicroSD卡,下文中说的U盘通常指这三者,且容量必须是16G或以上),二是使用真实机器来安装,这样我们需要准备两个U盘,多出来的一个是用来制作安装盘,安装工具推荐 RufusYUMI 以及 Ventoy,后两者可以用于制作多启动的U盘。

然后,我们要对目标U盘进行分区,可以用DiskGenius或linux上的分区工具GParted。首先要创建MBR分区表或GPT分区表(如果是GParted,要注意建立分区表的时候并没有MBR,而是显示为msdos),如果你的机器支持UEFI启动就可以用GPT,如果要简单好操作就MBR。MBR的话很简单,直接划分一个swap区,一个ext4即可。如果你同时需要它当U盘用,那多分第一个区分为fat32。而如果是GPT那就要多分1个100M的fat32,并且标记为boot/esp。这样U盘就准备好了。之所以要先分区,是因为安装程序的分区工具有可能无法做更细致的操作。GPT的稍微复杂些,来直接看我的GPT分区结果图:

最后一个分区需要视发行版本来决定保留多大,有的没有要求,有的需要8M,那个分区设置bios_grub标记,用于兼容传统Bios启动。如果使用虚拟机,则直接使用iso光盘启动,真实机器用U盘启动,启动后的安装步骤是几乎一样的。另外还有一点要注意的是,如果U盘分区总是出错,或后面安装系统总是出错,且这个盘的牌子是Kingston或SanDisk,那你很可能手上的是扩容盘或假货(我会说我被假货坑过么),要确认是不是扩容盘,一个简单点的方法是把盘用Gparted创建gpt分区表,然后随便分个区,然后重新插入并刷新,如果Gparted会报错,那很可能是扩容盘。

如果你用虚拟机来安装,那么请确认你的虚拟机是不是设置为EFI模式启动,必须以这个模式启动安装,才支持UEFI。启动ubuntu安装程序后,为了安装速度快一点,不要更新,需要更新的话可以安装好后操作。安装好后,它提示要重启,这里不要重启,继续执行以下命令来制作Bios启动(假如系统安装在sdb3,如果不是,要自行修改):

sudo mount /dev/sdb3 /mnt
sudo grub-install --target=i386-pc --recheck --boot-directory=/mnt/boot /dev/sdb

最后,分区结果如图

以上安装方法不限于ubuntu,虽然基于ubuntu的成功率最高,但其它版本也有不少可以。有的发行版会要求你手动把那个100M标记为boot的分区,手动挂载到/boot/efi,否则会导致安装失败。另外要注意一个情况,有的时候安装后那个U盘/SD卡启动失败或安装失败,这个时候要更换U盘或读卡器再次尝试,因为扩容U盘/黑片和部分差的读卡器确实会导致这种问题。另外如果系统支持btrfs文件系统,也建议格式化为btrfs文件系统,对U盘会更友好。

基本软件的安装

Chromium

这里不提Firefox是因为它不存在Chromium的问题。安装它不难,在软件包找到它直接安装就是,关键问题是需要设置代理来访问扩展商店,解决方法是在命令行执行

chromium --proxy-server="socks5://127.0.0.1:1080"

chromium --proxy-server="http://127.0.0.1:8080"

有了这个,就可以安装代理插件,之后的事情就容易多了。有相当的软件都有类似的命令行代理设置,通常Google一下即有答案。

输入法

如果你一开始选择的语言就是中文来安装,那么通常会给你自动安装好中文输入法,否则你要手动做以下步骤

如果输入法进程没有默认启动,那么需要编辑.bashrc,如果是ibus则添加以下内容到最末尾

export GTK_IM_MODULE=ibus 
export QT_IM_MODULE=ibus 
export XMODIFIERS=@im=ibus 

如果还不行,那么还需要添加以下内容到/etc/profile

export GTK_IM_MODULE=ibus 
export QT_IM_MODULE=ibus 
export XMODIFIERS=@im=ibus 
ibus-daemon -drx

不管你使用iBus还是fcitx,都可以安装Rime,安装好后,如果是ibus,就创建并编辑 ~/.config/ibus/rime/default.custom.yaml,内容如下

patch:
    schema_list:
        - schema: luna_pinyin
        - schema: wubi86
        - schema: wubi_pinyin
        - schema: double_pinyin

    "ascii_composer/switch_key/Shift_L": commit_code
    "ascii_composer/switch_key/Shift_R": commit_code

其中schema_list就是输入法列表,依次为拼音,五笔,五笔拼音,自然码双拼。另外还需要安装对应的输入法码表

五笔: sudo apt install librime-data-wubi

双拼: sudo apt install librime-data-double-pinyin

更多的输入法可以在包管理器上查找。但默认xubuntu似乎没有安装这样的包管理器,但你可以搜索 Muon 软件包管理器安装,安装后就可以轻松查询到rime相关的输入法码表了。

以上操作完成后,需要点击输入法的图标,点【部署】,成功后便可用win+spacectrl+space在不同输入法之间切换,ctrl+~用在rime里面切换不同码表或选项(半角全角简体繁体等)

另外还有一种比较快捷的输入法方法,先安装Chromium,然后安装 Google Input 扩展,选择你要用的输入法即可在网页里输入,适用于做测试需要临时输入的情况。

exfat文件格式支持

默认是不支持的,但大容量的卡必然用到,所以肯定要安装一把

sudo apt install exfat-utils

另外如果需要支持这个分区的分区软件,可以安装KDE Partition Manager

RDP远程桌面或SSH/SFTP

安装Remmina即可,支持剪贴板复制文本和图片,但不支持剪贴板复制文件,且通过共享目录的方式传送文件在通常情况下非常慢(需要手动把连接质量设置为best),而且容易掉线。如果需要经常传送文件,这个功能建议使用SMB或NFS代替,速度差别巨大。

音效软件 PulseEffects

网上很多人说windows上有什么SRS啥的音效增强软件,而ubuntu上没有云云,其实软件包里自带的这个PulseEffects已经做得挺不错了,不过要注意的是安装好后,在设置里要勾上Start Service at Login,这一步很重要。

另外如果有时候重启了没有声音,多半是PulseAudio出问题了,参见这个

刚安装好的时候,equaliser这个模块的功能通常是用不了的,需要执行

sudo apt install lsp-plugins

安装lsp-plugins后重启系统即可。

屏幕截图

推荐安装Flameshot,然后在系统设置的键盘,在应用程序快捷键处,对快捷键Print的命令,修改为/usr/bin/flameshot gui

windows上的字体

如果这个发行版有字体管理器,直接用它安装即可。但如果没有的话,那么把字体文件复制到fonts路径(如果后缀不是ttf,而是ttc的,要先改后缀),例如是/usr/local/share/fonts,然后执行 sudo fc-cache -f -v

系统备份

如果你的空间足够,那可以安装timeshift使用。

护眼红移

有的发行版本身就支持,如果不支持时安装redshift

屏保

如果你实在是闲,可以安装xscreensaver,这个比windows自带的丰富得多。lubuntu版本已安装。

其它坑

没事不要在home的模板文件夹里放东西,东西一多会卡得很慢。

U盘或SD卡选择(深坑,且部分内容会随时间过期,所以不详细讲)

读写速度问题

这个要注意了,如果你是打算用这个卡较长时间玩,那么在选择上就要注意一点了,首先一盘的U盘或SD卡并没有提供4K小文件(不是4K视频,是指大小在4K以内的小文件)的读写速度,而是视频录制速度,而4K小文件的读写速度直接影响你的体验。但是这个由于没有标注,你只可以通过评测论坛来提供的测试数据来做参考。我就遇到过大文件写入没啥问题,但4K小文件奇慢的tf卡(没错,就是Kingston,不知道是不是假货,手上N个全部一个德行)。当然,这个和你直接上SSD的速度完全不能比,但替代老机械硬盘已经没有什么问题,所以如果你有一台笔记本有USB3.0接口同时不带SSD,那可以考虑上U盘。要买的话一定要容量至少是64G的,即使你只是想用来玩玩看。

寿命问题

在U盘或SD上安装这个不得不考虑的就是它的寿命。现在大多数的U盘或SD卡,都是用TLC甚至QLC,那么大概只有1000次写入。而中低端卡或U盘往往没有wear leveling即磨损均衡,导致坏得很快,但这个信息同样没有在卡上标注,那怎么办?如果你想稳定长期使用,那么建议找针对WTG设计的U盘,寿命最佳,随便折腾。其次是大牌子的中高端SD/Micro SD卡。低端卡和其它小牌子的质量真的不行,。

读卡器的问题

没错,这里也是有坑的。首先,有的笔记本虽然有读卡口,但是不支持从卡启动,所以还是必须上读卡器从USB启动。有的读卡器不支持引导(别以为是你没有设置好Bios启动顺序),有的读卡器不支持32G以上的卡(有的遇到64G的卡直接报只读),有的读卡器会莫名读写错误导致写入失败或启动失败(要是确认这个读卡器会有这个问题,千万不要再用了,谁和你有仇就送给他),有的读卡器不支持虚拟机,无法用在虚拟系统里(这种读卡器特点是支持同时读两张卡的那种),有的3.0的迷你读卡器发热厉害,同时卡的位置与发热位置近,温度过高会让卡的寿命大幅度缩小甚至导致写入出错。反正总会在你想象不到的地方出坑。这里也是提醒你有时候不是卡的锅。

而且,既然读卡器有坑,那么MicorSD转SD的卡套自然也可能出问题。有一些卡套是假的,也有一些牌子都没写,这类卡容易存在读写错误,以及识别率低或容易磨损接触不良等问题。

推荐

鉴于我试过的实在太少,这里U盘我没有可推荐的,你可以上网搜索WTG,适合WTG的U盘都很耐折腾。如果你只是要用来玩玩,那么弄SD/MicroSD卡也行。我觉得可以考虑的品牌:SAMSUNG, SanDisk。而容量最好是128G及以上,SD卡的话速度建议选择标注U3,V30,A1或以上。

对于非linux系统

对于windows,那要求就高得多了,不要想着用SD卡,如果用普通的U盘,那是卡得你根本不想用(但同样的U盘安装linux跑跑还是过得去的),我也还没有足够的资源去尝试高端产品(主要是穷),所以这里略过。至于MacOS我还没有资源来测试。 。

快速部署镜像

我放在了这个github页面,你可以把压缩包下载后,直接写入U盘,然后做扩大分区的操作,就可以使用了。

最后

折腾linux你要准备好重装5次以上的打算,这就是一个踩坑的过程。

Avatar
抱抱熊

一个喜欢折腾和研究算法的大学生

comments powered by Disqus