0%

我不是一个执着和专注的人,所以寒假也没有什么系统性的成就,只有一些零碎的:

  • 在虾米音乐关闭之际,尝试使用Python的Requests库用正则匹配的办法爬取了虾米上的M3和例大祭这两个同人展的所有届的专辑名字存入MySQL中(Comic Market来不及爬了),顺便熟悉了VS Code。

    2021-03-02 17-35-20 2021-03-02 17-23-00
  • 给外公装了台电脑,花了挺多时间,比我想象中的要费点劲。

  • 由于闲置了很多硬盘,趁刚装过机的劲,尝试用旧电脑主板+阵列(HBA)卡+多口/多个千兆网卡,搭一个基于Arch Linux的软路由+NAS一体机,现在已经初步配置好 Samba Server,配合一台WIFI 6(802.11 ax)路由,笔记本无线局域网访问能跑满机械硬盘(100MB/s左右)的速度,基本实现NAS功能。接下来软路由的部分涉及iptables的配置,短期还未必能搞得明白,任重而道远。

  • 终于基本把基于Gitpage + Hexo的博客折腾完了,还打算绑上购买的域名musymuse.site,但是出现了很多问题,并不是很顺利,所以干脆先用原来的域名mushymuse.github.io算了,详见这篇配置笔记

    • 2021年3月3日更新:不知为何mushymuse.github.io挂了,现在还没搞清楚为什么域名没有配置好,先用github的替代品gitee,况且gitee有更快的国内访问速度。
  • 由于下个学期要学相关课程,看了看CSAPP(《深入理解计算机系统》),尽管才看了10%吧(每章各看10%),但还是足以让我解答以前的一些疑问,以及改变我的一些直觉了。就比如为什么32位系统只能使用4GB的内存?

    (小插曲:这本书撰写时当时最先进的处理器是Intel的Haswell架构的4代Core i系列,碰巧我NAS上这颗就是Haswell架构的4代i5。)


  • 把George Winston的卡农(Variations On the Kanon By Pachelbel)练到了7分熟,比较大的进步,因为在这之前我五线谱都要数格子认233。

  • 扒了ふわふわ時間(TV动画《轻音少女》插曲)的Tonewheel Organ(电风琴)部分,详见这个视频

  • 扒了《夜空》(TV动画《恋爱小行星》OP)的主歌部分。

    (小插曲:一开始懒得去找音源,于是就用Live内置音色+合成器Serum,就比如没有弦乐就用锯齿波假装是弦乐233。后来还是去下载了,但是下载下来的哪些音源动辄几十GB,我的笔记本上512GB的SSD已经不够用了,于是就想快点把NAS折腾好以腾出笔记本的空间XD。)

  • 趁这个机会翻了一遍Ableton Live的手册(英文),虽然阅读不是很流畅。翻到自带音频效果器的章节时,就惊呼就应该早点知道这个东西。比起教程,手册明显更清晰明了。这更凸显了第一手资料的重要性英语的重要性

  • 津巴多的《心理学与生活》进度推到第二章,并做了一点梳理。

  • 曼昆的《经济学原理》的微观分册看到“福利经济学”。

  • 合成器教程Syntorial推进了一章。看了CEM的House制作教程。

  • 日语学习瓶颈期,目前正在研究办法。其中一个可能的解决方案是B站叶子老师的课程,目前推进到第5课。

  • 摇滚史推进到前卫摇滚。能明显感觉到前卫摇滚比车库摇滚以及更早期的摇滚更“合耳”。刷了刷知乎,膜拜了一下那些阅专过万的大佬,以及逐渐理解为什么他们其中有很多喜欢前卫摇滚。硬摇滚有更明显的现代流行摇滚的味道,明白了后来出现的朋克、金属等等及深受其影响的现代流行摇滚的很大一部分来自硬摇滚。

  • 在听到摇曳露营第二季OP《Seize The Day》的时候,听到很多爵士元素,这大概就是受很多人说的“发展的比美国还好”的日本爵士的影响的一个体现,同时我也明白了这也是很多歌曲“二次元味”的来源之一,为此我写了一篇评论

还有一些更细碎的就不说了。


方法论:

  • 先实现,再改进。

    Python Crash Course这本Python入门书提到了Python之禅,其中有一句话——**“Now is better than none.”**书中提到:

    你可以将余生都用来学习Python和编程的纷繁难懂之处,但这样你什么项目都完不成。不要企图编写完美无缺的代码;先编写行之有效的代码,在决定是对其做进一步改进,还是转而去编写新代码。

    这与小雷老师和鑫伟对我说的话殊途同归。

  • 少想多做。

  • 适当“递归”学习,区别于“线性”学习,对于一本书,不需要从头开始看,而是先看感兴趣的部分。遇到不懂的再往回翻。把技术书当手册查,注重于实践。

  • 形成自己的流程以提高效率。

  • 谁知道你现在的的人生道路选择是否正确呢?——B站影视飓风Tim

  • 先学会生活。(不要再熬夜了)——B站何同学

以上一些感悟仅代表我现在的想法,随着人对于客观世界认识的加深,想法也会改变,可能在将来的某个时刻我会意识到这些想法的幼稚。

希望开学以后我能保持自我,不要忘记我寒假做过什么。

需要的文档资料

微软官方WSL文档

ArchWSL官方Github

ArchWiki

访问微软官方WSL文档,按照提示,打开PowerShell,执行

1
2
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

前往wsl2kernel下载页,按提示下载安装 MSI文件。

重启。

1
wsl --set-default-version 2

访问ArchWSL官方Github,下载Zip包,解压到磁盘空间较大的地方。运行Arch.exe完成安装。

运行wsl --list --verbose以查看当前已安装的WSL信息及所属WSL版本。

1
2
3
PS C:\WINDOWS\system32> wsl --list --verbose
NAME STATE VERSION
* Arch Stopped 2
1
bash

进入linux系统。

先换源,

1
nano /etc/pacman.d/mirrorlist

找到China,把地址前的注释标记#删除。

在更新系统/装软件之前,先解决密钥问题。

参照wiki页面pacman-key#Resetting all the keys,

1
2
3
rm /etc/pacman.d/gnupg -rf
pacman-key --init
pacman-key --populate archlinux

然后更新密钥库,

1
pacman -Sy archlinux-keyring && pacman -Su

然后就可以更新系统了,

1
pacman -Syu

接下来设置用户。

给root设置密码,

1
passwd

创建用户yy并设置密码,

1
2
useradd -m -G users -s /bin/bash yy
passwd yy

用visudo配置sudo,先安装vi,

1
2
pacman -S vi
visudo

参考《LinuxProbe》PDF第93页,找到root ALL=(ALL) ALL下面一行,敲i键,输入yy ALL=(ALL) ALL,ESC,:w,回车,:q,回车。

为了避免每次用sudo都要输密码的麻烦,可以使用yy ALL=NOPASSWD: ALL

1
su - yy

切换至yy。

接下来安装yay,由于makepkg需要在普通用户下操作,上述操作不可跳过。

参考yay-github,

1
2
3
4
sudo pacman -S git
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si

运行makepkg时报错,提示==> ERROR: Cannot find the strip binary required for object file stripping.

参考了下面两篇博文

makepkg遇到问题ERROR: Cannot find the strip binary required for object file stripping.

ArchLinux 或 Manjaro WSL2 配置记录

1
sudo pacman -S base-devel

出现:: fakeroot is in IgnorePkg/IgnoreGroup. Install anyway? [Y/n],一直选 y,然后一直回车即可。

重新运行makepkg,刚才的错误没了,提示==> ERROR: Failure while downloading https://github.com/Jguer/yay/archive/v10.0.3.tar.gz Aborting...

下面开始设置代理网络

参考了WSL2网络代理配置(apt与git)wsl2 怎么设置才能走 clash 的代理?,打开酸酸乳,设置端口号为10808,勾上允许LAN连接。

1
2
export https_proxy="socks5://127.0.0.1:10808"
curl myip.ipip.net -v

得到:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
*   Trying 116.211.155.164:80...
* Connected to myip.ipip.net (116.211.155.164) port 80 (#0)
> GET / HTTP/1.1
> Host: myip.ipip.net
> User-Agent: curl/7.71.1
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Date: Mon, 03 Aug 2020 10:31:14 GMT
< Content-Type: text/plain; charset=utf-8
< Content-Length: 66
< Connection: keep-alive
< X-Via-JSL: 1cf16e4,-
< Set-Cookie: __jsluid_h=c788899fbb19eebb70bea6ef91909824; max-age=31536000; path=/; HttpOnly
< X-Cache: bypass
<
当前 IP:36.24.12.82 来自于:中国 浙江 杭州 电信
* Connection #0 to host myip.ipip.net left intact

失败了。最后参照Proxy_server-ArchWiki用proxychains的解决方案:

先获取本机wsl虚拟网卡的ip地址,

1
ipconfig

找到WSL:

1
2
3
4
5
6
7
以太网适配器 vEthernet (WSL):

连接特定的 DNS 后缀 . . . . . . . :
本地链接 IPv6 地址. . . . . . . . : fe80::5195:2b19:fcc3:e8cc%61
IPv4 地址 . . . . . . . . . . . . : 172.26.112.1
子网掩码 . . . . . . . . . . . . : 255.255.240.0
默认网关. . . . . . . . . . . . . :

回到bash,安装并配置proxychains,

1
2
pacman -S proxychains
sudo nano /etc/proxychains.conf

在最后一行输入

1
socks5 172.26.112.1 10808

保存退出。

1
proxychains curl myip.ipip.net

结果:

1
2
3
4
5
[proxychains] config file found: /etc/proxychains.conf
[proxychains] preloading /usr/lib/libproxychains4.so
[proxychains] DLL init: proxychains-ng 4.14
[proxychains] Strict chain ... 172.26.112.1:10808 ... myip.ipip.net:80 ... OK
当前 IP:52.185.164.21 来自于:日本 东京都 东京 microsoft.com

done!

然后,

1
2
cd ~/yay
proxychains makepkg -si

成功安装yay。

下面开始折腾图形用户界面。经过5+小时的折腾,百度参考了大量网页Blog,踩了无数坑后,终于使Xfce桌面成功显示。以下是正确配置过程。

先在Windows安装VcXsrv,访问其官方SourceForge页面以下载。

安装并运行,第一页的Display Number改成0,第三页勾上Disable access control,完成。

(经测,Display Number不改没关系,Disable access control必需勾上)

回到linux,执行

1
2
3
pacman -S xorg xfce4 xfce4-goodies dbus
export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0
startxfce4

(如果是X410,需要在其托盘图标上点击右键,勾上Allow Public Access)

将上面的export命令写入~/.bashrc就不用每次启动都执行,

1
nano ~/.bashrc

粘贴export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0,保存退出。

1
2
source ~/.bashrc
echo $DISPLAY

后来发现不太需要Xfce桌面,只需要运行需要的软件。于是

1
pacman -Rs xfce4 xfce4-goodies

卸载后TeXmacs依然能正常运行。

参考:

WSL2的图形输出配置

wsl2图形界面的安装,wsl同理

Tips:有问题可参考这篇Blog 在Windows下安装Arch Linux子系统


8.5更新

  1. 解决GitHub的raw.githubusercontent.com无法连接问题,编辑hosts。

  2. 解决mysql数据库服务无法启动问题,参考WSL2(Arch Linux)使用systemd,安装genie:

    1
    2
    3
    yay -S genie-systemd
    genie -s
    systemctl start xxxxx

    更新:参考https://www.cnblogs.com/zsmumu/p/12416159.html

  3. 解决yay代理无法通过proxychains问题:

    1
    2
    sudo pacman -S gcc-go
    yay -S yay