-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsearchindexes.xml
33 lines (33 loc) · 7.45 KB
/
searchindexes.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?xml version="1.0" encoding="utf-8" standalone="yes"?><search><entry><title>WSL 安装实践:WSL2+Ubuntu-22.04+KDE 配置开发环境</title><url>/document/practice_wsl2_with_ubuntu_220.4_and_kde/</url><categories><category>文档</category></categories><tags><tag><no value=/><tag><no value=/></tags><content type="html"> 本文写于 2022 年 8 月 27 日,文章内容有效性可能随时间发生变化。
本人是 Linux 新手,文章可能有不成熟之处。
作者:Taivas Jumala
update on 2022-12-20, 22:13:48 (UTC +08:00)
WSL 的 systemd 得到了 Microsoft 官方的支持,本文一大部分仅剩参考意义。
有鉴于此,我以后应该写一些不那么有时效性的,更有含金量一点的东西。
而且,我在&amp;quot;Pro WSL&amp;quot;这本书里发现了很多差不多的内容,属于是重复造轮子了。
什么是 WSL?为什么使用 WSL2? WSL 全称 Windows Subsystem for Linux (适用于 Linux 的 Windows 子系统), 它可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销。它的主要目标是提高文件系统性能,以及添加完全的系统调用兼容性。这一新的体系结构改变了这些 Linux 二进制文件与Windows 和计算机硬件进行交互的方式,但仍然提供与 WSL 1(当前广泛可用的版本)中相同的用户体验。
单个 Linux 分发版可以在 WSL 1 或 WSL 2 体系结构中运行。 每个分发版可随时升级或降级,并且你可以并行运行 WSL 1 和 WSL 2 分发版。 WSL 2 使用全新的体系结构,该体系结构受益于运行真正的 Linux 内核。1
使用WSL2您可以:
在 Microsoft Store 中选择你偏好的 GNU/Linux 分发版。 运行常用的命令行软件工具(例如 grep、sed、awk)或其他 ELF-64 二进制文件。 运行 Bash shell 脚本和 GNU/Linux 命令行应用程序,包括: 工具:vim、emacs、tmux 语言: NodeJS 、JavaScript、 Python 、Ruby、C/C++、C# 与 F#、Rust、Go 等 服务:SSHD、 MySQL 、Apache、lighttpd、 MongoDB 、 PostgreSQL 。 使用自己的 GNU/Linux 分发包管理器安装其他软件。 使用类似于 Unix 的命令行 shell 调用 Windows 应用程序。 在 Windows …</content></entry><entry><title>链表、指针技巧与编程品味</title><url>/tanslations/linked-list-good-taste/</url><categories><category>译文</category></categories><tags><tag>链表</tag><tag>指针</tag></tags><content type="html"> 本文是 Linked lists, pointer tricks and good taste 的译文,包含了一些个人的内容。 代码部分为 MIT 协议,所有权归原作者,翻译部分内容参考本站 CC 许可。
在 2016 年的 TED 采访 1上(14:10 处),Linux 的创始人 Linus Trovalds 谈及了他认为编程时所谓的好品位。主持人展示了单链表中删除项的两种实现(文中将随后复现)。其中一种实现需要一个特别的条件语句来进行特判而另一个实现不需要。Linus, 亦如我们所料,偏好后一种。
他评述道:
[&amp;hellip;] 我不会识图让你理解为什么它不包含 if 语句。我想让你理解的是有时候你从另一个角度思考问题来重写代码好让特殊情况消失而成为了一般情况,那就得到了一段好的代码。 [&amp;hellip;] &amp;ndash; L. Torvalds
采访中展示的代码片段是 C 语言风格的伪代码,非常简单。然而,正如 Linus 在评述中提到的那样,这些伪代码缺乏概念上的解释,并且无法立即看出更优雅的解决方案实际上是如何工作的
接下来的两节将详细讨论技术实现的方法,并演示间接寻址方法是如何以及为什么如此简洁。最后一节将解决方案从删除项扩展到插入项。
代码 整数单链表的基本数据结构如图1所示。
图1:带头指针的整数的单链表的数据结构 这里的数字是任意选择的整数值,箭头表示指针。 head 是一个类型为 list_item * 的指针,每个盒子都是一个 list_item 结构体的实体,每个盒子都有一个类型为 list_item * 的成员变量(在代码中称为 next )指向下一个盒子。
用 C 语言来实现它的数据结构则是:
struct list_item { int value; struct list_item *next; }; typedef struct list_item list_item; struct list { struct list_item *head; }; typedef struct list list; 我们还包括一个(最小的)API:
/* The textbook version */ void remove_cs101(list *l, list_item *target); /* A more elegant …</content></entry><entry><title>关于</title><url>/about.html</url><categories/><tags/><content type="html"> Now work in progress.</content></entry><entry><title>为 Microsoft Surface 设备准备的 openSUSE Tumbleweed 内核</title><url>/document/linux-kernel-for-microsoft-surface-devices/</url><categories><category>openSUSE</category><category>文档</category></categories><tags><tag>打包相关</tag><tag>openSUSE</tag><tag>Linux</tag><tag>Surface</tag></tags><content type="html"> 为 Microsoft Surface1 设备准备的 openSUSE Tumbleweed2 内核 完成于 2023 年 3 月 20 日,该文章部分内容具有时效性,您看见此文章时本人可能已经不再维护,请联系 Github 和 Open Build Serivice 上相关页面甄别。
缘起 简单来说,我小黄鱼上搞了一台二手 Surface Book 1,我想在上面运行 openSUSE. 于是我搜寻到了 linux surface ——一个由开源社区维护的 Surface 设备的 Linux 驱动。这些伟大的开发者为 Microsoft Surface 设备提供了相当关键的支持,使得它们得以更好与 Linux 操作系统一起帮助我们完成工作。文末的 附录:特性表 将展示已经得到支持的特性。
然而,在我了解到这些工作时,只有 Debian / Ubuntu 、 Fedora 、 Arch 这几个主流的分发版和 Gentoo、NixOS 有比较好的支持。 openSUSE 作为开源社区的一大贡献者,却在那 安装和设置指南 上缺少位置。为了方便我自己和其他用户,我决定在 开放构建服务 (Open Build Service) 上为 Tumbleweed 发行版构建打包相应的 Linux 内核。
安装指南 本指南专为 openSUSE Tumbleweed 发行版撰写,也存在其他分发版的安装指南,请查阅 Installation and Setup 3.
一、准备 你需要:
一台支持的 Surface 设备,可以查看 附录:特性表 。
一个 USB 作为安装媒介。
对于 Surface Laptop 产品线的设备,你还需要一把备用键盘。(可能的话,还需要鼠标和 USB 接口以便安装 Linux。)
在开始之前,强烈建议通过 Windows 更新来更新所有 Windows 上的固件。这应该能解决许多硬件层面的缺陷。
二、安装 openSUSE Tumbleweed ⚠️警告:
如果你计划使用磁盘加密(安装前也请注意你的 BitLocker4)或是已经使用了磁盘加密,请确保一些模块在你的初始 ram 文件系统中(参考 附录:磁盘加密 中。也就是说,确保这些模块在磁盘加密解锁界面出现时被加载,否则你将会由于不能使用键盘无法解锁你的硬盘。
和下面的注意事项一起阅读、处理非常重要, …</content></entry><entry><title>站点示例</title><url>/flinks.html</url><categories/><tags/><content type="html"> 如想交换本站友情链接,请在评论区留下你的站点信息,格式参考如下:
- name: Hugo-NexT desc: Hugo NexT 官方预览网站。 avatar: https://hugo-next.eu.org/imgs/hugo_next_avatar.png link: https://hugo-next.eu.org</content></entry></search>