本仓库用于记录在LearningOS_Comp2023的学习过程中,进行实验和测试所遇到的各类问题,以及解决过程和方法总结,由于还存在其他工作时间安排,学习记录的大致更新时间以周为单位,记录内容大致如下:
- rust语言学习总结
- 问题排查总结
- OS学习总结
- 其他
本地环境配置不再赘述,新的改动是使用了字节的源,参考 https://rsproxy.cn/
,$HOME/.cargo/config
中更新为如下内容:
# [source.crates-io]
# registry = "https://github.com/rust-lang/crates.io-index"
# replace-with = 'ustc'
# [source.ustc]
# registry = "git://mirrors.ustc.edu.cn/crates.io-index"
[source.crates-io]
replace-with = 'rsproxy'
[source.rsproxy]
registry = "https://rsproxy.cn/crates.io-index"
[source.rsproxy-sparse]
registry = "sparse+https://rsproxy.cn/index/"
[registries.rsproxy]
index = "https://rsproxy.cn/crates.io-index"
[net]
git-fetch-with-cli = true
本地安装rustlings
# git clone git@github.com:LearningOS/rust-rustlings-2023-autumn-Takumi-wake.git
# cd rustlings
# cargo install --force --path .
安装成功后,执行 rustlings list
,即显示为完整的exercise
根据现有信息,可以看到,rust-based-os-comp2023提供的 rustilngs github classrom
是从 rustlings-template 仓库生成的,从readme中的信息,该仓库应该是基于 rust-lang/rustlings 仓库的 tag 5.2.1
拉取出来的,目前 rustlings
仓库最新已经更新到5.4.1,因此,准备将训练营的仓库也更新到最新版本。
实际更新中发现,训练营中的仓库 rustlings-template 和 rust-lang/rustlings仓库的最新release的 tag 5.4.1
的历史提交存在较大出入,由于担心直接更新可能导致后续的ci执行可能没有完全适配,因此,暂时只将该 tag 5.4.1
更新到自己的仓库分支 LearningOS/rust-rustlings-Takumi-wake at rustlings_5.4.1,用于自己学习使用。
另外,在推送过程遇到 fix git push error: shallow update not allowed
问题,解决过程详见 fix git push error: shallow update not allowed
当执行 cargo install --path .
安装rustlings时,出现 "Couldn't resolve host name (Could not resolve host: static.crates.io)"等报错,解决过程详见 rustlings安装编译报错
相关准备工作
- complete exercises:intro/variables/if/functions/quiz1/primitive_types
这周工作上的项目的事情有点多,基本没有太多的事情投入到这块上来,算是周末把题目给刷完了,害,年轻人不要熬夜!
- 刷完rustlings剩余的exercises,智能指针/并发/迭代器等部分后面需要再花时间看一下
本周没有什么进展,同步一下之前的记录,详见链接 学习笔记/gitlink_CI实践问题记录.md-LearningOSCI迁移小组/info