From 68c9370d16e2b5a89a06ea4f664cc4c693e0bd70 Mon Sep 17 00:00:00 2001 From: Jiahong Luo Date: Thu, 1 Aug 2024 20:03:01 +0800 Subject: [PATCH 01/59] Add a newcomer's guide for new partners in USTC. (#81) * Add a newcomer's guide for new partners in USTC. * Runned prettier fix and changed the link to the newhere doc. * Rmoved the permalink from the source. --- pages/_wiki/newhere.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 pages/_wiki/newhere.md diff --git a/pages/_wiki/newhere.md b/pages/_wiki/newhere.md new file mode 100644 index 0000000000..812a345730 --- /dev/null +++ b/pages/_wiki/newhere.md @@ -0,0 +1,20 @@ +# 新同学指南 + +欢迎来到中国科学技术大学! + +现在您来到的是中国科学技术大学 Linux 用户协会的主网站。中国科学技术大学 Linux 用户协会(科大 LUG)是由在校的 GNU/Linux 爱好者发起并组成的全校性群众团体,是一个以推广自由软件文化、宣传自由软件价值为目的的协会组织。 + +下面这份指南将对 Linux 用户协会的网站的重要页面 和提供的服务进行简要的介绍。 + +## 网站指引 + +- [新闻区](https://lug.ustc.edu.cn/news/):这里有 LUG 的各类新闻,包括社团的公共事务、各类社团活动,以及一些服务的维护信息。值得注意的是,我们的活动并非仅限社团成员参加,所以欢迎来玩! +- [Wiki](https://lug.ustc.edu.cn/wiki/intro/):社团的介绍和相关信息,以及包含我们的[联系方式](https://lug.ustc.edu.cn/wiki/lug/contact/)(注:我们也有社交媒体的公众账号,所以如果想通过 QQ 和微信这类软件收到新闻消息,请在这里找到这些社交媒体的账号)和值得一看的文档:[Linux 文摘](https://lug.ustc.edu.cn/wiki/linux_digest/),[校园网](https://lug.ustc.edu.cn/wiki/doc/ustcnet-faq/),[如何提问的指引](https://lug.ustc.edu.cn/wiki/doc/howtoask/)。 +- [服务](https://lug.ustc.edu.cn/wiki/lug/services/):我们提供的各种公共网络服务的列表。而有关服务器的状态信息,请看[服务器新闻](https://servers.ustclug.org/)。 +- [Linux 101](https://101.lug.ustc.edu.cn/):如果您不熟悉 Linux 类操作系统,且想在短时间内入门,那么这是一个易于上手的教程,值得一试。 +- [FTP](https://ftp.lug.ustc.edu.cn/):我们的资料存放位置。 + +## 服务 + +- [开源镜像站](https://mirrors.ustc.edu.cn/):提供相当数量的开源软件的镜像。如果不清楚如何配置,请看[镜像站帮助](https://mirrors.ustc.edu.cn/help/)。 +- [LUG GitLab](https://git.lug.ustc.edu.cn/):使用 GitLab 的代码版本管理平台,是进行校内协作(限校内注册,但是访问是公开的)的好地方。 From 9e56eabd5c21e1918f4fbe8c3a6950b235d61f1f Mon Sep 17 00:00:00 2001 From: taoky Date: Thu, 1 Aug 2024 21:10:36 +0800 Subject: [PATCH 02/59] wiki/newhere: Fix YAML header --- pages/_wiki/newhere.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pages/_wiki/newhere.md b/pages/_wiki/newhere.md index 812a345730..bcee6fa176 100644 --- a/pages/_wiki/newhere.md +++ b/pages/_wiki/newhere.md @@ -1,3 +1,6 @@ +--- +--- + # 新同学指南 欢迎来到中国科学技术大学! From bdc2b467425c1e841adfb3f5174d87efb12cd5b1 Mon Sep 17 00:00:00 2001 From: taoky Date: Thu, 8 Aug 2024 15:56:37 +0800 Subject: [PATCH 03/59] howtoask: Remove VM case in use-screenshots This makes no sense. --- pages/_wiki/doc/howtoask.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/_wiki/doc/howtoask.md b/pages/_wiki/doc/howtoask.md index 6dea2ae1a3..865ac71820 100644 --- a/pages/_wiki/doc/howtoask.md +++ b/pages/_wiki/doc/howtoask.md @@ -317,7 +317,7 @@ A2: 要用 curl.exe 调用才行 ### 避免拍屏 {#use-screenshots} -除非实在无法截图(例如,系统初起阶段,但这一阶段也可以通过虚拟机等等方式截图),否则不要拍屏,因为: +除非实在无法截图(例如,系统启动阶段),否则不要拍屏,因为: - 不美观 - 字/图像可能会拍不清楚,因为有种现象叫做“莫尔纹” From bc075202963d89593c4e66f494e8e8217db2cdce Mon Sep 17 00:00:00 2001 From: TianKai Ma Date: Thu, 15 Aug 2024 16:18:10 +0800 Subject: [PATCH 04/59] feat: Add 2024 Software Freedom Day (SFD) lecture call for proposals --- pages/_news/2024/2024-08-15-SFD-Prep.md | 22 ++++++++++++++++++++++ pages/_wiki/lug/events/sfd.md | 10 +++++++++- 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 pages/_news/2024/2024-08-15-SFD-Prep.md diff --git a/pages/_news/2024/2024-08-15-SFD-Prep.md b/pages/_news/2024/2024-08-15-SFD-Prep.md new file mode 100644 index 0000000000..c267d60551 --- /dev/null +++ b/pages/_news/2024/2024-08-15-SFD-Prep.md @@ -0,0 +1,22 @@ +--- +title: "2024 软件自由日 (SFD) 讲座征集" +author: "tiankaima" +date: "2024-08-15 15:00:00 +0800" +categories: + - LUG 活动 +tags: [] +--- + +[软件自由日](https://en.wikipedia.org/wiki/Software_Freedom_Day)(Software Freedom Day,SFD)是在 Digital Freedom Foundation 的主办下,由自由/开源软件爱好者自发筹集组织非盈利性活动,旨在为自由/开源软件爱好者提供一个信息交流平台、联合各社区举办各种自由/开源软件活动。 + +作为合肥地区最大的 Linux 用户组织,中国科大 Linux 用户协会致力于通过 SFD 普及软件自由思想,凝聚自由软件社区,将优秀的自由软件介绍给更多开源社区的成员,最大限度帮助自由软件作者实现服务于开源社群的价值。 + +今年的软件自由日活动预计于 2024 年 9 月 21 日(九月第三个星期六)于中国科学技术大学(合肥)举行,**现面向校内外所有社区成员公开征集软件自由日讲座或其他与主题有关的活动**,有意愿的社区成员可尽快联系我们。 + +联系方式见: + +往届活动和详细介绍见: + +- [2023 SFD](https://lug.ustc.edu.cn/news/2022/09/SFD/) +- [2022 SFD](https://lug.ustc.edu.cn/news/2022/09/SFD/) +- [2021 SFD](https://lug.ustc.edu.cn/news/2021/09/SFD/) diff --git a/pages/_wiki/lug/events/sfd.md b/pages/_wiki/lug/events/sfd.md index f8e7770e18..e91bfbfa71 100644 --- a/pages/_wiki/lug/events/sfd.md +++ b/pages/_wiki/lug/events/sfd.md @@ -3,7 +3,7 @@ # Software Freedom Day -自由软件日是在国际自由软件基金会(SFI)的领导下,由自由/开源软件爱好者自发筹集的非盈利性活动。旨在为自由/开源软件爱好者提供一个信息交流平台,以及联合各社区举办各种自由/开源软件活动。 +[软件自由日](https://en.wikipedia.org/wiki/Software_Freedom_Day)(Software Freedom Day,SFD)是在 Digital Freedom Foundation 的主办下,由自由/开源软件爱好者自发筹集组织非盈利性活动,旨在为自由/开源软件爱好者提供一个信息交流平台、联合各社区举办各种自由/开源软件活动。 科大 LUG 已经成功的连续几届举办了合肥站的自由软件日活动。活动得到了龙芯梦兰、龙芯俱乐部、中标软件、中科红旗、中国开源软件推进联盟、深度科技等公司、开源社区,以及合肥工业大学,安徽大学等兄弟院校的大力支持。活动邀请过多个在国内开源软件领域非常有影响力的嘉宾,如科大网络中心的张焕杰老师,北京 GUG 主席李震宁先生,上海 LUG 主席姚欣宇,从事 MIPS 开发的刘世伟先生等,带来了各种内容的主题演讲。 @@ -203,6 +203,14 @@ SFD,可译为“软件自由日”,顾名思义是对自由、开源软件 ## SFD 官方介绍 +### Digital Freedom Foundation 的介绍 + +Software Freedom Day (SFD) is a worldwide celebration of Free and Open Source Software (FOSS). Our goal in this celebration is to educate the worldwide public about the benefits of using high quality FOSS in education, in government, at home, and in business -- in short, everywhere! Digital Freedom Foundation coordinates SFD at a global level, providing support and a point of collaboration, but volunteer teams around the world organize the local SFD events to impact their own communities. + +SFD 是一个全球范围的对自由及开源软件(FOSS)的庆祝活动。在这次庆祝活动中,我们的目标是让全球的公众认识到在各个地方使用高质量自由开源软件的好处,例如在教育行业、在政府机关、在家中、在公司办公时……简而言之,了解在所有地方使用这些软件的好处!Digital Freedom Foundation 在全球层面上对 SFD 活动进行组织协调,并提供信息支持、赠品支持及一定的工作协助。但实际上,这个活动需要依靠全球各地的志愿者队伍来组织本地的 SFD 活动,以此影响他们自己所处的社区。 + +### SFI 的介绍 + 以下内容来源为[SFD 官方网站](https://www.softwarefreedomday.org/about)。简体中文翻译由 @hosiet 完成,且并非正式翻译。 SFD is a worldwide celebration of Free and Open Source Software (FOSS). From 5ebfa265d0e3ed0651ecf10b7d9313f7b7c2d727 Mon Sep 17 00:00:00 2001 From: TianKai Ma Date: Thu, 15 Aug 2024 23:43:04 +0800 Subject: [PATCH 05/59] fix(typo): 2024/SFD-Prep --- pages/_news/2024/2024-08-15-SFD-Prep.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/_news/2024/2024-08-15-SFD-Prep.md b/pages/_news/2024/2024-08-15-SFD-Prep.md index c267d60551..1e4dc083f2 100644 --- a/pages/_news/2024/2024-08-15-SFD-Prep.md +++ b/pages/_news/2024/2024-08-15-SFD-Prep.md @@ -17,6 +17,6 @@ tags: [] 往届活动和详细介绍见: -- [2023 SFD](https://lug.ustc.edu.cn/news/2022/09/SFD/) +- [2023 SFD](https://lug.ustc.edu.cn/news/2023/09/SFD/) - [2022 SFD](https://lug.ustc.edu.cn/news/2022/09/SFD/) - [2021 SFD](https://lug.ustc.edu.cn/news/2021/09/SFD/) From b66380111f26da88f5a15bc17983b9528de39ace Mon Sep 17 00:00:00 2001 From: TianKai Ma Date: Tue, 20 Aug 2024 19:00:29 +0800 Subject: [PATCH 06/59] chore: remove dead links --- pages/_wiki/lug/links.md | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/pages/_wiki/lug/links.md b/pages/_wiki/lug/links.md index 7ba52fa7c0..708c6e920e 100644 --- a/pages/_wiki/lug/links.md +++ b/pages/_wiki/lug/links.md @@ -28,24 +28,21 @@ ## 各地 LUG -| 地区 | 邮件列表 | Homepage | -| ---- | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------- | -| 上海 | [Shanghai Linux User Group](https://groups.google.com/group/shlug) | [SHLUG](http://www.shlug.org/) | -| 北京 | [Beijing GNU/Linux User Group](https://beijinglug.club/mailing-lists/) | [BLUG](https://beijinglug.club/) | -| 成都 | [Chengdu Linux User Group](https://groups.google.com/group/cdlug_community) | [CDLUG](https://cdlug.org/) | -| 重庆 | [Chongqing Linux User Group](https://groups.google.com/forum/#!forum/chongqinglug) | [CHONGQINGLUG](http://www.chongqinglug.org/) | -| 广州 | [Guangzhou Linux User Group](https://groups.google.com/group/gzlug) | | -| 杭州 | [Hangzhou Linux User Group](https://groups.google.com/group/hzlug) | | -| 南京 | [Nanjing Linux User Group](https://groups.google.com/group/njlug) | | -| 深圳 | [Shenzhen Linux User Group](https://groups.google.com/group/szlug) | | -| 天津 | [Tianjing Linux User Group](https://groups.google.com/group/tjlug) | | -| 香港 | | [Hong Kong Linux User Group](http://www.linux.org.hk/) | -| 沈阳 | | [Northeastern University Linux User Group](https://lug.neu.edu.cn/) | +| 地区 | 邮件列表 | Homepage | +| ---- | ---------------------------------------------------------------------------------- | ------------------------------------------------------ | +| 上海 | [Shanghai Linux User Group](https://groups.google.com/group/shlug) | [SHLUG](http://www.shlug.org/) | +| 北京 | [Beijing GNU/Linux User Group](https://beijinglug.club/mailing-lists/) | [BLUG](https://beijinglug.club/) | +| 成都 | [Chengdu Linux User Group](https://groups.google.com/group/cdlug_community) | [CDLUG](https://cdlug.org/) | +| 重庆 | [Chongqing Linux User Group](https://groups.google.com/forum/#!forum/chongqinglug) | [CHONGQINGLUG](http://www.chongqinglug.org/) | +| 广州 | [Guangzhou Linux User Group](https://groups.google.com/group/gzlug) | | +| 杭州 | [Hangzhou Linux User Group](https://groups.google.com/group/hzlug) | | +| 南京 | [Nanjing Linux User Group](https://groups.google.com/group/njlug) | | +| 深圳 | [Shenzhen Linux User Group](https://groups.google.com/group/szlug) | | +| 天津 | [Tianjing Linux User Group](https://groups.google.com/group/tjlug) | | +| 香港 | | [Hong Kong Linux User Group](http://www.linux.org.hk/) | ## 企业链接 -- [江苏龙芯梦兰科技股份有限公司](http://www.lemote.com/) - [中标软件](http://www.cs2c.com.cn/) -- [华恒科技](http://www.hhcn.com/) - [谋智中国](http://mozilla.com.cn/) - [上海恒为信息科技有限公司](http://www.embedway.com/) From 975675df7f8139c7dc28630564165b50004a313e Mon Sep 17 00:00:00 2001 From: iBug Date: Tue, 20 Aug 2024 20:13:05 +0800 Subject: [PATCH 07/59] Actions: "Call webhook" is allowed to fail --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5c918768cc..08299a90a3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -117,6 +117,7 @@ jobs: - name: Call webhook if: "github.repository == 'ustclug/website' && github.ref == 'refs/heads/master'" + continue-on-error: true env: WEBHOOK_SECRET: ${{ secrets.WEBHOOK_SECRET }} run: ruby _scripts/webhook.rb From d98dccbfe975d89aba5e30454f4fadcdba5721a6 Mon Sep 17 00:00:00 2001 From: TianKai Ma Date: Fri, 23 Aug 2024 17:58:17 +0800 Subject: [PATCH 08/59] chore: remove BBS in ustcnet-faq - dropping thunderbird section - remove backquote's default italic css behavior --- README.md | 6 ++++-- _sass/index.scss | 5 +++++ pages/_wiki/doc/ustcnet-faq.md | 29 ++++++++++------------------- 3 files changed, 19 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 8aa6649e71..e3026bad34 100644 --- a/README.md +++ b/README.md @@ -43,8 +43,10 @@ 1. 安装 Node.js 开发环境(略) 2. 运行 `npm install` 以安装 prettier -3. 使用 `npm run fix` 自动格式化。可以将不希望 prettier 处理的文件加入 `.prettierignore`,未来可能会加上 YAML 和 SCSS 格式文件的处理 -4. 使用 `npm run check` 验证格式无问题 +3. 使用 `npm run check` 验证格式无问题 +4. 使用 `npm run fix` 自动格式化 + + 可以将不希望 prettier 处理的文件加入 `.prettierignore`,未来可能会加上 YAML 和 SCSS 格式文件的处理 ## 许可 diff --git a/_sass/index.scss b/_sass/index.scss index a3a8b81c1b..ea41c29bb9 100644 --- a/_sass/index.scss +++ b/_sass/index.scss @@ -178,3 +178,8 @@ body { } } +blockquote { + // comment: @tiankaima + // Minimal Mistakes Jekyll defaults to italic, but for Chinese content italic is basically unreadable... + font-style: normal; +} diff --git a/pages/_wiki/doc/ustcnet-faq.md b/pages/_wiki/doc/ustcnet-faq.md index 60dd84380a..f8b364c4ad 100644 --- a/pages/_wiki/doc/ustcnet-faq.md +++ b/pages/_wiki/doc/ustcnet-faq.md @@ -61,31 +61,22 @@ redirect_from: /wiki/user/taoky/ustcnet_troubleshooting/ -## 科大邮箱 - -### 使用 Thunderbird 连接科大邮箱 - -~~由于 Thunderbird 某次版本升级后默认配置与邮箱服务器不兼容,因此除常规配置外,还需要修改以下配置:Edit → Settings,在 General 中拖到最下面选择 Config Editor...。在新弹出的高级配置的标签中输入 utf8,将 `mail.server.default.allow_utf8_accept` 的值从 true 改成 false。这个设置不会影响其他邮箱的使用。~~ - -新版邮箱不再需要特殊设置。 - ## 如何咨询/反馈问题? -可以向网络信息中心()邮件反馈问题,或者在 BBS 的「网络信息中心」板块反馈,或者在报修系统()报修。 - -(尽管 BBS 已经成为时代的眼泪,但是在向校方部门反馈问题的方面还是有效的) +可以向: -在反馈时务必注意: +- [LUG 的讨论群组](https://lug.ustc.edu.cn/wiki/lug/contact/) 寻求帮助 +- [网络信息中心](https://ustcnet.ustc.edu.cn/) 邮件反馈问题 +- [报修系统](https://baoxiu.ustc.edu.cn/) 报修 -1. 请先查看 BBS 网络信息中心板块,确认是否有故障公告,或者其他人报告了你的问题。 -2. 尽可能提供详细的信息,例如: +在反馈时务必提供详细的信息,例如: - - 出现问题时的症状是什么?如果是偶发的问题,出现的频率如何? - - 避免使用类似于「网络炸了」等**表意不明而没有信息量**的描述。 - - 你所使用的设备情况、连接校园网的位置与连接方式、你的同学是否出现了你遇到的情况。 - - 如果有能力,请提供技术信息,例如系统的网络设置情况、抓包情况等。 +- 出现问题时的症状是什么?如果是偶发的问题,出现的频率如何? + - 避免使用类似于「网络炸了」等**表意不明而没有信息量**的描述。 +- 你所使用的设备情况、连接校园网的位置与连接方式、你的同学是否出现了你遇到的情况。 +- 如果有能力,请提供技术信息,例如系统的网络设置情况、抓包情况等。 -**充足的信息可以同时节省你和帮你解决问题的人的时间**,这很重要。如果只是说「连不上网怎么办啊」,那么想帮你解决问题的人会感到很困惑的。有关如何提问,可以参考[这篇文档](https://lug.ustc.edu.cn/wiki/doc/howtoask/),良好的提问方式能使得您的问题得到更准确的解决方案。 +> **充足的信息可以同时节省你和帮你解决问题的人的时间**,这很重要。如果只是说「连不上网怎么办啊」,那么想帮你解决问题的人会感到很困惑的。有关如何提问,可以参考[这篇文档](https://lug.ustc.edu.cn/wiki/doc/howtoask/),良好的提问方式能使得您的问题得到更准确的解决方案。 ## 参考 From 9de5859c1521b81115fdc2a433e3a89cf1990419 Mon Sep 17 00:00:00 2001 From: iBug Date: Sat, 24 Aug 2024 19:51:25 +0800 Subject: [PATCH 09/59] 2024 CFO resigned? --- pages/_wiki/lug/person-in-charge.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pages/_wiki/lug/person-in-charge.md b/pages/_wiki/lug/person-in-charge.md index f0c1cf9765..119fdd0052 100644 --- a/pages/_wiki/lug/person-in-charge.md +++ b/pages/_wiki/lug/person-in-charge.md @@ -16,7 +16,6 @@ | - | 执行副会长 | 金文丁 | pro AT ustclug.org | | CTO | 技术部部长 | 杨广源 | | | - | 技术部副部长 | 王昊元 | mirageturtle AT ustclug.org | -| CFO | 财务部部长 | 谢子郁 | | | COO & MSC | 运营部部长 & MSC 事务 | 马天开 | tiankaima AT ustclug.org | | - | 团支书 | 谢子郁 | | | - | 社长 | 罗嘉宏 | luojh AT ustclug.org | @@ -24,7 +23,7 @@ | - | 副社长 | 杨广源 | | | - | 副社长 | 马天开 | tiankaima AT ustclug.org | -_更多联系信息正在更新过程中_ +注:_更多联系信息正在更新过程中_。 ## 历任负责人 From 6dc99b77bbaf0698959c43f9d6b13af3d8cc9099 Mon Sep 17 00:00:00 2001 From: iBug Date: Sun, 25 Aug 2024 03:18:23 +0800 Subject: [PATCH 10/59] lugftp: Change default link to HTTPS --- pages/_wiki/lug/services/ftp.md | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/pages/_wiki/lug/services/ftp.md b/pages/_wiki/lug/services/ftp.md index a7dfd7c078..e534128e99 100644 --- a/pages/_wiki/lug/services/ftp.md +++ b/pages/_wiki/lug/services/ftp.md @@ -5,9 +5,7 @@ ## 简介 -LUG FTP 对应域名为 [ftp.lug.ustc.edu.cn](ftp://ftp.lug.ustc.edu.cn/)。 - -注意:直接在浏览器中输入这个域名可能会被识别为 FTP 协议。 +LUG FTP 对应域名为 [ftp.lug.ustc.edu.cn](https://ftp.lug.ustc.edu.cn/)。 这里存储社团历史活动资料的存档,以及一些与 Linux、开源软件、编程等计算机科学与技术相关的学习资料。 @@ -15,13 +13,13 @@ LUG FTP 对应域名为 [ftp.lug.ustc.edu.cn](ftp://ftp.lug.ustc.edu.cn/)。 ### 使用 HTTP 协议 -站点链接:[https://ftp.lug.ustc.edu.cn](https://ftp.lug.ustc.edu.cn/) +站点链接: 支持匿名只读访问。请注意部分目录无法使用 HTTP 访问。 ### 使用 FTP 协议 -站点链接:[ftp://ftp.lug.ustc.edu.cn](ftp://ftp.lug.ustc.edu.cn/) +站点链接: 不支持 FTP 匿名访问。用户须使用公开帐号登陆至服务器。 @@ -33,10 +31,4 @@ LUG FTP 对应域名为 [ftp.lug.ustc.edu.cn](ftp://ftp.lug.ustc.edu.cn/)。 ## 上传 -### 管理员用户 - 如需使用 FTP 协议对内容进行管理,请联系管理员以了解详细信息。 - ---- - -[LUG@USTC](https://lug.ustc.edu.cn/) From b167b1214a9094e6e199b21a2d44b90edfe06c77 Mon Sep 17 00:00:00 2001 From: Jiahong Luo Date: Tue, 27 Aug 2024 08:18:57 +0800 Subject: [PATCH 11/59] =?UTF-8?q?Update=20person-in-charge.md=20for=20erin?= =?UTF-8?q?a=E2=80=98s=20mail?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Erina‘s mail is added to the person in charge list. --- pages/_wiki/lug/person-in-charge.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/_wiki/lug/person-in-charge.md b/pages/_wiki/lug/person-in-charge.md index 119fdd0052..acbc22f052 100644 --- a/pages/_wiki/lug/person-in-charge.md +++ b/pages/_wiki/lug/person-in-charge.md @@ -14,7 +14,7 @@ | CEO | 执行会长 | 罗嘉宏 | luojh AT ustclug.org | | - | 执行副会长 | 马天开 | tiankaima AT ustclug.org | | - | 执行副会长 | 金文丁 | pro AT ustclug.org | -| CTO | 技术部部长 | 杨广源 | | +| CTO | 技术部部长 | 杨广源 | erina AT ustclug.org | | - | 技术部副部长 | 王昊元 | mirageturtle AT ustclug.org | | COO & MSC | 运营部部长 & MSC 事务 | 马天开 | tiankaima AT ustclug.org | | - | 团支书 | 谢子郁 | | From c38fdb2b2991407ac02ceafa8218680ccf16a87e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BF=A7=E9=83=81=E6=B2=99=E8=8C=B6?= Date: Sat, 7 Sep 2024 16:43:59 +0800 Subject: [PATCH 12/59] Update borrow_history.md (#83) --- pages/_wiki/lug/book/borrow_history.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/_wiki/lug/book/borrow_history.md b/pages/_wiki/lug/book/borrow_history.md index 070b69511f..a452ea73b1 100644 --- a/pages/_wiki/lug/book/borrow_history.md +++ b/pages/_wiki/lug/book/borrow_history.md @@ -20,7 +20,7 @@ | 人工智能 一种现代的方法 3ed. | 徐奥 | xuao123 AT mail.ustc.edu.cn | 2023-03-06 | \- | \- | | 代数结构 | 方越 | yuefang AT mail.ustc.edu.cn | 2023-03-13 | \- | \- | | 信息论基础(第二版) | 袁保杰 | crabtux AT mail.ustc.edu.cn | 2023-04-07 | 2023-05-31 | \- | -| Intel 微处理器 | 袁保杰 | crabtux AT mail.ustc.edu.cn | 2023-09-01 | \- | \- | +| Intel 微处理器 | 袁保杰 | crabtux AT mail.ustc.edu.cn | 2023-09-01 | 2024-06-10 | \- | | C++ Primer Plus(第六版) | 封霁芩 | smgj AT mail.ustc.edu.cn | 2023-10-11 | \- | \- | ## 2022 年借阅记录 From 2dd0a5e3684941f01d44f791a6327849d1db85aa Mon Sep 17 00:00:00 2001 From: TianKai Ma Date: Tue, 10 Sep 2024 14:35:54 +0800 Subject: [PATCH 13/59] chore: Update ustcnet-faq.md --- pages/_wiki/doc/ustcnet-faq.md | 55 +++++++++++++++++++++------------- 1 file changed, 34 insertions(+), 21 deletions(-) diff --git a/pages/_wiki/doc/ustcnet-faq.md b/pages/_wiki/doc/ustcnet-faq.md index f8b364c4ad..c621771f0a 100644 --- a/pages/_wiki/doc/ustcnet-faq.md +++ b/pages/_wiki/doc/ustcnet-faq.md @@ -4,27 +4,42 @@ redirect_from: /wiki/user/taoky/ustcnet_troubleshooting/ # 校园网常见问题与快速自查指南 -本文由 Linux 用户协会维护,部分内容尚不完整。如果有疑问,欢迎[联系我们](../lug/contact/)讨论或反馈。 +本文由 Linux 用户协会维护,如有疑问,欢迎 [联系我们](/wiki/lug/contact/) 讨论或反馈。 -## 网络通 +## 关于 eduroam + +eduroam 是一个全球性的无线网络服务,覆盖了全球 100 多个国家和地区的数千所教育和研究机构。中国科大也是 eduroam 项目的参与单位之一。 + +使用 eduroam 有如下优点: -### 网络通是什么? +- 无需二次认证,连接即用 +- 可在其他 eduroam 覆盖的地区使用 +- 不受网络通设备限制 + +连接方式参考: + +## 网络通 如果你通过有线网络(如宿舍和实验室墙上的网口)或 ustcnet 无线网络接入校园网,并且你想要**通过 IPv4 访问校外资源**,那么你需要通过网络通进行认证。 以下使用场景无需网络通: -- 访问校内资源(如教务系统、各类学校门户网站、[USTC 开源软件镜像站](https://mirrors.ustc.edu.cn)等) +- 访问校内资源(如教务系统、各类学校门户网站、[USTC 开源软件镜像站](https://mirrors.ustc.edu.cn) 等) - 大部分校内资源使用的域名都以 `.ustc.edu.cn` 结尾;类似地,使用 `.ustc.edu.cn` 域名的资源也大多数是校内资源。 - - 对应校园网的 IP 地址范围可以参考[这里](https://git.ustc.edu.cn/ustcnic/docs/-/blob/master/IP_AS.md)。 + - 对应校园网的 IP 地址范围可以参考 [这里](https://git.ustc.edu.cn/ustcnic/docs/-/blob/master/IP_AS.md)。 - 通过 IPv6 访问校内和校外资源(IPv6 的出校权限是完全开放的) -- 连接 eduroam(**注意**:eduroam 需要一个开启了出校权限的网络通账号,但可以没有国际权限) +- 连接 eduroam + - eduroam 需要一个开启了出校权限的网络通账号,但可以没有国际权限 特别地,以下情况与网络通无关: -- 连接有线网络或无线网络后无法获得 IP 地址,或者仅有 169.254 开头的 IP 地址:请参考本文后面的章节排查问题。 +- 连接有线网络或无线网络后无法获得 IP 地址,或者仅有 `169.254` 开头的 IP 地址:请参考本文后面的章节排查问题。 -如果你还没有申请网络通,请前往[这里](https://ustcnet.ustc.edu.cn/service/index.php?activeTab=tabWelcome)开通服务。 +如果你还没有申请网络通,请前往 [这里](https://ustcnet.ustc.edu.cn/service/index.php?activeTab=tabWelcome) 开通服务。 + +对于进阶用户,我们也准备了 [USTC 网络通脚本](/wiki/scripts/wlt.md) 供你使用。 + +## 常见问题 ### 连接无线热点/有线网络后无法打开网络通页面 @@ -45,7 +60,9 @@ redirect_from: /wiki/user/taoky/ustcnet_troubleshooting/ - 直接访问 [202.38.64.59](http://202.38.64.59); - 不推荐的做法:在 hosts 文件中将 `wlt.ustc.edu.cn` 域名绑定到 `202.38.64.59`。 - (对于新电脑)一些现代浏览器会自动打开「启用基于 HTTPS 的 DNS」(DoH)功能,和上面的原因一样,会造成网络通域名解析出错,且默认提供商(Cloudflare)在大陆体验不佳,建议关闭该功能。各浏览器设置路径如下: +3. 是否开启了 DoH? + + 一些现代浏览器会自动打开 [「启用基于 HTTPS 的 DNS」(DoH)](https://zh.wikipedia.org/wiki/DNS_over_HTTPS) 功能,和上面的原因一样,会造成网络通域名解析出错,且默认提供商(Cloudflare)在大陆体验不佳,建议关闭该功能。各浏览器设置路径如下: - Chrome:设置 → 安全 → 使用安全 DNS - Firefox:常规 → 网络设置 → 启用基于 HTTPS 的 DNS @@ -55,29 +72,25 @@ redirect_from: /wiki/user/taoky/ustcnet_troubleshooting/ 教育网出口无 NAT,直接获得公网 IP。该出口仅会阻止一些敏感端口被校外访问(如 80, 443, 3389 等)。使用此出口时,请避免将不希望校外访问的服务 bind 到 `0.0.0.0`。部分软件配置中的「允许局域网计算机访问」在此情况下实际上是允许互联网所有计算机访问,这通常是不符合预期的。 -自 2021 年 11 月起,学校网络信息中心对校外网络访问校内 IP 策略做了调整,校外 IP 不能对宿舍网络、无线网络 ustcnet 及 eduroam 的 IP 发起主动的 TCP 连接。 +> 自 2021 年 11 月起,学校网络信息中心对校外网络访问校内 IP 策略做了调整,校外 IP 不能对宿舍网络、无线网络 ustcnet 及 eduroam 的 IP 发起主动的 TCP 连接。 -## 如何连接 eduroam - - +若上述指南并没有解决你的问题,可以查看 [网络信息中心用户服务部 FAQ](https://netfee.ustc.edu.cn/faq/) 寻求帮助。 ## 如何咨询/反馈问题? -可以向: +可以向: -- [LUG 的讨论群组](https://lug.ustc.edu.cn/wiki/lug/contact/) 寻求帮助 +- [LUG 的讨论群组](/wiki/lug/contact/) 寻求帮助 - [网络信息中心](https://ustcnet.ustc.edu.cn/) 邮件反馈问题 - [报修系统](https://baoxiu.ustc.edu.cn/) 报修 在反馈时务必提供详细的信息,例如: - 出现问题时的症状是什么?如果是偶发的问题,出现的频率如何? - - 避免使用类似于「网络炸了」等**表意不明而没有信息量**的描述。 + - 避免使用类似于「网络炸了」等**表意不明且没有信息量**的描述。 - 你所使用的设备情况、连接校园网的位置与连接方式、你的同学是否出现了你遇到的情况。 - 如果有能力,请提供技术信息,例如系统的网络设置情况、抓包情况等。 -> **充足的信息可以同时节省你和帮你解决问题的人的时间**,这很重要。如果只是说「连不上网怎么办啊」,那么想帮你解决问题的人会感到很困惑的。有关如何提问,可以参考[这篇文档](https://lug.ustc.edu.cn/wiki/doc/howtoask/),良好的提问方式能使得您的问题得到更准确的解决方案。 - -## 参考 - -若上述指南并没有解决你的问题,可以查看[网络信息中心用户服务部 FAQ](https://netfee.ustc.edu.cn/faq/) 寻求帮助。 +> **充足的信息可以同时节省你和帮你解决问题的人的时间**,这很重要。 +> +> 如果只是说「连不上网怎么办啊」,那么想帮你解决问题的人会感到很困惑。有关如何提问,可以参考 [这篇文档](/wiki/doc/howtoask/),良好的提问方式能使得您的问题得到更准确的解决方案。 From 19e089d7e25c75159d8e595073471659fd0f3a43 Mon Sep 17 00:00:00 2001 From: Tiankai Ma Date: Tue, 10 Sep 2024 16:35:11 +0800 Subject: [PATCH 14/59] Update pages/_wiki/doc/ustcnet-faq.md Co-authored-by: taoky --- pages/_wiki/doc/ustcnet-faq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/_wiki/doc/ustcnet-faq.md b/pages/_wiki/doc/ustcnet-faq.md index c621771f0a..6a5ab128c7 100644 --- a/pages/_wiki/doc/ustcnet-faq.md +++ b/pages/_wiki/doc/ustcnet-faq.md @@ -37,7 +37,7 @@ eduroam 是一个全球性的无线网络服务,覆盖了全球 100 多个国 如果你还没有申请网络通,请前往 [这里](https://ustcnet.ustc.edu.cn/service/index.php?activeTab=tabWelcome) 开通服务。 -对于进阶用户,我们也准备了 [USTC 网络通脚本](/wiki/scripts/wlt.md) 供你使用。 +对于进阶用户,我们也准备了 [USTC 网络通脚本](/wiki/scripts/wlt/) 供你使用。 ## 常见问题 From 5528179839b66082eac1b580ec07dc47955450a8 Mon Sep 17 00:00:00 2001 From: Tiankai Ma Date: Tue, 10 Sep 2024 17:48:04 +0800 Subject: [PATCH 15/59] chore: update navigation structure, wip --- _data/navigation.yml | 64 ++++++++++++++++++----------- pages/_wiki/index.md | 17 ++++---- pages/_wiki/intro.md | 48 ++++++++-------------- pages/_wiki/intro_english.md | 42 ------------------- pages/_wiki/lug/contact.md | 59 +++++++++++--------------- pages/_wiki/lug/contribute.md | 24 +++++++---- pages/_wiki/lug/person-in-charge.md | 8 ++-- pages/_wiki/lug/services/mirrors.md | 8 ++-- pages/_wiki/lug/sns.md | 34 +++++---------- 9 files changed, 122 insertions(+), 182 deletions(-) delete mode 100644 pages/_wiki/intro_english.md diff --git a/_data/navigation.yml b/_data/navigation.yml index 666c34ddf9..f9905454c5 100644 --- a/_data/navigation.yml +++ b/_data/navigation.yml @@ -11,18 +11,22 @@ main: url: "https://mirrors.ustc.edu.cn/" wiki: - - title: LUG @ USTC + - title: 关于 + children: + - title: ' LUG @ USTC' + url: /wiki/ + - title: ' 关于我们' + url: /wiki/intro/ + - title: 服务 children: - - title: ' LUG 首页' - url: / - - title: ' LUG 新闻' - url: /news/ - title: ' LUG 服务' url: /wiki/lug/services/ - - title: ' 友情链接' - url: /wiki/lug/links/ - - title: ' 开源软件镜像' + - title: ' 开源镜像站' url: /wiki/lug/services/mirrors/ + - title: ' 代码托管平台' + url: /wiki/lug/services/gitlab/ + - title: ' LUG FTP' + url: /wiki/lug/services/ftp / - title: 活动 children: - title: ' LUG 活动' @@ -30,32 +34,44 @@ wiki: - title: ' 每周小聚' url: /wiki/lug/events/weeklyparty/ - title: ' Linux 101' - url: https://101.lug.ustc.edu.cn/ - - title: ' 邮件列表' - url: /wiki/lug/mailinglist/ - - title: ' LUG 书库' - url: /wiki/lug/book/ - - title: ' LUG 财务' - url: /wiki/lug/finance/ + url: /wiki/lug/events/101/ + - title: ' Hackergame' + url: /wiki/lug/events/hackergame/ + - title: ' Linux Install Party' + url: /wiki/lug/events/lip/ + - title: ' Software Freedom Day' + url: /wiki/lug/events/sfd/ - title: 联系 children: - - title: ' LUG 负责人' - url: /wiki/lug/person-in-charge/ - title: ' 联系我们' url: /wiki/lug/contact/ - title: ' 加入我们' url: /wiki/lug/contribute/ + - title: ' LUG 负责人' + url: /wiki/lug/person-in-charge/ + - title: ' 邮件列表' + url: /wiki/lug/mailinglist/ - title: ' 捐赠我们' url: /wiki/lug/finance/donate/ - - title: 资源 + - title: 文档 children: - - title: ' Linux 文摘' - url: /wiki/linux_digest/ - - title: ' 资源导航' - url: /wiki/lug/resources/ - - title: ' 服务器新闻' - url: 'https://servers.ustclug.org/' - title: ' 校园网常见问题' url: /wiki/doc/ustcnet-faq/ - title: ' 提问指南' url: /wiki/doc/howtoask/ + + # # I'm thinking about deleting all the following items + # - title: 其他 + # children: + # - title: ' 资源导航' + # url: /wiki/lug/resources/ + # - title: ' LUG 书库' + # url: /wiki/lug/book/ + # - title: ' LUG 财务' + # url: /wiki/lug/finance/ + # - title: ' 服务器新闻' + # url: 'https://servers.ustclug.org/' + # - title: ' 友情链接' + # url: /wiki/lug/links/ + # - title: ' Linux 文摘' + # url: /wiki/linux_digest/ diff --git a/pages/_wiki/index.md b/pages/_wiki/index.md index e9692508e6..ce964881e5 100644 --- a/pages/_wiki/index.md +++ b/pages/_wiki/index.md @@ -4,10 +4,9 @@ permalink: /wiki/ # 中国科学技术大学 Linux 用户协会 -中国科学技术大学 Linux 用户协会(科大 LUG)是由在校的 GNU/Linux 爱好者发起并组成的全校性群众团体,是一个以推广自由软件文化、宣传自由软件价值为目的的协会组织。 -[了解更多](intro.md) +中国科学技术大学 Linux 用户协会(科大 LUG)是由在校的 GNU/Linux 爱好者发起并组成的全校性群众团体,是一个以推广自由软件文化、宣传自由软件价值为目的的协会组织。 -[English Version](intro_english.md) +[了解更多](intro.md) ## 特色活动 @@ -43,13 +42,13 @@ permalink: /wiki/ ## 联系我们 -- QQ 群: 适合于即时性较强的讨论,较正式的讨论还请使用邮件列表。具体群号请查看 qq.ustclug.org 的 TXT 记录。 -- 邮件列表: ustc_lug (at) googlegroups.com [点击此处了解详情](/wiki/lug/mailinglist) +- 官方邮箱:![]({{ site.static_url }}/email.png) +- QQ 群:适合于即时性较强的讨论,较正式的讨论还请使用邮件列表。具体群号请查看 `qq.ustclug.org` 的 TXT 记录。 +- 邮件列表:`ustc_lug (at) googlegroups.com` [点击此处了解详情](/wiki/lug/mailinglist) - IRC/Telegram 在线及时聊天,[点击此处](/wiki/lug/contact)了解加入方式,平台互联由 TUNA 提供支持 -- 瀚海星云 BBS: [瀚海星云 BBS Linux 版](https://bbs.ustc.edu.cn/cgi/bbsdoc?board=Linux) -- 官方邮箱: ![]({{ site.static_url }}/email.png) -- 活动室: 西区图书馆 403 室 -- 更多联系方式请 [戳这里](/wiki/lug/contact) +- 活动室:西区图书馆 403 室 + +> 更多联系方式请 [戳这里](lug/contact) ## 协会 LOGO diff --git a/pages/_wiki/intro.md b/pages/_wiki/intro.md index 1fec8beb72..40bf20ad2f 100644 --- a/pages/_wiki/intro.md +++ b/pages/_wiki/intro.md @@ -3,42 +3,28 @@ # 中国科学技术大学 Linux 用户协会 -[English Version](intro_english.md) +## 关于我们 中国科学技术大学 Linux 用户协会是由中国科学技术大学在校的 GNU/Linux 爱好者发起并组成的一个全校性群众团体。成立协会的目的在于联合科大的 GNU/Linux 使用者,搭建信息交流共享的平台,宣传自由软件的价值,提高自由软件社区文化氛围,推广自由软件在科大校园乃至合肥地区的应用。 -Linux 用户协会正式成立于 2003 年,至今已经走过了二十多年,是安徽省高校中一个以推广自由软件社区文化、宣传自由软件价值为目的的协会组织,也是中国大陆高校发展最好的 Linux/自由软件社团之一。在各届协会成员和志愿者的共同努力下,协会开展了许多有意义的活动,如 Linux 网络技术讲座、“GNU/Linux Install Party”、PMP 中的嵌入式 Linux 技术讲座、Oracle 和开源技术报告、“合肥地区开源软件竞赛”、自由软件日技术沙龙、每周小聚和多次 GNU/Linux 系统使用和编程讲座。 +Linux 用户协会正式成立于 2003 年,至今已经走过了二十多年,是安徽省高校中一个以推广自由软件社区文化、宣传自由软件价值为目的的协会组织,也是中国大陆高校发展最好的 Linux/自由软件社团之一。在各届协会成员和志愿者的共同努力下,协会开展了许多有意义的活动,如: -自 2003 年开始,协会开始维护国内知名的 Debian 镜像服务器 http://debian.ustc.edu.cn,目前在学校网络中心的支持下,该服务器和 http://oss.ustc.edu.cn 整合为 http://mirrors.ustc.edu.cn ,并成为 Debian, Ubuntu, Fedora, Arch Linux 等多个发行版的官方源以及 Debian 在中国的官方镜像:http://ftp.cn.debian.org 。利用少年班学院的退役超算,协会建立起了 freeshell 服务器,为科大师生提供了容易上手的 Linux VPS。在网络信息中心的帮助下,协会建立了 PXE 网络启动系统,使得在校内可以很快的试用和安装 Linux 系统。协会同时对图书馆的无盘查询系统进行维护。 +- Linux 101 讲座 +- Linux Install Party +- Hackergame +- Software Freedom Day +- Linux 网络技术讲座 +- PMP 中的嵌入式 Linux 技术讲座 +- Oracle 和开源技术报告 +- 合肥地区开源软件竞赛 +- 自由软件日技术沙龙、每周小聚 +- 多次 GNU/Linux 系统使用和编程讲座 -为了表彰其出色表现,协会于 2011 年 5 月被评为中国科学技术大学优秀学生社团,于 2012 年 5 月、2013 年 5 月及 2014 年 5 月分别被评为中国科学技术大学四星级学生社团,并于 2015 年 5 月、2017 年 7 月、2018 年 9 月、2019 年 8 月、2020 年 9 月、2021 年 9 月及 2023 年 5 月被评为中国科学技术大学五星级学生社团。 - -## 特色活动 - -### Linux Install Party - -Linux Install Party 主旨在于推广和安装 Linux,宣传和鼓励开源和自由软件精神。活动可以让同学们亲身“无痛”体验 Linux 系统,在安装 Linux 环节有专人指导,同时可以交流了解 Linux 的相关知识。每次派对包含几个面向入门用户的讲座,手把手的安装,近距离的自由交流等环节。 - -### Linux User Party - -Linux User Party 在于为不同层次的 Linux 用户提供一个交流的平台。每次活动都会请到一些有经验的资深用户分享相关的 Linux 使用经验,创造多种多样的交流方式与途径,为校内乃至整个合肥地区的 Linux 用户提供一个交流平台。 - -### 自由软件日 +自 2003 年开始,协会开始维护国内知名的 Debian 镜像服务器 ,目前在学校网络中心的支持下,该服务器和 整合为 ,并成为 Debian, Ubuntu, Fedora, Arch Linux 等多个发行版的官方源以及 Debian 在中国的官方镜像:。利用少年班学院的退役超算,协会建立起了 freeshell 服务器,为科大师生提供了容易上手的 Linux VPS。在网络信息中心的帮助下,协会建立了 PXE 网络启动系统,使得在校内可以很快的试用和安装 Linux 系统。协会同时对图书馆的无盘查询系统进行维护。 -[自由软件日](lug/events/sfd.md)是在国际自由软件基金会(SFI)的领导下,由自由/开源软件爱好者自发筹集的非盈利性活动。旨在为自由/开源软件爱好者提供一个信息交流平台,以及联合各社区举办各种自由/开源软件活动。 - -科大 LUG 已经成功的连续几届举办了合肥站的自由软件日活动。活动得到了龙芯梦兰、龙芯俱乐部、中标软件、中科红旗、中国开源软件推进联盟等公司、开源社区,以及合肥工业大学,安徽大学等兄弟院校的大力支持。活动邀请过多个在国内开源软件领域非常有影响力的嘉宾,如科大网络中心的张焕杰老师,北京 GUG 主席李震宁先生,上海 LUG 主席姚欣宇,从事 MIPS 开发的刘世伟先生等,带来了各种内容的主题演讲。 - -### LUG 每周小聚 - -自 2011 年 10 月起,每周六晚上有[每周小聚](lug/events/weeklyparty.md)活动,由一位同学做技术分享演讲,欢迎所有师生参与。具体时间、地点和内容会在周四发到邮件列表和瀚海星云 BBS Notice/Linux 版上。 - -## 网络服务 - -- [开源软件镜像](lug/services/mirrors.md) -- [网络启动服务](lug/services/pxe.md) -- [GitLab 代码托管](lug/services/gitlab.md) +为了表彰其出色表现,协会于 2011 年 5 月被评为中国科学技术大学优秀学生社团,于 2012 年 5 月、2013 年 5 月及 2014 年 5 月分别被评为中国科学技术大学四星级学生社团,并于 2015 年 5 月、2017 年 7 月、2018 年 9 月、2019 年 8 月、2020 年 9 月、2021 年 9 月及 2023 年 5 月被评为中国科学技术大学五星级学生社团。 -## 联系我们和更多信息 +## 更多信息 -在 [这里](lug/contact.md) 可以找到联系我们的方式;在 [Wiki 主页](/wiki/) 可以查看有关 LUG 的更多信息。 +- 在 [这里](lug/contact.md) 可以找到我们的联系方式 +- 在 [Wiki 主页](/wiki/) 可以查看有关 LUG 的更多信息 diff --git a/pages/_wiki/intro_english.md b/pages/_wiki/intro_english.md deleted file mode 100644 index 5a413c46e9..0000000000 --- a/pages/_wiki/intro_english.md +++ /dev/null @@ -1,42 +0,0 @@ ---- ---- - -# Linux User Group @ USTC - -USTC LUG is the abbreviation for Linux User Group (LUG) of University of Science and Technology of China (USTC). USTC LUG is a technology-leading association that consists of the GNU/Linux enthusiasts in USTC. The aim of USTC LUG is to unite the GNU/Linux users in USTC, to build a platform for communicating with each other, sharing the value of free software and promoting free software in the USTC Campus and Hefei City. - -Founded in 2003, USTC LUG has gone through over 20 years. At present, it is a top university association in Anhui province to promote the free software culture and value as well as one of the well-developing Linux/Free Software student associations in China mainland. Due to the combined efforts of its members and volunteers, USTC LUG has organized a number of meaningful activities, such as the USTC Information Security Contest, GNU/Linux Install Party, Software Freedom Day, Weekly Party and Linux 101 lectures. - -USTC LUG started the maintenance of the well-known Debian archive mirror in 2003. Now, with better hardware and bandwidth sponsored by USTC, it finally becomes [the official Debian mirror of China](http://ftp.cn.debian.org/). Now it has combined with and became , an important open-source software mirror in China. With the assistance of the USTC Network Information Center, USTC LUG has set up a PXE network booting system, enabling the whole campus to perform convenient installs and quick experience of Linux. The Library LIIMS System, developed on the base of Campus PXE system, is also developed and under the maintenance of USTC LUG. - -In recognition of its excellent performance, USTC LUG was awarded the Outstanding Association of USTC in May 2011. USTC LUG was also ranked as a “Four Star” Student Association of USTC in 2012, 2013 and 2014. From 2015 to 2021 (now), USTC LUG was ranked as a “Five Star” Student Association of USTC. - -If you have any problem, please email us at lug < at> ustc.edu.cn. - -## Special Events - -### Linux Install Party - -The main purpose of the Linux Install Party is to promote and install Linux on students' computers, as well as promote and encourage the spirit of open source and free software. Students will have a good experience installing the Linux system painlessly, have professional guidance during their Linux installing process and exchange relevant knowledge of Linux. Each party includes lectures for novices, installation guide step by step, free discussion, and other events. - -### SFD (Software Freedom Day) - -[Software Freedom Day](/wiki/lug/events/sfd) is a non-profit event under the leadership of the Free Software Foundation International (SFI). It is sponsored by supporters of free and open-source software. It aims to provide an information exchange platform for supporters and the hold activities of free and open-source software with other communities. - -USTC LUG has successfully organized recent Software Freedom Day events in Hefei. This event was once supported by Lemote Technology, Loongson Club, Standard Software, Red Flag Linux, China OSS Promotion Union, Hefei Industrial University, Anhui University and other companies, open-source community and universities. During each event, the guests influential in the field of open-source software in domestic were invited, such as James Zhang (teacher of USTC network center), Mr. Li Zhenning (President of Beijing GUG), Mr. Yao Xinyu (Chairman of Shanghai LUG), Mr. Liu Shiwei (a developer of MIPS), etc. Their speeches address a variety of content. - -### LUG Weekly Party - -Since October 2011, we hold a meeting named [Weekly Party](/wiki/lug/events/weeklyparty) (or 'Tech Hangout') every weekend. A student will be invited to make a presentation about IT technology etc. This meeting is open to all teachers and students. Now, before every Weekly Party, the time, place and introduction of the weekly party will be posted on our mailing list, LUG activities calendar, Notice/Linux forum of USTC BBS, etc. - -## Network Services - -- [Open-Source Software Mirrors](/wiki/lug/services/mirrors) -- [Network Boot Service (PXE)](/wiki/lug/services/pxe) -- [GitLab (Self-hosted Git repository hosting service)](/wiki/lug/services/gitlab) - -## Contact us & more information - -You can find us [here](/wiki/lug/contact). - -Reach [wiki main page](/wiki/) for more info about USTC LUG. diff --git a/pages/_wiki/lug/contact.md b/pages/_wiki/lug/contact.md index 4bf2a62ea4..7bf7fb1d02 100644 --- a/pages/_wiki/lug/contact.md +++ b/pages/_wiki/lug/contact.md @@ -7,64 +7,51 @@ ![]({{ site.static_url }}/email.png) -您可以向我们直接发送电子邮件。如需联系*LUG 负责人*,请转至[负责人](person-in-charge.md)页面。但是,仍然推荐使用上面的公用邮件地址。 +您可以向我们直接发送电子邮件。如需联系 LUG 负责人,请转至 [负责人](person-in-charge.md) 页面。 -## 参与邮件列表讨论(推荐) - -[点击此处了解详情](mailinglist.md) - -## Telegram 上的 LUG - -加群链接见 `jointele.ustclug.org` 的 DNS TXT 记录 - -## BBS 上的 LUG - -前往[瀚海星云 BBS Linux 版](https://bbs.ustc.edu.cn/cgi/bbsdoc?board=Linux)与我们讨论。 - -## QQ 群上的 LUG - -适合于即时性较强的讨论,较正式的讨论还请使用官方邮件列表。 - -QQ 群群号请查看 `qq.ustclug.org` 的 DNS TXT 记录。校内学生请联系管理员了解详情。 - -## IRC 上的 LUG - -- 网络:OFTC -- 频道:#ustclug +> 无特殊情况时,请不要单独联系负责人。 ## 面对面交流 -USTC LUG 在校内的活动室: +USTCLUG 在校内的活动室: +- 高新校区:高新图书馆 604B 研讨室 - 西区:西区图书馆 403 室,[指路](/news/2024/05/403/) - 西区:~~西区图书馆 206 室~~(已搬迁) - 东区:~~东区图书馆 605 室~~(已搬迁) -- 高新校区:高新图书馆 604B 研讨室 你也可以在 LUG 举办的各类活动中找到 LUG 的成员并当面进行交流。 ## QQ 公众号 -QQ:2786229166 +- QQ:2786229166 ![ustclug_qq.png]({{ site.static_url }}/wiki/lug/ustclug_qq.png) ## 微信公众号 -ID:ustclug -Name:中科大 LUG +- ID:`ustclug` +- Name:**中科大 LUG** ![ustclug_mama.jpg]({{ site.static_url }}/wiki/lug/ustclug_mama.jpg) -## 社交网络上的 LUG +## 交流平台 + +### QQ 群上的 LUG + +QQ 群群号请查看 `qq.ustclug.org` 的 DNS TXT 记录。 + +校内学生请在 [这里](contribute.md) 了解详情。 -快来关注 SNS 上的 LUG 账户吧!LUG 活动通告,Linux 使用技巧、业界新闻应有尽有! +### Telegram 上的 LUG -** 注意:**以下账号目前缺乏维护。 -{: .notice--warning } +加群链接见 `jointele.ustclug.org` 的 DNS TXT 记录 + +### 参与邮件列表讨论 + +[点击此处了解详情](mailinglist.md) -- Twitter: [@USTCLUG](https://www.twitter.com/ustclug/) -- ~~人人:[USTCLUG](https://www.renren.com/profile.do?id=345760436)~~ (原因:_已停用_) -- ~~豆瓣:[科大 LUG](https://www.douban.com/people/ustclug/)~~ (原因:_状态异常_) +### IRC 上的 LUG -更多信息,请参阅 [LUG 宣传账号一览](sns.md)。 +- 网络:OFTC +- 频道:#ustclug diff --git a/pages/_wiki/lug/contribute.md b/pages/_wiki/lug/contribute.md index 34351bcf67..f781215358 100644 --- a/pages/_wiki/lug/contribute.md +++ b/pages/_wiki/lug/contribute.md @@ -1,21 +1,27 @@ --- --- -# Join us +# 加入 LUG -## 加入 LUG +## 注册流程 -如果你是中国科学技术大学校内学生,欢迎通过学校统一组织的社团招新流程注册成为 LUG 会员。 +- 统一招新 -在非招新活动期间,你也可以将自己的 **真实姓名,学号,性别(可选),联系电话,邮箱** 通过校内邮箱发送至我们(详见[联系我们](contact.md))登记注册。 + 如果你是中国科学技术大学校内学生,欢迎通过学校统一组织的社团招新流程注册成为 LUG 会员。 -**提示:如果有加入科大「第二课堂」平台中的 LUG 社团的需要,请在邮件中特别注明。请注意,为了避免「幽灵社员」对社团管理带来的困扰,如果你在半年内未参加任何活动,或在一年内未曾参加全员大会/社员代表大会,你将会被移除出本社团在「第二课堂」平台中的名单。是否为「第二课堂」社团成员不影响参加 LUG 活动与讨论。** +- 邮件联系 -在登记信息后,欢迎通过以下方式与我们取得联系。在邮件回复中我们也会提供推荐的联系方式。 + 在非招新活动期间,你也可以将自己的 **真实姓名,学号** 通过校内邮箱发送至我们(详见[联系我们](contact.md))登记注册。 + +> **提示:如果有加入科大「第二课堂」平台中的 LUG 社团的需要,请在邮件中特别注明。** +> +> 请注意,为了避免「幽灵社员」对社团管理带来的困扰,如果你在半年内未参加任何活动,或在一年内未曾参加全员大会/社员代表大会,你将会被移除出本社团在「第二课堂」平台中的名单。 +> +> 是否为「第二课堂」社团成员不影响参加 LUG 活动与讨论。 ## 与 LUG 取得联系 -详见[联系我们](contact.md) +详见 [联系我们](contact.md) ## 参与 LUG 活动 @@ -25,10 +31,10 @@ 你可以: -- 在我们的[邮件列表](mailinglist.md)进行交流 +- 在我们的 [邮件列表](mailinglist.md) 进行交流 - 在 [LUG GitLab](https://git.lug.ustc.edu.cn/) 与 [GitHub](https://github.com/ustclug) 中为 LUG 项目贡献代码 - 联系管理员以加入服务器维护小组 -我们的 issue tracker: +我们的 Issue tracker: diff --git a/pages/_wiki/lug/person-in-charge.md b/pages/_wiki/lug/person-in-charge.md index acbc22f052..c9db9a6646 100644 --- a/pages/_wiki/lug/person-in-charge.md +++ b/pages/_wiki/lug/person-in-charge.md @@ -7,6 +7,8 @@ [联系我们](contact.md) +> 无特殊情况时,请不要单独联系负责人。 + ## 主要负责人 | 代号 | 职务 | 姓名 | 邮箱 | @@ -197,11 +199,11 @@ | 职务 | 姓名 | 邮箱 | 负责项目 | | :----------- | :----- | :-------------------------- | :---------------------------- | -| 会长 | 李博杰 | bojieli AT gmail.com | 外联, 每周小聚, USTC Blog | +| 会长 | 李博杰 | bojieli AT gmail.com | 外联,每周小聚,USTC Blog | | 副会长 (CTO) | 郭家华 | gjhdgm AT gmail.com | mirrors, PXE, FTP, 主页服务器 | -| 副会长 (COO) | 李喵喵 | ljsabc AT gmail.com | 海报, 大型活动, USTC Blog | +| 副会长 (COO) | 李喵喵 | ljsabc AT gmail.com | 海报,大型活动,USTC Blog | | 财务 (CFO) | 童献 | universecopper AT gmail.com | 财务 | -| 资产 (CPO) | 沈达 | sadhen1992 AT gmail.com | LUG 书库, LUG wiki | +| 资产 (CPO) | 沈达 | sadhen1992 AT gmail.com | LUG 书库,LUG wiki | ### 2011-2012 届 diff --git a/pages/_wiki/lug/services/mirrors.md b/pages/_wiki/lug/services/mirrors.md index a5e7377523..e4f5edb6c9 100644 --- a/pages/_wiki/lug/services/mirrors.md +++ b/pages/_wiki/lug/services/mirrors.md @@ -2,7 +2,7 @@ redirect_from: /wiki/server/mirrors/ --- -# 开源软件镜像服务 +# 开源镜像站 科大 LUG 自成立起便在 2003 年通过 BBS 网上筹款的方式搭建了当时教育网内极少数的几个 Debian GNU/Linux 的镜像源(debian.ustc.edu.cn),随后又在其上添加了 Ubuntu Linux 的镜像。2008 年,借助吴峰光师兄捐助的机器,搭建了科大的开源镜像服务器(oss.ustc.edu.cn),以吸纳更多的开源软件和 Linux 发行版。尽管如此,我们的服务器仍然有些不堪重负,服务供不应求。 @@ -25,7 +25,7 @@ redirect_from: /wiki/server/mirrors/ - 电信 IP:202.141.160.110 (chinanet.mirrors.ustc.edu.cn) - 移动 IP:202.141.176.110 (cmcc.mirrors.ustc.edu.cn) - 联通 IP:218.104.71.170 (unicom.mirrors.ustc.edu.cn) -- IPv6:2001:da8:d800:95::110 +- IPv6:2001:da8:d800:95::110 ## 支持的访问方式 @@ -45,10 +45,10 @@ rsync - **部分** [为什么?](https://servers.ustclug.org/2014/08/mirrors-ne ## 状态监控 -在首页点击页面上方的[同步状态](https://mirrors.ustc.edu.cn/status)链接,可以查看当前各镜像的同步状态,包括 成功与否/上游源/镜像体积等。 大家如果知道更好(更新、更快)的上游源,请联系我们。 +在首页点击页面上方的[同步状态](https://mirrors.ustc.edu.cn/status)链接,可以查看当前各镜像的同步状态,包括 成功与否/上游源/镜像体积等。大家如果知道更好(更新、更快)的上游源,请联系我们。 如果在实际使用过程中发现镜像有问题,请联系我们。 ## 联系方式 -我们的邮箱: lug AT ustc.edu.cn +我们的邮箱:lug AT ustc.edu.cn diff --git a/pages/_wiki/lug/sns.md b/pages/_wiki/lug/sns.md index bcb09c1299..d7b531a554 100644 --- a/pages/_wiki/lug/sns.md +++ b/pages/_wiki/lug/sns.md @@ -5,28 +5,14 @@ LUG 已在各个平台上建立了宣传用账号。本页面旨在对 SNS 账号使用情况及信息交流平台进行一定的整理。 -注:若无特殊说明,本站中 LUG 特指 USTC LUG +注:若无特殊说明,本站中 LUG 特指 USTCLUG -### 正在维护 - -| 平台/账号类型 | 启用时间 | 名称 | 维护者 | 备注 | -| ------------- | ---------- | ------------------------------- | ------------ | ---------------------------- | -| Google groups | - | `ustc_lug@googlegroups.com` | 李博杰 | | -| IRC | 2014-04-01 | `#ustc_lug` | | Freenode,已弃用 | -| IRC | 2021-06-15 | `#ustclug` | 朱晟菁(zhsj) | OFTC | -| QQ 群 | 2014-03-31 | USTC Linux | (多人) | 号码:334011318 | -| QQ 群 | 2015-05-27 | USTC Linux User Group | (多人) | 校内学生实名群(已满) | -| QQ 群 | 2024-03-09 | USTC Linux User Group ② | (多人) | 校内学生实名群(新群) | -| GitHub 组织 | 2014-07-20 | 中国科学技术大学 Linux 用户协会 | (多人) | | - -### 暂未维护 - -| 平台/账号类型 | 启用时间 | 名称 | 联系人 | 备注 | -| -------------- | ---------- | ------------------- | -------------- | ------------------------------------------------- | -| Twitter | 2010-10-28 | @ustclug | 杨博远 | | -| Google 账号 | 2010-10-27 | lug.ustc@gmail.com | 杨博远 | 所有非垃圾邮件将转发至 lug@ustc.edu.cn | -| Google+ 信息页 | 2014-08-24 | USTC LUG | 张光宇、王子浩 | (个人用户版 Google+ 关停) | -| 人人账号 | 2012-11-21 | 科大 LUG | (多人) | | -| 人人公共主页 | 2013-03-15 | 中科大 Linux 用户组 | (多人) | | -| 新浪微博 | 2011-06-24 | 中科大 LUG | 杨博远 | | -| 豆瓣 | - | 科大 LUG | - | _状态异常_ | +| 平台/账号类型 | 启用时间 | 名称 | 维护者 | 备注 | +| ------------- | ---------- | ------------------------------- | ------------- | ---------------------------- | +| Google groups | - | `ustc_lug@googlegroups.com` | 李博杰 | | +| IRC | 2014-04-01 | `#ustc_lug` | | Freenode,已弃用 | +| IRC | 2021-06-15 | `#ustclug` | 朱晟菁 (zhsj) | OFTC | +| QQ 群 | 2014-03-31 | USTC Linux | (多人) | 号码:334011318 | +| QQ 群 | 2015-05-27 | USTC Linux User Group | (多人) | 校内学生实名群 (已满) | +| QQ 群 | 2024-03-09 | USTC Linux User Group ② | (多人) | 校内学生实名群 (新群) | +| GitHub 组织 | 2014-07-20 | 中国科学技术大学 Linux 用户协会 | (多人) | | From c0a6ceefd4e2d0a604ad7859075aac65b5dafa66 Mon Sep 17 00:00:00 2001 From: iBug Date: Wed, 11 Sep 2024 17:13:35 +0800 Subject: [PATCH 16/59] Add jekyll-relative-links settings --- _config.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/_config.yml b/_config.yml index 453e469a19..ab50449610 100644 --- a/_config.yml +++ b/_config.yml @@ -263,6 +263,12 @@ jekyll-archives: tag: /tags/:name/ +# jekyll-relative-links +relative_links: + enabled: true + collections: true + + # Defaults defaults: # _posts From 69358a7a258818cde613c1fb1614859524383ef0 Mon Sep 17 00:00:00 2001 From: Tiankai Ma Date: Thu, 12 Sep 2024 13:31:03 +0800 Subject: [PATCH 17/59] feat(news): add 2024-09-07-2024-freshmen-course (#86) * feat(news): add 2024-09-07-2024-freshmen-course * fix: address issues --- .../2024/2024-09-07-2024-freshmen-course.md | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 pages/_news/2024/2024-09-07-2024-freshmen-course.md diff --git a/pages/_news/2024/2024-09-07-2024-freshmen-course.md b/pages/_news/2024/2024-09-07-2024-freshmen-course.md new file mode 100644 index 0000000000..44170e357f --- /dev/null +++ b/pages/_news/2024/2024-09-07-2024-freshmen-course.md @@ -0,0 +1,48 @@ +--- +title: "2024 秋季学期 新生活力课堂 & 游园会" +author: "tiankaima" +date: "2024-09-07 18:00:00 +0800" +categories: + - LUG 活动 +tags: [] +--- + +中国科学技术大学 Linux 用户协会在秋季学期举办了系列迎新活动,包括新生活力课堂和游园会,时间安排如下: + +| 活动名称 | 时间 | 地点 | +| ------------------- | ------------------------------- | --------------- | +| 新生活力课堂 | 2024 年 9 月 3 日 19:00 - 20:00 | 东区 2105 教室 | +| 新生活力课堂 (西区) | 2024 年 9 月 7 日 15:00 - 17:00 | 西区 3C101 教室 | +| 新生活力课堂 (东区) | 2024 年 9 月 8 日 19:00 - 21:00 | 东区 5102 教室 | +| 游园会 (中区) | 2024 年 9 月 7 日 11:00 - 14:00 | 中区 #61 | +| 游园会 (高新区) | 2024 年 9 月 8 日 10:00 - 13:00 | 高新区 #35 | + +9 月 7 日新生活力课堂的上半场是由杨广源·同学带来的《日常生活中的信息安全》, 他从信息安全的基本概念出发,为新同学们讲解了信息安全的重要性,并介绍了一些常见的信息安全问题,如密码安全,钓鱼邮件等,以及相应的防范措施。他进一步拓展到了密码学、ARP Spoofing、XSS、SQL Injection 等内容,使同学们对信息安全有了更深入的了解。 + +![](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2024.09.08_%E6%96%B0%E7%94%9F%E6%B4%BB%E5%8A%9B%E8%AF%BE%E5%A0%82/AB9A2077.jpeg) + +在活动的下半场,罗嘉宏同学为大家讲解了 GNUPlot、LaTeX 等工具的使用,他通过实例演示了如何使用这些工具来绘制图表、排版文档等,使同学们对这些工具有了初步的了解。 + +![](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2024.09.08_%E6%96%B0%E7%94%9F%E6%B4%BB%E5%8A%9B%E8%AF%BE%E5%A0%82/AB9A2095.jpeg) + +在筹备和举办新生活力课堂的同时,LUG 也参加了中区、高新区两场社团游园会,并在现场为新生介绍 LUG 的性质、维护的服务及开设的活动,吸引了不少新生的关注。 + +![](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2024.09.08_%E6%96%B0%E7%94%9F%E6%B4%BB%E5%8A%9B%E8%AF%BE%E5%A0%82/AB9A1916.jpeg) + +![](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2024.09.08_%E6%96%B0%E7%94%9F%E6%B4%BB%E5%8A%9B%E8%AF%BE%E5%A0%82/AB9A1977.jpeg) + +现场准备的游戏: + +![](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2024.09.08_%E6%96%B0%E7%94%9F%E6%B4%BB%E5%8A%9B%E8%AF%BE%E5%A0%82/AB9A1970.jpeg) + +![](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2024.09.08_%E6%96%B0%E7%94%9F%E6%B4%BB%E5%8A%9B%E8%AF%BE%E5%A0%82/AB9A1974.jpeg) + +分发的贴纸、游戏奖品: + +![](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2024.09.08_%E6%96%B0%E7%94%9F%E6%B4%BB%E5%8A%9B%E8%AF%BE%E5%A0%82/AB9A2035.jpeg) + +活动照片、讲稿等资料可在 [LUG FTP](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2024.09.08_%E6%96%B0%E7%94%9F%E6%B4%BB%E5%8A%9B%E8%AF%BE%E5%A0%82/) 上查看 + +- [《日常生活中的信息安全》PPT](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2024.09.08_%E6%96%B0%E7%94%9F%E6%B4%BB%E5%8A%9B%E8%AF%BE%E5%A0%82/Information_Security.pdf) +- [GNUPlot 介绍](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2024.09.08_%E6%96%B0%E7%94%9F%E6%B4%BB%E5%8A%9B%E8%AF%BE%E5%A0%82/sgy-gnuplot.pdf) +- [09.08 活动录屏](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2024.09.08_%E6%96%B0%E7%94%9F%E6%B4%BB%E5%8A%9B%E8%AF%BE%E5%A0%82/20240908185437-USTCLUG%20%E6%96%B0%E7%94%9F%E6%B4%BB%E5%8A%9B%E8%AF%BE%E5%A0%82%EF%BC%88%E4%B8%9C%E5%8C%BA%E5%9C%BA%E6%AC%A1%EF%BC%89-%E8%A7%86%E9%A2%91-1.mp4) From b37a6b193a8e288087d52045ee93299eec1c398f Mon Sep 17 00:00:00 2001 From: TianKai Ma Date: Thu, 12 Sep 2024 15:24:47 +0800 Subject: [PATCH 18/59] fix: *.md -> / --- _data/navigation.yml | 12 +- .../2021/2021-06-15-lug-banshan-order.md | 665 ++++++++++++++++-- pages/_wiki/index.md | 55 +- pages/_wiki/intro.md | 16 +- pages/_wiki/lug/contact.md | 16 +- pages/_wiki/lug/contribute.md | 28 +- pages/_wiki/lug/events/101.md | 2 +- pages/_wiki/lug/events/index.md | 4 +- pages/_wiki/lug/mailinglist.md | 4 +- pages/_wiki/lug/person-in-charge.md | 2 +- pages/_wiki/lug/services/ftp.md | 4 +- pages/_wiki/lug/services/gitlab.md | 6 +- pages/_wiki/lug/services/index.md | 14 +- pages/_wiki/lug/services/mirrors.md | 37 +- pages/_wiki/lug/services/pxe.md | 13 +- pages/_wiki/scripts.md | 10 +- 16 files changed, 729 insertions(+), 159 deletions(-) diff --git a/_data/navigation.yml b/_data/navigation.yml index f9905454c5..629fea9a78 100644 --- a/_data/navigation.yml +++ b/_data/navigation.yml @@ -23,10 +23,12 @@ wiki: url: /wiki/lug/services/ - title: ' 开源镜像站' url: /wiki/lug/services/mirrors/ + - title: ' 网络启动平台' + url: /wiki/lug/services/pxe/ - title: ' 代码托管平台' url: /wiki/lug/services/gitlab/ - - title: ' LUG FTP' - url: /wiki/lug/services/ftp / + - title: ' 文件存档' + url: /wiki/lug/services/ftp/ - title: 活动 children: - title: ' LUG 活动' @@ -35,11 +37,11 @@ wiki: url: /wiki/lug/events/weeklyparty/ - title: ' Linux 101' url: /wiki/lug/events/101/ - - title: ' Hackergame' - url: /wiki/lug/events/hackergame/ - title: ' Linux Install Party' url: /wiki/lug/events/lip/ - - title: ' Software Freedom Day' + - title: ' 信息安全大赛' + url: /wiki/lug/events/hackergame/ + - title: ' 软件自由日' url: /wiki/lug/events/sfd/ - title: 联系 children: diff --git a/pages/_news/2021/2021-06-15-lug-banshan-order.md b/pages/_news/2021/2021-06-15-lug-banshan-order.md index 1572625235..ebfb12f064 100644 --- a/pages/_news/2021/2021-06-15-lug-banshan-order.md +++ b/pages/_news/2021/2021-06-15-lug-banshan-order.md @@ -1,64 +1,645 @@ --- -title: 2021 Linux 板版衫开始预订! -header: - image: https://lug.ustc.edu.cn/static/news/2021-banshan-tshe.png - overlay_image: false -author: Kiyoaki -date: "2021-06-15 18:00:00 +0800" -categories: - - LUG 活动 -tags: - - LUG - - 版衫 --- -经过版衫方案投票结果([2021 Linux 板版衫候选方案公布与投票](./2021-04-27-lug-banshan.md)),我们最终确定了 2021 Linux 版衫样式,并从即日起开始接受预定。 +# 提问的智慧 -经过统计,方案二的票数位居第一,恭喜设计者邓同学,也非常感谢其他投稿的同学。投票结果见附 1。 +**How To Ask Questions The Smart Way** -我们和供应商 T 社(tshe.com)沟通后决定制作黑色,白色两种底色版本,效果图如下: +Copyright © 2001,2006,2014 Eric S. Raymond, Rick Moen -![版衫效果]({{ site.static_url }}/news/2021-banshan-tshe.png) +本指南英文版版权为 Eric S. Raymond, Rick Moen 所有。 -**另,原投票中方案二后背的文字是 join,而实际设计者提供的原稿文件为 login,经过决策后,我们选择 login 作为最终定稿版,在此勘误,希望大家谅解。** +原文网址:[http://www.catb.org/~esr/faqs/smart-questions.html](http://www.catb.org/~esr/faqs/smart-questions.html) -## 预定说明 +中文翻译仓库网址:[https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way)。以下内容来自[简体中文版](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/main/README-zh_CN/)。 -版衫定价:70.00 元/件 +Copyleft 2001 by D.H.Grand(nOBODY/Ginux), 2010 by Gasolin, 2015 by Ryan Wu -付款方式:支付宝转账(详见预定表单) +本中文指南是基于原文 3.10 版以及 2010 年由 [Gasolin](https://github.com/gasolin) 所翻译版本的最新翻译; -预定截止时间:2021 年 6 月 22 日 23:59:59 (UTC+8) +协助指出翻译问题,**请[发 issue](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/issues/new),或直接[发 pull request](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/compare) 给我。** -注意事项: +本文另有[繁體中文版](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/main/README/)。 -- 在校同学可以在到货之后自提,时间不限(如:暑期和下学期)。不在校的同学请填写准确的邮寄地址,我们将在收到版衫后统一以快递到付寄出(预计 6 月 30 日) -- 预定和付款同时进行,请在填写表单后尽快完成支付宝转账,备注信息**填写预定者手机号** -- 如订单无效或未制作,付款将全额原路返还 -- 如需预定不同尺码,请**多次填写表单** -- 尺码表见附 2 -- 出于成本考虑,两种颜色订单数**合计大于 50 件才会制作** -- 按照投票人数估计,单件制作成本约为 70 元,如因预定数量提高,单件价格最终低于 70 元,则**结余资金将作为 USTCLUG 社团经费,并公开使用情况** -- 任何问题请及时通过 goods@ustclug.org 和我们联系,**预定截止后恕不接受退款** +## [原文版本历史](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/main/history/) -**预定方式:填写 中的表单,或扫描以下二维码预定。** +{: .no_toc } -![版衫二维码]({{ site.static_url }}/news/2021-banshan-qrcode.png) +## 声明 -如有其他问题欢迎邮件联系。联系邮箱:goods@ustclug.org +许多项目在他们的使用协助/说明网页中链接了本指南,这么做很好,我们也鼓励大家都这么做。但如果你是负责管理这个项目网页的人,请在超链接附近的显著位置上注明: -附 1:投票结果 +**本指南不提供此项目的实际支持服务!** -| 方案 | 票数 | 比例 | -| ------ | ---- | ----- | -| 方案一 | 43 | 30.9% | -| 方案二 | 58 | 41.7% | -| 方案一 | 38 | 27.3% | +我们已经深刻领教到少了上述声明所带来的痛苦。因为少了这点声明,我们不停地被一些白痴纠缠。这些白痴认为既然我们发布了这本指南,那么我们就有责任解决世上所有的技术问题。 -附 2:尺码表 +如果你因寻求某些帮助而阅读本指南,并在离开时还觉得可以从本文作者这里得到直接帮助,那你就是我们之前说的那些白痴之一。别问我们问题,我们只会忽略你。我们在这本指南中想教你如何从那些真正懂得你所遇到的软件或硬件问题的人处取得协助,而 99% 的情况下那不会是我们。除非你确定本指南的作者之一刚好是你所遇到的问题领域的专家,否则请不要打扰我们,这样大家都会开心一点。 -![尺码表]({{ site.static_url }}/news/2021-banshan-size.png) +## 简介 -附 3:彩蛋 +在[黑客](http://www.catb.org/~esr/faqs/hacker-howto.html)的世界里,当你拋出一个技术问题时,最终是否能得到有用的回答,往往取决于你所提问和追问的方式。本指南将教你如何正确的提问以获得你满意的答案。 -我们也收到了一份娱乐版的版衫,相关的设计文件已经放在 。欢迎感兴趣的同学自行取用 :D +现在开源(Open Source)软件已经相当盛行,您通常可以从其他更有经验的用户那里获得与黑客一样好的答案,这是件**好事**;和黑客相比,用户们往往对那些新手常遇到的问题更宽容一些。尽管如此,以我们在此推荐的方式对待这些有经验的用户通常也是从他们那里获得有用答案的最有效方式。 + +首先你应该明白,黑客们喜爱有挑战性的问题,或者能激发他们思维的好问题。如果我们并非如此,那我们也不会成为你想询问的对象。如果你给了我们一个值得反复咀嚼玩味的好问题,我们自会对你感激不尽。好问题是激励,是厚礼。好问题可以提高我们的理解力,而且通常会暴露我们以前从没意识到或者思考过的问题。对黑客而言,“好问题!”是诚挚的大力称赞。 + +尽管如此,黑客们有着蔑视或傲慢面对简单问题的坏名声,这有时让我们看起来对新手、无知者似乎较有敌意,但其实不是那样的。 + +我们不讳言我们对那些不愿思考、或者在发问前不做他们该做的事的人的蔑视。那些人是时间杀手 —— 他们只想索取,从不付出,消耗我们可用在更有趣的问题或更值得回答的人身上的时间。我们称这样的人为 `失败者(撸瑟)` (由于历史原因,我们有时把它拼作 `lusers`)。 + +我们意识到许多人只是想使用我们写的软件,他们对学习技术细节没有兴趣。对大多数人而言,电脑只是种工具,是种达到目的的手段而已。他们有自己的生活并且有更要紧的事要做。我们了解这点,也从不指望每个人都对这些让我们着迷的技术问题感兴趣。尽管如此,我们回答问题的风格是指向那些真正对此有兴趣并愿意主动参与解决问题的人,这一点不会变,也不该变。如果连这都变了,我们就是在降低做自己最擅长的事情上的效率。 + +我们(在很大程度上)是自愿的,从繁忙的生活中抽出时间来解答疑惑,而且时常被提问淹没。所以我们无情地滤掉一些话题,特别是拋弃那些看起来像失败者的家伙,以便更高效地利用时间来回答`赢家(winner)`的问题。 + +如果你厌恶我们的态度,高高在上,或过于傲慢,不妨也设身处地想想。我们并没有要求你向我们屈服 —— 事实上,我们大多数人非常乐意与你平等地交流,只要你付出小小努力来满足基本要求,我们就会欢迎你加入我们的文化。但让我们帮助那些不愿意帮助自己的人是没有效率的。无知没有关系,但装白痴就是不行。 + +所以,你不必在技术上很在行才能吸引我们的注意,但你必须表现出能引导你变得在行的特质 —— 机敏、有想法、善于观察、乐于主动参与解决问题。如果你做不到这些使你与众不同的事情,我们建议你花点钱找家商业公司签个技术支持服务合同,而不是要求黑客个人无偿地帮助你。 + +如果你决定向我们求助,当然你也不希望被视为失败者,更不愿成为失败者中的一员。能立刻得到快速并有效答案的最好方法,就是像赢家那样提问 —— 聪明、自信、有解决问题的思路,只是偶尔在特定的问题上需要获得一点帮助。 + +(欢迎对本指南提出改进意见。你可以 email 你的建议至 [esr@thyrsus.com](esr@thyrsus.com) 或 [respond-auto@linuxmafia.com](respond-auto@linuxmafia.com)。然而请注意,本文并非[网络礼节](http://www.ietf.org/rfc/rfc1855.txt)的通用指南,而我们通常会拒绝无助于在技术论坛得到有用答案的建议)。 + +## 在提问之前 + +在你准备要通过电子邮件、新闻群组或者聊天室提出技术问题前,请先做到以下事情: + +1. 尝试在你准备提问的论坛的旧文章中搜索答案。 +2. 尝试上网搜索以找到答案。 +3. 尝试阅读手册以找到答案。 +4. 尝试阅读常见问题文件(FAQ)以找到答案。 +5. 尝试自己检查或试验以找到答案。 +6. 向你身边的强者朋友打听以找到答案。 +7. 如果你是程序开发者,请尝试阅读源代码以找到答案。 + +当你提出问题的时候,请先表明你已经做了上述的努力;这将有助于树立你并不是一个不劳而获且浪费别人的时间的提问者。如果你能一并表达在做了上述努力的过程中所**学到**的东西会更好,因为我们更乐于回答那些表现出能从答案中学习的人的问题。 + +运用某些策略,比如先用 Google 搜索你所遇到的各种错误信息(搜索 [Google 论坛](http://groups.google.com/)和网页),这样很可能直接就找到了能解决问题的文件或邮件列表线索。即使没有结果,在邮件列表或新闻组寻求帮助时加上一句 `我在 Google 中搜过下列句子但没有找到什么有用的东西` 也是件好事,即使它只是表明了搜索引擎不能提供哪些帮助。这么做(加上搜索过的字串)也让遇到相似问题的其他人能被搜索引擎引导到你的提问来。 + +别着急,不要指望几秒钟的 Google 搜索就能解决一个复杂的问题。在向专家求助之前,再阅读一下常见问题文件(FAQ)、放轻松、坐舒服一些,再花点时间思考一下这个问题。相信我们,他们能从你的提问看出你做了多少阅读与思考,如果你是有备而来,将更有可能得到解答。不要将所有问题一股脑拋出,只因你的第一次搜索没有找到答案(或者找到太多答案)。 + +准备好你的问题,再将问题仔细的思考过一遍,因为草率的发问只能得到草率的回答,或者根本得不到任何答案。越是能表现出在寻求帮助前你为解决问题所付出的努力,你越有可能得到实质性的帮助。 + +小心别问错了问题。如果你的问题基于错误的假设,某个普通黑客(J. Random Hacker)多半会一边在心里想着`蠢问题…`,一边用无意义的字面解释来答复你,希望着你会从问题的回答(而非你想得到的答案)中汲取教训。 + +绝不要自以为**够格**得到答案,你没有;你并没有。毕竟你没有为这种服务支付任何报酬。你将会是自己去**挣到**一个答案,靠提出有内涵的、有趣的、有思维激励作用的问题 —— 一个有潜力能贡献社区经验的问题,而不仅仅是被动的从他人处索取知识。 + +另一方面,表明你愿意在找答案的过程中做点什么是一个非常好的开端。`谁能给点提示?`、`我的这个例子里缺了什么?`以及`我应该检查什么地方`比`请把我需要的确切的过程贴出来`更容易得到答复。因为你表现出只要有人能指个正确方向,你就有完成它的能力和决心。 + +## 当你提问时 + +### 慎选提问的论坛 + +小心选择你要提问的场合。如果你做了下述的事情,你很可能被忽略掉或者被看作失败者: + +- 在与主题不合的论坛上贴出你的问题。 +- 在探讨进阶技术问题的论坛张贴非常初级的问题;反之亦然。 +- 在太多的不同新闻群组上重复转贴同样的问题(cross-post)。 +- 向既非熟人也没有义务解决你问题的人发送私人电邮。 + +黑客会剔除掉那些搞错场合的问题,以保护他们沟通的渠道不被无关的东西淹没。你不会想让这种事发生在自己身上的。 + +因此,第一步是找到对的论坛。再说一次,Google 和其它搜索引擎还是你的朋友,用它们来找到与你遭遇到困难的软硬件问题最相关的网站。通常那儿都有常见问题(FAQ)、邮件列表及相关说明文件的链接。如果你的努力(包括**阅读** FAQ)都没有结果,网站上也许还有报告 Bug(Bug-reporting)的流程或链接,如果是这样,链过去看看。 + +向陌生的人或论坛发送邮件最可能是风险最大的事情。举例来说,别假设一个提供丰富内容的网页的作者会想充当你的免费顾问。不要对你的问题是否会受到欢迎做太乐观的估计 —— 如果你不确定,那就向别处发送,或者压根别发。 + +在选择论坛、新闻群组或邮件列表时,别太相信名字,先看看 FAQ 或者许可书以弄清楚你的问题是否切题。发文前先翻翻已有的话题,这样可以让你感受一下那里的文化。事实上,事先在新闻组或邮件列表的历史记录中搜索与你问题相关的关键词是个极好的主意,也许这样就找到答案了。即使没有,也能帮助你归纳出更好的问题。 + +别像机关枪似的一次“扫射”所有的帮助渠道,这就像大喊大叫一样会使人不快。要一个一个地来。 + +搞清楚你的主题!最典型的错误之一是在某种致力于跨平台可移植的语言、套件或工具的论坛中提关于 Unix 或 Windows 操作系统程序界面的问题。如果你不明白为什么这是大错,最好在搞清楚这之间差异之前什么也别问。 + +一般来说,在仔细挑选的公共论坛中提问,会比在私有论坛中提同样的问题更容易得到有用的回答。有几个理由可以支持这点,一是看潜在的回复者有多少,二是看观众有多少。黑客较愿意回答那些能帮助到许多人的问题。 + +可以理解的是,老练的黑客和一些热门软件的作者正在接受过多的错发信息。就像那根最后压垮骆驼背的稻草一样,你的加入也有可能使情况走向极端 —— 已经好几次了,一些热门软件的作者由于涌入其私人邮箱的大量不堪忍受的无用邮件而不再提供支持。 + +### Stack Overflow + +搜索,**然后**在 Stack Exchange 问。 + +近年来,Stack Exchange 社区已经成为回答技术及其他问题的主要渠道,尤其是那些开放源码的项目。 + +因为 Google 索引是即时的,在看 Stack Exchange 之前先在 Google 搜索。有很高的几率某人已经问了一个类似的问题,而且 Stack Exchange 网站们往往会是搜索结果中最前面几个。如果你在 Google 上没有找到任何答案,你再到特定相关主题的网站去找。用标签(Tag)搜索能让你更缩小你的搜索结果。 + +Stack Exchange 已经成长到[超过一百个网站](https://stackexchange.com/sites),以下是最常用的几个站: + +- Super User 是问一些通用的电脑问题,如果你的问题跟代码或是写程序无关,只是一些网络连线之类的,请到这里。 +- Stack Overflow 是问写程序有关的问题。 +- Server Fault 是问服务器和网管相关的问题。 + +### 网站和 IRC 论坛 + +本地的用户群组(user group),或者你所用的 Linux 发行版本也许正在宣传他们的网页论坛或 IRC 频道,并提供新手帮助(在一些非英语国家,新手论坛很可能还是邮件列表),这些都是开始提问的好地方,特别是当你觉得遇到的也许只是相对简单或者很普通的问题时。有广告赞助的 IRC 频道是公开欢迎提问的地方,通常可以即时得到回应。 + +事实上,如果程序出的问题只发生在特定 Linux 发行版提供的版本(这很常见),最好先去该发行版的论坛或邮件列表中提问,再到程序本身的论坛或邮件列表提问。(否则)该项目的黑客可能仅仅回复“使用**我们的**版本”。 + +在任何论坛发文以前,先确认一下有没有搜索功能。如果有,就试着搜索一下问题的几个关键词,也许这会有帮助。如果在此之前你已做过通用的网页搜索(你也该这样做),还是再搜索一下论坛,搜索引擎有可能没来得及索引此论坛的全部内容。 + +通过论坛或 IRC 频道来提供用户支持服务有增长的趋势,电子邮件则大多为项目开发者间的交流而保留。所以最好先在论坛或 IRC 中寻求与该项目相关的协助。 + +在使用 IRC 的时候,首先最好不要发布很长的问题描述,有些人称之为频道洪水。最好通过一句话的问题描述来开始聊天。 + +### 第二步,使用项目邮件列表 + +当某个项目提供开发者邮件列表时,要向列表而不是其中的个别成员提问,即使你确信他能最好地回答你的问题。查一查项目的文件和首页,找到项目的邮件列表并使用它。有几个很好的理由支持我们采用这种办法: + +- 任何好到需要向个别开发者提出的问题,也将对整个项目群组有益。反之,如果你认为自己的问题对整个项目群组来说太愚蠢,那这也不能成为骚扰个别开发者的理由。 +- 向列表提问可以分散开发者的负担,个别开发者(尤其是项目领导人)也许太忙以至于没法回答你的问题。 +- 大多数邮件列表都会被存档,那些被存档的内容将被搜索引擎索引。如果你向列表提问并得到解答,将来其他人可以通过网页搜索找到你的问题和答案,也就不用再次发问了。 +- 如果某些问题经常被问到,开发者可以利用此信息来改进说明文件或软件本身,以使其更清楚。如果只是私下提问,就没有人能看到最常见问题的完整场景。 + +如果一个项目既有“用户”也有“开发者”(或“黑客”)邮件列表或论坛,而你又不会动到那些源代码,那么就向“用户”列表或论坛提问。不要假设自己会在开发者列表中受到欢迎,那些人多半会将你的提问视为干扰他们开发的噪音。 + +然而,如果你**确信**你的问题很特别,而且在“用户”列表或论坛中几天都没有回复,可以试试前往“开发者”列表或论坛发问。建议你在张贴前最好先暗地里观察几天以了解那里的行事方式(事实上这是参与任何私有或半私有列表的好主意) + +如果你找不到一个项目的邮件列表,而只能查到项目维护者的电子邮件地址,尽管向他发信。即使是在这种情况下,也别假设(项目)邮件列表不存在。在你的电子邮件中,请陈述你已经试过但没有找到合适的邮件列表,也提及你不反对将自己的邮件转发给他人(许多人认为,即使没什么秘密,私人电子邮件也不应该被公开。通过允许将你的电子邮件转发他人,你给了相应人员处置你邮件的选择)。 + +### 使用有意义且描述明确的标题 + +在邮件列表、新闻群组或论坛中,大约 50 字以内的标题是抓住资深专家注意力的好机会。别用喋喋不休的`帮帮忙`、`跪求`、`急`(更别说`救命啊!!!!`这样让人反感的话,用这种标题会被条件反射式地忽略)来浪费这个机会。不要妄想用你的痛苦程度来打动我们,而应该是在这点空间中使用极简单扼要的描述方式来提出问题。 + +一个好标题范例是`目标 —— 差异`式的描述,许多技术支持组织就是这样做的。在`目标`部分指出是哪一个或哪一组东西有问题,在`差异`部分则描述与期望的行为不一致的地方。 + +> 蠢问题:救命啊!我的笔记本电脑不能正常显示了! + +> 聪明问题:X.org 6.8.1 的鼠标光标会变形,某牌显卡 MV1005 芯片组。 + +> 更聪明问题:X.org 6.8.1 的鼠标光标,在某牌显卡 MV1005 芯片组环境下 - 会变形。 + +编写`目标 —— 差异` 式描述的过程有助于你组织对问题的细致思考。是什么被影响了?仅仅是鼠标光标或者还有其它图形?只在 X.org 的 X 版中出现?或只是出现在 6.8.1 版中?是针对某牌显卡芯片组?或者只是其中的 MV1005 型号?一个黑客只需瞄一眼就能够立即明白你的环境**和**你遇到的问题。 + +总而言之,请想像一下你正在一个只显示标题的存档讨论串(Thread)索引中查寻。让你的标题更好地反映问题,可使下一个搜索类似问题的人能够关注这个讨论串,而不用再次提问相同的问题。 + +如果你想在回复中提出问题,记得要修改内容标题,以表明你是在问一个问题,一个看起来像 `Re: 测试` 或者 `Re: 新 bug` 的标题很难引起足够重视。另外,在不影响连贯性之下,适当引用并删减前文的内容,能给新来的读者留下线索。 + +对于讨论串,不要直接点击回复来开始一个全新的讨论串,这将限制你的观众。因为有些邮件阅读程序,比如 mutt,允许用户按讨论串排序并通过折叠讨论串来隐藏消息,这样做的人永远看不到你发的消息。 + +仅仅改变标题还不够。mutt 和其它一些邮件阅读程序还会检查邮件标题以外的其它信息,以便为其指定讨论串。所以宁可发一个全新的邮件。 + +在网页论坛上,好的提问方式稍有不同,因为讨论串与特定的信息紧密结合,并且通常在讨论串外就看不到里面的内容,故通过回复提问,而非改变标题是可接受的。不是所有论坛都允许在回复中出现分离的标题,而且这样做了基本上没有人会去看。不过,通过回复提问,这本身就是暧昧的做法,因为它们只会被正在查看该标题的人读到。所以,除非你**只想**在该讨论串当前活跃的人群中提问,不然还是另起炉灶比较好。 + +### 使问题容易回复 + +以`请将你的回复发送到……`来结束你的问题多半会使你得不到回答。如果你觉得花几秒钟在邮件客户端设置一下回复地址都麻烦,我们也觉得花几秒钟思考你的问题更麻烦。如果你的邮件程序不支持这样做,[换个好点的](http://linuxmafia.com/faq/Mail/muas.html);如果是操作系统不支持这种邮件程序,也换个好点的。 + +在论坛,要求通过电子邮件回复是非常无礼的,除非你认为回复的信息可能比较敏感(有人会为了某些未知的原因,只让你而不是整个论坛知道答案)。如果你只是想在有人回复讨论串时得到电子邮件提醒,可以要求网页论坛发送给你。几乎所有论坛都支持诸如`追踪此讨论串`、`有回复时发送邮件提醒`等功能。 + +### 使用清晰、正确、精准且合乎语法的语句 + +我们从经验中发现,粗心的提问者通常也会粗心地写程序与思考(我敢打包票)。回答粗心大意者的问题很不值得,我们宁愿把时间耗在别处。 + +正确的拼写、标点符号和大小写是很重要的。一般来说,如果你觉得这样做很麻烦,不想在乎这些,那我们也觉得麻烦,不想在乎你的提问。花点额外的精力斟酌一下字句,用不着太僵硬与正式 —— 事实上,黑客文化很看重能准确地使用非正式、俚语和幽默的语句。但它**必须很**准确,而且有迹象表明你是在思考和关注问题。 + +正确地拼写、使用标点和大小写,不要将`its`混淆为`it's`,`loose`搞成`lose`或者将`discrete`弄成`discreet`。不要**全部用大写**,这会被视为无礼的大声嚷嚷(全部小写也好不到哪去,因为不易阅读。[Alan Cox](http://en.wikipedia.org/wiki/Alan_Cox) 也许可以这样做,但你不行)。 + +更白话的说,如果你写得像是个半文盲[译注:[小白](http://zh.wikipedia.org/wiki/小白)],那多半得不到理睬。也不要使用即时通信中的简写或[火星文](http://zh.wikipedia.org/wiki/火星文),如将`的`简化为`d`会使你看起来像一个为了少打几个键而省字的小白。更糟的是,如果像个小孩似地鬼画符那绝对是在找死,可以肯定没人会理你(或者最多是给你一大堆指责与挖苦)。 + +如果在使用非母语的论坛提问,你可以犯点拼写和语法上的小错,但决不能在思考上马虎(没错,我们通常能弄清两者的分别)。同时,除非你知道回复者使用的语言,否则请使用英语书写。繁忙的黑客一般会直接删除用他们看不懂的语言写的消息。在网络上英语是通用语言,用英语书写可以将你的问题在尚未被阅读就被直接删除的可能性降到最低。 + +如果英文是你的外语(Second language),提示潜在回复者你有潜在的语言困难是很好的: +[译注:以下附上原文以供使用] + +> English is not my native language; please excuse typing errors. + +- 英文不是我的母语,请原谅我的错字或语法。 + +> If you speak \$LANGUAGE, please email/PM me; +> I may need assistance translating my question. + +- 如果你说**某语言**,请向我发电邮/私信; +- 我需要有人协助我翻译我的问题。 + +> I am familiar with the technical terms, +> but some slang expressions and idioms are difficult for me. + +- 我对技术名词很熟悉,但对于俗语或是特别用法不甚了解。 + +> I've posted my question in \$LANGUAGE and English. +> I'll be glad to translate responses, if you only use one or the other. + +- 我把我的问题用**某语言**和英文写出来。 +- 如果你只用其中的一种语言回答,我会乐意将回复翻译成为你使用的语言。 + +### 使用易于读取且标准的文件格式发送问题 + +如果你人为地将问题搞得难以阅读,它多半会被忽略,人们更愿读易懂的问题,所以: + +- 使用纯文字而不是 HTML ([关闭 HTML](http://archive.birdhouse.org/etc/evilmail.html) 并不难)。 +- 使用 MIME 附件通常是可以的,前提是真正有内容(譬如附带的源代码或 patch),而不仅仅是邮件程序生成的模板(譬如只是信件内容的拷贝)。 +- 不要发送一段文字只是一行句子但自动换行后会变成多行的邮件(这使得回复部分内容非常困难)。设想你的读者是在 80 个字符宽的终端机上阅读邮件,最好设置你的换行分割点小于 80 字。 +- 但是,对一些特殊的文件**不要**设置固定宽度(譬如日志文件拷贝或会话记录)。数据应该原样包含,让回复者有信心他们看到的是和你看到的一样的东西。 +- 在英语论坛中,不要使用`Quoted-Printable` MIME 编码发送消息。这种编码对于张贴非 ASCII 语言可能是必须的,但很多邮件程序并不支持这种编码。当它们处理换行时,那些文本中四处散布的`=20`符号既难看也分散注意力,甚至有可能破坏内容的语意。 +- 绝对,**永远**不要指望黑客们阅读使用封闭格式编写的文档,像微软公司的 Word 或 Excel 文件等。大多数黑客对此的反应就像有人将还在冒热气的猪粪倒在你家门口时你的反应一样。即便他们能够处理,他们也很厌恶这么做。 +- 如果你从使用 Windows 的电脑发送电子邮件,关闭微软愚蠢的`智能引号`功能(从[选项] > [校订] > [自动校正选项],勾选掉`智能引号`单选框),以免在你的邮件中到处散布垃圾字符。 +- 在论坛,勿滥用`表情符号`和`HTML`功能(当它们提供时)。一两个表情符号通常没有问题,但花哨的彩色文本倾向于使人认为你是个无能之辈。过滥地使用表情符号、色彩和字体会使你看来像个傻笑的小姑娘。这通常不是个好主意,除非你只是对性而不是对答案感兴趣。 + +如果你使用图形用户界面的邮件程序(如微软公司的 Outlook 或者其它类似的),注意它们的默认设置不一定满足这些要求。大多数这类程序有基于选单的`查看源代码`命令,用它来检查发送文件夹中的邮件,以确保发送的是纯文本文件同时没有一些奇怪的字符。 + +### 精确地描述问题并言之有物 + +- 仔细、清楚地描述你的问题或 Bug 的症状。 +- 描述问题发生的环境(机器配置、操作系统、应用程序、以及相关的信息),提供经销商的发行版和版本号(如:`Fedora Core 4`、`Slackware 9.1`等)。 +- 描述在提问前你是怎样去研究和理解这个问题的。 +- 描述在提问前为确定问题而采取的诊断步骤。 +- 描述最近做过什么可能相关的硬件或软件变更。 +- 尽可能地提供一个可以`重现这个问题的可控环境`的方法。 + +尽量去揣测一个黑客会怎样反问你,在你提问之前预先将黑客们可能提出的问题回答一遍。 + +以上几点中,当你报告的是你认为可能在代码中的问题时,给黑客一个可以重现你的问题的环境尤其重要。当你这么做时,你得到有效的回答的机会和速度都会大大的提升。 + +[Simon Tatham](http://www.chiark.greenend.org.uk/~sgtatham/) 写过一篇名为《[如何有效的报告 Bug](http://www.chiark.greenend.org.uk/~sgtatham/bugs-cn.html)》的出色文章。强力推荐你也读一读。 + +### 话不在多而在精 + +你需要提供精确有内容的信息。这并不是要求你简单的把成堆的出错代码或者资料完全转录到你的提问中。如果你有庞大而复杂的测试样例能重现程序挂掉的情境,尽量将它剪裁得越小越好。 + +这样做的用处至少有三点。 +第一,表现出你为简化问题付出了努力,这可以使你得到回答的机会增加; +第二,简化问题使你更有可能得到**有用**的答案; +第三,在精炼你的 bug 报告的过程中,你很可能就自己找到了解决方法或权宜之计。 + +### 别动辄声称找到 Bug + +当你在使用软件中遇到问题,除非你非常、**非常**的有根据,不要动辄声称找到了 Bug。提示:除非你能提供解决问题的源代码补丁,或者提供回归测试来表明前一版本中行为不正确,否则你都多半不够完全确信。这同样适用在网页和文件,如果你(声称)发现了文件的`Bug`,你应该能提供相应位置的修正或替代文件。 + +请记得,还有其他许多用户没遇到你发现的问题,否则你在阅读文件或搜索网页时就应该发现了(你在抱怨前[已经做了这些,是吧](#在提问之前)?)。这也意味着很有可能是你弄错了而不是软件本身有问题。 + +编写软件的人总是非常辛苦地使它尽可能完美。如果你声称找到了 Bug,也就是在质疑他们的能力,即使你是对的,也有可能会冒犯到其中某部分人。当你在标题中嚷嚷着有`Bug`时,这尤其严重。 + +提问时,即使你私下非常确信已经发现一个真正的 Bug,最好写得像是**你**做错了什么。如果真的有 Bug,你会在回复中看到这点。这样做的话,如果真有 Bug,维护者就会向你道歉,这总比你惹恼别人然后欠别人一个道歉要好一点。 + +### 低声下气不能代替你的功课 + +有些人明白他们不该粗鲁或傲慢的提问并要求得到答复,但他们选择另一个极端 —— 低声下气:`我知道我只是个可悲的新手,一个撸瑟,但...`。这既使人困扰,也没有用,尤其是伴随着与实际问题含糊不清的描述时更令人反感。 + +别用原始灵长类动物的把戏来浪费你我的时间。取而代之的是,尽可能清楚地描述背景条件和你的问题情况。这比低声下气更好地定位了你的位置。 + +有时网页论坛会设有专为新手提问的版面,如果你真的认为遇到了初学者的问题,到那去就是了,但一样别那么低声下气。 + +### 描述问题症状而非你的猜测 + +告诉黑客们你认为问题是怎样造成的并没什么帮助。(如果你的推断如此有效,还用向别人求助吗?),因此要确信你原原本本告诉了他们问题的症状,而不是你的解释和理论;让黑客们来推测和诊断。如果你认为陈述自己的猜测很重要,清楚地说明这只是你的猜测,并描述为什么它们不起作用。 + +**蠢问题** + +> 我在编译内核时接连遇到 SIG11 错误, +> 我怀疑某条飞线搭在主板的走线上了,这种情况应该怎样检查最好? + +**聪明问题** + +> 我的组装电脑是 FIC-PA2007 主机板搭载 AMD K6/233 CPU(威盛 Apollo VP2 芯片组), +> 256MB Corsair PC133 SDRAM 内存,在编译内核时,从开机 20 分钟以后就频频产生 SIG11 错误, +> 但是在头 20 分钟内从没发生过相同的问题。重新启动也没有用,但是关机一晚上就又能工作 20 分钟。 +> 所有内存都换过了,没有效果。相关部分的标准编译记录如下…。 + +由于以上这点似乎让许多人觉得难以配合,这里有句话可以提醒你:`所有的诊断专家都来自密苏里州。` 美国国务院的官方座右铭则是:`让我看看`(出自国会议员 Willard D. Vandiver 在 1899 年时的讲话:`我来自一个出产玉米,棉花,牛蒡和民主党人的国家,滔滔雄辩既不能说服我,也不会让我满意。我来自密苏里州,你必须让我看看。`)针对诊断者而言,这并不是一种怀疑,而只是一种真实而有用的需求,以便让他们看到的是与你看到的原始证据尽可能一致的东西,而不是你的猜测与归纳的结论。所以,大方的展示给我们看吧! + +### 按发生时间先后列出问题症状 + +问题发生前的一系列操作,往往就是对找出问题最有帮助的线索。因此,你的说明里应该包含你的操作步骤,以及机器和软件的反应,直到问题发生。在命令行处理的情况下,提供一段操作记录(例如运行脚本工具所生成的),并引用相关的若干行(如 20 行)记录会非常有帮助。 + +如果挂掉的程序有诊断选项(如 -v 的详述开关),试着选择这些能在记录中增加调试信息的选项。记住,`多`不等于`好`。试着选取适当的调试级别以便提供有用的信息而不是让读者淹没在垃圾中。 + +如果你的说明很长(如超过四个段落),在开头简述问题,接下来再按时间顺序详述会有所帮助。这样黑客们在读你的记录时就知道该注意哪些内容了。 + +### 描述目标而不是过程 + +如果你想弄清楚如何做某事(而不是报告一个 Bug),在开头就描述你的目标,然后才陈述重现你所卡住的特定步骤。 + +经常寻求技术帮助的人在心中有个更高层次的目标,而他们在自以为能达到目标的特定道路上被卡住了,然后跑来问该怎么走,但没有意识到这条路本身就有问题。结果要费很大的劲才能搞定。 + +**蠢问题** + +> 我怎样才能从某绘图程序的颜色选择器中取得十六进制的 RGB 值? + +**聪明问题** + +> 我正试着用替换一幅图片的色码(color table)成自己选定的色码,我现在知道的唯一方法是编辑每个色码区块(table slot), +> 但却无法从某绘图程序的颜色选择器取得十六进制的 RGB 值。 + +第二种提问法比较聪明,你可能得到像是`建议采用另一个更合适的工具`的回复。 + +### 别要求使用私人电邮回复 + +黑客们认为问题的解决过程应该公开、透明,此过程中如果更有经验的人注意到不完整或者不当之处,最初的回复才能够、也应该被纠正。同时,作为提供帮助者可以得到一些奖励,奖励就是他的能力和学识被其他同行看到。 + +当你要求私下回复时,这个过程和奖励都被中止。别这样做,让**回复者**来决定是否私下回答 —— 如果他真这么做了,通常是因为他认为问题编写太差或者太肤浅,以至于不可能使其他人产生兴趣。 + +这条规则存在一条有限的例外,如果你确信提问可能会引来大量雷同的回复时,那么这个神奇的提问句会是`向我发电邮,我将为论坛归纳这些回复`。试着将邮件列表或新闻群组从洪水般的雷同回复中解救出来是非常有礼貌的 —— 但你必须信守诺言。 + +### 清楚明确的表达你的问题以及需求 + +漫无边际的提问是近乎无休无止的时间黑洞。最有可能给你有用答案的人通常也正是最忙的人(他们忙是因为要亲自完成大部分工作)。这样的人对无节制的时间黑洞相当厌恶,所以他们也倾向于厌恶那些漫无边际的提问。 + +如果你明确表述需要回答者做什么(如提供指点、发送一段代码、检查你的补丁、或是其他等等),就最有可能得到有用的答案。因为这会定出一个时间和精力的上限,便于回答者能集中精力来帮你。这么做很棒。 + +要理解专家们所处的世界,请把专业技能想像为充裕的资源,而回复的时间则是稀缺的资源。你要求他们奉献的时间越少,你越有可能从真正专业而且很忙的专家那里得到解答。 + +所以,界定一下你的问题,使专家花在辨识你的问题和回答所需要付出的时间减到最少,这技巧对你有用答案相当有帮助 —— 但这技巧通常和简化问题有所区别。因此,问`我想更好地理解 X,可否指点一下哪有好一点说明?`通常比问`你能解释一下 X 吗?`更好。如果你的代码不能运作,通常请别人看看哪里有问题,比要求别人替你改正要明智得多。 + +### 询问有关代码的问题时 + +别要求他人帮你调试有问题的代码,不提示一下应该从何入手。张贴几百行的代码,然后说一声:`它不能工作`会让你完全被忽略。只贴几十行代码,然后说一句:`在第七行以后,我期待它显示 ,但实际出现的是 `比较有可能让你得到回应。 + +最有效描述程序问题的方法是提供最精简的 Bug 展示测试用例(bug-demonstrating test case)。什么是最精简的测试用例?那是问题的缩影;一小个程序片段能**刚好**展示出程序的异常行为,而不包含其他令人分散注意力的内容。怎么制作最精简的测试用例?如果你知道哪一行或哪一段代码会造成异常的行为,复制下来并加入足够重现这个状况的代码(例如,足以让这段代码能被编译/直译/被应用程序处理)。如果你无法将问题缩减到一个特定区块,就复制一份代码并移除不影响产生问题行为的部分。总之,测试用例越小越好(查看[话不在多而在精](#话不在多而在精)一节)。 + +一般而言,要得到一段相当精简的测试用例并不太容易,但永远先尝试这样做的是种好习惯。这种方式可以帮助你了解如何自行解决这个问题 —— 而且即使你的尝试不成功,黑客们也会看到你在尝试取得答案的过程中付出了努力,这可以让他们更愿意与你合作。 + +如果你只是想让别人帮忙审查(Review)一下代码,在信的开头就要说出来,并且一定要提到你认为哪一部分特别需要关注以及为什么。 + +### 别把自己家庭作业的问题贴上来 + +黑客们很擅长分辨哪些问题是家庭作业式的问题;因为我们中的大多数都曾自己解决这类问题。同样,这些问题得由**你**来搞定,你会从中学到东西。你可以要求给点提示,但别要求得到完整的解决方案。 + +如果你怀疑自己碰到了一个家庭作业式的问题,但仍然无法解决,试试在用户群组,论坛或(最后一招)在项目的**用户**邮件列表或论坛中提问。尽管黑客们**会**看出来,但一些有经验的用户也许仍会给你一些提示。 + +### 去掉无意义的提问句 + +避免用无意义的话结束提问,例如`有人能帮我吗?`或者`这有答案吗?`。 + +首先:如果你对问题的描述不是很好,这样问更是画蛇添足。 + +其次:由于这样问是画蛇添足,黑客们会很厌烦你 —— 而且通常会用逻辑上正确,但毫无意义的回答来表示他们的蔑视,例如:`没错,有人能帮你`或者`不,没答案`。 + +一般来说,避免用 `是或否`、`对或错`、`有或没有`类型的问句,除非你想得到[是或否类型的回答](https://strcat.de/questions-with-yes-or-no-answers.html)。 + +### 即使你很急也不要在标题写`紧急` + +这是你的问题,不是我们的。宣称`紧急`极有可能事与愿违:大多数黑客会直接删除无礼和自私地企图即时引起关注的问题。更严重的是,`紧急`这个字(或是其他企图引起关注的标题)通常会被垃圾信过滤器过滤掉 —— 你希望能看到你问题的人可能永远也看不到。 + +有半个例外的情况是,如果你是在一些很高调,会使黑客们兴奋的地方,也许值得这样去做。在这种情况下,如果你有时间压力,也很有礼貌地提到这点,人们也许会有兴趣回答快一点。 + +当然,这风险很大,因为黑客们兴奋的点多半与你的不同。譬如从 NASA 国际空间站(International Space Station)发这样的标题没有问题,但用自我感觉良好的慈善行为或政治原因发肯定不行。事实上,张贴诸如`紧急:帮我救救这个毛茸茸的小海豹!`肯定让你被黑客忽略或惹恼他们,即使他们认为毛茸茸的小海豹很重要。 + +如果你觉得这点很不可思议,最好再把这份指南剩下的内容多读几遍,直到你弄懂了再发文。 + +### 礼多人不怪,而且有时还很有帮助 + +彬彬有礼,多用`请`和`谢谢您的关注`,或`谢谢你的关照`。让大家都知道你对他们花时间免费提供帮助心存感激。 + +坦白说,这一点并没有比使用清晰、正确、精准且合乎语法和避免使用专用格式重要(也不能取而代之)。黑客们一般宁可读有点唐突但技术上鲜明的 Bug 报告,而不是那种有礼但含糊的报告。(如果这点让你不解,记住我们是按问题能教给我们什么来评价问题的价值的) + +然而,如果你有一串的问题待解决,客气一点肯定会增加你得到有用回应的机会。 + +(我们注意到,自从本指南发布后,从资深黑客那里得到的唯一严重缺陷反馈,就是对预先道谢这一条。一些黑客觉得`先谢了`意味着事后就不用再感谢任何人的暗示。我们的建议是要么先说`先谢了`,**然后**事后再对回复者表示感谢,或者换种方式表达感激,譬如用`谢谢你的关注`或`谢谢你的关照`。) + +### 问题解决后,加个简短的补充说明 + +问题解决后,向所有帮助过你的人发个说明,让他们知道问题是怎样解决的,并再一次向他们表示感谢。如果问题在新闻组或者邮件列表中引起了广泛关注,应该在那里贴一个说明比较恰当。 + +最理想的方式是向最初提问的话题回复此消息,并在标题中包含`已修正`,`已解决`或其它同等含义的明显标记。在人来人往的邮件列表里,一个看见讨论串`问题 X`和`问题 X - 已解决`的潜在回复者就明白不用再浪费时间了(除非他个人觉得`问题 X`的有趣),因此可以利用此时间去解决其它问题。 + +补充说明不必很长或是很深入;简单的一句`你好,原来是网线出了问题!谢谢大家 – Bill`比什么也不说要来的好。事实上,除非结论真的很有技术含量,否则简短可爱的小结比长篇大论更好。说明问题是怎样解决的,但大可不必将解决问题的过程复述一遍。 + +对于有深度的问题,张贴调试记录的摘要是有帮助的。描述问题的最终状态,说明是什么解决了问题,在此**之后**才指明可以避免的盲点。避免盲点的部分应放在正确的解决方案和其它总结材料之后,而不要将此信息搞成侦探推理小说。列出那些帮助过你的名字,会让你交到更多朋友。 + +除了有礼貌和有内涵以外,这种类型的补充也有助于他人在邮件列表/新闻群组/论坛中搜索到真正解决你问题的方案,让他们也从中受益。 + +至少,这种补充有助于让每位参与协助的人因问题的解决而从中得到满足感。如果你自己不是技术专家或者黑客,那就相信我们,这种感觉对于那些你向他们求助的大师或者专家而言,是非常重要的。问题悬而未决会让人灰心;黑客们渴望看到问题被解决。好人有好报,满足他们的渴望,你会在下次提问时尝到甜头。 + +思考一下怎样才能避免他人将来也遇到类似的问题,自问写一份文件或加个常见问题(FAQ)会不会有帮助。如果是的话就将它们发给维护者。 + +在黑客中,这种良好的后继行动实际上比传统的礼节更为重要,也是你如何透过善待他人而赢得声誉的方式,这是非常有价值的资产。 + +## 如何解读答案 + + + +### RTFM 和 STFW:如何知道你已完全搞砸了 + +有一个古老而神圣的传统:如果你收到`RTFM(Read The Fucking Manual)`的回应,回答者认为你**应该去读他妈的手册**。当然,基本上他是对的,你应该去读一读。 + +RTFM 有一个年轻的亲戚。如果你收到`STFW(Search The Fucking Web)`的回应,回答者认为你**应该到他妈的网上搜索**。那人多半也是对的,去搜索一下吧。(更温和一点的说法是 **[Google 是你的朋友](http://lmgtfy.com/)**!) + +在论坛,你也可能被要求去爬爬论坛的旧文。事实上,有人甚至可能热心地为你提供以前解决此问题的讨论串。但不要依赖这种关照,提问前应该先搜索一下旧文。 + +通常,用这两句之一回答你的人会给你一份包含你需要内容的手册或者一个网址,而且他们打这些字的时候也正在读着。这些答复意味着回答者认为 + +- **你需要的信息非常容易获得**; +- **你自己去搜索这些信息比灌给你,能让你学到更多**。 + +你不应该因此不爽;**依照黑客的标准,他已经表示了对你一定程度的关注,而没有对你的要求视而不见**。你应该对他祖母般的慈祥表示感谢。 + +### 如果还是搞不懂 + +如果你看不懂回应,别立刻要求对方解释。像你以前试着自己解决问题时那样(利用手册,FAQ,网络,身边的高手),先试着去搞懂他的回应。如果你真的需要对方解释,记得表现出你已经从中学到了点什么。 + +比方说,如果我回答你:`看来似乎是 zentry 卡住了;你应该先清除它。`,然后,这是一个**很糟的**后续问题回应:`zentry 是什么?` **好**的问法应该是这样:`哦~~~我看过说明了但是只有 -z 和 -p 两个参数中提到了 zentries,而且还都没有清楚的解释如何清除它。你是指这两个中的哪一个吗?还是我看漏了什么?` + +### 处理无礼的回应 + +很多黑客圈子中看似无礼的行为并不是存心冒犯。相反,它是直截了当,一针见血式的交流风格,这种风格更注重解决问题,而不是使人感觉舒服而却模模糊糊。 + +如果你觉得被冒犯了,试着平静地反应。如果有人真的做了出格的事,邮件列表、新闻群组或论坛中的前辈多半会招呼他。如果这**没有**发生而你却发火了,那么你发火对象的言语可能在黑客社区中看起来是正常的,而**你**将被视为有错的一方,这将伤害到你获取信息或帮助的机会。 + +另一方面,你偶尔真的会碰到无礼和无聊的言行。与上述相反,对真正的冒犯者狠狠地打击,用犀利的语言将其驳得体无完肤都是可以接受的。然而,在行事之前一定要非常非常的有根据。纠正无礼的言论与开始一场毫无意义的口水战仅一线之隔,黑客们自己莽撞地越线的情况并不鲜见。如果你是新手或外人,避开这种莽撞的机会并不高。如果你想得到的是信息而不是消磨时光,这时最好不要把手放在键盘上以免冒险。 + +(有些人断言很多黑客都有轻度的自闭症或亚斯伯格综合症,缺少用于润滑人类社会**正常**交往所需的神经。这既可能是真也可能是假的。如果你自己不是黑客,兴许你认为我们脑袋有问题还能帮助你应付我们的古怪行为。只管这么干好了,我们不在乎。我们**喜欢**我们现在这个样子,并且通常对病患标记都有站得住脚的怀疑。) + +Jeff Bigler 的观察总结和这个相关也值得一读 (**[tact filters](http://www.mit.edu/~jcb/tact.html)**)。 + +在下一节,我们会谈到另一个问题,当**你**行为不当时所会受到的`冒犯`。 + +## 如何避免扮演失败者 + +在黑客社区的论坛中,你以本指南所描述的或类似的方式,可能会有那么几次搞砸了。而你会在公开场合中被告知你是如何搞砸的,也许攻击的言语中还会带点夹七夹八的颜色。 + +这种事发生以后,你能做的最糟糕的事莫过于哀嚎你的遭遇、宣称被口头攻击、要求道歉、高声尖叫、憋闷气、威胁诉诸法律、向其雇主报怨、不去关马桶盖等等。相反地,你该这么做: + +熬过去,这很正常。事实上,它是有益健康且合理的。 + +社区的标准不会自行维持,它们是通过参与者积极而**公开地**执行来维持的。不要哭嚎所有的批评都应该通过私下的邮件传送,它不是这样运作的。当有人评论你的一个说法有误或者提出不同看法时,坚持声称受到个人攻击也毫无益处,这些都是失败者的态度。 + +也有其它的黑客论坛,受过高礼节要求的误导,禁止参与者张贴任何对别人帖子挑毛病的消息,并声称`如果你不想帮助用户就闭嘴。` 结果造成有想法的参与者纷纷离开,这么做只会使它们沦为毫无意义的唠叨与无用的技术论坛。 + +夸张的讲法是:你要的是“友善”(以上述方式)还是有用?两个里面挑一个。 + +记着:当黑客说你搞砸了,并且(无论多么刺耳)告诉你别再这样做时,他正在为关心**你**和**他的社区**而行动。对他而言,不理你并将你从他的生活中滤掉更简单。如果你无法做到感谢,至少要表现得有点尊严,别大声哀嚎,也别因为自己是个有戏剧性超级敏感的灵魂和自以为有资格的新来者,就指望别人像对待脆弱的洋娃娃那样对你。 + +有时候,即使你没有搞砸(或者只是在他的想像中你搞砸了),有些人也会无缘无故地攻击你本人。在这种情况下,抱怨倒是**真的**会把问题搞砸。 + +这些来找麻烦的人要么是毫无办法但自以为是专家的不中用家伙,要么就是测试你是否真会搞砸的心理专家。其它读者要么不理睬,要么用自己的方式对付他们。这些来找麻烦的人在给他们自己找麻烦,这点你不用操心。 + +也别让自己卷入口水战,最好不要理睬大多数的口水战 —— 当然,这是在你检验它们只是口水战,并且未指出你有搞砸的地方,同时也没有巧妙地将问题真正的答案藏于其后(这也是有可能的)。 + +## 不该问的问题 + +以下是几个经典蠢问题,以及黑客没回答时心中所想的: + +问题:[我能在哪找到 X 程序或 X 资源?](#q1) + +问题:[我怎样用 X 做 Y?](#q2) + +问题:[如何设定我的 shell 提示?](#q3) + +问题:[我可以用 Bass-o-matic 文件转换工具将 AcmeCorp 文件转换为 TeX 格式吗?](#q4) + +问题:[我的程序/设定/SQL 语句没有用](#q5) + +问题:[我的 Windows 电脑有问题,你能帮我吗?](#q6) + +问题:[我的程序不会动了,我认为系统工具 X 有问题](#q7) + +问题:[我在安装 Linux(或者 X)时有问题,你能帮我吗?](#q8) + +问题:[我怎么才能破解 root 帐号/窃取 OP 特权/读别人的邮件呢?](#q9) + +--- + + + +> 问题:我能在哪找到 X 程序或 X 资源? + +回答:就在我找到它的地方啊,白痴 —— 搜索引擎的那一头。天哪!难道还有人不会用 [Google](https://www.google.com) 吗? + + + +> 问题:我怎样用 X 做 Y? + +回答:如果你想解决的是 Y,提问时别给出可能并不恰当的方法。这种问题说明提问者不但对 X 完全无知,也对 Y 要解决的问题糊涂,还被特定形势禁锢了思维。最好忽略这种人,等他们把问题搞清楚了再说。 + + + +> 问题:如何设定我的 shell 提示?? + +回答:如果你有足够的智慧提这个问题,你也该有足够的智慧去 [RTFM](#RTFM),然后自己去找出来。 + + + +> 问题:我可以用 Bass-o-matic 文件转换工具将 AcmeCorp 文件转换为 TeX 格式吗? + +回答:试试看就知道了。如果你试过,你就知道了答案,就不用浪费我的时间了。 + + + +> 问题:我的{程序/设定/SQL 语句}没有用 + +回答:这不算是问题吧,我对要我问你二十个问题才找得出你真正问题的问题没兴趣 —— 我有更有意思的事要做呢。在看到这类问题的时候,我的反应通常不外如下三种 + +- 你还有什么要补充的吗? +- 真糟糕,希望你能搞定。 +- 这关我屁事? + + + +> 问题:我的 Windows 电脑有问题,你能帮我吗? + +回答:能啊,扔掉微软的垃圾,换个像 Linux 或 BSD 的开源操作系统吧。 + +注意:如果程序有官方版 Windows 或者与 Windows 有互动(如 Samba),你**可以**问与 Windows 相关的问题,只是别对问题是由 Windows 操作系统而不是程序本身造成的回复感到惊讶,因为 Windows 一般来说实在太烂,这种说法通常都是对的。 + + + +> 问题:我的程序不会动了,我认为系统工具 X 有问题 + +回答:你完全有可能是第一个注意到被成千上万用户反复使用的系统调用与函数库文件有明显缺陷的人,更有可能的是你完全没有根据。不同凡响的说法需要不同凡响的证据,当你这样声称时,你必须有清楚而详尽的缺陷说明文件作后盾。 + + + +> 问题:我在安装 Linux(或者 X)时有问题,你能帮我吗? + +回答:不能,我只有亲自在你的电脑上动手才能找到毛病。还是去找你当地的 Linux 使用群组者寻求实际的指导吧(你能在[这儿](http://www.linux.org/groups/index.html)找到用户群组的清单)。 + +注意:如果安装问题与某 Linux 的发行版有关,在它的邮件列表、论坛或本地用户群组中提问也许是恰当的。此时,应描述问题的准确细节。在此之前,先用 `Linux` 和**所有**被怀疑的硬件作关键词仔细搜索。 + + + +> 问题:我怎么才能破解 root 帐号/窃取 OP 特权/读别人的邮件呢? + +回答:想要这样做,说明了你是个卑鄙小人;想找个黑客帮你,说明你是个白痴! + +## 好问题与蠢问题 + +最后,我将透过举一些例子,来说明怎样聪明的提问;同一个问题的两种问法被放在一起,一种是愚蠢的,另一种才是明智的。 + +**蠢问题**: + +> 我可以在哪儿找到关于 Foonly Flurbamatic 的资料? + +这种问法无非想得到 [STFW](#RTFM) 这样的回答。 + +**聪明问题**: + +> 我用 Google 搜索过 "Foonly Flurbamatic 2600",但是没找到有用的结果。谁知道上哪儿去找对这种设备编程的资料? + +这个问题已经 STFW 过了,看起来他真的遇到了麻烦。 + +**蠢问题**: + +> 我从 foo 项目找来的源码没法编译。它怎么这么烂? + +他觉得都是别人的错,这个傲慢自大的提问者。 + +**聪明问题**: + +> foo 项目代码在 Nulix 6.2 版下无法编译通过。我读过了 FAQ,但里面没有提到跟 Nulix 有关的问题。这是我编译过程的记录,我有什么做的不对的地方吗? + +提问者已经指明了环境,也读过了 FAQ,还列出了错误,并且他没有把问题的责任推到别人头上,他的问题值得被关注。 + +**蠢问题**: + +> 我的主机板有问题了,谁来帮我? + +某黑客对这类问题的回答通常是:`好的,还要帮你拍拍背和换尿布吗?`,然后按下删除键。 + +**聪明问题**: + +> 我在 S2464 主机板上试过了 X、Y 和 Z,但没什么作用,我又试了 A、B 和 C。请注意当我尝试 C 时的奇怪现象。显然 florbish 正在 grommicking,但结果出人意料。通常在 Athlon MP 主机板上引起 grommicking 的原因是什么?有谁知道接下来我该做些什么测试才能找出问题? + +这个家伙,从另一个角度来看,值得去回答他。他表现出了解决问题的能力,而不是坐等天上掉答案。 + +在最后一个问题中,注意`告诉我答案`和`给我启示,指出我还应该做什么诊断工作`之间微妙而又重要的区别。 + +事实上,后一个问题源自于 2001 年 8 月在 Linux 内核邮件列表(lkml)上的一个真实的提问。我(Eric)就是那个提出问题的人。我在 Tyan S2464 主板上观察到了这种无法解释的锁定现象,列表成员们提供了解决这一问题的重要信息。 + +通过我的提问方法,我给了别人可以咀嚼玩味的东西;我设法让人们很容易参与并且被吸引进来。我显示了自己具备和他们同等的能力,并邀请他们与我共同探讨。通过告诉他们我所走过的弯路,以避免他们再浪费时间,我也表明了对他们宝贵时间的尊重。 + +事后,当我向每个人表示感谢,并且赞赏这次良好的讨论经历的时候,一个 Linux 内核邮件列表的成员表示,他觉得我的问题得到解决并非由于我是这个列表中的**名**人,而是因为我用了正确的方式来提问。 + +黑客从某种角度来说是拥有丰富知识但缺乏人情味的家伙;我相信他是对的,如果我**像**个乞讨者那样提问,不论我是谁,一定会惹恼某些人或者被他们忽视。他建议我记下这件事,这直接导致了本指南的出现。 + +## 如果得不到回答 + +如果仍得不到回答,请不要以为我们觉得无法帮助你。有时只是看到你问题的人不知道答案罢了。没有回应不代表你被忽视,虽然不可否认这种差别很难区分。 + +总的来说,简单的重复张贴问题是个很糟的点子。这将被视为无意义的喧闹。有点耐心,知道你问题答案的人可能生活在不同的时区,可能正在睡觉,也有可能你的问题一开始就没有组织好。 + +你可以通过其他渠道获得帮助,这些渠道通常更适合初学者的需要。 + +有许多网上的以及本地的用户群组,由热情的软件爱好者(即使他们可能从没亲自写过任何软件)组成。通常人们组建这样的团体来互相帮助并帮助新手。 + +另外,你可以向很多商业公司寻求帮助,不论公司大还是小。别为要付费才能获得帮助而感到沮丧!毕竟,假使你的汽车发动机汽缸密封圈爆掉了 —— 完全可能如此 —— 你还得把它送到修车铺,并且为维修付费。就算软件没花费你一分钱,你也不能强求技术支持总是免费的。 + +对像是 Linux 这种大众化的软件,每个开发者至少会对应到上万名用户。根本不可能由一个人来处理来自上万名用户的求助电话。要知道,即使你要为这些协助付费,和你所购买的同类软件相比,你所付出的也是微不足道的(通常封闭源代码软件的技术支持费用比开源软件的要高得多,且内容也没那么丰富)。 + +## 如何更好地回答问题 + +**态度和善一点。** 问题带来的压力常使人显得无礼或愚蠢,其实并不是这样。 + +**对初犯者私下回复。** 对那些坦诚犯错之人没有必要当众羞辱,一个真正的新手也许连怎么搜索或在哪找常见问题都不知道。 + +**如果你不确定,一定要说出来!** 一个听起来权威的错误回复比没有还要糟,别因为听起来像个专家很好玩,就给别人乱指路。要谦虚和诚实,给提问者与同行都树个好榜样。 + +**如果帮不了忙,也别妨碍他。** 不要在实际步骤上开玩笑,那样也许会毁了提问者的设置 —— 有些可怜的呆瓜会把它当成真的指令。 + +**试探性的反问以引出更多的细节。** 如果你做得好,提问者可以学到点东西 —— 你也可以。试试将蠢问题转变成好问题,别忘了我们都曾是新手。 + +尽管对那些懒虫抱怨一声 RTFM 是正当的,但能给出文档的链接(即使只是建议个 Google 搜索关键词)会更好。 + +**如果你决定回答,就请给出好的答案。** 当别人正在用错误的工具或方法时别建议笨拙的权宜之计(workaround),应推荐更好的工具,重新界定问题。 + +**正面地回答问题!** 如果这个提问者已经很深入的研究而且也表明已经试过 X、Y、Z、A、B、C 但没得到结果,回答 `试试看 A 或是 B` 或者 `试试 X 、 Y 、 Z 、 A 、 B 、 C` 并附上一个链接一点用都没有。 + +**帮助你的社区从问题中学习。** 当回复一个好问题时,问问自己`如何修改相关文件或常见问题文件以免再次解答同样的问题?`,接着再向文件维护者发一份补丁。 + +如果你在研究一番后才作出了回答,**展现你的技巧而不是直接端出结果**。毕竟`授人以鱼不如授人以渔`。 + +## 相关资源 + +如果你需要个人电脑、Unix 系统和网络如何运作的基础知识,参阅 [Unix 系统和网络基本原理](http://en.tldp.org/HOWTO/Unix-and-Internet-Fundamentals-HOWTO/)。 + +当你发布软件或补丁时,试着按[软件发布实践](http://en.tldp.org/HOWTO/Software-Release-Practice-HOWTO/index.html)操作。 + +## 鸣谢 + +Evelyn Mitchel 贡献了一些愚蠢问题例子并启发了编写`如何更好地回答问题`这一节,Mikhail Ramendik 贡献了一些特别有价值的建议和改进。 diff --git a/pages/_wiki/index.md b/pages/_wiki/index.md index ce964881e5..8956efef71 100644 --- a/pages/_wiki/index.md +++ b/pages/_wiki/index.md @@ -4,58 +4,47 @@ permalink: /wiki/ # 中国科学技术大学 Linux 用户协会 -中国科学技术大学 Linux 用户协会(科大 LUG)是由在校的 GNU/Linux 爱好者发起并组成的全校性群众团体,是一个以推广自由软件文化、宣传自由软件价值为目的的协会组织。 +中国科学技术大学 Linux 用户协会 (USTC Linux User Group, USTCLUG) 是由在校的 GNU/Linux 爱好者发起并组成的全校性群众团体,是一个以推广自由软件文化、宣传自由软件价值为目的的协会组织。 -[了解更多](intro.md) +[了解更多](intro/) -## 特色活动 +## 网络服务 -- **[LUG 每周小聚](/wiki/lug/events/weeklyparty):** +- **[开源镜像站 mirrors.ustc.edu.cn](lug/services/mirrors)** +- **[网络启动服务 PXE](lug/services/pxe)** +- **[代码托管平台 GitLab](lug/services/gitlab)** +- **[文件存档 FTP](lug/services/ftp)** - 每周末由同学带来的技术分享演讲。 +[了解更多](lug/services/) + +## 特色活动 -- **[Linux Install Party](/wiki/lug/events/lip):** +- **[LUG 每周小聚](lug/events/weeklyparty):** - 推广和安装 Linux,宣传和鼓励开源和自由软件精神的活动。 + 每周末由同学带来的技术分享演讲。 -- **[Linux 101](/wiki/lug/events/101):** +- **[Linux 101](lug/events/101):** 帮助新手学习 Linux 的系列活动。 -- **[自由软件日](/wiki/lug/events/sfd):** +- **[Linux Install Party](lug/events/lip):** - 在国际自由软件基金会(SFI)的领导下,由自由/开源软件爱好者自发筹集的非盈利性活动。 + 推广和安装 Linux,宣传和鼓励开源和自由软件精神的活动。 -- **[信息安全大赛](/wiki/lug/events/hackergame):** +- **[信息安全大赛 Hackergame](lug/events/hackergame):** 每年秋季学期举办的信息安全竞赛。 -## 网络服务 +- **[软件自由日 Software Freedom Day](lug/events/sfd):** -- **[开源软件镜像](/wiki/lug/services/mirrors)** -- **[LUG FTP(各种资源汇总)](/wiki/lug/services/ftp)** -- **[网络启动服务](/wiki/lug/services/pxe)** -- **[GitLab 代码托管](/wiki/lug/services/gitlab)** -- **[其他](/wiki/lug/services)** + 在国际自由软件基金会(SFI)的领导下,由自由/开源软件爱好者自发筹集的非盈利性活动。 -请参阅 [LUG 网络服务总则](/wiki/lug/services/rules) +[了解更多](lug/events) ## 联系我们 - 官方邮箱:![]({{ site.static_url }}/email.png) -- QQ 群:适合于即时性较强的讨论,较正式的讨论还请使用邮件列表。具体群号请查看 `qq.ustclug.org` 的 TXT 记录。 -- 邮件列表:`ustc_lug (at) googlegroups.com` [点击此处了解详情](/wiki/lug/mailinglist) -- IRC/Telegram 在线及时聊天,[点击此处](/wiki/lug/contact)了解加入方式,平台互联由 TUNA 提供支持 -- 活动室:西区图书馆 403 室 - -> 更多联系方式请 [戳这里](lug/contact) - -## 协会 LOGO - -![img]({{ site.static_url }}/logo.png) - -Designed by Shengyu Zhang on 2018-08-30 - -## 协会章程 +- 活动室:西区图书馆 403 室 & 高新图书馆 604B 研讨室 +- QQ 群:适合于即时性较强的讨论。具体群号请查看 `qq.ustclug.org` 的 TXT 记录。 -LUG 的所有活动均依照[协会章程](https://ftp.lug.ustc.edu.cn/%E7%A4%BE%E5%9B%A2%E7%AE%A1%E7%90%86/%E7%AB%A0%E7%A8%8B/current/constitution.pdf)开展。 +[了解更多](lug/contact) diff --git a/pages/_wiki/intro.md b/pages/_wiki/intro.md index 40bf20ad2f..4f7734dc77 100644 --- a/pages/_wiki/intro.md +++ b/pages/_wiki/intro.md @@ -5,7 +5,7 @@ ## 关于我们 -中国科学技术大学 Linux 用户协会是由中国科学技术大学在校的 GNU/Linux 爱好者发起并组成的一个全校性群众团体。成立协会的目的在于联合科大的 GNU/Linux 使用者,搭建信息交流共享的平台,宣传自由软件的价值,提高自由软件社区文化氛围,推广自由软件在科大校园乃至合肥地区的应用。 +中国科学技术大学 Linux 用户协会 (USTC Linux User Group, USTCLUG) 是由中国科学技术大学在校的 GNU/Linux 爱好者发起并组成的一个全校性群众团体。成立协会的目的在于联合科大的 GNU/Linux 使用者,搭建信息交流共享的平台,宣传自由软件的价值,提高自由软件社区文化氛围,推广自由软件在科大校园乃至合肥地区的应用。 Linux 用户协会正式成立于 2003 年,至今已经走过了二十多年,是安徽省高校中一个以推广自由软件社区文化、宣传自由软件价值为目的的协会组织,也是中国大陆高校发展最好的 Linux/自由软件社团之一。在各届协会成员和志愿者的共同努力下,协会开展了许多有意义的活动,如: @@ -20,11 +20,19 @@ Linux 用户协会正式成立于 2003 年,至今已经走过了二十多年 - 自由软件日技术沙龙、每周小聚 - 多次 GNU/Linux 系统使用和编程讲座 -自 2003 年开始,协会开始维护国内知名的 Debian 镜像服务器 ,目前在学校网络中心的支持下,该服务器和 整合为 ,并成为 Debian, Ubuntu, Fedora, Arch Linux 等多个发行版的官方源以及 Debian 在中国的官方镜像:。利用少年班学院的退役超算,协会建立起了 freeshell 服务器,为科大师生提供了容易上手的 Linux VPS。在网络信息中心的帮助下,协会建立了 PXE 网络启动系统,使得在校内可以很快的试用和安装 Linux 系统。协会同时对图书馆的无盘查询系统进行维护。 +自 2003 年开始,协会开始维护国内知名的 Debian 镜像服务器 [debian.ustc.edu.cn](https://mirrors.ustc.edu.cn),目前在学校网络中心的支持下,该服务器和 [oss.ustc.edu.cn](https://mirrors.ustc.edu.cn) 整合为 [mirrors.ustc.edu.cn](https://mirrors.ustc.edu.cn),并成为 Debian, Ubuntu, Fedora, Arch Linux 等多个发行版的官方源以及 Debian 在中国的官方镜像:。利用少年班学院的退役超算,协会建立起了 freeshell 服务器,为科大师生提供了容易上手的 Linux VPS。在网络信息中心的帮助下,协会建立了 PXE 网络启动系统,使得在校内可以很快的试用和安装 Linux 系统。协会同时对图书馆的无盘查询系统进行维护。 为了表彰其出色表现,协会于 2011 年 5 月被评为中国科学技术大学优秀学生社团,于 2012 年 5 月、2013 年 5 月及 2014 年 5 月分别被评为中国科学技术大学四星级学生社团,并于 2015 年 5 月、2017 年 7 月、2018 年 9 月、2019 年 8 月、2020 年 9 月、2021 年 9 月及 2023 年 5 月被评为中国科学技术大学五星级学生社团。 +## 协会 LOGO + +![img]({{ site.static_url }}/logo.png) + +Designed by Shengyu Zhang on 2018-08-30 + ## 更多信息 -- 在 [这里](lug/contact.md) 可以找到我们的联系方式 -- 在 [Wiki 主页](/wiki/) 可以查看有关 LUG 的更多信息 +- [协会章程](https://ftp.lug.ustc.edu.cn/%E7%A4%BE%E5%9B%A2%E7%AE%A1%E7%90%86/%E7%AB%A0%E7%A8%8B/current/constitution.pdf) +- [网络服务](lug/services/) +- [特色活动](lug/events/) +- [联系方式](lug/contact/) diff --git a/pages/_wiki/lug/contact.md b/pages/_wiki/lug/contact.md index 7bf7fb1d02..a90bb8179f 100644 --- a/pages/_wiki/lug/contact.md +++ b/pages/_wiki/lug/contact.md @@ -7,7 +7,7 @@ ![]({{ site.static_url }}/email.png) -您可以向我们直接发送电子邮件。如需联系 LUG 负责人,请转至 [负责人](person-in-charge.md) 页面。 +您可以向我们直接发送电子邮件。如需联系 LUG 负责人,请转至 [负责人](person-in-charge/) 页面。 > 无特殊情况时,请不要单独联系负责人。 @@ -41,7 +41,12 @@ USTCLUG 在校内的活动室: QQ 群群号请查看 `qq.ustclug.org` 的 DNS TXT 记录。 -校内学生请在 [这里](contribute.md) 了解详情。 +校内学生请在 [这里](contribute/) 了解详情。 + +### IRC 上的 LUG + +- 网络:OFTC +- 频道:#ustclug ### Telegram 上的 LUG @@ -49,9 +54,4 @@ QQ 群群号请查看 `qq.ustclug.org` 的 DNS TXT 记录。 ### 参与邮件列表讨论 -[点击此处了解详情](mailinglist.md) - -### IRC 上的 LUG - -- 网络:OFTC -- 频道:#ustclug +[点击此处了解详情](mailinglist/) diff --git a/pages/_wiki/lug/contribute.md b/pages/_wiki/lug/contribute.md index f781215358..378fcdbc15 100644 --- a/pages/_wiki/lug/contribute.md +++ b/pages/_wiki/lug/contribute.md @@ -5,36 +5,26 @@ ## 注册流程 +想参与 LUG [活动](events/)?想成为 LUG 的一员?你可以通过以下方式注册成为 LUG 会员: + - 统一招新 如果你是中国科学技术大学校内学生,欢迎通过学校统一组织的社团招新流程注册成为 LUG 会员。 -- 邮件联系 - - 在非招新活动期间,你也可以将自己的 **真实姓名,学号** 通过校内邮箱发送至我们(详见[联系我们](contact.md))登记注册。 - -> **提示:如果有加入科大「第二课堂」平台中的 LUG 社团的需要,请在邮件中特别注明。** -> -> 请注意,为了避免「幽灵社员」对社团管理带来的困扰,如果你在半年内未参加任何活动,或在一年内未曾参加全员大会/社员代表大会,你将会被移除出本社团在「第二课堂」平台中的名单。 -> -> 是否为「第二课堂」社团成员不影响参加 LUG 活动与讨论。 - -## 与 LUG 取得联系 + > 统一招新 (社团游园会) 一般在每年秋季学期开学后两周举行。具体时间请关注学校官方通知。 -详见 [联系我们](contact.md) +- [邮件联系](contact/) -## 参与 LUG 活动 + 在非招新活动期间,你也可以将自己的 **真实姓名,学号** 通过邮箱发送至我们登记注册。 -详见 [LUG 活动](events/index.md) + > **是否为「第二课堂」社团成员不影响参加 LUG 活动与讨论,也不影响学时获取。** ## 参与 LUG 项目 -你可以: +想为 LUG [项目](services/)做出贡献?你可以: -- 在我们的 [邮件列表](mailinglist.md) 进行交流 +- 联系管理员以加入服务器维护小组 - 在 [LUG GitLab](https://git.lug.ustc.edu.cn/) 与 [GitHub](https://github.com/ustclug) 中为 LUG 项目贡献代码 -- 联系管理员以加入服务器维护小组 - -我们的 Issue tracker: +我们的 Issue tracker: [ustclug/discussions](https://github.com/ustclug/discussions/issues) diff --git a/pages/_wiki/lug/events/101.md b/pages/_wiki/lug/events/101.md index e2dac20deb..8402f21eea 100644 --- a/pages/_wiki/lug/events/101.md +++ b/pages/_wiki/lug/events/101.md @@ -5,7 +5,7 @@ Linux 101 活动在每年的春季学期举行,旨在帮助对 Linux 感兴趣的新手了解 Linux,学习 Linux。 -举办过的 Linux 101 活动列表见 [LUG 活动](index.md) +举办过的 Linux 101 活动列表见 [LUG 活动](index/) ## 历史活动 diff --git a/pages/_wiki/lug/events/index.md b/pages/_wiki/lug/events/index.md index e7d6c78036..dd42a4b956 100644 --- a/pages/_wiki/lug/events/index.md +++ b/pages/_wiki/lug/events/index.md @@ -8,9 +8,9 @@ LUG 活动概述请移步 [LUG 首页](/)。 LUG 的所有活动均依照 [社团章程](https://ftp.lug.ustc.edu.cn/%E7%A4%BE%E5%9B%A2%E7%AE%A1%E7%90%86/%E7%AB%A0%E7%A8%8B/current/constitution.pdf) 开展。 -欢迎订阅 [LUG 日历](calendar.md)。 +欢迎订阅 [LUG 日历](calendar/)。 -2016 年及之后的小聚就不在这里重复记录了,请移步[每周小聚](weeklyparty.md)页面查看。 +2016 年及之后的小聚就不在这里重复记录了,请移步[每周小聚](weeklyparty/)页面查看。 ## Latest Events diff --git a/pages/_wiki/lug/mailinglist.md b/pages/_wiki/lug/mailinglist.md index 66cc97213e..3a438634b3 100644 --- a/pages/_wiki/lug/mailinglist.md +++ b/pages/_wiki/lug/mailinglist.md @@ -49,7 +49,7 @@ USTC LUG 邮件列表所有帖子都永久存档、公开可见: ## 如何发新主题 -直接向 ustc_lug AT googlegroups.com (请把 AT 替换成@)发邮件就行了,Google Groups 会帮您转发给所有加入邮件列表的人。新人发布主题时需要审核,请耐心等待。 +直接向 ustc_lug AT googlegroups.com(请把 AT 替换成@)发邮件就行了,Google Groups 会帮您转发给所有加入邮件列表的人。新人发布主题时需要审核,请耐心等待。 1. “如何回复”中列出的 Tips 仍然适用。 @@ -63,6 +63,6 @@ USTC LUG 邮件列表所有帖子都永久存档、公开可见: 原文: -中文版:[提问的智慧](../doc/smart-questions.md) +中文版:[提问的智慧](../doc/smart-questions/) [^html]: HyperText Markup Language diff --git a/pages/_wiki/lug/person-in-charge.md b/pages/_wiki/lug/person-in-charge.md index c9db9a6646..e32d55a6f8 100644 --- a/pages/_wiki/lug/person-in-charge.md +++ b/pages/_wiki/lug/person-in-charge.md @@ -5,7 +5,7 @@ ## 公共联系方式 -[联系我们](contact.md) +[联系我们](contact/) > 无特殊情况时,请不要单独联系负责人。 diff --git a/pages/_wiki/lug/services/ftp.md b/pages/_wiki/lug/services/ftp.md index e534128e99..4dd4ba34da 100644 --- a/pages/_wiki/lug/services/ftp.md +++ b/pages/_wiki/lug/services/ftp.md @@ -1,7 +1,9 @@ --- --- -# LUG@USTC FTP 文件存档 +# 文件存档 FTP + +**ftp.lug.ustc.edu.cn** ## 简介 diff --git a/pages/_wiki/lug/services/gitlab.md b/pages/_wiki/lug/services/gitlab.md index 8fe72fc29e..845bc0ea2e 100644 --- a/pages/_wiki/lug/services/gitlab.md +++ b/pages/_wiki/lug/services/gitlab.md @@ -1,7 +1,11 @@ --- --- -# GitLab +# 代码托管平台 GitLab + +**git.lug.ustc.edu.cn** + +> **注意:** 请区分 LUG 提供的 与超算平台提供的 . - 如果你在做课程实验……项目代码往哪里放? diff --git a/pages/_wiki/lug/services/index.md b/pages/_wiki/lug/services/index.md index f2624430c1..40a5679b46 100644 --- a/pages/_wiki/lug/services/index.md +++ b/pages/_wiki/lug/services/index.md @@ -4,21 +4,23 @@ permalink: /wiki/lug/services/ # LUG 网络服务 +[LUG 网络服务总则](/wiki/lug/services/rules) + ## S 级服务 -- [开源镜像站](mirrors.md)(HTTP 访问): +- [开源镜像站](mirrors/)(HTTP 访问): - 权威 DNS:`ns-a.ustclug.org`, `ns-b.ustclug.org`, `ns-c.ustclug.org` ## A 级服务 -- [代码托管平台](gitlab.md):[https://git.lug.ustc.edu.cn](https://git.lug.ustc.edu.cn/) +- [代码托管平台](gitlab/):[https://git.lug.ustc.edu.cn](https://git.lug.ustc.edu.cn/) - 回校访问服务 ## B 级服务 - 主页、新闻站、LUG Planet(社团博客): -- [网络启动](pxe.md):pxe.ustc.edu.cn -- [图书馆透明计算系统](lib.md) +- [网络启动](pxe/):pxe.ustc.edu.cn +- [图书馆透明计算系统](lib/) - VPN 在线申请系统(校内) - 轻量级网络加速服务(校内) - 开源镜像站(定时同步;rsync 访问;帮助页面): @@ -28,7 +30,7 @@ permalink: /wiki/lug/services/ ## C 级服务 -- [LUG FTP](ftp.md): +- [LUG FTP](ftp/): - 旧的 LUG 新闻站: - LUG 服务器新闻: - 备用的 LUG 服务器新闻: @@ -38,7 +40,7 @@ permalink: /wiki/lug/services/ ## 已停止服务 - 防污染 DNS(校内) -- 旧的 LUG Planet(社团博客): +- 旧的 LUG Planet(社团博客):planet.ustclug.org ## 服务等级与服务标准 diff --git a/pages/_wiki/lug/services/mirrors.md b/pages/_wiki/lug/services/mirrors.md index e4f5edb6c9..4991218e4b 100644 --- a/pages/_wiki/lug/services/mirrors.md +++ b/pages/_wiki/lug/services/mirrors.md @@ -4,14 +4,7 @@ redirect_from: /wiki/server/mirrors/ # 开源镜像站 -科大 LUG 自成立起便在 2003 年通过 BBS 网上筹款的方式搭建了当时教育网内极少数的几个 Debian GNU/Linux 的镜像源(debian.ustc.edu.cn),随后又在其上添加了 Ubuntu Linux 的镜像。2008 年,借助吴峰光师兄捐助的机器,搭建了科大的开源镜像服务器(oss.ustc.edu.cn),以吸纳更多的开源软件和 Linux 发行版。尽管如此,我们的服务器仍然有些不堪重负,服务供不应求。 - -2010 年底,在网络中心张焕杰老师的帮助下,我们获得了新的服务器,遂将之前两个镜像站的资源以及张老师自己搭建的 CentOS Linux 镜像整合到一起,形成了“科大镜像站”(mirrors.ustc.edu.cn)。新网站正式对外发布时,好评如潮。随后我们又成功申请到了 Debian GNU/Linux 的中国官方镜像资格认证等多个官方镜像资格认证。 - -我们将一如既往的做好镜像服务器的维护工作,争取为大家提供更新更好的服务,使参与维护的同学得到更好的锻炼。 - -- [mirrors 首页](//mirrors.ustc.edu.cn/) -- [科大源使用帮助](//mirrors.ustc.edu.cn/help/) +**mirrors.ustc.edu.cn** ## 机器域名 @@ -27,28 +20,28 @@ redirect_from: /wiki/server/mirrors/ - 联通 IP:218.104.71.170 (unicom.mirrors.ustc.edu.cn) - IPv6:2001:da8:d800:95::110 -## 支持的访问方式 - -[http](http://mirrors.ustc.edu.cn/)、[https](https://mirrors.ustc.edu.cn/) +## 访问方式 -rsync - **部分** [为什么?](https://servers.ustclug.org/2014/08/mirrors-newest-changes/) - -## 提供的服务 - -请访问 mirrors 主页以获取完整列表。 +- [http](http://mirrors.ustc.edu.cn/) +- [https](https://mirrors.ustc.edu.cn/) +- rsync - **部分** [为什么?](https://servers.ustclug.org/2014/08/mirrors-newest-changes/) ## 使用帮助 -请点击主页源列表旁边的“Help”链接,获取镜像使用帮助。 + -欢迎您协助我们更新使用帮助,请访问[LUG 的 GitHub 项目 mirrorhelp](https://github.com/ustclug/mirrorhelp)。我们对您的帮助表示感谢。 +详细文档在 [ustclug/mirrorhelp](https://github.com/ustclug/mirrorhelp), 欢迎您协助完善。 ## 状态监控 -在首页点击页面上方的[同步状态](https://mirrors.ustc.edu.cn/status)链接,可以查看当前各镜像的同步状态,包括 成功与否/上游源/镜像体积等。大家如果知道更好(更新、更快)的上游源,请联系我们。 + + +可以查看当前各镜像的同步状态,包括 成功与否/上游源/镜像体积等。 -如果在实际使用过程中发现镜像有问题,请联系我们。 +## 镜像站的历史 -## 联系方式 +科大 LUG 自成立起便在 2003 年通过 BBS 网上筹款的方式搭建了当时教育网内极少数的几个 Debian GNU/Linux 的镜像源 [debian.ustc.edu.cn](https://mirrors.ustc.edu.cn),随后又在其上添加了 Ubuntu Linux 的镜像。2008 年,借助吴峰光师兄捐助的机器,搭建了科大的开源镜像服务器 [oss.ustc.edu.cn](https://mirrors.ustc.edu.cn),以吸纳更多的开源软件和 Linux 发行版。尽管如此,我们的服务器仍然有些不堪重负,服务供不应求。 -我们的邮箱:lug AT ustc.edu.cn +2010 年底,在网络中心张焕杰老师的帮助下,我们获得了新的服务器,遂将之前两个镜像站的资源以及张老师自己搭建的 CentOS Linux 镜像整合到一起,形成了“科大镜像站” [mirrors.ustc.edu.cn](https://mirrors.ustc.edu.cn)。新网站正式对外发布时,好评如潮。随后我们又成功申请到了 Debian GNU/Linux 的中国官方镜像资格认证等多个官方镜像资格认证。 + +我们将一如既往的做好镜像服务器的维护工作,争取为大家提供更新更好的服务,使参与维护的同学得到更好的锻炼。 diff --git a/pages/_wiki/lug/services/pxe.md b/pages/_wiki/lug/services/pxe.md index ee2f0f8617..84d62c3c26 100644 --- a/pages/_wiki/lug/services/pxe.md +++ b/pages/_wiki/lug/services/pxe.md @@ -2,21 +2,20 @@ redirect_from: /wiki/server/pxe/ --- -# 网络启动服务 +# 网络启动服务 PXE + +**pxe.ustc.edu.cn** 中国科学技术大学自 2005 年起,由 USTC LUG 发起,中国科大图书馆、网络中心和 LUG 共同维护,开始对校园网内提供网络启动服务(以下简称 PXE 服务)。校园网内的师生可以设置电脑通过网络引导启动,进行安装 Linux、体验 Linux、维护本机系统等操作,此外,东、西区图书馆的查询机系统亦是通过 PXE 启动引导。PXE 服务为校内师生带来了极大的便利。 随着我校网络设施的不断升级和发展,网络应用在科研工作和日常生活中发挥着日益重要的作用。同时,PXE 相关的技术在这些年中也有了很大的发展,可以为大家提供更多更实用的服务。现在支持引导 Debian、Ubuntu、Arch Linux、CentOS 等常见 Linux/UNIX 发行版安装镜像或 LiveCD,同时还提供 Clonezilla、GParted Live 等实用系统维护工具。 -[技术文档](https://docs.ustclug.org/services/pxe/) - -[Planet: 一根网线安装 Linux——PXE 介绍](/planet/2018/10/PXE-intro/) - -如果遇到使用问题,请邮件联系 lug AT ustc.edu.cn。 +- [Planet: 一根网线安装 Linux——PXE 介绍](/planet/2018/10/PXE-intro/) +- [技术文档](https://docs.ustclug.org/services/pxe/) ## 新版网络启动服务 -基于 GRUB 的新版网络启动服务支持**传统 PXE 模式**和 **UEFI 模式**的网络启动。代码位于 +基于 GRUB 的新版网络启动服务支持**传统 PXE 模式**和 **UEFI 模式**的网络启动。代码位于 [ustclug/simple-pxe](https://github.com/ustclug/simple-pxe) 校内 DHCP 服务会自动推送网络启动配置,只要在 BIOS 设置中开启网络启动就可以了。 diff --git a/pages/_wiki/scripts.md b/pages/_wiki/scripts.md index 6b2e99f874..59eac0b00b 100644 --- a/pages/_wiki/scripts.md +++ b/pages/_wiki/scripts.md @@ -5,8 +5,8 @@ 这里收集来自网络的各种优秀的脚本。 -| 脚本 | 添加时间 | 作者 | -| --------------------------------- | ---------------- | ------------- | -| [USTC 网络通脚本](scripts/wlt.md) | 2016/09/13 19:12 | LUG @ USTC | -| [豆瓣电台](scripts/douban.md) | 2010/11/25 19:41 | Stephen Zhang | -| [You-Get](scripts/you_get.md) | 2013/04/29 16:04 | Darcy Shen | +| 脚本 | 添加时间 | 作者 | +| ------------------------------- | ---------------- | ------------- | +| [USTC 网络通脚本](scripts/wlt/) | 2016/09/13 19:12 | LUG @ USTC | +| [豆瓣电台](scripts/douban/) | 2010/11/25 19:41 | Stephen Zhang | +| [You-Get](scripts/you_get/) | 2013/04/29 16:04 | Darcy Shen | From 11c2a4101f367e12e66b70d77f9867098cecaac0 Mon Sep 17 00:00:00 2001 From: TianKai Ma Date: Thu, 12 Sep 2024 17:41:15 +0800 Subject: [PATCH 19/59] fix: more edits on events/services, add editing.md --- _data/navigation.yml | 18 +++---- _includes/footer.html | 2 +- pages/_wiki/doc/editing.md | 50 ++++++++++++++++++ pages/_wiki/index.md | 6 +-- pages/_wiki/lug/contribute.md | 8 +-- pages/_wiki/lug/events/101.md | 2 + pages/_wiki/lug/events/hackergame.md | 58 +++++++++++++++++---- pages/_wiki/lug/events/index.md | 47 ++++++++--------- pages/_wiki/lug/events/lip.md | 4 +- pages/_wiki/lug/events/sfd.md | 21 ++++---- pages/_wiki/lug/events/weeklyparty.md | 74 ++++++++++++--------------- pages/_wiki/lug/mailinglist.md | 8 +-- pages/_wiki/lug/services/ftp.md | 29 ++--------- pages/_wiki/lug/services/gitlab.md | 9 ++-- pages/_wiki/lug/services/mirrors.md | 2 +- 15 files changed, 191 insertions(+), 147 deletions(-) create mode 100644 pages/_wiki/doc/editing.md diff --git a/_data/navigation.yml b/_data/navigation.yml index 629fea9a78..dcd87059ca 100644 --- a/_data/navigation.yml +++ b/_data/navigation.yml @@ -23,11 +23,11 @@ wiki: url: /wiki/lug/services/ - title: ' 开源镜像站' url: /wiki/lug/services/mirrors/ - - title: ' 网络启动平台' + - title: ' 网络启动平台' url: /wiki/lug/services/pxe/ - - title: ' 代码托管平台' + - title: ' 代码托管平台' url: /wiki/lug/services/gitlab/ - - title: ' 文件存档' + - title: ' 文件存档' url: /wiki/lug/services/ftp/ - title: 活动 children: @@ -37,11 +37,9 @@ wiki: url: /wiki/lug/events/weeklyparty/ - title: ' Linux 101' url: /wiki/lug/events/101/ - - title: ' Linux Install Party' - url: /wiki/lug/events/lip/ - - title: ' 信息安全大赛' + - title: ' 信息安全大赛' url: /wiki/lug/events/hackergame/ - - title: ' 软件自由日' + - title: ' 软件自由日' url: /wiki/lug/events/sfd/ - title: 联系 children: @@ -51,16 +49,14 @@ wiki: url: /wiki/lug/contribute/ - title: ' LUG 负责人' url: /wiki/lug/person-in-charge/ - - title: ' 邮件列表' - url: /wiki/lug/mailinglist/ - - title: ' 捐赠我们' - url: /wiki/lug/finance/donate/ - title: 文档 children: - title: ' 校园网常见问题' url: /wiki/doc/ustcnet-faq/ - title: ' 提问指南' url: /wiki/doc/howtoask/ + - title: ' 修订指南' + url: /wiki/doc/editing/ # # I'm thinking about deleting all the following items # - title: 其他 diff --git a/_includes/footer.html b/_includes/footer.html index be0cdf2042..843b0792d8 100644 --- a/_includes/footer.html +++ b/_includes/footer.html @@ -14,7 +14,7 @@ 联系我们
  • - 加入我们 + 加入我们
  • RSS 订阅 diff --git a/pages/_wiki/doc/editing.md b/pages/_wiki/doc/editing.md new file mode 100644 index 0000000000..b46985039c --- /dev/null +++ b/pages/_wiki/doc/editing.md @@ -0,0 +1,50 @@ +--- +--- + +# 修订指南 + +注 ([@tiankaima](https://github.com/tiankaima)):在 2024.09, 我对 页面下的大量内容做了修订,以下是修订时所参考的一些原则,以及希望后续编辑能够思考的一些问题。 +{: .notice--info} + +1. **提供信息的考虑:简洁、有效的导航** + + 应当说,大部分来到 lug.ustc.edu.cn 的同学都是带着目的的,无论是想了解 + + - LUG 作为一个社团的开展情况 (举办的活动、怎么加入) + - LUG 提供的服务 (都有哪些,怎么使用) + - 联系方式 (咨询、报告问题) 等 + + 这个 wiki 应该为他们提供最方便、最简洁的信息。基于这个原因,我调整了: + + - 将 LUG 的 [服务](/wiki/lug/events/)、[活动](/wiki/lug/services/) 作为导航栏的单独板块列出,并详细列举了具体的服务、活动 + - 删去 [Linux 文摘](/wiki/linux_digest/)、[资源导航](/wiki/lug/resources/). 这些内容有的已经过时,尚不过时的内容也不宜在这个位置展现 + - 移除「LUG 首页」、「LUG 新闻」等站内链接,在页面顶部已经存在这些链接,放在导航栏造成的误解超过了它的实际作用 + +2. **自我审查方面的考虑** + + - 隐藏了 [捐赠](/wiki/lug/donate) 的入口 + - 隐藏了 [友情链接](https://lug.ustc.edu.cn/wiki/lug/links/) 的入口,这个页面也时常需要移除过期的域名等,有较大的内容安全风险 + - 调整了 [联系方式](/wiki/lug/contact) 的排布,将 Telegram 放在了靠后面的位置 + +3. **信息一致性** + + 在修订时,有很多内容仍然存在「BBS」、「邮件列表」等不再密集使用的平台信息,调整后,上述联系方式都以链接的形式统一指向 [联系我们](/wiki/lug/contact/) 这唯一的页面。 + + 此外 [wiki 首页](/wiki/) 有一个简短的介绍,如需更新也请注意 + {: .notice--info} + + 此外,删掉了 [英文介绍页面](/wiki/intro_english/), 这倒并不是出于政治或者审查原因,而只是一致性 & 翻译软件的成熟度的考虑。 + +4. **Beginner Friendly** + + 修订时,尽量避免了「名词门槛」的问题,例如 [GitLab](/wiki/lug/services/gitlab/) 页面中使用「代码托管平台 GitLab」的表述,而不省略成 GitLab, 即使 LUG 的成员对这个名字已经足够熟悉。 + + 其他类似的修订包括:「网络启动平台 PXE」、「文件存档 FTP」、「信息安全大赛 Hackergame」、「软件自由日 Software Freedom Day」等。 + {: .notice--info} + + 如果可能的话也保持这样的 中 + 英的表述 (和顺序), 在需要省略的地方也省略 (例如导航栏) 英文而不是中文。 + {: .notice--info} + +5. **排版美观** + + 例如在这个页面中,每个子项标题加粗,同时提示内容使用 `{: .notice--info}` 标签,使得页面更易读。同时在链接前后保留空格。 diff --git a/pages/_wiki/index.md b/pages/_wiki/index.md index 8956efef71..4419026d8c 100644 --- a/pages/_wiki/index.md +++ b/pages/_wiki/index.md @@ -27,9 +27,9 @@ permalink: /wiki/ 帮助新手学习 Linux 的系列活动。 -- **[Linux Install Party](lug/events/lip):** + - [Linux Install Party](lug/events/lip): - 推广和安装 Linux,宣传和鼓励开源和自由软件精神的活动。 + 推广和安装 Linux,宣传和鼓励开源和自由软件精神的活动。 - **[信息安全大赛 Hackergame](lug/events/hackergame):** @@ -37,7 +37,7 @@ permalink: /wiki/ - **[软件自由日 Software Freedom Day](lug/events/sfd):** - 在国际自由软件基金会(SFI)的领导下,由自由/开源软件爱好者自发筹集的非盈利性活动。 + 由自由/开源软件爱好者自发筹集的演讲、报告会。 [了解更多](lug/events) diff --git a/pages/_wiki/lug/contribute.md b/pages/_wiki/lug/contribute.md index 378fcdbc15..9ccd536fb6 100644 --- a/pages/_wiki/lug/contribute.md +++ b/pages/_wiki/lug/contribute.md @@ -5,19 +5,21 @@ ## 注册流程 -想参与 LUG [活动](events/)?想成为 LUG 的一员?你可以通过以下方式注册成为 LUG 会员: +想参与 LUG [活动](/wiki/lug/events/) ?想成为 LUG 的一员?你可以通过以下方式注册成为 LUG 会员: - 统一招新 如果你是中国科学技术大学校内学生,欢迎通过学校统一组织的社团招新流程注册成为 LUG 会员。 - > 统一招新 (社团游园会) 一般在每年秋季学期开学后两周举行。具体时间请关注学校官方通知。 + 统一招新 (社团游园会) 一般在每年秋季学期开学后两周举行。具体时间请关注学校官方通知。 + {: .notice--info} - [邮件联系](contact/) 在非招新活动期间,你也可以将自己的 **真实姓名,学号** 通过邮箱发送至我们登记注册。 - > **是否为「第二课堂」社团成员不影响参加 LUG 活动与讨论,也不影响学时获取。** + **是否为「第二课堂」社团成员不影响参加 LUG 活动与讨论,也不影响学时获取。** + {: .notice--info} ## 参与 LUG 项目 diff --git a/pages/_wiki/lug/events/101.md b/pages/_wiki/lug/events/101.md index 8402f21eea..c49d88a19d 100644 --- a/pages/_wiki/lug/events/101.md +++ b/pages/_wiki/lug/events/101.md @@ -7,6 +7,8 @@ Linux 101 活动在每年的春季学期举行,旨在帮助对 Linux 感兴趣 举办过的 Linux 101 活动列表见 [LUG 活动](index/) +从 2018 年起,Linux 101 的第一课会与 [Linux Install Party](lip/) 合并举办。 + ## 历史活动 - [Linux 101 活动讲义](https://101.lug.ustc.edu.cn/) diff --git a/pages/_wiki/lug/events/hackergame.md b/pages/_wiki/lug/events/hackergame.md index 5bb5deceba..f06527677d 100644 --- a/pages/_wiki/lug/events/hackergame.md +++ b/pages/_wiki/lug/events/hackergame.md @@ -1,23 +1,59 @@ --- --- -# 信息安全大赛 +# 信息安全大赛 Hackergame -科大信息安全大赛自 2014 年起已经连续举办七届,往届比赛均顺利举行,规模盛大,影响甚广。每年的比赛在新生入学季举行,向新生倾斜,赛前有动员会,对基础较薄弱的同学进行一些指导,比赛题目控制难度梯度,强调引导和教育作用,除常规奖项外并设立新生特别奖等奖项鼓励同学们参加竞赛。考虑到同学们课业负担较重,比赛为期一周,在线上举行。 +科大信息安全大赛自 2014 年起开始举办,每年一届,规模盛大,影响甚广。每年的比赛在新生入学季举行,向新生倾斜,赛前有动员会,对基础较薄弱的同学进行一些指导,比赛题目控制难度梯度,强调引导和教育作用,除常规奖项外并设立新生特别奖等奖项鼓励同学们参加竞赛。 -## 历年海报 +考虑到同学们课业负担较重,比赛为期一周,在线上举行。 -![3](http://ftp.lug.ustc.edu.cn/%E6%B5%B7%E6%8A%A5/Hackergame/3.jpg) -![4](http://ftp.lug.ustc.edu.cn/%E6%B5%B7%E6%8A%A5/Hackergame/4.png) -![5](http://ftp.lug.ustc.edu.cn/%E6%B5%B7%E6%8A%A5/Hackergame/5.png) -![6](http://ftp.lug.ustc.edu.cn/%E6%B5%B7%E6%8A%A5/Hackergame/6.png) -![7](http://ftp.lug.ustc.edu.cn/%E6%B5%B7%E6%8A%A5/Hackergame/7.png) +- [比赛平台](https://hack.lug.ustc.edu.cn/) +- [ustclug/hackergame](https://github.com/ustclug/hackergame) +- [USTC-Hackergame](https://github.com/USTC-Hackergame) + - [2023 Writeups](https://github.com/USTC-Hackergame/hackergame2023-writeups) + - [2022 Writeups](https://github.com/USTC-Hackergame/hackergame2022-writeups) + - [2021 Writeups](https://github.com/USTC-Hackergame/hackergame2021-writeups) + - [2020 Writeups](https://github.com/USTC-Hackergame/hackergame2020-writeups) -## 相关链接 +## 活动记录 +- [中国科学技术大学第十届信息安全大赛(2023)](/news/2023/12/hackergame-2023/) +- [中国科学技术大学第九届信息安全大赛(2022)](/news/2023/03/hackergame-award-ceremony/) +- [中国科学技术大学第八届信息安全大赛(2021)](/news/2021/11/hackergame-2021/) - [中国科学技术大学第七届信息安全大赛(2020)](/news/2020/12/hackergame-2020/) -- [中国科学技术大学第六届信息安全大赛(2019)](/news/2019/12/hackergame-2019/ "/news/2019/12/hackergame-2019/") -- [中国科学技术大学第五届信息安全大赛(2018)](/news/2019/01/hackergame-awards/ "/news/2019/01/hackergame-awards/") +- [中国科学技术大学第六届信息安全大赛(2019)](/news/2019/12/hackergame-2019/) +- [中国科学技术大学第五届信息安全大赛(2018)](/news/2019/01/hackergame-awards/) - [中国科学技术大学第四届信息安全大赛(2017)](http://young.ustc.edu.cn/2017/1103/c17198a356957/page.htm "http://young.ustc.edu.cn/2017/1103/c17198a356957/page.htm") - [第三届中国科大信息安全竞赛(链接已失效)](http://sec.ustc.edu.cn/doku.php/news_2016) - [第二届安全竞赛(存档)](/wiki/sec/contest.html) + +## 相关链接 + +- [知乎:参加中国科学技术大学第十届信息安全大赛(Hackergame 2023)是怎样一种体验?](https://www.zhihu.com/question/628188912) +- [知乎:参加中国科学技术大学第九届信息安全大赛(Hackergame 2022)是怎样一种体验?](https://www.zhihu.com/question/561919414) +- [知乎:参加中国科学技术大学第八届信息安全大赛(Hackergame 2021)是怎样一种体验?](https://www.zhihu.com/question/492960717) +- [知乎:参加中国科学技术大学第七届信息安全大赛(Hackergame 2020)是怎样一种体验?](https://www.zhihu.com/question/428140079) +- [知乎:参加中国科学技术大学第六届信息安全大赛(Hackergame 2019)是怎样一种体验?](https://www.zhihu.com/question/351947330) +- [知乎:参加中国科学技术大学第五届信息安全大赛(Hackergame 2018)是怎样一种体验?](https://www.zhihu.com/question/297850153) + +## 历年海报 + +### 2020 + +![7](http://ftp.lug.ustc.edu.cn/%E6%B5%B7%E6%8A%A5/Hackergame/7.png) + +### 2019 + +![6](http://ftp.lug.ustc.edu.cn/%E6%B5%B7%E6%8A%A5/Hackergame/6.png) + +### 2018 + +![5](http://ftp.lug.ustc.edu.cn/%E6%B5%B7%E6%8A%A5/Hackergame/5.png) + +### 2017 + +![4](http://ftp.lug.ustc.edu.cn/%E6%B5%B7%E6%8A%A5/Hackergame/4.png) + +### 2016 + +![3](http://ftp.lug.ustc.edu.cn/%E6%B5%B7%E6%8A%A5/Hackergame/3.jpg) diff --git a/pages/_wiki/lug/events/index.md b/pages/_wiki/lug/events/index.md index dd42a4b956..41cb3a61af 100644 --- a/pages/_wiki/lug/events/index.md +++ b/pages/_wiki/lug/events/index.md @@ -4,30 +4,29 @@ permalink: /wiki/lug/events/ # LUG 活动 -LUG 活动概述请移步 [LUG 首页](/)。 - -LUG 的所有活动均依照 [社团章程](https://ftp.lug.ustc.edu.cn/%E7%A4%BE%E5%9B%A2%E7%AE%A1%E7%90%86/%E7%AB%A0%E7%A8%8B/current/constitution.pdf) 开展。 - -欢迎订阅 [LUG 日历](calendar/)。 - -2016 年及之后的小聚就不在这里重复记录了,请移步[每周小聚](weeklyparty/)页面查看。 +- [活动概述](/wiki/) +- [LUG 日历](calendar/) +- [联系我们](/wiki/lug/contact/) ## Latest Events -| 日期 | 时间 | 地点 | 内容 | -| :--------- | :---------- | :--------------- | :------------------------------------------------------------------------------------------------------------------------ | -| 2024-03-09 | 14:30 | 西区 3C102 | Linux 101 第一课:Linux Install Party | -| 2023-10-28 | 12:00 | 线上(持续一周) | 中国科学技术大学第十届信息安全大赛 | -| 2023-10-27 | 19:00-20:30 | 西区 3C 101 | [Hackergame 赛前动员会](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2023.10.27_Hackergame%E5%8A%A8%E5%91%98%E4%BC%9A/) | -| 2023-09-16 | 14:30-17:30 | 西区 3C 101 | [软件自由日](https://lug.ustc.edu.cn/news/2023/09/SFD/) | -| 2023-09-02 | 14:30 | 西区 3A 102 | 2023 秋季学期新生活力课堂 | - -注意:LUD (Linux User Dinner) 均为自愿参加活动,活动费用由参加者分摊,不从社团任何经费报销。关于 LUG 的财务管理制度详情见:[LUG 财务](/wiki/lug/finance) +| 日期 | 时间 | 地点 | 内容 | +| :--------- | :---------- | :--------- | :--------------------------------------------- | +| 2024-09-08 | 10:00-13:00 | 高新区 #35 | [游园会](/2024/09/2024-freshmen-course/) | +| 2024-09-07 | 11:00-14:00 | 中区 #61 | [游园会](/2024/09/2024-freshmen-course/) | +| 2024-09-08 | 19:00-21:00 | 东区 5102 | [新生活力课堂](/2024/09/2024-freshmen-course/) | +| 2024-09-07 | 15:00-17:00 | 西区 3C101 | [新生活力课堂](/2024/09/2024-freshmen-course/) | +| 2024-09-03 | 19:00-20:00 | 东区 2105 | [新生活力课堂](/2024/09/2024-freshmen-course/) | ## Previous Events | 日期 | 时间 | 地点 | 内容 | | :------------ | :------------ | :----------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 2024-03-09 | 14:30 | 西区 3C102 | Linux 101 第一课:Linux Install Party | +| 2023-10-28 | 12:00 | 线上(持续一周) | 中国科学技术大学第十届信息安全大赛 | +| 2023-10-27 | 19:00-20:30 | 西区 3C 101 | [Hackergame 赛前动员会](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2023.10.27_Hackergame%E5%8A%A8%E5%91%98%E4%BC%9A/) | +| 2023-09-16 | 14:30-17:30 | 西区 3C 101 | [软件自由日](https://lug.ustc.edu.cn/news/2023/09/SFD/) | +| 2023-09-02 | 14:30 | 西区 3A 102 | 2023 秋季学期新生活力课堂 | | 2023-05-02 | 18:00 | 线上 | LUG 全员大会 & 劳动节主题团支部大会 | | 2023-04-22 | 14:30 | 线上 | Linux 101 第二课:命令行介绍 | | 2023-04-02 | 14:30 | 西区 3C 101 | Linux 101 第一课:Linux Install Party | @@ -99,7 +98,7 @@ LUG 的所有活动均依照 [社团章程](https://ftp.lug.ustc.edu.cn/%E7%A4%B | 2018-04-15 | 14:30-16:30 | 西区 3A204 | [Linux 101 第四课](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2018.03.18-2018.05.13_Linux_101/slides/4%20%E8%BF%9B%E7%A8%8B%20%E6%9C%8D%E5%8A%A1%20%E4%BB%BB%E5%8A%A1%20%28mk%29.pdf) | | 2018-04-08 | 14:30-16:30 | 二教 2204 | [Linux 101 第三课](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2018.03.18-2018.05.13_Linux_101/slides/Linux101%2003.pdf) | | 2018-03-25 | 14:30-16:00 | 西区 3A106 | [Linux 101 第二课](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2018.03.18-2018.05.13_Linux_101/slides/Linux101%2002%20Ver%202.pdf) | -| 2018-03-18 | 14:00-17:00 | 少年班学院机房 | [Linux 101 第一课](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2018.03.18-2018.05.13_Linux_101/slides/Linux101%2001.pdf) && Linux install party | +| 2018-03-18 | 14:00-17:00 | 少年班学院机房 | [Linux 101 第一课](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2018.03.18-2018.05.13_Linux_101/slides/Linux101%2001.pdf) && Linux Install Party | | 2017-10-14 | 12:00 | 线上 | 中国科学技术大学第四届信息安全大赛 | | 2017-09-16 | 14:00-17:30 | 西区 3C301 | 软件自由日活动 | | 2017-06-17 | ??? | 清华 | [参与 Debian Stretch Release Party](https://ftp.lug.ustc.edu.cn/活动/2017.06.17_Debian_Stretch_Release_Party_TUNA/) | @@ -180,14 +179,10 @@ LUG 的所有活动均依照 [社团章程](https://ftp.lug.ustc.edu.cn/%E7%A4%B | 2012-09-29 | 19:30 | 西活 324 室 | 交流:[Linux Desktop App](/wiki/lug/events/weeklyparty) | | 2012-09-22 | 14:30 | 3123 教室 | LUG 会员大会 | | 2012-09-15 | 08:30 | 西活多功能厅 | **Software Freedom Day 软件自由日** | -| 2012-09-08 | 19:30 | LUG 活动室 | [SFD](/wiki/lug/events/sfd)筹办讨论 | +| 2012-09-08 | 19:30 | LUG 活动室 | [SFD](/wiki/lug/events/sfd) 筹办讨论 | -## 从哪里知道 LUG 活动 +注意:LUD (Linux User Dinner) 均为自愿参加活动,活动费用由参加者分摊,不从社团任何经费报销。关于 LUG 的财务管理制度详情见:[LUG 财务](/wiki/lug/finance) +{: .notice--info} -- [LUG 邮件列表](/wiki/lug/mailinglist) -- 瀚海星云 BBS Linux 版 -- QQ 群公告 -- QQ 公众号及微信公众号 -- Telegram 群聊 -- 短信通知 -- 如果是大活动,当然还有遍布东西区的海报啦~ +2016 年及之后的小聚就不在这里重复记录了,请移步 [每周小聚](weeklyparty/) 页面查看。 +{: .notice--info} diff --git a/pages/_wiki/lug/events/lip.md b/pages/_wiki/lug/events/lip.md index 52842a7d73..afe41d77b6 100644 --- a/pages/_wiki/lug/events/lip.md +++ b/pages/_wiki/lug/events/lip.md @@ -5,6 +5,4 @@ Linux Install Party 主旨在于推广和安装 Linux,宣传和鼓励开源和自由软件精神。活动可以让同学们亲身“无痛”体验 Linux 系统,在安装 Linux 环节有专人指导,同时可以交流了解 Linux 的相关知识。每次派对包含几个面向入门用户的讲座,手把手的安装,近距离的自由交流等环节。 -### 历史活动 - -- [2010 年 Linux Install Party](/news/2010/12/2010-04-linux-install-party/) +举办过的 Linux Install Party 活动列表见 [LUG 活动](index/) diff --git a/pages/_wiki/lug/events/sfd.md b/pages/_wiki/lug/events/sfd.md index e91bfbfa71..4c551923b0 100644 --- a/pages/_wiki/lug/events/sfd.md +++ b/pages/_wiki/lug/events/sfd.md @@ -1,19 +1,15 @@ --- --- -# Software Freedom Day +# 软件自由日 Software Freedom Day [软件自由日](https://en.wikipedia.org/wiki/Software_Freedom_Day)(Software Freedom Day,SFD)是在 Digital Freedom Foundation 的主办下,由自由/开源软件爱好者自发筹集组织非盈利性活动,旨在为自由/开源软件爱好者提供一个信息交流平台、联合各社区举办各种自由/开源软件活动。 科大 LUG 已经成功的连续几届举办了合肥站的自由软件日活动。活动得到了龙芯梦兰、龙芯俱乐部、中标软件、中科红旗、中国开源软件推进联盟、深度科技等公司、开源社区,以及合肥工业大学,安徽大学等兄弟院校的大力支持。活动邀请过多个在国内开源软件领域非常有影响力的嘉宾,如科大网络中心的张焕杰老师,北京 GUG 主席李震宁先生,上海 LUG 主席姚欣宇,从事 MIPS 开发的刘世伟先生等,带来了各种内容的主题演讲。 ---- - -## 活动介绍 +> 2024 年的软件自由日活动预计于 2024 年 9 月 21 日(九月第三个星期六)于中国科学技术大学(合肥)举行,现面向校内外所有社区成员公开征集软件自由日讲座或其他与主题有关的活动,有意愿的社区成员可尽快 [联系我们](/wiki/lug/contact/)。 -SFD,可译为“软件自由日”,顾名思义是对自由、开源软件的庆祝活动。USTC LUG 自 2010 年起每年举办合肥中科大站的自由软件日活动,获得了不错的效果,当然其中也离不开各个公司、兄弟院校、社团、社区的大力支持。 - -## 历史 SFD 活动记录 +## 活动记录 ### 2023 年 SFD @@ -209,21 +205,24 @@ Software Freedom Day (SFD) is a worldwide celebration of Free and Open Source So SFD 是一个全球范围的对自由及开源软件(FOSS)的庆祝活动。在这次庆祝活动中,我们的目标是让全球的公众认识到在各个地方使用高质量自由开源软件的好处,例如在教育行业、在政府机关、在家中、在公司办公时……简而言之,了解在所有地方使用这些软件的好处!Digital Freedom Foundation 在全球层面上对 SFD 活动进行组织协调,并提供信息支持、赠品支持及一定的工作协助。但实际上,这个活动需要依靠全球各地的志愿者队伍来组织本地的 SFD 活动,以此影响他们自己所处的社区。 -### SFI 的介绍 +### Software Freedom International 的介绍 + +> 在 2011 年,SFI 更名为 DFF, 同时网站介绍有不少变化,我们把原来的介绍保留在这里: 以下内容来源为[SFD 官方网站](https://www.softwarefreedomday.org/about)。简体中文翻译由 @hosiet 完成,且并非正式翻译。 +{: .notice--info} SFD is a worldwide celebration of Free and Open Source Software (FOSS). SFD 是一个全球范围的对自由及开源软件(FOSS)的庆祝活动。 -### Vision & Objectives | 立场及意愿 +#### Vision & Objectives | 立场及意愿 Our vision is to empower all people to freely connect, create and share in a digital world that is participatory, transparent, and sustainable. 我们的目的是促使所有人能够自由地与一个积极参与的、透明的、可支持的数字世界相连,并创造、分享精神财富。 -### Objectives | 活动目的 +#### Objectives | 活动目的 1. To celebrate software freedom and the people behind it 2. To foster a general understanding of software freedom, and encourage adoption of free software and open standards @@ -241,7 +240,7 @@ Our vision is to empower all people to freely connect, create and share in a dig 5. 包容吸纳同样持有我们的立场的组织与个人; 6. 作为一个组织,务实、透明、负责任地开展工作。 -### Further Explanations | 活动说明 +#### Further Explanations | 活动说明 Our goal in this celebration is to educate the worldwide public about the benefits of using high quality FOSS in education, in government, at home, and in business – in short, everywhere! The non-profit organization Software Freedom International coordinates SFD at a global level, providing support, giveaways and a point of collaboration, but volunteer teams around the world organize the local SFD events to impact their own communities. diff --git a/pages/_wiki/lug/events/weeklyparty.md b/pages/_wiki/lug/events/weeklyparty.md index 4e53d530cc..8ad605ef6b 100644 --- a/pages/_wiki/lug/events/weeklyparty.md +++ b/pages/_wiki/lug/events/weeklyparty.md @@ -15,58 +15,52 @@ - 每周我们选定一个主题和一位主持, - 与您一同分享使用 Linux 的心得体会, - 群策群力解决令人抓耳挠腮的问题, -- 共同发扬 GNU 文化,提高 Linux 水平。自 2011 年 10 月起,每个周末都有每周小聚活动,由一位同学做技术分享演讲,欢迎所有师生参与。具体时间、地点和内容会在周四发到邮件列表和瀚海星云 BBS Notice/Linux 版上。 +- 共同发扬 GNU 文化,提高 Linux 水平。 -如果您希望讨论某个主题或主持小聚,欢迎加入 [LUG 邮件列表](/wiki/lug/mailinglist) +自 2011 年 10 月起,每个周末都有每周小聚活动,由一位同学做技术分享演讲,欢迎所有师生参与。 -每周小聚的时间地点我们会通过 LUG 邮件列表、BBS Linux/Notice 版等处发出通知,请大家持续关注! +> 具体时间、地点和内容会在发到 [QQ/微信/聊天群](/wiki/lug/contact) 等渠道,欢迎订阅 [LUG 日历](calendar/)。 +> +> 如果您希望讨论某个主题或主持小聚,欢迎 [联系我们](/wiki/lug/contact) 。 每周小聚的资料在这里: -## Notice +## 活动记录 -**主讲人请注意:** - -- 毋忘上传 slides,越早越好 (在愿意分享 slides 的前提下) ![FIXME]({{ site.static_url }}/wiki/lug/fixme.gif) slides 的版权问题? -- 在 BBS Linux 发通知时,注意打上 LUG 标签 -- 尽早编辑本 wiki,活动时间以本 wiki 为准 - -## Time Table - -### Spring 2024 +### 2024 Spring | 时间 | 主持 | 地点 | 主题 | 资料 | | :--------------- | :----- | :---- | :------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 2024-03-31 15:00 | 庄严 | 3C102 | 网络安全攻防演练杂谈 | [Slides](http://ftp.lug.ustc.edu.cn/weekly_party/2024.03.31_%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8%E6%94%BB%E9%98%B2%E6%BC%94%E7%BB%83%E6%9D%82%E8%B0%88/20230331%20%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8%E6%94%BB%E9%98%B2%E6%BC%94%E7%BB%83%E6%9D%82%E8%B0%88_%E8%84%B1%E6%95%8F%E5%88%86%E5%8F%91%E7%89%88.pdf) | | 2024-04-21 15:00 | 刘紫檀 | 3C101 | Linux 图形堆栈初探 | [Slides](https://ftp.lug.ustc.edu.cn/weekly_party/2024.04.21_Linux_Graphics_Journey/Linux_Graphics_Journey.pptx) | -### Fall 2023 +### 2023 Fall | 时间 | 主持 | 地点 | 主题 | 资料 | | :--------------- | :----- | :---- | :--------------------- | :-------------------------------------------------------------------------------------- | | 2023-10-22 10:00 | 王永福 | 3A112 | Git 简介与使用心得分享 | [Slides](https://ftp.lug.ustc.edu.cn/weekly_party/2023.10.22_Git%20%E5%B0%8F%E8%81%9A/) | | 2023-12-09 15:00 | 廖巍 | 3C102 | Debug 原理与演示 | [Slides](http://ftp.lug.ustc.edu.cn/weekly_party/2023.12.09_Debug/debug.pdf) | -### Spring 2023 +### 2023 Spring | 时间 | 主持 | 地点 | 主题 | 资料 | | :--------------- | :----- | :--- | :---------------------------------------- | :---------------------------------------------------------------------------------- | | 2023-05-14 10:00 | 庄思源 | 线上 | 杂谈:基于大型语言模型(LLM)的聊天机器人 | [Video](http://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2023.5.14_llm_talk/video.mp4) | -### Fall 2022 +### 2022 Fall | 时间 | 主持 | 地点 | 主题 | 资料 | | :--------------- | :----- | :---- | :----------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 2022-12-04 16:00 | 李博诚 | 线上 | LUG 轻小聚 | - | | 2022-11-26 14:30 | 刘良宇 | 3C303 | Node.js 介绍 | [Slides](https://ftp.lug.ustc.edu.cn/weekly_party/2022.11.26_Node_js/Slides/IntroToNodeJS.pdf) \| [Video](https://ftp.lug.ustc.edu.cn/weekly_party/2022.11.26_Node_js/Video/) | -### Spring 2022 +### 2022 Spring | 时间 | 主持 | 地点 | 主题 | 资料 | | :--------------- | :----- | :--------- | :-------- | :-------------------------------------------------------------------- | | 2022-05-11 16:30 | 陶柯宇 | 西区 3A108 | Rust 简介 | [Notes](https://blog.taoky.moe/2022-05-04/a-naive-rust-tutorial.html) | -### Fall 2021 +### 2021 Fall | 时间 | 主持 | 地点 | 主题 | 资料 | | :--------------- | :----- | :---- | :--------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | @@ -75,7 +69,7 @@ | 2021-12-12 14:30 | 陶柯宇 | 3A108 | LUG 技术部介绍 | [Slides](http://ftp.lug.ustc.edu.cn/weekly_party/2021.12.12_%E7%BD%91%E7%BB%9C%E8%B5%84%E6%BA%90%26%E6%8A%80%E6%9C%AF%E9%83%A8%E4%BB%8B%E7%BB%8D/ustclug-tech.pdf) | | 2021-12-05 19:00 | 赵作竑 | 3A212 | Linux 桌面环境科普与美化 | [Slides](http://ftp.lug.ustc.edu.cn/weekly_party/2021.12.05_Desktop_Show/20211205%E5%B0%8F%E8%81%9A%E8%AE%B2%E7%A8%BF.pdf) \| [Video](http://ftp.lug.ustc.edu.cn/weekly_party/2021.12.05_Desktop_Show/txmeeting_record.mp4) | -### Spring 2021 +### 2021 Spring | 时间 | 主持 | 地点 | 主题 | 资料 | | :--------------- | :----- | :---- | :--------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -83,7 +77,7 @@ | 2021-03-31 16:00 | 明宇龙 | 3A108 | 前端开发概览 | | | 2021-03-31 16:00 | 袁一玮 | 3A108 | 个人私有网络搭建 | | -### Fall 2020 +### 2020 Fall | 时间 | 主持 | 地点 | 主题 | 资料 | | :--------------- | :----- | :---- | :---------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -100,7 +94,7 @@ | 2020-12-13 14:30 | 郑子涵 | 3A109 | x86 和 arm 之间内存模型的不同 | - | | 2020-10-17 17:30 | 李晨宇 | 3C102 | 游戏安全与 Cheat Engine 核心指北 | [Slides](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2020.10.17_CE%E5%B0%8F%E8%81%9A/Slides/%E6%B8%B8%E6%88%8F%E5%AE%89%E5%85%A8%E4%B8%8ECheat%20Engine%20%E6%A0%B8%E5%BF%83%E6%8C%87%E5%8C%97.pdf) | -### Spring 2020 +### 2020 Spring | 时间 | 主持 | 地点 | 主题 | 资料 | | :--------------- | :-------------- | :------- | :-------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -109,7 +103,7 @@ | 2020-04-06 14:30 | 龚平 | 线上直播 | 众核时代,如何高效利用 CPU 资源? | [Slides](https://ftp.lug.ustc.edu.cn/weekly_party/2020.04.06_Parallel_Computing/并行计算.pptx) | | 2020-03-22 14:30 | 古宜民 | 线上直播 | PYNQ 简介与应用 | [Slides](https://ftp.lug.ustc.edu.cn/weekly_party/2020.03.22_PYNQ_Introduction/PYNQ开发简介与应用.pdf) [Video](https://ftp.lug.ustc.edu.cn/weekly_party/2020.03.22_PYNQ_Introduction/2020-03-22%2014-24-02.mp4) | -### Fall 2019 +### 2019 Fall | 时间 | 主持 | 地点 | 主题 | 资料 | | :--------------- | :----- | :--------- | :------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -119,7 +113,7 @@ | 2019-11-17 14:30 | 李文睿 | 西区 3A110 | LaTeX 使用简介及经验分享 | [Slides](https://ftp.lug.ustc.edu.cn/weekly_party/2019.11.17_LaTeX/) | | 2019-09-17 17:30 | 张震 | 西区 3A311 | 构建系统、惰性求值与增量计算 | [Slides](https://ftp.lug.ustc.edu.cn/活动/2019.秋_小聚集锦/2019.09.17/slides/computation-talk.pdf) [video](https://ftp.lug.ustc.edu.cn/活动/2019.秋_小聚集锦/2019.09.17/video/video.mp4) | -### Spring 2019 +### 2019 Spring | 时间 | 主持 | 地点 | 主题 | 资料 | | :--------------- | :------------ | :--------- | :-------------------------- | :---------------------------------------------------------------------------------------------------------------------- | @@ -127,7 +121,7 @@ | 2019-03-17 14:00 | 何纪言 | 西区 3C102 | Debug 经验分享 | [Slides](https://ftp.lug.ustc.edu.cn/weekly_party/2019.03.17_debugging/) | | 2019-03-02 19:00 | 何纪言 | 西区 3A102 | NEBULA 战队 CTF Web | [Notes](https://ftp.lug.ustc.edu.cn/weekly_party/2019.03.02_CTF/Nebula-Web-Handout-1.pdf) | -### Fall 2018 +### 2018 Fall | 日期 | 主持 | 主题 | 资料 | | :--------- | :----- | :---------------------------------- | :--------------------------------------------------------------------------------------- | @@ -136,7 +130,7 @@ | 2018-10-29 | 孙经纬 | 在大规模 GPU 集群上训练深度神经网络 | | | 2018-09-22 | 沈达 | Scala 在互联网金融中的应用 | [Slides](https://ftp.lug.ustc.edu.cn/weekly_party/2018.09.22_Scala_talk/ScalaUSTC60.pdf) | -### Spring 2018 +### 2018 Spring | 日期 | 主持 | 主题 | 资料 | | :--------- | :----- | :-------------------------- | :----------------------------------------------------------------------------------------- | @@ -151,14 +145,14 @@ | 2018-03-11 | 王子博 | Github Pages 搭建个人主页 | [Slides](https://ftp.lug.ustc.edu.cn/weekly_party/2018.03.11_Github_pages/wzb.pdf) | | 2018-03-04 | 郑子涵 | 密码学科普 | [Slides](https://ftp.lug.ustc.edu.cn/weekly_party/2018.03.04_cryptography/crypto.pdf) | -### Fall 2017 +### 2017 Fall | 日期 | 主持 | 主题 | 资料 | | :--------- | :----- | :------------- | :------------------------------------------------------------------------------------- | | 2017-12-03 | 曹焕琦 | 微软开源生态 | - | | 2017-11-05 | 李嘉豪 | GDB 调试的艺术 | [Slides (md)](https://ftp.lug.ustc.edu.cn/weekly_party/2017.11.05_hello_GDB/slides.md) | -### Spring 2017 +### 2017 Spring | 日期 | 主持 | 主题 | 资料 | | :--------- | :----- | :-------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | @@ -168,7 +162,7 @@ | 2017-04-15 | 高一凡 | 从 iptables 到 nftables,Linux 网络防火墙原理与应用 | [Slides](https://ftp.lug.ustc.edu.cn/weekly_party/2017.04.15_Linux_Network_2/nftables.pdf) | | 2017-04-02 | 高一凡 | Linux 网络配置大管家 iproute2,Linux 网络配置基础 | [Video](https://ftp.lug.ustc.edu.cn/weekly_party/2017.04.02_Linux_Network_1/video.mp4) | -### Fall 2016 +### 2016 Fall | 日期 | 主持 | 主题 | 资料 | | :--------- | :----- | :---------------------------- | :---------------------------------------------------------------------------------------------------------------------------------- | @@ -177,7 +171,7 @@ | 2016-12-04 | 张震 | g Summer of Code | [Slides](https://ftp.lug.ustc.edu.cn/weekly_party/2016.12.04_GSoC_Intro/GSoC-zhen.pdf) | | 2016-11-13 | 高一凡 | Hello OpenPGP | [Slides](https://ftp.lug.ustc.edu.cn/weekly_party/2016.11.13_hello_openpgp/HelloOpenPGP.pdf) | -### Spring 2016 +### 2016 Spring | 日期 | 主持 | 主题 | 资料 | | :--------- | :----- | :-------------- | :------------------------------------------------------------------------------------------------------------------ | @@ -186,7 +180,7 @@ | 2016-04-03 | 高一凡 | Hello Docker II | [Slides](https://ftp.lug.ustc.edu.cn/weekly_party/2016.04.03_hello_docker_2/HelloDocker2.pdf) | | 2016-03-27 | 崔灏 | 密码学的故事 | [Slides (md)](https://ftp.lug.ustc.edu.cn/weekly_party/2016.03.27_cryptography/slides.md) Video(World Without Java) | -### Fall 2015 +### 2015 Fall | 日期 | 主持 | 主题 | 资料 | | :--------- | :----- | :---------------------------------- | :------------------------------------------------------------------------------------------------------------------ | @@ -198,7 +192,7 @@ | 2015-10-23 | 罗秀哲 | Julia User Group Meetup #1 | | | 2015-10-17 | 杨博远 | 命令行生存指南 | [Slides (md)](https://ftp.lug.ustc.edu.cn/weekly_party/2015.10.17_living_in_command_line/living_in_command_line.md) | -### Spring 2015 +### 2015 Spring | 日期 | 主持 | 主题 | 资料 | | :--------- | :----- | :--------------------- | :---------------------------------------------------------------------------------------------------------------------------- | @@ -207,7 +201,7 @@ | 2015-04-18 | 杨博远 | 永远的 autotools(一) | [Slides](https://ftp.lug.ustc.edu.cn/weekly_party/2015.04.18_Autotools/lugweekly_foreverAutotools_1.ppt) | | 2015-04-12 | 王译锋 | 静态博客实践 | [Slides](https://ftp.lug.ustc.edu.cn/weekly_party/2015.04.12_Hexo/%e9%9d%99%e6%80%81%e5%8d%9a%e5%ae%a2%e5%ae%9e%e8%b7%b5.pdf) | -### Fall 2014 +### 2014 Fall | 日期 | 主持 | 主题 | 讲稿 | 视频 | | :--------- | :----- | :--------------------- | :------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------- | @@ -219,7 +213,7 @@ | 2014-10-19 | 崔灏 | 有关文件的种种魔法 | [Slides](https://ftp.lug.ustc.edu.cn/weekly_party/2014.10.19_Special_files/files.pdf) | | | 2014-10-12 | 杨博远 | Git 使用心得 | [Slides](https://ftp.lug.ustc.edu.cn/weekly_party/2014.10.12_git/Git%20使用心得.pdf) | | -### Spring 2014 +### 2014 Spring 本学期将小聚改为[Linux 入门公开课](https://ftp.lug.ustc.edu.cn/course/)。 @@ -235,7 +229,7 @@ | 第 8 课:软件的安装与管理入门 | 杨博远 | [Slides](https://ftp.lug.ustc.edu.cn/course/Lesson8/lesson8.pdf) | [Video](https://ftp.lug.ustc.edu.cn/course/Lesson8/lesson8.mp4) | | 第 9 课:正则表达式基础 | 张恒若 | ![FIXME]({{ site.static_url }}/wiki/lug/fixme.gif) | [Video](https://ftp.lug.ustc.edu.cn/course/Lesson9/lesson9.mp4) | -### Fall 2013 +### 2013 Fall | 日期 | 主持 | 主题 | 资料 | | :--------- | :----- | :-------------------------------- | :----------------------------------------------------------------------------- | @@ -249,7 +243,7 @@ | 2013-10-13 | 朱晟菁 | 编辑器之战 | | | 2013-09-30 | 张荣葳 | Linux 入门基础知识 | | -### Spring 2013 +### 2013 Spring | 日期 | 主持 | 主题 | 资料 | | :--------- | :--------- | :---------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -261,7 +255,7 @@ | 2013-03-17 | 郭家华 | 图书馆查询机系统的制作与启动过程 | [Slides](/~guo/doc/library_query_os.pdf) | | 2013-03-09 | 李博杰 | Bash: A Programmer's Perspective | [Slides](https://ftp.lug.ustc.edu.cn/weekly_party/2013.03.09_bash/bash.pdf) [Code](https://ftp.lug.ustc.edu.cn/weekly_party/2013.03.09_bash/bash.tar.gz) | -### Fall 2012 +### 2012 Fall | 日期 | 主持 | 主题 | 资料 | | :--------- | :----- | :----------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -274,7 +268,7 @@ | 2012-10-20 | 王晶晶 | 搜索引擎简介 | [Slides](https://ftp.lug.ustc.edu.cn/weekly_party/2012.10.20_search_engine/introduction%20to%20the%20search%20engine.pdf) | | 2012-09-29 | 陈张 | Linux Desktop App | [Slides](https://ftp.lug.ustc.edu.cn/weekly_party/2012.09.29_desktop/Linux-desktop-app.pdf) | -### Spring 2012 +### 2012 Spring | 日期 | 主持 | 主题 | 简介 | 资料 | | :--------- | :----- | :----------------------- | :-------------------------------------------------- | :------------------------------------------------------------------------------------------ | @@ -286,7 +280,7 @@ | 2012-04-01 | 沈达 | BreAk SHell, touch linux | Bash Scripting 如何使用文档和搜索来解决问题 | [Slides](https://ftp.lug.ustc.edu.cn/weekly_party/2012.04.01_bash/lug_bash.pdf) | | 2012-03-25 | 陈张 | Linux 桌面环境的使用 | 原来我们可以完全用 Linux 工作 | [Slides](https://ftp.lug.ustc.edu.cn/weekly_party/2012.09.29_desktop/Linux-desktop-app.pdf) | -### Fall 2011 +### 2011 Fall | 日期 | 主持 | 主题 | 简介 | 资料 | | :--------- | :----- | :--------------- | :---------------------------------------------- | :-------------------------------------------- | @@ -305,7 +299,3 @@ | 2011-09-18 | 李博杰 | 网站开发绪论 | 技术概述 | [Slides](/~boj/web_dev/01-intro.pdf) | 网站开发讨论班有个单独的主页,[点这里](/~boj/web_dev/) - -## 其他周在干什么? - -[LUG 的活动](/wiki/lug/events)很丰富的哦 :) diff --git a/pages/_wiki/lug/mailinglist.md b/pages/_wiki/lug/mailinglist.md index 3a438634b3..44ab4433fd 100644 --- a/pages/_wiki/lug/mailinglist.md +++ b/pages/_wiki/lug/mailinglist.md @@ -3,8 +3,6 @@ # LUG 邮件列表 -USTC LUG 中的技术交流和活动通知通常都在邮件列表中。如果没有加入邮件列表,怎么好意思说自己是 USTC LUG 的一员呢? - ## 邮件列表存档 USTC LUG 邮件列表所有帖子都永久存档、公开可见: @@ -41,7 +39,7 @@ USTC LUG 邮件列表所有帖子都永久存档、公开可见: 1. 尽量少用附件,以免占用收件人过多的邮箱空间。不要使用闭源格式的附件。如果需要附件,建议上传到 home.ustc.edu.cn 的个人主页空间或者 rec.ustc.edu.cn 的网盘空间,然后贴出链接。 -2. 尽量用纯文本,少用 HTML[^html] 格式(如果客户端支持的话) +2. 尽量用纯文本,少用 HTML 格式(如果客户端支持的话) 3. 回复较长的邮件时,引文应该选择性地引用,以便让其他人知道在评论的是哪一段。 @@ -63,6 +61,4 @@ USTC LUG 邮件列表所有帖子都永久存档、公开可见: 原文: -中文版:[提问的智慧](../doc/smart-questions/) - -[^html]: HyperText Markup Language +中文版:[提问的智慧](/wiki/doc/smart-questions/) diff --git a/pages/_wiki/lug/services/ftp.md b/pages/_wiki/lug/services/ftp.md index 4dd4ba34da..d6dca35845 100644 --- a/pages/_wiki/lug/services/ftp.md +++ b/pages/_wiki/lug/services/ftp.md @@ -5,32 +5,9 @@ **ftp.lug.ustc.edu.cn** -## 简介 - -LUG FTP 对应域名为 [ftp.lug.ustc.edu.cn](https://ftp.lug.ustc.edu.cn/)。 - 这里存储社团历史活动资料的存档,以及一些与 Linux、开源软件、编程等计算机科学与技术相关的学习资料。 -## 访问 - -### 使用 HTTP 协议 - -站点链接: - -支持匿名只读访问。请注意部分目录无法使用 HTTP 访问。 - -### 使用 FTP 协议 - -站点链接: - -不支持 FTP 匿名访问。用户须使用公开帐号登陆至服务器。 - -用户名为 `ftp`。请联系管理员以了解详细信息。 - -### 使用 SFTP 协议 - -用户名为 `ftp`。请联系管理员以了解详细信息。 - -## 上传 +- [技术文档](https://docs.ustclug.org/services/ftp/) +- [ustclug/lugftp](https://github.com/ustclug/lugftp) -如需使用 FTP 协议对内容进行管理,请联系管理员以了解详细信息。 + diff --git a/pages/_wiki/lug/services/gitlab.md b/pages/_wiki/lug/services/gitlab.md index 845bc0ea2e..37298078ad 100644 --- a/pages/_wiki/lug/services/gitlab.md +++ b/pages/_wiki/lug/services/gitlab.md @@ -5,8 +5,6 @@ **git.lug.ustc.edu.cn** -> **注意:** 请区分 LUG 提供的 与超算平台提供的 . - - 如果你在做课程实验……项目代码往哪里放? - 如果你们是一个小团队……把代码放在哪里才方便成员访问,还能直观地看到项目的进展? @@ -17,5 +15,10 @@ - 出于存储、运维压力等方面的考虑,自 2019 年 12 月 29 日起,此服务仅限科大校内用户注册。 + +出于存储、运维压力等方面的考虑,自 2019 年 12 月 29 日起,此服务仅限科大校内用户注册。 +2022 年 12 月 31 日后,[校外用户资料已被移除](https://servers.ustclug.org/2022/06/gitlab-nonustc-migration/)。 {: .notice--warning } + + 请区分 LUG 提供的 与超算平台提供的 +{: .notice--info} diff --git a/pages/_wiki/lug/services/mirrors.md b/pages/_wiki/lug/services/mirrors.md index 4991218e4b..4fede06642 100644 --- a/pages/_wiki/lug/services/mirrors.md +++ b/pages/_wiki/lug/services/mirrors.md @@ -44,4 +44,4 @@ redirect_from: /wiki/server/mirrors/ 2010 年底,在网络中心张焕杰老师的帮助下,我们获得了新的服务器,遂将之前两个镜像站的资源以及张老师自己搭建的 CentOS Linux 镜像整合到一起,形成了“科大镜像站” [mirrors.ustc.edu.cn](https://mirrors.ustc.edu.cn)。新网站正式对外发布时,好评如潮。随后我们又成功申请到了 Debian GNU/Linux 的中国官方镜像资格认证等多个官方镜像资格认证。 -我们将一如既往的做好镜像服务器的维护工作,争取为大家提供更新更好的服务,使参与维护的同学得到更好的锻炼。 +[了解更多](https://docs.ustclug.org/services/mirrors/) From e47cb49841fccabf160271cc2c984c671b551c50 Mon Sep 17 00:00:00 2001 From: TianKai Ma Date: Thu, 12 Sep 2024 17:46:08 +0800 Subject: [PATCH 20/59] fix: how tf does this got changed... --- .../2021/2021-06-15-lug-banshan-order.md | 665 ++---------------- 1 file changed, 42 insertions(+), 623 deletions(-) diff --git a/pages/_news/2021/2021-06-15-lug-banshan-order.md b/pages/_news/2021/2021-06-15-lug-banshan-order.md index ebfb12f064..13cead49fc 100644 --- a/pages/_news/2021/2021-06-15-lug-banshan-order.md +++ b/pages/_news/2021/2021-06-15-lug-banshan-order.md @@ -1,645 +1,64 @@ --- +title: 2021 Linux 板版衫开始预订! +header: + image: https://lug.ustc.edu.cn/static/news/2021-banshan-tshe.png + overlay_image: false +author: Kiyoaki +date: "2021-06-15 18:00:00 +0800" +categories: + - LUG 活动 +tags: + - LUG + - 版衫 --- -# 提问的智慧 +经过版衫方案投票结果([2021 Linux 板版衫候选方案公布与投票](./2021-04-27-lug-banshan.md)),我们最终确定了 2021 Linux 版衫样式,并从即日起开始接受预定。 -**How To Ask Questions The Smart Way** +经过统计,方案二的票数位居第一,恭喜设计者邓同学,也非常感谢其他投稿的同学。投票结果见附 1。 -Copyright © 2001,2006,2014 Eric S. Raymond, Rick Moen +我们和供应商 T 社(tshe.com)沟通后决定制作黑色,白色两种底色版本,效果图如下: -本指南英文版版权为 Eric S. Raymond, Rick Moen 所有。 +![版衫效果]({{ site.static_url }}/news/2021-banshan-tshe.png) -原文网址:[http://www.catb.org/~esr/faqs/smart-questions.html](http://www.catb.org/~esr/faqs/smart-questions.html) +**另,原投票中方案二后背的文字是 join,而实际设计者提供的原稿文件为 login,经过决策后,我们选择 login 作为最终定稿版,在此勘误,希望大家谅解。** -中文翻译仓库网址:[https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way)。以下内容来自[简体中文版](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/main/README-zh_CN/)。 +## 预定说明 -Copyleft 2001 by D.H.Grand(nOBODY/Ginux), 2010 by Gasolin, 2015 by Ryan Wu +版衫定价:70.00 元/件 -本中文指南是基于原文 3.10 版以及 2010 年由 [Gasolin](https://github.com/gasolin) 所翻译版本的最新翻译; +付款方式:支付宝转账(详见预定表单) -协助指出翻译问题,**请[发 issue](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/issues/new),或直接[发 pull request](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/compare) 给我。** +预定截止时间:2021 年 6 月 22 日 23:59:59 (UTC+8) -本文另有[繁體中文版](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/main/README/)。 +注意事项: -## [原文版本历史](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/main/history/) +- 在校同学可以在到货之后自提,时间不限(如:暑期和下学期)。不在校的同学请填写准确的邮寄地址,我们将在收到版衫后统一以快递到付寄出(预计 6 月 30 日) +- 预定和付款同时进行,请在填写表单后尽快完成支付宝转账,备注信息**填写预定者手机号** +- 如订单无效或未制作,付款将全额原路返还 +- 如需预定不同尺码,请**多次填写表单** +- 尺码表见附 2 +- 出于成本考虑,两种颜色订单数**合计大于 50 件才会制作** +- 按照投票人数估计,单件制作成本约为 70 元,如因预定数量提高,单件价格最终低于 70 元,则**结余资金将作为 USTCLUG 社团经费,并公开使用情况** +- 任何问题请及时通过 goods@ustclug.org 和我们联系,**预定截止后恕不接受退款** -{: .no_toc } +**预定方式:填写 中的表单,或扫描以下二维码预定。** -## 声明 +![版衫二维码]({{ site.static_url }}/news/2021-banshan-qrcode.png) -许多项目在他们的使用协助/说明网页中链接了本指南,这么做很好,我们也鼓励大家都这么做。但如果你是负责管理这个项目网页的人,请在超链接附近的显著位置上注明: +如有其他问题欢迎邮件联系。联系邮箱:goods@ustclug.org -**本指南不提供此项目的实际支持服务!** +附 1:投票结果 -我们已经深刻领教到少了上述声明所带来的痛苦。因为少了这点声明,我们不停地被一些白痴纠缠。这些白痴认为既然我们发布了这本指南,那么我们就有责任解决世上所有的技术问题。 +| 方案 | 票数 | 比例 | +| ------ | ---- | ----- | +| 方案一 | 43 | 30.9% | +| 方案二 | 58 | 41.7% | +| 方案一 | 38 | 27.3% | -如果你因寻求某些帮助而阅读本指南,并在离开时还觉得可以从本文作者这里得到直接帮助,那你就是我们之前说的那些白痴之一。别问我们问题,我们只会忽略你。我们在这本指南中想教你如何从那些真正懂得你所遇到的软件或硬件问题的人处取得协助,而 99% 的情况下那不会是我们。除非你确定本指南的作者之一刚好是你所遇到的问题领域的专家,否则请不要打扰我们,这样大家都会开心一点。 +附 2:尺码表 -## 简介 +![尺码表]({{ site.static_url }}/news/2021-banshan-size.png) -在[黑客](http://www.catb.org/~esr/faqs/hacker-howto.html)的世界里,当你拋出一个技术问题时,最终是否能得到有用的回答,往往取决于你所提问和追问的方式。本指南将教你如何正确的提问以获得你满意的答案。 +附 3:彩蛋 -现在开源(Open Source)软件已经相当盛行,您通常可以从其他更有经验的用户那里获得与黑客一样好的答案,这是件**好事**;和黑客相比,用户们往往对那些新手常遇到的问题更宽容一些。尽管如此,以我们在此推荐的方式对待这些有经验的用户通常也是从他们那里获得有用答案的最有效方式。 - -首先你应该明白,黑客们喜爱有挑战性的问题,或者能激发他们思维的好问题。如果我们并非如此,那我们也不会成为你想询问的对象。如果你给了我们一个值得反复咀嚼玩味的好问题,我们自会对你感激不尽。好问题是激励,是厚礼。好问题可以提高我们的理解力,而且通常会暴露我们以前从没意识到或者思考过的问题。对黑客而言,“好问题!”是诚挚的大力称赞。 - -尽管如此,黑客们有着蔑视或傲慢面对简单问题的坏名声,这有时让我们看起来对新手、无知者似乎较有敌意,但其实不是那样的。 - -我们不讳言我们对那些不愿思考、或者在发问前不做他们该做的事的人的蔑视。那些人是时间杀手 —— 他们只想索取,从不付出,消耗我们可用在更有趣的问题或更值得回答的人身上的时间。我们称这样的人为 `失败者(撸瑟)` (由于历史原因,我们有时把它拼作 `lusers`)。 - -我们意识到许多人只是想使用我们写的软件,他们对学习技术细节没有兴趣。对大多数人而言,电脑只是种工具,是种达到目的的手段而已。他们有自己的生活并且有更要紧的事要做。我们了解这点,也从不指望每个人都对这些让我们着迷的技术问题感兴趣。尽管如此,我们回答问题的风格是指向那些真正对此有兴趣并愿意主动参与解决问题的人,这一点不会变,也不该变。如果连这都变了,我们就是在降低做自己最擅长的事情上的效率。 - -我们(在很大程度上)是自愿的,从繁忙的生活中抽出时间来解答疑惑,而且时常被提问淹没。所以我们无情地滤掉一些话题,特别是拋弃那些看起来像失败者的家伙,以便更高效地利用时间来回答`赢家(winner)`的问题。 - -如果你厌恶我们的态度,高高在上,或过于傲慢,不妨也设身处地想想。我们并没有要求你向我们屈服 —— 事实上,我们大多数人非常乐意与你平等地交流,只要你付出小小努力来满足基本要求,我们就会欢迎你加入我们的文化。但让我们帮助那些不愿意帮助自己的人是没有效率的。无知没有关系,但装白痴就是不行。 - -所以,你不必在技术上很在行才能吸引我们的注意,但你必须表现出能引导你变得在行的特质 —— 机敏、有想法、善于观察、乐于主动参与解决问题。如果你做不到这些使你与众不同的事情,我们建议你花点钱找家商业公司签个技术支持服务合同,而不是要求黑客个人无偿地帮助你。 - -如果你决定向我们求助,当然你也不希望被视为失败者,更不愿成为失败者中的一员。能立刻得到快速并有效答案的最好方法,就是像赢家那样提问 —— 聪明、自信、有解决问题的思路,只是偶尔在特定的问题上需要获得一点帮助。 - -(欢迎对本指南提出改进意见。你可以 email 你的建议至 [esr@thyrsus.com](esr@thyrsus.com) 或 [respond-auto@linuxmafia.com](respond-auto@linuxmafia.com)。然而请注意,本文并非[网络礼节](http://www.ietf.org/rfc/rfc1855.txt)的通用指南,而我们通常会拒绝无助于在技术论坛得到有用答案的建议)。 - -## 在提问之前 - -在你准备要通过电子邮件、新闻群组或者聊天室提出技术问题前,请先做到以下事情: - -1. 尝试在你准备提问的论坛的旧文章中搜索答案。 -2. 尝试上网搜索以找到答案。 -3. 尝试阅读手册以找到答案。 -4. 尝试阅读常见问题文件(FAQ)以找到答案。 -5. 尝试自己检查或试验以找到答案。 -6. 向你身边的强者朋友打听以找到答案。 -7. 如果你是程序开发者,请尝试阅读源代码以找到答案。 - -当你提出问题的时候,请先表明你已经做了上述的努力;这将有助于树立你并不是一个不劳而获且浪费别人的时间的提问者。如果你能一并表达在做了上述努力的过程中所**学到**的东西会更好,因为我们更乐于回答那些表现出能从答案中学习的人的问题。 - -运用某些策略,比如先用 Google 搜索你所遇到的各种错误信息(搜索 [Google 论坛](http://groups.google.com/)和网页),这样很可能直接就找到了能解决问题的文件或邮件列表线索。即使没有结果,在邮件列表或新闻组寻求帮助时加上一句 `我在 Google 中搜过下列句子但没有找到什么有用的东西` 也是件好事,即使它只是表明了搜索引擎不能提供哪些帮助。这么做(加上搜索过的字串)也让遇到相似问题的其他人能被搜索引擎引导到你的提问来。 - -别着急,不要指望几秒钟的 Google 搜索就能解决一个复杂的问题。在向专家求助之前,再阅读一下常见问题文件(FAQ)、放轻松、坐舒服一些,再花点时间思考一下这个问题。相信我们,他们能从你的提问看出你做了多少阅读与思考,如果你是有备而来,将更有可能得到解答。不要将所有问题一股脑拋出,只因你的第一次搜索没有找到答案(或者找到太多答案)。 - -准备好你的问题,再将问题仔细的思考过一遍,因为草率的发问只能得到草率的回答,或者根本得不到任何答案。越是能表现出在寻求帮助前你为解决问题所付出的努力,你越有可能得到实质性的帮助。 - -小心别问错了问题。如果你的问题基于错误的假设,某个普通黑客(J. Random Hacker)多半会一边在心里想着`蠢问题…`,一边用无意义的字面解释来答复你,希望着你会从问题的回答(而非你想得到的答案)中汲取教训。 - -绝不要自以为**够格**得到答案,你没有;你并没有。毕竟你没有为这种服务支付任何报酬。你将会是自己去**挣到**一个答案,靠提出有内涵的、有趣的、有思维激励作用的问题 —— 一个有潜力能贡献社区经验的问题,而不仅仅是被动的从他人处索取知识。 - -另一方面,表明你愿意在找答案的过程中做点什么是一个非常好的开端。`谁能给点提示?`、`我的这个例子里缺了什么?`以及`我应该检查什么地方`比`请把我需要的确切的过程贴出来`更容易得到答复。因为你表现出只要有人能指个正确方向,你就有完成它的能力和决心。 - -## 当你提问时 - -### 慎选提问的论坛 - -小心选择你要提问的场合。如果你做了下述的事情,你很可能被忽略掉或者被看作失败者: - -- 在与主题不合的论坛上贴出你的问题。 -- 在探讨进阶技术问题的论坛张贴非常初级的问题;反之亦然。 -- 在太多的不同新闻群组上重复转贴同样的问题(cross-post)。 -- 向既非熟人也没有义务解决你问题的人发送私人电邮。 - -黑客会剔除掉那些搞错场合的问题,以保护他们沟通的渠道不被无关的东西淹没。你不会想让这种事发生在自己身上的。 - -因此,第一步是找到对的论坛。再说一次,Google 和其它搜索引擎还是你的朋友,用它们来找到与你遭遇到困难的软硬件问题最相关的网站。通常那儿都有常见问题(FAQ)、邮件列表及相关说明文件的链接。如果你的努力(包括**阅读** FAQ)都没有结果,网站上也许还有报告 Bug(Bug-reporting)的流程或链接,如果是这样,链过去看看。 - -向陌生的人或论坛发送邮件最可能是风险最大的事情。举例来说,别假设一个提供丰富内容的网页的作者会想充当你的免费顾问。不要对你的问题是否会受到欢迎做太乐观的估计 —— 如果你不确定,那就向别处发送,或者压根别发。 - -在选择论坛、新闻群组或邮件列表时,别太相信名字,先看看 FAQ 或者许可书以弄清楚你的问题是否切题。发文前先翻翻已有的话题,这样可以让你感受一下那里的文化。事实上,事先在新闻组或邮件列表的历史记录中搜索与你问题相关的关键词是个极好的主意,也许这样就找到答案了。即使没有,也能帮助你归纳出更好的问题。 - -别像机关枪似的一次“扫射”所有的帮助渠道,这就像大喊大叫一样会使人不快。要一个一个地来。 - -搞清楚你的主题!最典型的错误之一是在某种致力于跨平台可移植的语言、套件或工具的论坛中提关于 Unix 或 Windows 操作系统程序界面的问题。如果你不明白为什么这是大错,最好在搞清楚这之间差异之前什么也别问。 - -一般来说,在仔细挑选的公共论坛中提问,会比在私有论坛中提同样的问题更容易得到有用的回答。有几个理由可以支持这点,一是看潜在的回复者有多少,二是看观众有多少。黑客较愿意回答那些能帮助到许多人的问题。 - -可以理解的是,老练的黑客和一些热门软件的作者正在接受过多的错发信息。就像那根最后压垮骆驼背的稻草一样,你的加入也有可能使情况走向极端 —— 已经好几次了,一些热门软件的作者由于涌入其私人邮箱的大量不堪忍受的无用邮件而不再提供支持。 - -### Stack Overflow - -搜索,**然后**在 Stack Exchange 问。 - -近年来,Stack Exchange 社区已经成为回答技术及其他问题的主要渠道,尤其是那些开放源码的项目。 - -因为 Google 索引是即时的,在看 Stack Exchange 之前先在 Google 搜索。有很高的几率某人已经问了一个类似的问题,而且 Stack Exchange 网站们往往会是搜索结果中最前面几个。如果你在 Google 上没有找到任何答案,你再到特定相关主题的网站去找。用标签(Tag)搜索能让你更缩小你的搜索结果。 - -Stack Exchange 已经成长到[超过一百个网站](https://stackexchange.com/sites),以下是最常用的几个站: - -- Super User 是问一些通用的电脑问题,如果你的问题跟代码或是写程序无关,只是一些网络连线之类的,请到这里。 -- Stack Overflow 是问写程序有关的问题。 -- Server Fault 是问服务器和网管相关的问题。 - -### 网站和 IRC 论坛 - -本地的用户群组(user group),或者你所用的 Linux 发行版本也许正在宣传他们的网页论坛或 IRC 频道,并提供新手帮助(在一些非英语国家,新手论坛很可能还是邮件列表),这些都是开始提问的好地方,特别是当你觉得遇到的也许只是相对简单或者很普通的问题时。有广告赞助的 IRC 频道是公开欢迎提问的地方,通常可以即时得到回应。 - -事实上,如果程序出的问题只发生在特定 Linux 发行版提供的版本(这很常见),最好先去该发行版的论坛或邮件列表中提问,再到程序本身的论坛或邮件列表提问。(否则)该项目的黑客可能仅仅回复“使用**我们的**版本”。 - -在任何论坛发文以前,先确认一下有没有搜索功能。如果有,就试着搜索一下问题的几个关键词,也许这会有帮助。如果在此之前你已做过通用的网页搜索(你也该这样做),还是再搜索一下论坛,搜索引擎有可能没来得及索引此论坛的全部内容。 - -通过论坛或 IRC 频道来提供用户支持服务有增长的趋势,电子邮件则大多为项目开发者间的交流而保留。所以最好先在论坛或 IRC 中寻求与该项目相关的协助。 - -在使用 IRC 的时候,首先最好不要发布很长的问题描述,有些人称之为频道洪水。最好通过一句话的问题描述来开始聊天。 - -### 第二步,使用项目邮件列表 - -当某个项目提供开发者邮件列表时,要向列表而不是其中的个别成员提问,即使你确信他能最好地回答你的问题。查一查项目的文件和首页,找到项目的邮件列表并使用它。有几个很好的理由支持我们采用这种办法: - -- 任何好到需要向个别开发者提出的问题,也将对整个项目群组有益。反之,如果你认为自己的问题对整个项目群组来说太愚蠢,那这也不能成为骚扰个别开发者的理由。 -- 向列表提问可以分散开发者的负担,个别开发者(尤其是项目领导人)也许太忙以至于没法回答你的问题。 -- 大多数邮件列表都会被存档,那些被存档的内容将被搜索引擎索引。如果你向列表提问并得到解答,将来其他人可以通过网页搜索找到你的问题和答案,也就不用再次发问了。 -- 如果某些问题经常被问到,开发者可以利用此信息来改进说明文件或软件本身,以使其更清楚。如果只是私下提问,就没有人能看到最常见问题的完整场景。 - -如果一个项目既有“用户”也有“开发者”(或“黑客”)邮件列表或论坛,而你又不会动到那些源代码,那么就向“用户”列表或论坛提问。不要假设自己会在开发者列表中受到欢迎,那些人多半会将你的提问视为干扰他们开发的噪音。 - -然而,如果你**确信**你的问题很特别,而且在“用户”列表或论坛中几天都没有回复,可以试试前往“开发者”列表或论坛发问。建议你在张贴前最好先暗地里观察几天以了解那里的行事方式(事实上这是参与任何私有或半私有列表的好主意) - -如果你找不到一个项目的邮件列表,而只能查到项目维护者的电子邮件地址,尽管向他发信。即使是在这种情况下,也别假设(项目)邮件列表不存在。在你的电子邮件中,请陈述你已经试过但没有找到合适的邮件列表,也提及你不反对将自己的邮件转发给他人(许多人认为,即使没什么秘密,私人电子邮件也不应该被公开。通过允许将你的电子邮件转发他人,你给了相应人员处置你邮件的选择)。 - -### 使用有意义且描述明确的标题 - -在邮件列表、新闻群组或论坛中,大约 50 字以内的标题是抓住资深专家注意力的好机会。别用喋喋不休的`帮帮忙`、`跪求`、`急`(更别说`救命啊!!!!`这样让人反感的话,用这种标题会被条件反射式地忽略)来浪费这个机会。不要妄想用你的痛苦程度来打动我们,而应该是在这点空间中使用极简单扼要的描述方式来提出问题。 - -一个好标题范例是`目标 —— 差异`式的描述,许多技术支持组织就是这样做的。在`目标`部分指出是哪一个或哪一组东西有问题,在`差异`部分则描述与期望的行为不一致的地方。 - -> 蠢问题:救命啊!我的笔记本电脑不能正常显示了! - -> 聪明问题:X.org 6.8.1 的鼠标光标会变形,某牌显卡 MV1005 芯片组。 - -> 更聪明问题:X.org 6.8.1 的鼠标光标,在某牌显卡 MV1005 芯片组环境下 - 会变形。 - -编写`目标 —— 差异` 式描述的过程有助于你组织对问题的细致思考。是什么被影响了?仅仅是鼠标光标或者还有其它图形?只在 X.org 的 X 版中出现?或只是出现在 6.8.1 版中?是针对某牌显卡芯片组?或者只是其中的 MV1005 型号?一个黑客只需瞄一眼就能够立即明白你的环境**和**你遇到的问题。 - -总而言之,请想像一下你正在一个只显示标题的存档讨论串(Thread)索引中查寻。让你的标题更好地反映问题,可使下一个搜索类似问题的人能够关注这个讨论串,而不用再次提问相同的问题。 - -如果你想在回复中提出问题,记得要修改内容标题,以表明你是在问一个问题,一个看起来像 `Re: 测试` 或者 `Re: 新 bug` 的标题很难引起足够重视。另外,在不影响连贯性之下,适当引用并删减前文的内容,能给新来的读者留下线索。 - -对于讨论串,不要直接点击回复来开始一个全新的讨论串,这将限制你的观众。因为有些邮件阅读程序,比如 mutt,允许用户按讨论串排序并通过折叠讨论串来隐藏消息,这样做的人永远看不到你发的消息。 - -仅仅改变标题还不够。mutt 和其它一些邮件阅读程序还会检查邮件标题以外的其它信息,以便为其指定讨论串。所以宁可发一个全新的邮件。 - -在网页论坛上,好的提问方式稍有不同,因为讨论串与特定的信息紧密结合,并且通常在讨论串外就看不到里面的内容,故通过回复提问,而非改变标题是可接受的。不是所有论坛都允许在回复中出现分离的标题,而且这样做了基本上没有人会去看。不过,通过回复提问,这本身就是暧昧的做法,因为它们只会被正在查看该标题的人读到。所以,除非你**只想**在该讨论串当前活跃的人群中提问,不然还是另起炉灶比较好。 - -### 使问题容易回复 - -以`请将你的回复发送到……`来结束你的问题多半会使你得不到回答。如果你觉得花几秒钟在邮件客户端设置一下回复地址都麻烦,我们也觉得花几秒钟思考你的问题更麻烦。如果你的邮件程序不支持这样做,[换个好点的](http://linuxmafia.com/faq/Mail/muas.html);如果是操作系统不支持这种邮件程序,也换个好点的。 - -在论坛,要求通过电子邮件回复是非常无礼的,除非你认为回复的信息可能比较敏感(有人会为了某些未知的原因,只让你而不是整个论坛知道答案)。如果你只是想在有人回复讨论串时得到电子邮件提醒,可以要求网页论坛发送给你。几乎所有论坛都支持诸如`追踪此讨论串`、`有回复时发送邮件提醒`等功能。 - -### 使用清晰、正确、精准且合乎语法的语句 - -我们从经验中发现,粗心的提问者通常也会粗心地写程序与思考(我敢打包票)。回答粗心大意者的问题很不值得,我们宁愿把时间耗在别处。 - -正确的拼写、标点符号和大小写是很重要的。一般来说,如果你觉得这样做很麻烦,不想在乎这些,那我们也觉得麻烦,不想在乎你的提问。花点额外的精力斟酌一下字句,用不着太僵硬与正式 —— 事实上,黑客文化很看重能准确地使用非正式、俚语和幽默的语句。但它**必须很**准确,而且有迹象表明你是在思考和关注问题。 - -正确地拼写、使用标点和大小写,不要将`its`混淆为`it's`,`loose`搞成`lose`或者将`discrete`弄成`discreet`。不要**全部用大写**,这会被视为无礼的大声嚷嚷(全部小写也好不到哪去,因为不易阅读。[Alan Cox](http://en.wikipedia.org/wiki/Alan_Cox) 也许可以这样做,但你不行)。 - -更白话的说,如果你写得像是个半文盲[译注:[小白](http://zh.wikipedia.org/wiki/小白)],那多半得不到理睬。也不要使用即时通信中的简写或[火星文](http://zh.wikipedia.org/wiki/火星文),如将`的`简化为`d`会使你看起来像一个为了少打几个键而省字的小白。更糟的是,如果像个小孩似地鬼画符那绝对是在找死,可以肯定没人会理你(或者最多是给你一大堆指责与挖苦)。 - -如果在使用非母语的论坛提问,你可以犯点拼写和语法上的小错,但决不能在思考上马虎(没错,我们通常能弄清两者的分别)。同时,除非你知道回复者使用的语言,否则请使用英语书写。繁忙的黑客一般会直接删除用他们看不懂的语言写的消息。在网络上英语是通用语言,用英语书写可以将你的问题在尚未被阅读就被直接删除的可能性降到最低。 - -如果英文是你的外语(Second language),提示潜在回复者你有潜在的语言困难是很好的: -[译注:以下附上原文以供使用] - -> English is not my native language; please excuse typing errors. - -- 英文不是我的母语,请原谅我的错字或语法。 - -> If you speak \$LANGUAGE, please email/PM me; -> I may need assistance translating my question. - -- 如果你说**某语言**,请向我发电邮/私信; -- 我需要有人协助我翻译我的问题。 - -> I am familiar with the technical terms, -> but some slang expressions and idioms are difficult for me. - -- 我对技术名词很熟悉,但对于俗语或是特别用法不甚了解。 - -> I've posted my question in \$LANGUAGE and English. -> I'll be glad to translate responses, if you only use one or the other. - -- 我把我的问题用**某语言**和英文写出来。 -- 如果你只用其中的一种语言回答,我会乐意将回复翻译成为你使用的语言。 - -### 使用易于读取且标准的文件格式发送问题 - -如果你人为地将问题搞得难以阅读,它多半会被忽略,人们更愿读易懂的问题,所以: - -- 使用纯文字而不是 HTML ([关闭 HTML](http://archive.birdhouse.org/etc/evilmail.html) 并不难)。 -- 使用 MIME 附件通常是可以的,前提是真正有内容(譬如附带的源代码或 patch),而不仅仅是邮件程序生成的模板(譬如只是信件内容的拷贝)。 -- 不要发送一段文字只是一行句子但自动换行后会变成多行的邮件(这使得回复部分内容非常困难)。设想你的读者是在 80 个字符宽的终端机上阅读邮件,最好设置你的换行分割点小于 80 字。 -- 但是,对一些特殊的文件**不要**设置固定宽度(譬如日志文件拷贝或会话记录)。数据应该原样包含,让回复者有信心他们看到的是和你看到的一样的东西。 -- 在英语论坛中,不要使用`Quoted-Printable` MIME 编码发送消息。这种编码对于张贴非 ASCII 语言可能是必须的,但很多邮件程序并不支持这种编码。当它们处理换行时,那些文本中四处散布的`=20`符号既难看也分散注意力,甚至有可能破坏内容的语意。 -- 绝对,**永远**不要指望黑客们阅读使用封闭格式编写的文档,像微软公司的 Word 或 Excel 文件等。大多数黑客对此的反应就像有人将还在冒热气的猪粪倒在你家门口时你的反应一样。即便他们能够处理,他们也很厌恶这么做。 -- 如果你从使用 Windows 的电脑发送电子邮件,关闭微软愚蠢的`智能引号`功能(从[选项] > [校订] > [自动校正选项],勾选掉`智能引号`单选框),以免在你的邮件中到处散布垃圾字符。 -- 在论坛,勿滥用`表情符号`和`HTML`功能(当它们提供时)。一两个表情符号通常没有问题,但花哨的彩色文本倾向于使人认为你是个无能之辈。过滥地使用表情符号、色彩和字体会使你看来像个傻笑的小姑娘。这通常不是个好主意,除非你只是对性而不是对答案感兴趣。 - -如果你使用图形用户界面的邮件程序(如微软公司的 Outlook 或者其它类似的),注意它们的默认设置不一定满足这些要求。大多数这类程序有基于选单的`查看源代码`命令,用它来检查发送文件夹中的邮件,以确保发送的是纯文本文件同时没有一些奇怪的字符。 - -### 精确地描述问题并言之有物 - -- 仔细、清楚地描述你的问题或 Bug 的症状。 -- 描述问题发生的环境(机器配置、操作系统、应用程序、以及相关的信息),提供经销商的发行版和版本号(如:`Fedora Core 4`、`Slackware 9.1`等)。 -- 描述在提问前你是怎样去研究和理解这个问题的。 -- 描述在提问前为确定问题而采取的诊断步骤。 -- 描述最近做过什么可能相关的硬件或软件变更。 -- 尽可能地提供一个可以`重现这个问题的可控环境`的方法。 - -尽量去揣测一个黑客会怎样反问你,在你提问之前预先将黑客们可能提出的问题回答一遍。 - -以上几点中,当你报告的是你认为可能在代码中的问题时,给黑客一个可以重现你的问题的环境尤其重要。当你这么做时,你得到有效的回答的机会和速度都会大大的提升。 - -[Simon Tatham](http://www.chiark.greenend.org.uk/~sgtatham/) 写过一篇名为《[如何有效的报告 Bug](http://www.chiark.greenend.org.uk/~sgtatham/bugs-cn.html)》的出色文章。强力推荐你也读一读。 - -### 话不在多而在精 - -你需要提供精确有内容的信息。这并不是要求你简单的把成堆的出错代码或者资料完全转录到你的提问中。如果你有庞大而复杂的测试样例能重现程序挂掉的情境,尽量将它剪裁得越小越好。 - -这样做的用处至少有三点。 -第一,表现出你为简化问题付出了努力,这可以使你得到回答的机会增加; -第二,简化问题使你更有可能得到**有用**的答案; -第三,在精炼你的 bug 报告的过程中,你很可能就自己找到了解决方法或权宜之计。 - -### 别动辄声称找到 Bug - -当你在使用软件中遇到问题,除非你非常、**非常**的有根据,不要动辄声称找到了 Bug。提示:除非你能提供解决问题的源代码补丁,或者提供回归测试来表明前一版本中行为不正确,否则你都多半不够完全确信。这同样适用在网页和文件,如果你(声称)发现了文件的`Bug`,你应该能提供相应位置的修正或替代文件。 - -请记得,还有其他许多用户没遇到你发现的问题,否则你在阅读文件或搜索网页时就应该发现了(你在抱怨前[已经做了这些,是吧](#在提问之前)?)。这也意味着很有可能是你弄错了而不是软件本身有问题。 - -编写软件的人总是非常辛苦地使它尽可能完美。如果你声称找到了 Bug,也就是在质疑他们的能力,即使你是对的,也有可能会冒犯到其中某部分人。当你在标题中嚷嚷着有`Bug`时,这尤其严重。 - -提问时,即使你私下非常确信已经发现一个真正的 Bug,最好写得像是**你**做错了什么。如果真的有 Bug,你会在回复中看到这点。这样做的话,如果真有 Bug,维护者就会向你道歉,这总比你惹恼别人然后欠别人一个道歉要好一点。 - -### 低声下气不能代替你的功课 - -有些人明白他们不该粗鲁或傲慢的提问并要求得到答复,但他们选择另一个极端 —— 低声下气:`我知道我只是个可悲的新手,一个撸瑟,但...`。这既使人困扰,也没有用,尤其是伴随着与实际问题含糊不清的描述时更令人反感。 - -别用原始灵长类动物的把戏来浪费你我的时间。取而代之的是,尽可能清楚地描述背景条件和你的问题情况。这比低声下气更好地定位了你的位置。 - -有时网页论坛会设有专为新手提问的版面,如果你真的认为遇到了初学者的问题,到那去就是了,但一样别那么低声下气。 - -### 描述问题症状而非你的猜测 - -告诉黑客们你认为问题是怎样造成的并没什么帮助。(如果你的推断如此有效,还用向别人求助吗?),因此要确信你原原本本告诉了他们问题的症状,而不是你的解释和理论;让黑客们来推测和诊断。如果你认为陈述自己的猜测很重要,清楚地说明这只是你的猜测,并描述为什么它们不起作用。 - -**蠢问题** - -> 我在编译内核时接连遇到 SIG11 错误, -> 我怀疑某条飞线搭在主板的走线上了,这种情况应该怎样检查最好? - -**聪明问题** - -> 我的组装电脑是 FIC-PA2007 主机板搭载 AMD K6/233 CPU(威盛 Apollo VP2 芯片组), -> 256MB Corsair PC133 SDRAM 内存,在编译内核时,从开机 20 分钟以后就频频产生 SIG11 错误, -> 但是在头 20 分钟内从没发生过相同的问题。重新启动也没有用,但是关机一晚上就又能工作 20 分钟。 -> 所有内存都换过了,没有效果。相关部分的标准编译记录如下…。 - -由于以上这点似乎让许多人觉得难以配合,这里有句话可以提醒你:`所有的诊断专家都来自密苏里州。` 美国国务院的官方座右铭则是:`让我看看`(出自国会议员 Willard D. Vandiver 在 1899 年时的讲话:`我来自一个出产玉米,棉花,牛蒡和民主党人的国家,滔滔雄辩既不能说服我,也不会让我满意。我来自密苏里州,你必须让我看看。`)针对诊断者而言,这并不是一种怀疑,而只是一种真实而有用的需求,以便让他们看到的是与你看到的原始证据尽可能一致的东西,而不是你的猜测与归纳的结论。所以,大方的展示给我们看吧! - -### 按发生时间先后列出问题症状 - -问题发生前的一系列操作,往往就是对找出问题最有帮助的线索。因此,你的说明里应该包含你的操作步骤,以及机器和软件的反应,直到问题发生。在命令行处理的情况下,提供一段操作记录(例如运行脚本工具所生成的),并引用相关的若干行(如 20 行)记录会非常有帮助。 - -如果挂掉的程序有诊断选项(如 -v 的详述开关),试着选择这些能在记录中增加调试信息的选项。记住,`多`不等于`好`。试着选取适当的调试级别以便提供有用的信息而不是让读者淹没在垃圾中。 - -如果你的说明很长(如超过四个段落),在开头简述问题,接下来再按时间顺序详述会有所帮助。这样黑客们在读你的记录时就知道该注意哪些内容了。 - -### 描述目标而不是过程 - -如果你想弄清楚如何做某事(而不是报告一个 Bug),在开头就描述你的目标,然后才陈述重现你所卡住的特定步骤。 - -经常寻求技术帮助的人在心中有个更高层次的目标,而他们在自以为能达到目标的特定道路上被卡住了,然后跑来问该怎么走,但没有意识到这条路本身就有问题。结果要费很大的劲才能搞定。 - -**蠢问题** - -> 我怎样才能从某绘图程序的颜色选择器中取得十六进制的 RGB 值? - -**聪明问题** - -> 我正试着用替换一幅图片的色码(color table)成自己选定的色码,我现在知道的唯一方法是编辑每个色码区块(table slot), -> 但却无法从某绘图程序的颜色选择器取得十六进制的 RGB 值。 - -第二种提问法比较聪明,你可能得到像是`建议采用另一个更合适的工具`的回复。 - -### 别要求使用私人电邮回复 - -黑客们认为问题的解决过程应该公开、透明,此过程中如果更有经验的人注意到不完整或者不当之处,最初的回复才能够、也应该被纠正。同时,作为提供帮助者可以得到一些奖励,奖励就是他的能力和学识被其他同行看到。 - -当你要求私下回复时,这个过程和奖励都被中止。别这样做,让**回复者**来决定是否私下回答 —— 如果他真这么做了,通常是因为他认为问题编写太差或者太肤浅,以至于不可能使其他人产生兴趣。 - -这条规则存在一条有限的例外,如果你确信提问可能会引来大量雷同的回复时,那么这个神奇的提问句会是`向我发电邮,我将为论坛归纳这些回复`。试着将邮件列表或新闻群组从洪水般的雷同回复中解救出来是非常有礼貌的 —— 但你必须信守诺言。 - -### 清楚明确的表达你的问题以及需求 - -漫无边际的提问是近乎无休无止的时间黑洞。最有可能给你有用答案的人通常也正是最忙的人(他们忙是因为要亲自完成大部分工作)。这样的人对无节制的时间黑洞相当厌恶,所以他们也倾向于厌恶那些漫无边际的提问。 - -如果你明确表述需要回答者做什么(如提供指点、发送一段代码、检查你的补丁、或是其他等等),就最有可能得到有用的答案。因为这会定出一个时间和精力的上限,便于回答者能集中精力来帮你。这么做很棒。 - -要理解专家们所处的世界,请把专业技能想像为充裕的资源,而回复的时间则是稀缺的资源。你要求他们奉献的时间越少,你越有可能从真正专业而且很忙的专家那里得到解答。 - -所以,界定一下你的问题,使专家花在辨识你的问题和回答所需要付出的时间减到最少,这技巧对你有用答案相当有帮助 —— 但这技巧通常和简化问题有所区别。因此,问`我想更好地理解 X,可否指点一下哪有好一点说明?`通常比问`你能解释一下 X 吗?`更好。如果你的代码不能运作,通常请别人看看哪里有问题,比要求别人替你改正要明智得多。 - -### 询问有关代码的问题时 - -别要求他人帮你调试有问题的代码,不提示一下应该从何入手。张贴几百行的代码,然后说一声:`它不能工作`会让你完全被忽略。只贴几十行代码,然后说一句:`在第七行以后,我期待它显示 ,但实际出现的是 `比较有可能让你得到回应。 - -最有效描述程序问题的方法是提供最精简的 Bug 展示测试用例(bug-demonstrating test case)。什么是最精简的测试用例?那是问题的缩影;一小个程序片段能**刚好**展示出程序的异常行为,而不包含其他令人分散注意力的内容。怎么制作最精简的测试用例?如果你知道哪一行或哪一段代码会造成异常的行为,复制下来并加入足够重现这个状况的代码(例如,足以让这段代码能被编译/直译/被应用程序处理)。如果你无法将问题缩减到一个特定区块,就复制一份代码并移除不影响产生问题行为的部分。总之,测试用例越小越好(查看[话不在多而在精](#话不在多而在精)一节)。 - -一般而言,要得到一段相当精简的测试用例并不太容易,但永远先尝试这样做的是种好习惯。这种方式可以帮助你了解如何自行解决这个问题 —— 而且即使你的尝试不成功,黑客们也会看到你在尝试取得答案的过程中付出了努力,这可以让他们更愿意与你合作。 - -如果你只是想让别人帮忙审查(Review)一下代码,在信的开头就要说出来,并且一定要提到你认为哪一部分特别需要关注以及为什么。 - -### 别把自己家庭作业的问题贴上来 - -黑客们很擅长分辨哪些问题是家庭作业式的问题;因为我们中的大多数都曾自己解决这类问题。同样,这些问题得由**你**来搞定,你会从中学到东西。你可以要求给点提示,但别要求得到完整的解决方案。 - -如果你怀疑自己碰到了一个家庭作业式的问题,但仍然无法解决,试试在用户群组,论坛或(最后一招)在项目的**用户**邮件列表或论坛中提问。尽管黑客们**会**看出来,但一些有经验的用户也许仍会给你一些提示。 - -### 去掉无意义的提问句 - -避免用无意义的话结束提问,例如`有人能帮我吗?`或者`这有答案吗?`。 - -首先:如果你对问题的描述不是很好,这样问更是画蛇添足。 - -其次:由于这样问是画蛇添足,黑客们会很厌烦你 —— 而且通常会用逻辑上正确,但毫无意义的回答来表示他们的蔑视,例如:`没错,有人能帮你`或者`不,没答案`。 - -一般来说,避免用 `是或否`、`对或错`、`有或没有`类型的问句,除非你想得到[是或否类型的回答](https://strcat.de/questions-with-yes-or-no-answers.html)。 - -### 即使你很急也不要在标题写`紧急` - -这是你的问题,不是我们的。宣称`紧急`极有可能事与愿违:大多数黑客会直接删除无礼和自私地企图即时引起关注的问题。更严重的是,`紧急`这个字(或是其他企图引起关注的标题)通常会被垃圾信过滤器过滤掉 —— 你希望能看到你问题的人可能永远也看不到。 - -有半个例外的情况是,如果你是在一些很高调,会使黑客们兴奋的地方,也许值得这样去做。在这种情况下,如果你有时间压力,也很有礼貌地提到这点,人们也许会有兴趣回答快一点。 - -当然,这风险很大,因为黑客们兴奋的点多半与你的不同。譬如从 NASA 国际空间站(International Space Station)发这样的标题没有问题,但用自我感觉良好的慈善行为或政治原因发肯定不行。事实上,张贴诸如`紧急:帮我救救这个毛茸茸的小海豹!`肯定让你被黑客忽略或惹恼他们,即使他们认为毛茸茸的小海豹很重要。 - -如果你觉得这点很不可思议,最好再把这份指南剩下的内容多读几遍,直到你弄懂了再发文。 - -### 礼多人不怪,而且有时还很有帮助 - -彬彬有礼,多用`请`和`谢谢您的关注`,或`谢谢你的关照`。让大家都知道你对他们花时间免费提供帮助心存感激。 - -坦白说,这一点并没有比使用清晰、正确、精准且合乎语法和避免使用专用格式重要(也不能取而代之)。黑客们一般宁可读有点唐突但技术上鲜明的 Bug 报告,而不是那种有礼但含糊的报告。(如果这点让你不解,记住我们是按问题能教给我们什么来评价问题的价值的) - -然而,如果你有一串的问题待解决,客气一点肯定会增加你得到有用回应的机会。 - -(我们注意到,自从本指南发布后,从资深黑客那里得到的唯一严重缺陷反馈,就是对预先道谢这一条。一些黑客觉得`先谢了`意味着事后就不用再感谢任何人的暗示。我们的建议是要么先说`先谢了`,**然后**事后再对回复者表示感谢,或者换种方式表达感激,譬如用`谢谢你的关注`或`谢谢你的关照`。) - -### 问题解决后,加个简短的补充说明 - -问题解决后,向所有帮助过你的人发个说明,让他们知道问题是怎样解决的,并再一次向他们表示感谢。如果问题在新闻组或者邮件列表中引起了广泛关注,应该在那里贴一个说明比较恰当。 - -最理想的方式是向最初提问的话题回复此消息,并在标题中包含`已修正`,`已解决`或其它同等含义的明显标记。在人来人往的邮件列表里,一个看见讨论串`问题 X`和`问题 X - 已解决`的潜在回复者就明白不用再浪费时间了(除非他个人觉得`问题 X`的有趣),因此可以利用此时间去解决其它问题。 - -补充说明不必很长或是很深入;简单的一句`你好,原来是网线出了问题!谢谢大家 – Bill`比什么也不说要来的好。事实上,除非结论真的很有技术含量,否则简短可爱的小结比长篇大论更好。说明问题是怎样解决的,但大可不必将解决问题的过程复述一遍。 - -对于有深度的问题,张贴调试记录的摘要是有帮助的。描述问题的最终状态,说明是什么解决了问题,在此**之后**才指明可以避免的盲点。避免盲点的部分应放在正确的解决方案和其它总结材料之后,而不要将此信息搞成侦探推理小说。列出那些帮助过你的名字,会让你交到更多朋友。 - -除了有礼貌和有内涵以外,这种类型的补充也有助于他人在邮件列表/新闻群组/论坛中搜索到真正解决你问题的方案,让他们也从中受益。 - -至少,这种补充有助于让每位参与协助的人因问题的解决而从中得到满足感。如果你自己不是技术专家或者黑客,那就相信我们,这种感觉对于那些你向他们求助的大师或者专家而言,是非常重要的。问题悬而未决会让人灰心;黑客们渴望看到问题被解决。好人有好报,满足他们的渴望,你会在下次提问时尝到甜头。 - -思考一下怎样才能避免他人将来也遇到类似的问题,自问写一份文件或加个常见问题(FAQ)会不会有帮助。如果是的话就将它们发给维护者。 - -在黑客中,这种良好的后继行动实际上比传统的礼节更为重要,也是你如何透过善待他人而赢得声誉的方式,这是非常有价值的资产。 - -## 如何解读答案 - - - -### RTFM 和 STFW:如何知道你已完全搞砸了 - -有一个古老而神圣的传统:如果你收到`RTFM(Read The Fucking Manual)`的回应,回答者认为你**应该去读他妈的手册**。当然,基本上他是对的,你应该去读一读。 - -RTFM 有一个年轻的亲戚。如果你收到`STFW(Search The Fucking Web)`的回应,回答者认为你**应该到他妈的网上搜索**。那人多半也是对的,去搜索一下吧。(更温和一点的说法是 **[Google 是你的朋友](http://lmgtfy.com/)**!) - -在论坛,你也可能被要求去爬爬论坛的旧文。事实上,有人甚至可能热心地为你提供以前解决此问题的讨论串。但不要依赖这种关照,提问前应该先搜索一下旧文。 - -通常,用这两句之一回答你的人会给你一份包含你需要内容的手册或者一个网址,而且他们打这些字的时候也正在读着。这些答复意味着回答者认为 - -- **你需要的信息非常容易获得**; -- **你自己去搜索这些信息比灌给你,能让你学到更多**。 - -你不应该因此不爽;**依照黑客的标准,他已经表示了对你一定程度的关注,而没有对你的要求视而不见**。你应该对他祖母般的慈祥表示感谢。 - -### 如果还是搞不懂 - -如果你看不懂回应,别立刻要求对方解释。像你以前试着自己解决问题时那样(利用手册,FAQ,网络,身边的高手),先试着去搞懂他的回应。如果你真的需要对方解释,记得表现出你已经从中学到了点什么。 - -比方说,如果我回答你:`看来似乎是 zentry 卡住了;你应该先清除它。`,然后,这是一个**很糟的**后续问题回应:`zentry 是什么?` **好**的问法应该是这样:`哦~~~我看过说明了但是只有 -z 和 -p 两个参数中提到了 zentries,而且还都没有清楚的解释如何清除它。你是指这两个中的哪一个吗?还是我看漏了什么?` - -### 处理无礼的回应 - -很多黑客圈子中看似无礼的行为并不是存心冒犯。相反,它是直截了当,一针见血式的交流风格,这种风格更注重解决问题,而不是使人感觉舒服而却模模糊糊。 - -如果你觉得被冒犯了,试着平静地反应。如果有人真的做了出格的事,邮件列表、新闻群组或论坛中的前辈多半会招呼他。如果这**没有**发生而你却发火了,那么你发火对象的言语可能在黑客社区中看起来是正常的,而**你**将被视为有错的一方,这将伤害到你获取信息或帮助的机会。 - -另一方面,你偶尔真的会碰到无礼和无聊的言行。与上述相反,对真正的冒犯者狠狠地打击,用犀利的语言将其驳得体无完肤都是可以接受的。然而,在行事之前一定要非常非常的有根据。纠正无礼的言论与开始一场毫无意义的口水战仅一线之隔,黑客们自己莽撞地越线的情况并不鲜见。如果你是新手或外人,避开这种莽撞的机会并不高。如果你想得到的是信息而不是消磨时光,这时最好不要把手放在键盘上以免冒险。 - -(有些人断言很多黑客都有轻度的自闭症或亚斯伯格综合症,缺少用于润滑人类社会**正常**交往所需的神经。这既可能是真也可能是假的。如果你自己不是黑客,兴许你认为我们脑袋有问题还能帮助你应付我们的古怪行为。只管这么干好了,我们不在乎。我们**喜欢**我们现在这个样子,并且通常对病患标记都有站得住脚的怀疑。) - -Jeff Bigler 的观察总结和这个相关也值得一读 (**[tact filters](http://www.mit.edu/~jcb/tact.html)**)。 - -在下一节,我们会谈到另一个问题,当**你**行为不当时所会受到的`冒犯`。 - -## 如何避免扮演失败者 - -在黑客社区的论坛中,你以本指南所描述的或类似的方式,可能会有那么几次搞砸了。而你会在公开场合中被告知你是如何搞砸的,也许攻击的言语中还会带点夹七夹八的颜色。 - -这种事发生以后,你能做的最糟糕的事莫过于哀嚎你的遭遇、宣称被口头攻击、要求道歉、高声尖叫、憋闷气、威胁诉诸法律、向其雇主报怨、不去关马桶盖等等。相反地,你该这么做: - -熬过去,这很正常。事实上,它是有益健康且合理的。 - -社区的标准不会自行维持,它们是通过参与者积极而**公开地**执行来维持的。不要哭嚎所有的批评都应该通过私下的邮件传送,它不是这样运作的。当有人评论你的一个说法有误或者提出不同看法时,坚持声称受到个人攻击也毫无益处,这些都是失败者的态度。 - -也有其它的黑客论坛,受过高礼节要求的误导,禁止参与者张贴任何对别人帖子挑毛病的消息,并声称`如果你不想帮助用户就闭嘴。` 结果造成有想法的参与者纷纷离开,这么做只会使它们沦为毫无意义的唠叨与无用的技术论坛。 - -夸张的讲法是:你要的是“友善”(以上述方式)还是有用?两个里面挑一个。 - -记着:当黑客说你搞砸了,并且(无论多么刺耳)告诉你别再这样做时,他正在为关心**你**和**他的社区**而行动。对他而言,不理你并将你从他的生活中滤掉更简单。如果你无法做到感谢,至少要表现得有点尊严,别大声哀嚎,也别因为自己是个有戏剧性超级敏感的灵魂和自以为有资格的新来者,就指望别人像对待脆弱的洋娃娃那样对你。 - -有时候,即使你没有搞砸(或者只是在他的想像中你搞砸了),有些人也会无缘无故地攻击你本人。在这种情况下,抱怨倒是**真的**会把问题搞砸。 - -这些来找麻烦的人要么是毫无办法但自以为是专家的不中用家伙,要么就是测试你是否真会搞砸的心理专家。其它读者要么不理睬,要么用自己的方式对付他们。这些来找麻烦的人在给他们自己找麻烦,这点你不用操心。 - -也别让自己卷入口水战,最好不要理睬大多数的口水战 —— 当然,这是在你检验它们只是口水战,并且未指出你有搞砸的地方,同时也没有巧妙地将问题真正的答案藏于其后(这也是有可能的)。 - -## 不该问的问题 - -以下是几个经典蠢问题,以及黑客没回答时心中所想的: - -问题:[我能在哪找到 X 程序或 X 资源?](#q1) - -问题:[我怎样用 X 做 Y?](#q2) - -问题:[如何设定我的 shell 提示?](#q3) - -问题:[我可以用 Bass-o-matic 文件转换工具将 AcmeCorp 文件转换为 TeX 格式吗?](#q4) - -问题:[我的程序/设定/SQL 语句没有用](#q5) - -问题:[我的 Windows 电脑有问题,你能帮我吗?](#q6) - -问题:[我的程序不会动了,我认为系统工具 X 有问题](#q7) - -问题:[我在安装 Linux(或者 X)时有问题,你能帮我吗?](#q8) - -问题:[我怎么才能破解 root 帐号/窃取 OP 特权/读别人的邮件呢?](#q9) - ---- - - - -> 问题:我能在哪找到 X 程序或 X 资源? - -回答:就在我找到它的地方啊,白痴 —— 搜索引擎的那一头。天哪!难道还有人不会用 [Google](https://www.google.com) 吗? - - - -> 问题:我怎样用 X 做 Y? - -回答:如果你想解决的是 Y,提问时别给出可能并不恰当的方法。这种问题说明提问者不但对 X 完全无知,也对 Y 要解决的问题糊涂,还被特定形势禁锢了思维。最好忽略这种人,等他们把问题搞清楚了再说。 - - - -> 问题:如何设定我的 shell 提示?? - -回答:如果你有足够的智慧提这个问题,你也该有足够的智慧去 [RTFM](#RTFM),然后自己去找出来。 - - - -> 问题:我可以用 Bass-o-matic 文件转换工具将 AcmeCorp 文件转换为 TeX 格式吗? - -回答:试试看就知道了。如果你试过,你就知道了答案,就不用浪费我的时间了。 - - - -> 问题:我的{程序/设定/SQL 语句}没有用 - -回答:这不算是问题吧,我对要我问你二十个问题才找得出你真正问题的问题没兴趣 —— 我有更有意思的事要做呢。在看到这类问题的时候,我的反应通常不外如下三种 - -- 你还有什么要补充的吗? -- 真糟糕,希望你能搞定。 -- 这关我屁事? - - - -> 问题:我的 Windows 电脑有问题,你能帮我吗? - -回答:能啊,扔掉微软的垃圾,换个像 Linux 或 BSD 的开源操作系统吧。 - -注意:如果程序有官方版 Windows 或者与 Windows 有互动(如 Samba),你**可以**问与 Windows 相关的问题,只是别对问题是由 Windows 操作系统而不是程序本身造成的回复感到惊讶,因为 Windows 一般来说实在太烂,这种说法通常都是对的。 - - - -> 问题:我的程序不会动了,我认为系统工具 X 有问题 - -回答:你完全有可能是第一个注意到被成千上万用户反复使用的系统调用与函数库文件有明显缺陷的人,更有可能的是你完全没有根据。不同凡响的说法需要不同凡响的证据,当你这样声称时,你必须有清楚而详尽的缺陷说明文件作后盾。 - - - -> 问题:我在安装 Linux(或者 X)时有问题,你能帮我吗? - -回答:不能,我只有亲自在你的电脑上动手才能找到毛病。还是去找你当地的 Linux 使用群组者寻求实际的指导吧(你能在[这儿](http://www.linux.org/groups/index.html)找到用户群组的清单)。 - -注意:如果安装问题与某 Linux 的发行版有关,在它的邮件列表、论坛或本地用户群组中提问也许是恰当的。此时,应描述问题的准确细节。在此之前,先用 `Linux` 和**所有**被怀疑的硬件作关键词仔细搜索。 - - - -> 问题:我怎么才能破解 root 帐号/窃取 OP 特权/读别人的邮件呢? - -回答:想要这样做,说明了你是个卑鄙小人;想找个黑客帮你,说明你是个白痴! - -## 好问题与蠢问题 - -最后,我将透过举一些例子,来说明怎样聪明的提问;同一个问题的两种问法被放在一起,一种是愚蠢的,另一种才是明智的。 - -**蠢问题**: - -> 我可以在哪儿找到关于 Foonly Flurbamatic 的资料? - -这种问法无非想得到 [STFW](#RTFM) 这样的回答。 - -**聪明问题**: - -> 我用 Google 搜索过 "Foonly Flurbamatic 2600",但是没找到有用的结果。谁知道上哪儿去找对这种设备编程的资料? - -这个问题已经 STFW 过了,看起来他真的遇到了麻烦。 - -**蠢问题**: - -> 我从 foo 项目找来的源码没法编译。它怎么这么烂? - -他觉得都是别人的错,这个傲慢自大的提问者。 - -**聪明问题**: - -> foo 项目代码在 Nulix 6.2 版下无法编译通过。我读过了 FAQ,但里面没有提到跟 Nulix 有关的问题。这是我编译过程的记录,我有什么做的不对的地方吗? - -提问者已经指明了环境,也读过了 FAQ,还列出了错误,并且他没有把问题的责任推到别人头上,他的问题值得被关注。 - -**蠢问题**: - -> 我的主机板有问题了,谁来帮我? - -某黑客对这类问题的回答通常是:`好的,还要帮你拍拍背和换尿布吗?`,然后按下删除键。 - -**聪明问题**: - -> 我在 S2464 主机板上试过了 X、Y 和 Z,但没什么作用,我又试了 A、B 和 C。请注意当我尝试 C 时的奇怪现象。显然 florbish 正在 grommicking,但结果出人意料。通常在 Athlon MP 主机板上引起 grommicking 的原因是什么?有谁知道接下来我该做些什么测试才能找出问题? - -这个家伙,从另一个角度来看,值得去回答他。他表现出了解决问题的能力,而不是坐等天上掉答案。 - -在最后一个问题中,注意`告诉我答案`和`给我启示,指出我还应该做什么诊断工作`之间微妙而又重要的区别。 - -事实上,后一个问题源自于 2001 年 8 月在 Linux 内核邮件列表(lkml)上的一个真实的提问。我(Eric)就是那个提出问题的人。我在 Tyan S2464 主板上观察到了这种无法解释的锁定现象,列表成员们提供了解决这一问题的重要信息。 - -通过我的提问方法,我给了别人可以咀嚼玩味的东西;我设法让人们很容易参与并且被吸引进来。我显示了自己具备和他们同等的能力,并邀请他们与我共同探讨。通过告诉他们我所走过的弯路,以避免他们再浪费时间,我也表明了对他们宝贵时间的尊重。 - -事后,当我向每个人表示感谢,并且赞赏这次良好的讨论经历的时候,一个 Linux 内核邮件列表的成员表示,他觉得我的问题得到解决并非由于我是这个列表中的**名**人,而是因为我用了正确的方式来提问。 - -黑客从某种角度来说是拥有丰富知识但缺乏人情味的家伙;我相信他是对的,如果我**像**个乞讨者那样提问,不论我是谁,一定会惹恼某些人或者被他们忽视。他建议我记下这件事,这直接导致了本指南的出现。 - -## 如果得不到回答 - -如果仍得不到回答,请不要以为我们觉得无法帮助你。有时只是看到你问题的人不知道答案罢了。没有回应不代表你被忽视,虽然不可否认这种差别很难区分。 - -总的来说,简单的重复张贴问题是个很糟的点子。这将被视为无意义的喧闹。有点耐心,知道你问题答案的人可能生活在不同的时区,可能正在睡觉,也有可能你的问题一开始就没有组织好。 - -你可以通过其他渠道获得帮助,这些渠道通常更适合初学者的需要。 - -有许多网上的以及本地的用户群组,由热情的软件爱好者(即使他们可能从没亲自写过任何软件)组成。通常人们组建这样的团体来互相帮助并帮助新手。 - -另外,你可以向很多商业公司寻求帮助,不论公司大还是小。别为要付费才能获得帮助而感到沮丧!毕竟,假使你的汽车发动机汽缸密封圈爆掉了 —— 完全可能如此 —— 你还得把它送到修车铺,并且为维修付费。就算软件没花费你一分钱,你也不能强求技术支持总是免费的。 - -对像是 Linux 这种大众化的软件,每个开发者至少会对应到上万名用户。根本不可能由一个人来处理来自上万名用户的求助电话。要知道,即使你要为这些协助付费,和你所购买的同类软件相比,你所付出的也是微不足道的(通常封闭源代码软件的技术支持费用比开源软件的要高得多,且内容也没那么丰富)。 - -## 如何更好地回答问题 - -**态度和善一点。** 问题带来的压力常使人显得无礼或愚蠢,其实并不是这样。 - -**对初犯者私下回复。** 对那些坦诚犯错之人没有必要当众羞辱,一个真正的新手也许连怎么搜索或在哪找常见问题都不知道。 - -**如果你不确定,一定要说出来!** 一个听起来权威的错误回复比没有还要糟,别因为听起来像个专家很好玩,就给别人乱指路。要谦虚和诚实,给提问者与同行都树个好榜样。 - -**如果帮不了忙,也别妨碍他。** 不要在实际步骤上开玩笑,那样也许会毁了提问者的设置 —— 有些可怜的呆瓜会把它当成真的指令。 - -**试探性的反问以引出更多的细节。** 如果你做得好,提问者可以学到点东西 —— 你也可以。试试将蠢问题转变成好问题,别忘了我们都曾是新手。 - -尽管对那些懒虫抱怨一声 RTFM 是正当的,但能给出文档的链接(即使只是建议个 Google 搜索关键词)会更好。 - -**如果你决定回答,就请给出好的答案。** 当别人正在用错误的工具或方法时别建议笨拙的权宜之计(workaround),应推荐更好的工具,重新界定问题。 - -**正面地回答问题!** 如果这个提问者已经很深入的研究而且也表明已经试过 X、Y、Z、A、B、C 但没得到结果,回答 `试试看 A 或是 B` 或者 `试试 X 、 Y 、 Z 、 A 、 B 、 C` 并附上一个链接一点用都没有。 - -**帮助你的社区从问题中学习。** 当回复一个好问题时,问问自己`如何修改相关文件或常见问题文件以免再次解答同样的问题?`,接着再向文件维护者发一份补丁。 - -如果你在研究一番后才作出了回答,**展现你的技巧而不是直接端出结果**。毕竟`授人以鱼不如授人以渔`。 - -## 相关资源 - -如果你需要个人电脑、Unix 系统和网络如何运作的基础知识,参阅 [Unix 系统和网络基本原理](http://en.tldp.org/HOWTO/Unix-and-Internet-Fundamentals-HOWTO/)。 - -当你发布软件或补丁时,试着按[软件发布实践](http://en.tldp.org/HOWTO/Software-Release-Practice-HOWTO/index.html)操作。 - -## 鸣谢 - -Evelyn Mitchel 贡献了一些愚蠢问题例子并启发了编写`如何更好地回答问题`这一节,Mikhail Ramendik 贡献了一些特别有价值的建议和改进。 +我们也收到了一份娱乐版的版衫,相关的设计文件已经放在 。欢迎感兴趣的同学自行取用 :D From 9408f05f8953f3e5373bee84f40fbb2a29b168cd Mon Sep 17 00:00:00 2001 From: TianKai Ma Date: Thu, 12 Sep 2024 18:02:12 +0800 Subject: [PATCH 21/59] fix(typo) --- pages/_news/2024/2024-09-07-2024-freshmen-course.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/_news/2024/2024-09-07-2024-freshmen-course.md b/pages/_news/2024/2024-09-07-2024-freshmen-course.md index 44170e357f..bf6b867a10 100644 --- a/pages/_news/2024/2024-09-07-2024-freshmen-course.md +++ b/pages/_news/2024/2024-09-07-2024-freshmen-course.md @@ -17,7 +17,7 @@ tags: [] | 游园会 (中区) | 2024 年 9 月 7 日 11:00 - 14:00 | 中区 #61 | | 游园会 (高新区) | 2024 年 9 月 8 日 10:00 - 13:00 | 高新区 #35 | -9 月 7 日新生活力课堂的上半场是由杨广源·同学带来的《日常生活中的信息安全》, 他从信息安全的基本概念出发,为新同学们讲解了信息安全的重要性,并介绍了一些常见的信息安全问题,如密码安全,钓鱼邮件等,以及相应的防范措施。他进一步拓展到了密码学、ARP Spoofing、XSS、SQL Injection 等内容,使同学们对信息安全有了更深入的了解。 +9 月 7 日新生活力课堂的上半场是由杨广源同学带来的《日常生活中的信息安全》, 他从信息安全的基本概念出发,为新同学们讲解了信息安全的重要性,并介绍了一些常见的信息安全问题,如密码安全,钓鱼邮件等,以及相应的防范措施。他进一步拓展到了密码学、ARP Spoofing、XSS、SQL Injection 等内容,使同学们对信息安全有了更深入的了解。 ![](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2024.09.08_%E6%96%B0%E7%94%9F%E6%B4%BB%E5%8A%9B%E8%AF%BE%E5%A0%82/AB9A2077.jpeg) From db7f81d2a38087046b653e140447fd61d8121db2 Mon Sep 17 00:00:00 2001 From: Jiahong Luo Date: Fri, 13 Sep 2024 08:44:39 +0800 Subject: [PATCH 22/59] =?UTF-8?q?=E5=A4=9A=E4=BD=99=E7=AC=A6=E5=8F=B7?= =?UTF-8?q?=E5=B0=8F=E4=BF=AE=E6=94=B9=20Update=202024-09-07-2024-freshmen?= =?UTF-8?q?-course.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ygy 名字后面多了一个点,已去掉 --- pages/_news/2024/2024-09-07-2024-freshmen-course.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/_news/2024/2024-09-07-2024-freshmen-course.md b/pages/_news/2024/2024-09-07-2024-freshmen-course.md index 44170e357f..bf6b867a10 100644 --- a/pages/_news/2024/2024-09-07-2024-freshmen-course.md +++ b/pages/_news/2024/2024-09-07-2024-freshmen-course.md @@ -17,7 +17,7 @@ tags: [] | 游园会 (中区) | 2024 年 9 月 7 日 11:00 - 14:00 | 中区 #61 | | 游园会 (高新区) | 2024 年 9 月 8 日 10:00 - 13:00 | 高新区 #35 | -9 月 7 日新生活力课堂的上半场是由杨广源·同学带来的《日常生活中的信息安全》, 他从信息安全的基本概念出发,为新同学们讲解了信息安全的重要性,并介绍了一些常见的信息安全问题,如密码安全,钓鱼邮件等,以及相应的防范措施。他进一步拓展到了密码学、ARP Spoofing、XSS、SQL Injection 等内容,使同学们对信息安全有了更深入的了解。 +9 月 7 日新生活力课堂的上半场是由杨广源同学带来的《日常生活中的信息安全》, 他从信息安全的基本概念出发,为新同学们讲解了信息安全的重要性,并介绍了一些常见的信息安全问题,如密码安全,钓鱼邮件等,以及相应的防范措施。他进一步拓展到了密码学、ARP Spoofing、XSS、SQL Injection 等内容,使同学们对信息安全有了更深入的了解。 ![](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2024.09.08_%E6%96%B0%E7%94%9F%E6%B4%BB%E5%8A%9B%E8%AF%BE%E5%A0%82/AB9A2077.jpeg) From 3a3a03107cf88c68991d419681aa70e8ce9bc291 Mon Sep 17 00:00:00 2001 From: Jiahong Luo Date: Fri, 13 Sep 2024 15:42:44 +0800 Subject: [PATCH 23/59] Fix a comma, Update 2024-09-07-2024-freshmen-course.md --- pages/_news/2024/2024-09-07-2024-freshmen-course.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/_news/2024/2024-09-07-2024-freshmen-course.md b/pages/_news/2024/2024-09-07-2024-freshmen-course.md index bf6b867a10..fadaf5966a 100644 --- a/pages/_news/2024/2024-09-07-2024-freshmen-course.md +++ b/pages/_news/2024/2024-09-07-2024-freshmen-course.md @@ -17,7 +17,7 @@ tags: [] | 游园会 (中区) | 2024 年 9 月 7 日 11:00 - 14:00 | 中区 #61 | | 游园会 (高新区) | 2024 年 9 月 8 日 10:00 - 13:00 | 高新区 #35 | -9 月 7 日新生活力课堂的上半场是由杨广源同学带来的《日常生活中的信息安全》, 他从信息安全的基本概念出发,为新同学们讲解了信息安全的重要性,并介绍了一些常见的信息安全问题,如密码安全,钓鱼邮件等,以及相应的防范措施。他进一步拓展到了密码学、ARP Spoofing、XSS、SQL Injection 等内容,使同学们对信息安全有了更深入的了解。 +9 月 7 日新生活力课堂的上半场是由杨广源同学带来的《日常生活中的信息安全》,他从信息安全的基本概念出发,为新同学们讲解了信息安全的重要性,并介绍了一些常见的信息安全问题,如密码安全,钓鱼邮件等,以及相应的防范措施。他进一步拓展到了密码学、ARP Spoofing、XSS、SQL Injection 等内容,使同学们对信息安全有了更深入的了解。 ![](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2024.09.08_%E6%96%B0%E7%94%9F%E6%B4%BB%E5%8A%9B%E8%AF%BE%E5%A0%82/AB9A2077.jpeg) From 96e82e1f47f1e0f0faa4a9b4a7126c4c571d4430 Mon Sep 17 00:00:00 2001 From: taoky Date: Sat, 14 Sep 2024 15:17:53 +0800 Subject: [PATCH 24/59] Add html-proofer to development deps in Gemfile This would not be installed when building on CI (with bundle config set without 'development') --- .github/workflows/build.yml | 1 + Gemfile | 4 ++++ shell.nix | 5 ++--- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 08299a90a3..1fbcc4fe77 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -50,6 +50,7 @@ jobs: - name: Install dependencies run: | bundle config set --local path vendor/bundle + bundle config set without 'development' bundle install --jobs=4 --retry=3 bundle clean npm install --include=dev diff --git a/Gemfile b/Gemfile index 838fbd373f..50b99d37e0 100644 --- a/Gemfile +++ b/Gemfile @@ -34,3 +34,7 @@ group :jekyll_plugins do gem 'jekyll-paginate-v2', '>= 3.0.0' gem 'jekyll-algolia' end + +group :development do + gem 'html-proofer' +end diff --git a/shell.nix b/shell.nix index 3ae765db6d..ff143f5c3c 100644 --- a/shell.nix +++ b/shell.nix @@ -4,11 +4,10 @@ with pkgs; mkShell { buildInputs = [ ruby_3_2 nodejs-18_x - ]; - - nativeBuildInputs = [ + curl bundler ]; LOCALE_ARCHIVE = "${pkgs.glibcLocales}/lib/locale/locale-archive"; + LD_LIBRARY_PATH = "${lib.makeLibraryPath [ curl ]}"; } From 934f56643e45dfe5ad401b4452d763fac3e2e9f0 Mon Sep 17 00:00:00 2001 From: TianKai Ma Date: Sun, 15 Sep 2024 00:56:09 +0800 Subject: [PATCH 25/59] chore: move scripts.md -> scripts/index.md --- pages/_wiki/scripts.md | 12 ------------ pages/_wiki/scripts/index.md | 13 +++++++++++++ 2 files changed, 13 insertions(+), 12 deletions(-) delete mode 100644 pages/_wiki/scripts.md create mode 100644 pages/_wiki/scripts/index.md diff --git a/pages/_wiki/scripts.md b/pages/_wiki/scripts.md deleted file mode 100644 index 59eac0b00b..0000000000 --- a/pages/_wiki/scripts.md +++ /dev/null @@ -1,12 +0,0 @@ ---- ---- - -# 实用脚本集锦 - -这里收集来自网络的各种优秀的脚本。 - -| 脚本 | 添加时间 | 作者 | -| ------------------------------- | ---------------- | ------------- | -| [USTC 网络通脚本](scripts/wlt/) | 2016/09/13 19:12 | LUG @ USTC | -| [豆瓣电台](scripts/douban/) | 2010/11/25 19:41 | Stephen Zhang | -| [You-Get](scripts/you_get/) | 2013/04/29 16:04 | Darcy Shen | diff --git a/pages/_wiki/scripts/index.md b/pages/_wiki/scripts/index.md new file mode 100644 index 0000000000..b35ecbc26a --- /dev/null +++ b/pages/_wiki/scripts/index.md @@ -0,0 +1,13 @@ +--- +permalink: /wiki/scripts/ +--- + +# 实用脚本集锦 + +这里收集来自网络的各种优秀的脚本。 + +| 脚本 | 添加时间 | 作者 | +| ----------------------- | ---------------- | ------------- | +| [USTC 网络通脚本](wlt/) | 2016/09/13 19:12 | LUG @ USTC | +| [豆瓣电台](douban/) | 2010/11/25 19:41 | Stephen Zhang | +| [You-Get](you_get/) | 2013/04/29 16:04 | Darcy Shen | From ba18eeeccaf0378755060351bf5341c275594555 Mon Sep 17 00:00:00 2001 From: TianKai Ma Date: Sun, 15 Sep 2024 00:56:30 +0800 Subject: [PATCH 26/59] fix: invalid link --- pages/_news/2017/2017-05-17-2017-bbs-linux-banshan-voting.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/_news/2017/2017-05-17-2017-bbs-linux-banshan-voting.md b/pages/_news/2017/2017-05-17-2017-bbs-linux-banshan-voting.md index ec51ce4528..7080ae5aac 100644 --- a/pages/_news/2017/2017-05-17-2017-bbs-linux-banshan-voting.md +++ b/pages/_news/2017/2017-05-17-2017-bbs-linux-banshan-voting.md @@ -17,7 +17,7 @@ comments: content: 已经投票,期待ing --- -2017 年 Linux 板版衫设计方案出炉啦![经过一周的征集](/2017/05/2017-bbs-linux-banshan/),本次共获得了两份投稿的设计方案,将通过投票决定最终制作的版衫样式。 +2017 年 Linux 板版衫设计方案出炉啦![经过一周的征集](/news/2017/05/2017-bbs-linux-banshan/),本次共获得了两份投稿的设计方案,将通过投票决定最终制作的版衫样式。 BBS 投票页面联动:[点我前往](https://bbs.ustc.edu.cn/cgi/bbscon?bn=Linux&fn=M591BBE5F) From b6b69b0483e28064785036ba649064fcd2ece635 Mon Sep 17 00:00:00 2001 From: TianKai Ma Date: Sun, 15 Sep 2024 00:57:58 +0800 Subject: [PATCH 27/59] chore: update book/; formatting --- pages/_wiki/lug/book/index.md | 200 +++++++++++++++++----------------- 1 file changed, 100 insertions(+), 100 deletions(-) diff --git a/pages/_wiki/lug/book/index.md b/pages/_wiki/lug/book/index.md index 171414cb09..9ba1ea6e7c 100644 --- a/pages/_wiki/lug/book/index.md +++ b/pages/_wiki/lug/book/index.md @@ -6,15 +6,15 @@ permalink: /wiki/lug/book/ 目前 LUG 活动室有一些 Linux 系统相关比较经典的书籍,有一部分是 LUG 购买的,有一部分是网友捐赠的。 -我们同时非常欢迎童鞋们将自己手头不再需要的好书捐献出来。捐赠图书可以[联系我们](mailto:lug@ustc.edu.cn "lug@ustc.edu.cn")。 +我们同时非常欢迎童鞋们将自己手头不再需要的好书捐献出来。捐赠图书可以[联系我们](/wiki/lug/contact/)。 -关于如何借阅,如何捐赠等问题可以参阅:[图书借阅管理制度](borrow_book "lug:book:borrow_book") +关于如何借阅,如何捐赠等问题可以参阅:[图书借阅管理制度](borrow_book/) -借阅记录与黑名单:[借阅记录](borrow_history "lug:book:borrow_history") +借阅记录与黑名单:[借阅记录](borrow_history/) -读书笔记汇总:[读书笔记](booknotes "lug:book:booknotes") +读书笔记汇总:[读书笔记](booknotes/) -给 LUG 书库推荐好书:[联系图书管理员](mailto:lug@ustc.edu.cn "lug@ustc.edu.cn") +给 LUG 书库推荐好书:![]({{ site.static_url }}/email.png) # 书单 @@ -24,30 +24,30 @@ permalink: /wiki/lug/book/ ## Linux 入门 -| 书名 | 作者 | 定价(¥) | 备注 | 借阅情况 | -| --------------------------------------------------------------------------------------------------------------------------- | ------------ | ---------- | ------------------------------------------ | --------- | -| [鸟哥的 Linux 私房菜 基础学习篇(第二版)](http://book.douban.com/subject/2208530/ "http://book.douban.com/subject/2208530/") | 鸟哥 | 65 | 3 本
    LUG 购置 2
    QuITh 网友捐赠 1 | 借出 1 本 | -| [鸟哥的 Linux 私房菜 基础学习篇(第三版)](http://book.douban.com/subject/4889838/ "http://book.douban.com/subject/4889838/") | 鸟哥 | 88.00 | 2 本
    LUG 购置 | 借出 2 本 | -| [完美应用 Ubuntu](http://book.douban.com/subject/3192043/ "http://book.douban.com/subject/3192043/") | Ubuntu China | 55 | LUG 购置 | - | -| [从零开始学 Linux](http://book.douban.com/subject/10876230/ "http://book.douban.com/subject/10876230/") | 粱丽平、马飞 | 45 | lizitian 捐赠 | - | +| 书名 | 作者 | 定价(¥) | 备注 | 借阅情况 | +| ---------------------------------------------------------------------------------------------------------------------------- | ------------ | ---------- | ------------------------------------------ | --------- | +| [鸟哥的 Linux 私房菜 基础学习篇 (第二版)](http://book.douban.com/subject/2208530/ "http://book.douban.com/subject/2208530/") | 鸟哥 | 65 | 3 本
    LUG 购置 2
    QuITh 网友捐赠 1 | 借出 1 本 | +| [鸟哥的 Linux 私房菜 基础学习篇 (第三版)](http://book.douban.com/subject/4889838/ "http://book.douban.com/subject/4889838/") | 鸟哥 | 88.00 | 2 本
    LUG 购置 | 借出 2 本 | +| [完美应用 Ubuntu](http://book.douban.com/subject/3192043/ "http://book.douban.com/subject/3192043/") | Ubuntu China | 55 | LUG 购置 | - | +| [从零开始学 Linux](http://book.douban.com/subject/10876230/ "http://book.douban.com/subject/10876230/") | 粱丽平、马飞 | 45 | lizitian 捐赠 | - | ## Linux 服务器运维 -| 书名 | 作者 | 定价(¥) | 备注 | 借阅 | -| ---------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- | -------- | ------------- | ----------- | -| [鸟哥的 Linux 私房菜 服务器架设篇(第二版)](http://book.douban.com/subject/2338464/ "http://book.douban.com/subject/2338464/") | 鸟哥 | 88.00 | QuITh 捐赠 | - | -| [鸟哥的 Linux 私房菜: 服务器架设篇(第三版)](http://book.douban.com/subject/10794788/ "http://book.douban.com/subject/10794788/") | 鸟哥 | 108.00 | 2 本 LUG 购置 | 已借出 1 本 | -| [Red Hat Linux 9.0 基础教程](http://book.douban.com/subject/1237940/ "http://book.douban.com/subject/1237940/") | 黄丽娜等 | 38.60 | 网友捐赠 | - | -| [LINUX 网络管理员指南(第二版)](http://book.douban.com/subject/1240136/ "http://book.douban.com/subject/1240136/") | OLAF KIRCH TERRY DAWSON | 59.00 | 网友捐赠 | - | -| [Solaris 8 技术大全](http://book.douban.com/subject/1240493/ "http://book.douban.com/subject/1240493/") | Paul A. Watters Sriranga Veeraraghavan | 48.00 | 网友捐赠 | - | -| [Solaris8 网络管理员认证培训指南](http://book.douban.com/subject/1240866/ "http://book.douban.com/subject/1240866/") | Refeeq Rehman | 55.00 | 网友捐赠 | - | -| [系统管理指南 Apache](http://book.douban.com/subject/1229763/ "http://book.douban.com/subject/1229763/") | Mark Arnold Jeff Almeida | 36.00 | 网友捐赠 | - | -| [构建可扩展的 Web 站点](http://book.douban.com/subject/3039216/ "http://book.douban.com/subject/3039216/") | Cal Henderson | 58.00 | 会员捐赠 | - | -| [构建高性能 Web 站点: 改善性能和扩展规模的具体做法](http://book.douban.com/subject/3924175/ "http://book.douban.com/subject/3924175/") | 郭欣 | 59.00 | 会员捐赠 | - | -| [高性能 Linux 服务器构建实战: 运维监控、性能调优与集群应用](http://book.douban.com/subject/7564094/ "http://book.douban.com/subject/7564094/") | 高俊峰 | 79.00 | LUG 购置 | - | -| [BackTrack4: 利用渗透测试保证系统安全](http://book.douban.com/subject/10071963/ "http://book.douban.com/subject/10071963/") | 阿里 | 59.00 | LUG 购置 | - | -| [红旗 Linux 用户基础教程](http://book.douban.com/subject/1223266/ "http://book.douban.com/subject/1223266/") | 红旗软件工作室 | 18.00 | 会员捐赠 | - | -| [Linux 命令行与 shell 脚本编程大全(第 2 版)](http://book.douban.com/subject/11589828/ "http://book.douban.com/subject/11589828/") | Richard Blum & Christine Bresnahan | 99.00 | ewind 捐赠 | - | +| 书名 | 作者 | 定价 (¥) | 备注 | 借阅 | +| ---------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- | --------- | ------------- | ----------- | +| [鸟哥的 Linux 私房菜 服务器架设篇 (第二版)](http://book.douban.com/subject/2338464/ "http://book.douban.com/subject/2338464/") | 鸟哥 | 88.00 | QuITh 捐赠 | - | +| [鸟哥的 Linux 私房菜:服务器架设篇 (第三版)](http://book.douban.com/subject/10794788/ "http://book.douban.com/subject/10794788/") | 鸟哥 | 108.00 | 2 本 LUG 购置 | 已借出 1 本 | +| [Red Hat Linux 9.0 基础教程](http://book.douban.com/subject/1237940/ "http://book.douban.com/subject/1237940/") | 黄丽娜等 | 38.60 | 网友捐赠 | - | +| [LINUX 网络管理员指南 (第二版)](http://book.douban.com/subject/1240136/ "http://book.douban.com/subject/1240136/") | OLAF KIRCH TERRY DAWSON | 59.00 | 网友捐赠 | - | +| [Solaris 8 技术大全](http://book.douban.com/subject/1240493/ "http://book.douban.com/subject/1240493/") | Paul A. Watters Sriranga Veeraraghavan | 48.00 | 网友捐赠 | - | +| [Solaris8 网络管理员认证培训指南](http://book.douban.com/subject/1240866/ "http://book.douban.com/subject/1240866/") | Refeeq Rehman | 55.00 | 网友捐赠 | - | +| [系统管理指南 Apache](http://book.douban.com/subject/1229763/ "http://book.douban.com/subject/1229763/") | Mark Arnold Jeff Almeida | 36.00 | 网友捐赠 | - | +| [构建可扩展的 Web 站点](http://book.douban.com/subject/3039216/ "http://book.douban.com/subject/3039216/") | Cal Henderson | 58.00 | 会员捐赠 | - | +| [构建高性能 Web 站点:改善性能和扩展规模的具体做法](http://book.douban.com/subject/3924175/ "http://book.douban.com/subject/3924175/") | 郭欣 | 59.00 | 会员捐赠 | - | +| [高性能 Linux 服务器构建实战:运维监控、性能调优与集群应用](http://book.douban.com/subject/7564094/ "http://book.douban.com/subject/7564094/") | 高俊峰 | 79.00 | LUG 购置 | - | +| [BackTrack4: 利用渗透测试保证系统安全](http://book.douban.com/subject/10071963/ "http://book.douban.com/subject/10071963/") | 阿里 | 59.00 | LUG 购置 | - | +| [红旗 Linux 用户基础教程](http://book.douban.com/subject/1223266/ "http://book.douban.com/subject/1223266/") | 红旗软件工作室 | 18.00 | 会员捐赠 | - | +| [Linux 命令行与 shell 脚本编程大全 (第 2 版)](http://book.douban.com/subject/11589828/ "http://book.douban.com/subject/11589828/") | Richard Blum & Christine Bresnahan | 99.00 | ewind 捐赠 | - | ## Linux 内核 @@ -66,12 +66,12 @@ permalink: /wiki/lug/book/ ## 代码编辑与管理 -| 书名 | 作者 | 定价(¥) | 备注 | 借阅情况 | -| -------------------------------------- | --------------------------- | ---------- | -------- | ---------- | -| 学习 GNU Emacs | Debra Cameron | 68 | 网友捐赠 | 已借出 | -| Git 权威指南 | 蒋鑫 | 89.00 | 会员捐赠 | 已借出 | -| 学习 vi 和 Vim 编辑器(中文版)(第 7 版) | 罗宾斯 | 59.90 | LUG 购置 | 1 本在东区 | -| 学习 vi 编辑器(第六版) | Linda Lamb & Arnold Robbins | 43.00 | 不详 | - | +| 书名 | 作者 | 定价(¥) | 备注 | 借阅情况 | +| --------------------------------------- | --------------------------- | ---------- | -------- | ---------- | +| 学习 GNU Emacs | Debra Cameron | 68 | 网友捐赠 | 已借出 | +| Git 权威指南 | 蒋鑫 | 89.00 | 会员捐赠 | 已借出 | +| 学习 vi 和 Vim 编辑器 (中文版)(第 7 版) | 罗宾斯 | 59.90 | LUG 购置 | 1 本在东区 | +| 学习 vi 编辑器 (第六版) | Linda Lamb & Arnold Robbins | 43.00 | 不详 | - | ## Linux/Unix 编程 @@ -84,55 +84,55 @@ permalink: /wiki/lug/book/ | Linux 编程白皮书 | - | 39 | 网友捐赠 | - | | Linux 编程权威指南 | - | 45 | 网友捐赠 | - | | Linux 系统分析与高级编程技术 | - | 58 | 网友捐赠 | - | -| C/C++嵌入式系统编程 | - | 29 | 网友捐赠 | - | +| C/C++ 嵌入式系统编程 | - | 29 | 网友捐赠 | - | | UNIX 编程环境(英文版) | Brain W. Kernighan et al | 59.00 | LUG 购置 | - | | 构建嵌入式 Linux 系统(第二版) | Karim Yaghmour et al | 58.00 | LUG 购置 | - | | C++ Primer(第 4 版) | Stanley B. Lippman | 99.00 | stephen 捐赠 | 已借出 | ## 编程语言 -| 书名 | 作者 | 定价(¥) | 备注 | 借阅情况 | -| -------------------------------------------------------------------------------------------------------------- | ----------------------------------- | ---------- | ---------- | -------- | -| C 程序设计语言(第 2 版新版) | 克尼汉 | 20.70 | LUG 购置 | - | -| [C++编程规范(英文版)](http://book.douban.com/subject/1444869/ "http://book.douban.com/subject/1444869/") | - | 42 | 网友捐赠 | - | -| 面向对象程序设计,C++语言描述 | - | 48 | 网友捐赠 | - | -| Effective C++: 改善程序与设计的 55 个具体做法(第 3 版)(云风评注) | Scott Meyers | 48.80 | LUG 购置 | - | -| Effective C++: 改善程序与设计的 55 个具体做法(第 3 版)(英文版) | Scott Meyers | 45.00 | LUG 购置 | \- | -| [Python 开发技术详解](http://book.douban.com/subject/3889005/ "http://book.douban.com/subject/3889005/") | - | 69 | 网友捐赠 | - | -| Advanced Bash Scripting | - | - | LUG 打印 | - | -| 计算机程序的构造和解释(第 2 版,翻译)
    Structure and Interpretation of Computer Programs | Harold Abelson 等 | 45.00 | LUG 购置 | 已借出 | -| 七周七语言:理解多种编程范型 | Bruce A. Tate | 59.00 | LUG 购置 | - | -| 松本行弘的程序世界 | 松本行弘 | 75.00 | LUG 购置 | - | -| ANSI C99 Standard | ISO/IEC | 打印 | 会员捐赠 | - | -| 面向对象程序设计——C++语言描述 | Martin Kalin, Richard Johnsonbaugh | 48 | 不详 | - | -| 超越 Java:探讨程序语言的未来 | Bruce A. Tate | 29.00 | LUG 购置 | - | -| C 和指针 | Kenneth A. Reek | 65.00 | LUG 购置 | 已借出 | -| 程序设计语言概念(第 7 版影印) | Robert W. Sebesta | 49.00 | 会员捐赠 | - | -| 程序设计语言原理(第 8 版翻译) | Robert W. Sebesta | 75.00 | 会员捐赠 | 已借出 | -| MATLAB R2012a 超级学习手册 | 史洁玉,孔玲军 | 69.00 | 会员捐赠 | - | -| UNIX shell 范例精解(第四版) | Ellie Quigley | 118.00 | 会员捐赠 | 现在东区 | -| 深入浅出 Python(中文版)
    Head First Python | Barry | 68.00 | 会员捐赠 | - | -| [Java 编程思想 (第 4 版)](http://book.douban.com/subject/2130190/ "http://book.douban.com/subject/2130190/") | Bruce Eckel | 108.00 | boj 捐赠 | - | -| Python Cookbook(第二版) | Martelli & Ravenscroft & Ascher | 99.00 | ewind 捐赠 | - | -| Python Cookbook(第 3 版) | David Beazley & Brian K. Jones | 108.00 | zhsj 捐赠 | - | -| Haskell 趣学指南 | Miran Lipovaca 著,李亚舟、宋方睿译 | 69.00 | boj 捐赠 | - | +| 书名 | 作者 | 定价(¥) | 备注 | 借阅情况 | +| ------------------------------------------------------------------------------------------------------------- | ----------------------------------- | ---------- | ---------- | -------- | +| C 程序设计语言 (第 2 版新版) | 克尼汉 | 20.70 | LUG 购置 | - | +| [C++ 编程规范(英文版)](http://book.douban.com/subject/1444869/ "http://book.douban.com/subject/1444869/") | - | 42 | 网友捐赠 | - | +| 面向对象程序设计,C++ 语言描述 | - | 48 | 网友捐赠 | - | +| Effective C++: 改善程序与设计的 55 个具体做法 (第 3 版)(云风评注) | Scott Meyers | 48.80 | LUG 购置 | - | +| Effective C++: 改善程序与设计的 55 个具体做法 (第 3 版)(英文版) | Scott Meyers | 45.00 | LUG 购置 | \- | +| [Python 开发技术详解](http://book.douban.com/subject/3889005/ "http://book.douban.com/subject/3889005/") | - | 69 | 网友捐赠 | - | +| Advanced Bash Scripting | - | - | LUG 打印 | - | +| 计算机程序的构造和解释(第 2 版,翻译)
    Structure and Interpretation of Computer Programs | Harold Abelson 等 | 45.00 | LUG 购置 | 已借出 | +| 七周七语言:理解多种编程范型 | Bruce A. Tate | 59.00 | LUG 购置 | - | +| 松本行弘的程序世界 | 松本行弘 | 75.00 | LUG 购置 | - | +| ANSI C99 Standard | ISO/IEC | 打印 | 会员捐赠 | - | +| 面向对象程序设计——C++ 语言描述 | Martin Kalin, Richard Johnsonbaugh | 48 | 不详 | - | +| 超越 Java:探讨程序语言的未来 | Bruce A. Tate | 29.00 | LUG 购置 | - | +| C 和指针 | Kenneth A. Reek | 65.00 | LUG 购置 | 已借出 | +| 程序设计语言概念(第 7 版影印) | Robert W. Sebesta | 49.00 | 会员捐赠 | - | +| 程序设计语言原理(第 8 版翻译) | Robert W. Sebesta | 75.00 | 会员捐赠 | 已借出 | +| MATLAB R2012a 超级学习手册 | 史洁玉,孔玲军 | 69.00 | 会员捐赠 | - | +| UNIX shell 范例精解(第四版) | Ellie Quigley | 118.00 | 会员捐赠 | 现在东区 | +| 深入浅出 Python(中文版)
    Head First Python | Barry | 68.00 | 会员捐赠 | - | +| [Java 编程思想(第 4 版)](http://book.douban.com/subject/2130190/ "http://book.douban.com/subject/2130190/") | Bruce Eckel | 108.00 | boj 捐赠 | - | +| Python Cookbook(第二版) | Martelli & Ravenscroft & Ascher | 99.00 | ewind 捐赠 | - | +| Python Cookbook(第 3 版) | David Beazley & Brian K. Jones | 108.00 | zhsj 捐赠 | - | +| Haskell 趣学指南 | Miran Lipovaca 著,李亚舟、宋方睿译 | 69.00 | boj 捐赠 | - | ## 网络编程 -| 书名 | 作者 | 定价(¥) | 备注 | 借阅情况 | -| ----------------------------------------------------------------------------------------------------------------------------- | ------------------ | ---------- | -------- | -------- | -| UNIX 网络编程. 卷 2: 进程间通信(第 2 版) | W. Richard Stevens | 66.80 | LUG 购置 | - | -| [UNIX 网络编程. 卷 2: 进程间通信(第 2 版)](http://book.douban.com/subject/4886882/ "http://book.douban.com/subject/4886882/") | W. Richard Stevens | 89 | boj 捐赠 | - | -| UNIX 网络编程(卷 1): 套接字联网 API(第 3 版) | W. Richard Stevens | 96.70 | LUG 购置 | - | -| TCP/IP 详解(卷 1: 协议)
    TCP/IP Illustrated Volume 1: The Protocols | W. Richard Stevens | 45.00 | LUG 购置 | \- | -| [TCP/IP 详解 卷 2:实现](http://book.douban.com/subject/1087767/ "http://book.douban.com/subject/1087767/") | Gary R. Wright | -| W. Richard Stevens | 78.00 | boj 捐赠 | - | -| TCP/IP 详解 卷 2 实现(英文版) | Gary R. Wright | 69 | 网友捐赠 | - | -| [用 TCP/IP 进行网际互联 第 3 卷](http://book.douban.com/subject/1086595/ "http://book.douban.com/subject/1086595/") | - | 40 | 网友捐赠 | - | -| TCP 标准(RFC793) | - | 打印 | 会员捐赠 | - | -| IPv6 详解 卷一:核心协议实现(英文版) | Qing Li | 128.00 | 网友捐赠 | - | -| IPv6 详解(卷 2:高级协议实现)(英文版) | Qing Li | 128.00 | 网友捐赠 | - | -| [QoS 在 IOS 中的实现与应用](http://book.douban.com/subject/10565572/ "http://book.douban.com/subject/10565572/") | 张国清 | 45.00 | 会员捐赠 | - | +| 书名 | 作者 | 定价(¥) | 备注 | 借阅情况 | +| ------------------------------------------------------------------------------------------------------------------------------ | ------------------ | ---------- | -------- | -------- | +| UNIX 网络编程。卷 2: 进程间通信 (第 2 版) | W. Richard Stevens | 66.80 | LUG 购置 | - | +| [UNIX 网络编程。卷 2: 进程间通信 (第 2 版)](http://book.douban.com/subject/4886882/ "http://book.douban.com/subject/4886882/") | W. Richard Stevens | 89 | boj 捐赠 | - | +| UNIX 网络编程 (卷 1): 套接字联网 API(第 3 版) | W. Richard Stevens | 96.70 | LUG 购置 | - | +| TCP/IP 详解 (卷 1: 协议)
    TCP/IP Illustrated Volume 1: The Protocols | W. Richard Stevens | 45.00 | LUG 购置 | \- | +| [TCP/IP 详解 卷 2:实现](http://book.douban.com/subject/1087767/ "http://book.douban.com/subject/1087767/") | Gary R. Wright | +| W. Richard Stevens | 78.00 | boj 捐赠 | - | +| TCP/IP 详解 卷 2 实现 (英文版) | Gary R. Wright | 69 | 网友捐赠 | - | +| [用 TCP/IP 进行网际互联 第 3 卷](http://book.douban.com/subject/1086595/ "http://book.douban.com/subject/1086595/") | - | 40 | 网友捐赠 | - | +| TCP 标准(RFC793) | - | 打印 | 会员捐赠 | - | +| IPv6 详解 卷一:核心协议实现(英文版) | Qing Li | 128.00 | 网友捐赠 | - | +| IPv6 详解(卷 2:高级协议实现)(英文版) | Qing Li | 128.00 | 网友捐赠 | - | +| [QoS 在 IOS 中的实现与应用](http://book.douban.com/subject/10565572/ "http://book.douban.com/subject/10565572/") | 张国清 | 45.00 | 会员捐赠 | - | ## 文化与设计 @@ -141,38 +141,38 @@ permalink: /wiki/lug/book/ | 数学之美 | 吴军 | 45.0 | LUG 购置 | - | | 浪潮之巅 | 吴军 | 55.00 | 会员捐赠 | 已借出 | | 浪潮之巅 | 吴军 | 35.80 | LUG 购置 | - | -| 失控: 全人类的最终命运和结局 | 凯文·凯利 | 48.50 | LUG 购置 | unavailable | -| 黑客与画家: 硅谷创业之父 Paul Graham 文集 | 阮一峰 | 33.80 | LUG 购置 | 已借出 | +| 失控:全人类的最终命运和结局 | 凯文·凯利 | 48.50 | LUG 购置 | unavailable | +| 黑客与画家:硅谷创业之父 Paul Graham 文集 | 阮一峰 | 33.80 | LUG 购置 | 已借出 | | 科技想要什么 | 凯文·凯利 | 40.00 | LUG 购置 | - | | UNIX 编程艺术(翻译)
    The Art of UNIX Programming | Eric S. Raymond | 59.00 | 会员捐赠 | - | | 设计心理学(翻译)
    The design of everyday things | Donald Arthur Norman | 30.00 | 会员捐赠 | - | | 用户体验要素(翻译,彩印)
    The Elements of User Experience | Jesse James Garrett | 39.00 | 会员捐赠 | 借出 | -| 设计原本: 计算机科学巨匠 Frederick P. Brooks 的思考 | 布鲁克斯 | 37.70 | LUG 购置 | - | +| 设计原本:计算机科学巨匠 Frederick P. Brooks 的思考 | 布鲁克斯 | 37.70 | LUG 购置 | - | | Mathematics and Technology | Christiane Rousseau | 打印 | 会员捐赠 | - | | [代码之美](http://book.douban.com/subject/3224524/ "http://book.douban.com/subject/3224524/") | Grey Wilson | 99.00 | boj 捐赠 | - | ## Web 与移动开发 -| 书名 | 作者 | 定价(¥) | 备注 | 借阅情况 | -| -------------------------------- | --------------------------------------------------------------------------- | ---------- | ---------- | --------- | -| Node.js 开发指南 | 郭家宝 | 45.00 | LUG 购置 | 已借出 | -| PHP 高级编程 | Jesus Castagnetto | 78 | 网友捐赠 | - | -| JavaScript 高级程序设计(第 3 版) | Nicholas C. Zakas | 71.80 | LUG 购置 | 已借出 | -| CSS 实战手册(第 2 版) | David Sawyer McFarland | 52.40 | LUG 购置 | 现在西区 | -| PHP4 网站构架精辟 | - | 42 | 网友捐赠 | - | -| PHP & MySQL Web | - | 48 | 网友捐赠 | 借出 1 本 | -| CSS 2.1 Specification | W3C | 打印 | 会员捐赠 | - | -| HTTP/1.1 标准(RFC2616) | - | 打印 | 会员捐赠 | - | -| XQuery 1.0 Specification | W3C | 打印 | 会员捐赠 | - | -| HTML5 与 CSS3 权威指南 | 陆凌牛 | 69.00 | 会员捐赠 | - | -| 精通 CSS:高级 Web 标准解决方案 | Andy Budd | 49.00 | 会员捐赠 | - | -| Programming Android(影印版) | Zigurd Medieks 等 | 88.00 | LUG 购置 | 借出 1 本 | -| Android 应用开发揭秘 | 杨丰盛 | 69.00 | LUG 购置 | - | -| Learning Android(翻译) | Marko Gargenta | 49.00 | LUG 购置 | - | -| SEO 艺术 | Eric Enge 等 | 89.00 | LUG 购置 | - | -| PHP 和 MySQL Web 开发(第四版) | Luke Welling & Laura Thomson | 95.00 | ewind 捐赠 | - | -| CSS 权威指南(第三版) | Eric A. Meyer | 58.00 | ewind 捐赠 | - | -| HTTP 权威指南 | David Gourley & Brian Totty & Marjorie Sayer & Sailu Reddy & Anshu Aggarwal | 109.00 | ewind 捐赠 | - | +| 书名 | 作者 | 定价(¥) | 备注 | 借阅情况 | +| --------------------------------- | --------------------------------------------------------------------------- | ---------- | ---------- | --------- | +| Node.js 开发指南 | 郭家宝 | 45.00 | LUG 购置 | 已借出 | +| PHP 高级编程 | Jesus Castagnetto | 78 | 网友捐赠 | - | +| JavaScript 高级程序设计 (第 3 版) | Nicholas C. Zakas | 71.80 | LUG 购置 | 已借出 | +| CSS 实战手册 (第 2 版) | David Sawyer McFarland | 52.40 | LUG 购置 | 现在西区 | +| PHP4 网站构架精辟 | - | 42 | 网友捐赠 | - | +| PHP & MySQL Web | - | 48 | 网友捐赠 | 借出 1 本 | +| CSS 2.1 Specification | W3C | 打印 | 会员捐赠 | - | +| HTTP/1.1 标准(RFC2616) | - | 打印 | 会员捐赠 | - | +| XQuery 1.0 Specification | W3C | 打印 | 会员捐赠 | - | +| HTML5 与 CSS3 权威指南 | 陆凌牛 | 69.00 | 会员捐赠 | - | +| 精通 CSS:高级 Web 标准解决方案 | Andy Budd | 49.00 | 会员捐赠 | - | +| Programming Android(影印版) | Zigurd Medieks 等 | 88.00 | LUG 购置 | 借出 1 本 | +| Android 应用开发揭秘 | 杨丰盛 | 69.00 | LUG 购置 | - | +| Learning Android(翻译) | Marko Gargenta | 49.00 | LUG 购置 | - | +| SEO 艺术 | Eric Enge 等 | 89.00 | LUG 购置 | - | +| PHP 和 MySQL Web 开发(第四版) | Luke Welling & Laura Thomson | 95.00 | ewind 捐赠 | - | +| CSS 权威指南(第三版) | Eric A. Meyer | 58.00 | ewind 捐赠 | - | +| HTTP 权威指南 | David Gourley & Brian Totty & Marjorie Sayer & Sailu Reddy & Anshu Aggarwal | 109.00 | ewind 捐赠 | - | ## 数据库 @@ -203,11 +203,11 @@ permalink: /wiki/lug/book/ | 机器视觉教程(英文)
    Machine Vision | Wesley E. Snyder 等 | 49.00 | 会员捐赠 | - | | 计算机图形学(英文)
    Computer Graphics | Steve Cunningham | 36.00 | 会员捐赠 | - | | 云计算(第二版) | 刘鹏 | 48.00 | 会员捐赠 | - | -| 人工智能——一种现代方法(第二版)
    Artificial Intelligence - A Modern Approach | 拉塞尔等 | 89.00 | LUG 购置 | 已借出 | +| 人工智能——一种现代方法 (第二版)
    Artificial Intelligence - A Modern Approach | 拉塞尔等 | 89.00 | LUG 购置 | 已借出 | | 数字设计和计算机体系结构(英文版)
    Digital Design and Computer Architecture | 哈里斯 | 65.00 | LUG 购置 | - | | MIPS 体系结构透视
    See MIPS Run | 斯威特曼 | 48.00 | LUG 购置 | - | -| 深入理解计算机系统(英文版, 第 2 版) | 布莱恩特, 奥哈拉伦 | 85.00 | LUG 购置 | - | -| 深入理解计算机系统(原书第 2 版) | 布莱恩特 | 65.60 | LUG 购置 | - | +| 深入理解计算机系统 (英文版,第 2 版) | 布莱恩特,奥哈拉伦 | 85.00 | LUG 购置 | - | +| 深入理解计算机系统 (原书第 2 版) | 布莱恩特 | 65.60 | LUG 购置 | - | | [深入理解计算机系统(修订版)](http://book.douban.com/subject/1230413/ "http://book.douban.com/subject/1230413/") | Randal E. Bryant | 85 | LUG 购置 | unavailable | | Representation and Inference for Natural Language (Volume 1) | Patrick Blackburn et al | 打印 | 会员捐赠 | - | | Representation and Inference for Natural Language (Volume 2) | Patrick Blackburn et al | 打印 | 会员捐赠 | - | @@ -229,9 +229,9 @@ permalink: /wiki/lug/book/ | [分布式系统概念与设计(英文版第 4 版)](http://book.douban.com/subject/1445580/ "http://book.douban.com/subject/1445580/")
    Distributed Systems: Concepts and Design, Fourth Edition | 库劳里斯 | 89.00 | boj 捐赠 | - | | [分布式系统原理与范型(第 2 版 影印版)](http://book.douban.com/subject/3108800/ "http://book.douban.com/subject/3108800/") | Andrew S. Tanenbaum | | Maarten van Steen | 69.00 | boj 捐赠 | - | -| [计算机体系结构: 量化研究方法(英文版第 4 版)](http://book.douban.com/subject/1954037 "http://book.douban.com/subject/1954037") | John L. Hennessy | +| [计算机体系结构:量化研究方法 (英文版第 4 版)](http://book.douban.com/subject/1954037 "http://book.douban.com/subject/1954037") | John L. Hennessy | | David A. Patterson | 78.00 | boj 捐赠 | - | -| [软件工程: 理论与实践(第三版 影印版)](http://book.douban.com/subject/1935714/ "http://book.douban.com/subject/1935714/")
    Software Engineering: Theory and Practice, Third Edition | Shari Lawrence Pfleeger | +| [软件工程:理论与实践(第三版 影印版)](http://book.douban.com/subject/1935714/ "http://book.douban.com/subject/1935714/")
    Software Engineering: Theory and Practice, Third Edition | Shari Lawrence Pfleeger | | Joanne M. Atlee | 48.00 | boj 捐赠 | - | | 计算机网络(第五版) | Andrew S. Tanenbaum & David J. Wetherall | 89.50 | ewind 捐赠 | - | | [具体数学:计算机科学基础(英文版,第二版)](http://book.douban.com/subject/1231910/ "http://book.douban.com/subject/1231910/") | Graham, Knuth, Patashnik | 49.00 | 会员捐赠 | - | From 121c51f086581413f8c4571bb6509c0eabcd7eff Mon Sep 17 00:00:00 2001 From: TianKai Ma Date: Sun, 15 Sep 2024 00:58:27 +0800 Subject: [PATCH 28/59] chore: remove all lug@u.e.c email with pics --- pages/_news/2011/2011-06-05-linux-tshirt-2011.md | 4 ++-- .../2016/2016-06-16-new-activity-room-in-west-library.md | 2 +- pages/_news/2017/2017-05-01-2017-bbs-linux-banshan.md | 2 +- pages/_news/2019/2019-04-06-2019-bbs-linux-banshan.md | 2 +- pages/_news/2021/2021-04-27-lug-banshan.md | 2 +- pages/_planet/2019-08-28-NFS-intro.md | 4 ++-- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pages/_news/2011/2011-06-05-linux-tshirt-2011.md b/pages/_news/2011/2011-06-05-linux-tshirt-2011.md index 1d997fa1d7..68a8fc3f3b 100644 --- a/pages/_news/2011/2011-06-05-linux-tshirt-2011.md +++ b/pages/_news/2011/2011-06-05-linux-tshirt-2011.md @@ -43,9 +43,9 @@ comments: [] 您可以通过支付宝向我们支付费用。 -我们的支付宝帐号为:[lug@ustc.edu.cn](mailto:lug@ustc.edu.cn),支付流程: +我们的支付宝帐号为:![]({{ site.static_url }}/email.png),支付流程: -登录支付宝-->“我的支付宝”-->“我的生活助手”-->“我要付款”-->在“对方支付宝账户”里输入[lug@ustc.edu.cn](mailto:lug@ustc.edu.cn)即可。在备注中留下您的姓名,并且向[lug@ustc.edu.cn](mailto:lug@ustc.edu.cn)发送一封邮件,标题为"预定文化衫--您的姓名",内容为您选择的版式(男/女 | 圆领/翻领)、身高、手机号和详细的收货地址,我们将在 24 小时内回复您的邮件,表明我们已经收到您的付款和预定。 +登录支付宝-->“我的支付宝”-->“我的生活助手”-->“我要付款”-->在“对方支付宝账户”里输入 ![]({{ site.static_url }}/email.png) 即可。在备注中留下您的姓名,并且向 ![]({{ site.static_url }}/email.png) 发送一封邮件,标题为"预定文化衫--您的姓名",内容为您选择的版式(男/女 | 圆领/翻领)、身高、手机号和详细的收货地址,我们将在 24 小时内回复您的邮件,表明我们已经收到您的付款和预定。 6、时间安排 diff --git a/pages/_news/2016/2016-06-16-new-activity-room-in-west-library.md b/pages/_news/2016/2016-06-16-new-activity-room-in-west-library.md index debde4c5f7..faacc0ae0b 100644 --- a/pages/_news/2016/2016-06-16-new-activity-room-in-west-library.md +++ b/pages/_news/2016/2016-06-16-new-activity-room-in-west-library.md @@ -27,4 +27,4 @@ comments: [] 历史上,LUG 的活动室长期位于西区图书馆 308 室;前两年的数次搬迁均是西区图书馆的大规模重新装修计划的结果。经过数次辗转之后,LUG 活动室重新回到了西区,在可以预期的将来,西区新活动室定能为 LUG 的活动提供更好的便利条件。 -原东区活动室将于近日被收回。本次活动的原始照片存储在[LUG FTP](ftp://ftp:ftp@ftp.lug.ustc.edu.cn)上。 +原东区活动室将于近日被收回。本次活动的原始照片存储在 [LUG FTP](https://ftp.lug.ustc.edu.cn) 上。 diff --git a/pages/_news/2017/2017-05-01-2017-bbs-linux-banshan.md b/pages/_news/2017/2017-05-01-2017-bbs-linux-banshan.md index c706705e2f..728086d2b4 100644 --- a/pages/_news/2017/2017-05-01-2017-bbs-linux-banshan.md +++ b/pages/_news/2017/2017-05-01-2017-bbs-linux-banshan.md @@ -26,7 +26,7 @@ comments: [] ### 投稿方式 - **方式 1**:回复瀚海星云 BBS 的[征集贴](https://bbs.ustc.edu.cn/cgi/bbstcon?board=Linux&file=M.1493611062.A),以附件形式附上设计图 -- **方式 2**:发邮件至 [lug@ustc.edu.cn](mailto:lug@ustc.edu.cn),标题「2017 版衫设计方案投稿」 +- **方式 2**:发邮件至 ![]({{ site.static_url }}/email.png),标题「2017 版衫设计方案投稿」 ### 方案选择 diff --git a/pages/_news/2019/2019-04-06-2019-bbs-linux-banshan.md b/pages/_news/2019/2019-04-06-2019-bbs-linux-banshan.md index ef6a99ba50..9d172086b4 100644 --- a/pages/_news/2019/2019-04-06-2019-bbs-linux-banshan.md +++ b/pages/_news/2019/2019-04-06-2019-bbs-linux-banshan.md @@ -26,7 +26,7 @@ tags: ## 投稿方式 - **方式 1**:回复瀚海星云 BBS 的[征集贴](https://bbs.ustc.edu.cn/cgi/bbscon?bn=Linux&fn=M5CA89770&num=20000),以附件形式附上设计图 -- **方式 2**:发邮件至 [lug@ustc.edu.cn](mailto:lug@ustc.edu.cn),标题「2019 版衫设计方案投稿」 +- **方式 2**:发邮件至 ![]({{ site.static_url }}/email.png),标题「2019 版衫设计方案投稿」 ## 方案选择 diff --git a/pages/_news/2021/2021-04-27-lug-banshan.md b/pages/_news/2021/2021-04-27-lug-banshan.md index 3a7617ed3e..9ea0d65794 100644 --- a/pages/_news/2021/2021-04-27-lug-banshan.md +++ b/pages/_news/2021/2021-04-27-lug-banshan.md @@ -28,7 +28,7 @@ tags: ## 投稿方式 - **方式 1**:回复瀚海星云 BBS 的[征集贴](https://bbs.ustc.edu.cn/cgi/bbscon?bn=Linux&fn=M6087D60B&num=20000),以附件形式附上设计图 -- **方式 2**:发邮件至 [lug@ustc.edu.cn](mailto:lug@ustc.edu.cn),标题「2021 版衫设计方案投稿」 +- **方式 2**:发邮件至 ![]({{ site.static_url }}/email.png),标题「2021 版衫设计方案投稿」 ## 方案选择 diff --git a/pages/_planet/2019-08-28-NFS-intro.md b/pages/_planet/2019-08-28-NFS-intro.md index f1568a8682..247f07eff6 100644 --- a/pages/_planet/2019-08-28-NFS-intro.md +++ b/pages/_planet/2019-08-28-NFS-intro.md @@ -125,13 +125,13 @@ mount_nfs: can't mount /srv/nfs4/Downloads from 192.168.124.18 onto /Users/tao/n 我们对日志分析后发现,bioc 仓库(R 语言的分子生物学软件仓库)访问量很小,但是空间占用巨大(约 1.4 TB)。由于我们前段时间多出一台闲置的服务器(命名为 mirrors3),目前我们将 bioc 放置在了 mirrors3 上,同步任务也由 mirrors3 完成,NFS 到 mirrors2 上继续正常提供服务。这一项工作主要由付佳伟同学完成。多出来的磁盘空间应该可以维持比较长一段时间的稳定工作。 -在一部分细节方面,服务器还没有配置完成,在 [status 页面](https://mirrors.ustc.edu.cn/status/)的显示也比较奇怪,这是因为此页面读取的是 mirrors2 的数据。我们未来会进行改进,如果你在使用 bioc 仓库时遇到问题,也欢迎通过发送邮件到 [lug@ustc.edu.cn](mailto:lug@ustc.edu.cn) 或者在 中提交 issue 进行反馈。 +在一部分细节方面,服务器还没有配置完成,在 [status 页面](https://mirrors.ustc.edu.cn/status/)的显示也比较奇怪,这是因为此页面读取的是 mirrors2 的数据。我们未来会进行改进,如果你在使用 bioc 仓库时遇到问题,也欢迎通过发送邮件到 ![]({{ site.static_url }}/email.png) 或者在 中提交 issue 进行反馈。 --- 另外,planet 已经有将近一年的时间处于死寂的状态。我写的其实不太好,此次更新主要是希望能够引起大家的注意,收到更多的稿件。另外有一些(未完成的)稿件在我们的草稿箱里,我会去给对应的作者催稿的( -由于 WordPress 的用户权限配置问题,你在注册账号后可能找不到投稿的地方。直接发送邮件到 [planet@ustclug.org](mailto:planet@ustclug.org) 跟我们说吧(当然 [lug@ustc.edu.cn](mailto:lug@ustc.edu.cn) 也行,我也会处理的)!也欢迎提供你的博客的 RSS 地址,我们可以选择文章转载到这里。 +由于 WordPress 的用户权限配置问题,你在注册账号后可能找不到投稿的地方。直接发送邮件到 [planet@ustclug.org](mailto:planet@ustclug.org) 跟我们说吧(当然 ![]({{ site.static_url }}/email.png) 也行,我也会处理的)!也欢迎提供你的博客的 RSS 地址,我们可以选择文章转载到这里。 [^1]: https://wiki.debian.org/NFSServerSetup [^2]: https://wiki.archlinux.org/index.php/NFS#Server From e453e9d6fd4fce115d7fa2766ebee9b3e4b17ccb Mon Sep 17 00:00:00 2001 From: TianKai Ma Date: Sun, 15 Sep 2024 01:03:53 +0800 Subject: [PATCH 29/59] chore: unify link style --- .../2021/2021-06-15-lug-banshan-order.md | 2 +- pages/_wiki/doc/editing.md | 4 +- pages/_wiki/index.md | 22 +- pages/_wiki/lug/book/borrow_history.md | 200 +++++++++--------- 4 files changed, 114 insertions(+), 114 deletions(-) diff --git a/pages/_news/2021/2021-06-15-lug-banshan-order.md b/pages/_news/2021/2021-06-15-lug-banshan-order.md index 13cead49fc..09b58d1012 100644 --- a/pages/_news/2021/2021-06-15-lug-banshan-order.md +++ b/pages/_news/2021/2021-06-15-lug-banshan-order.md @@ -12,7 +12,7 @@ tags: - 版衫 --- -经过版衫方案投票结果([2021 Linux 板版衫候选方案公布与投票](./2021-04-27-lug-banshan.md)),我们最终确定了 2021 Linux 版衫样式,并从即日起开始接受预定。 +经过版衫方案投票结果([2021 Linux 板版衫候选方案公布与投票](2021-04-27-lug-banshan.md)),我们最终确定了 2021 Linux 版衫样式,并从即日起开始接受预定。 经过统计,方案二的票数位居第一,恭喜设计者邓同学,也非常感谢其他投稿的同学。投票结果见附 1。 diff --git a/pages/_wiki/doc/editing.md b/pages/_wiki/doc/editing.md index b46985039c..11cf76cfb8 100644 --- a/pages/_wiki/doc/editing.md +++ b/pages/_wiki/doc/editing.md @@ -22,9 +22,9 @@ 2. **自我审查方面的考虑** - - 隐藏了 [捐赠](/wiki/lug/donate) 的入口 + - 隐藏了 [捐赠](/wiki/lug/donate/) 的入口 - 隐藏了 [友情链接](https://lug.ustc.edu.cn/wiki/lug/links/) 的入口,这个页面也时常需要移除过期的域名等,有较大的内容安全风险 - - 调整了 [联系方式](/wiki/lug/contact) 的排布,将 Telegram 放在了靠后面的位置 + - 调整了 [联系方式](/wiki/lug/contact/) 的排布,将 Telegram 放在了靠后面的位置 3. **信息一致性** diff --git a/pages/_wiki/index.md b/pages/_wiki/index.md index 4419026d8c..243e21207c 100644 --- a/pages/_wiki/index.md +++ b/pages/_wiki/index.md @@ -10,36 +10,36 @@ permalink: /wiki/ ## 网络服务 -- **[开源镜像站 mirrors.ustc.edu.cn](lug/services/mirrors)** -- **[网络启动服务 PXE](lug/services/pxe)** -- **[代码托管平台 GitLab](lug/services/gitlab)** -- **[文件存档 FTP](lug/services/ftp)** +- **[开源镜像站 mirrors.ustc.edu.cn](lug/services/mirrors/)** +- **[网络启动服务 PXE](lug/services/pxe/)** +- **[代码托管平台 GitLab](lug/services/gitlab/)** +- **[文件存档 FTP](lug/services/ftp/)** [了解更多](lug/services/) ## 特色活动 -- **[LUG 每周小聚](lug/events/weeklyparty):** +- **[LUG 每周小聚](lug/events/weeklyparty/):** 每周末由同学带来的技术分享演讲。 -- **[Linux 101](lug/events/101):** +- **[Linux 101](lug/events/101/):** 帮助新手学习 Linux 的系列活动。 - - [Linux Install Party](lug/events/lip): + - [Linux Install Party](lug/events/lip/): 推广和安装 Linux,宣传和鼓励开源和自由软件精神的活动。 -- **[信息安全大赛 Hackergame](lug/events/hackergame):** +- **[信息安全大赛 Hackergame](lug/events/hackergame/):** 每年秋季学期举办的信息安全竞赛。 -- **[软件自由日 Software Freedom Day](lug/events/sfd):** +- **[软件自由日 Software Freedom Day](lug/events/sfd/):** 由自由/开源软件爱好者自发筹集的演讲、报告会。 -[了解更多](lug/events) +[了解更多](lug/events/) ## 联系我们 @@ -47,4 +47,4 @@ permalink: /wiki/ - 活动室:西区图书馆 403 室 & 高新图书馆 604B 研讨室 - QQ 群:适合于即时性较强的讨论。具体群号请查看 `qq.ustclug.org` 的 TXT 记录。 -[了解更多](lug/contact) +[了解更多](lug/contact/) diff --git a/pages/_wiki/lug/book/borrow_history.md b/pages/_wiki/lug/book/borrow_history.md index a452ea73b1..e15f35b2ba 100644 --- a/pages/_wiki/lug/book/borrow_history.md +++ b/pages/_wiki/lug/book/borrow_history.md @@ -31,128 +31,128 @@ ## 2021 年借阅记录 -| 书名 | 借阅者 | 联系方式 | 借阅日期 | 归还日期 | 备注 | -| ----------------------------- | ------ | -------------------------------- | ---------- | ---------- | ---- | -| 计算机组成与设计-硬件软件接口 | 蔡智臻 | carbyne AT mail.ustc.edu.cn | 2021-03-07 | 2021-09-04 | \- | -| 运筹学导论 | 蔡智臻 | carbyne AT mail.ustc.edu.cn | 2021-03-07 | \- | \- | -| Java 编程思想 | 彭炫超 | xc1217 AT mail.ustc.edu.cn | 2021-03-15 | \- | \- | -| 从零开始学 Linux | 彭炫超 | xc1217 AT mail.ustc.edu.cn | 2021-03-15 | \- | \- | -| 具体数学(第二版) | 蔡智臻 | carbyne AT mail.ustc.edu.cn | 2021-03-17 | \- | \- | -| 计算机网络(第四版) | 蔡智臻 | carbyne AT mail.ustc.edu.cn | 2021-03-17 | 2021-09-04 | \- | -| 编译原理(第二版) | 徐怡 | cqewxji1ella AT mail.ustc.edu.cn | 2021-08-28 | \- | \- | -| 机器学习 | 蔡智臻 | carbyne AT mail.ustc.edu.cn | 2021-09-03 | \- | \- | -| 青春咖啡馆 | 袁一玮 | totoroyyw AT ustclug.org | 2021-11-25 | 2021-12-19 | \- | +| 书名 | 借阅者 | 联系方式 | 借阅日期 | 归还日期 | 备注 | +| ------------------------------- | ------ | -------------------------------- | ---------- | ---------- | ---- | +| 计算机组成与设计 - 硬件软件接口 | 蔡智臻 | carbyne AT mail.ustc.edu.cn | 2021-03-07 | 2021-09-04 | \- | +| 运筹学导论 | 蔡智臻 | carbyne AT mail.ustc.edu.cn | 2021-03-07 | \- | \- | +| Java 编程思想 | 彭炫超 | xc1217 AT mail.ustc.edu.cn | 2021-03-15 | \- | \- | +| 从零开始学 Linux | 彭炫超 | xc1217 AT mail.ustc.edu.cn | 2021-03-15 | \- | \- | +| 具体数学(第二版) | 蔡智臻 | carbyne AT mail.ustc.edu.cn | 2021-03-17 | \- | \- | +| 计算机网络(第四版) | 蔡智臻 | carbyne AT mail.ustc.edu.cn | 2021-03-17 | 2021-09-04 | \- | +| 编译原理(第二版) | 徐怡 | cqewxji1ella AT mail.ustc.edu.cn | 2021-08-28 | \- | \- | +| 机器学习 | 蔡智臻 | carbyne AT mail.ustc.edu.cn | 2021-09-03 | \- | \- | +| 青春咖啡馆 | 袁一玮 | totoroyyw AT ustclug.org | 2021-11-25 | 2021-12-19 | \- | ## 2020 年借阅记录 -| 书名 | 借阅者 | 联系方式 | 借阅日期 | 归还日期 | 备注 | -| --------------------------------- | ------ | ----------------------------- | ---------- | ---------- | ---- | -| 陶哲轩实分析 | 王子博 | hypercube AT 0x01.me | 2020-01-07 | 2020-09-04 | \- | -| 概率论与数理统计 | 袁一玮 | totoroyyw AT ustclug.org | 2020-01-13 | 2020-09-02 | \- | -| 概率论与数理统计习题全解指南 | 袁一玮 | totoroyyw AT ustclug.org | 2020-01-13 | 2020-09-02 | \- | -| 人工智能-一种现代的方法 | 付佳伟 | ibug AT ustclug.org | 2020-08-25 | 2020-09-13 | \- | -| 并行计算-结构、算法编程 | 付佳伟 | ibug AT ustclug.org | 2020-08-25 | 2020-09-13 | \- | -| 并行计算-结构、算法编程 | 彭定澜 | pdl AT ustclug.org | 2020-08-25 | \- | \- | -| 数据结构与算法分析 | 胡清宇 | hmsh AT mail.ustc.edu.cn | 2020-08-30 | \- | \- | -| 数学物理方法习题全解 | 袁一玮 | totoroyyw AT ustclug.org | 2020-08-31 | 2020-09-02 | \- | -| 七周七语言 理解多种编程范型 | 罗丽薇 | loliw AT ustclug.org | 2020-09-04 | 2022-07-22 | \- | -| 随机过程 (第三版) | 罗丽薇 | loliw AT ustclug.org | 2020-09-13 | 2021-03-15 | \- | -| 算法导论(第三版) | 罗丽薇 | loliw AT ustclug.org | 2020-09-13 | 2021-03-15 | \- | -| 编译原理(第三版)陈意云 张昱 | 罗丽薇 | loliw AT ustclug.org | 2020-09-13 | 2021-03-15 | \- | -| 计算机网络-自顶向下方法(第七版) | 罗丽薇 | loliw AT ustclug.org | 2020-09-13 | 2021-03-15 | \- | -| 计算机系统概论(英文第二版) | 余致远 | fishyu AT mail.ustc.edu.cn | 2020-09-28 | 2020-12-21 | \- | -| 机器学习实战 | 余致远 | fishyu AT mail.ustc.edu.cn | 2020-09-28 | 2020-12-21 | \- | -| 鸟哥的 Linux 私房菜 基础学习篇 | 王若妍 | wry2018zs AT mail.ustc.edu.cn | 2020-10-01 | 2021-05-23 | \- | +| 书名 | 借阅者 | 联系方式 | 借阅日期 | 归还日期 | 备注 | +| ----------------------------------- | ------ | ----------------------------- | ---------- | ---------- | ---- | +| 陶哲轩实分析 | 王子博 | hypercube AT 0x01.me | 2020-01-07 | 2020-09-04 | \- | +| 概率论与数理统计 | 袁一玮 | totoroyyw AT ustclug.org | 2020-01-13 | 2020-09-02 | \- | +| 概率论与数理统计习题全解指南 | 袁一玮 | totoroyyw AT ustclug.org | 2020-01-13 | 2020-09-02 | \- | +| 人工智能 - 一种现代的方法 | 付佳伟 | ibug AT ustclug.org | 2020-08-25 | 2020-09-13 | \- | +| 并行计算 - 结构、算法编程 | 付佳伟 | ibug AT ustclug.org | 2020-08-25 | 2020-09-13 | \- | +| 并行计算 - 结构、算法编程 | 彭定澜 | pdl AT ustclug.org | 2020-08-25 | \- | \- | +| 数据结构与算法分析 | 胡清宇 | hmsh AT mail.ustc.edu.cn | 2020-08-30 | \- | \- | +| 数学物理方法习题全解 | 袁一玮 | totoroyyw AT ustclug.org | 2020-08-31 | 2020-09-02 | \- | +| 七周七语言 理解多种编程范型 | 罗丽薇 | loliw AT ustclug.org | 2020-09-04 | 2022-07-22 | \- | +| 随机过程(第三版) | 罗丽薇 | loliw AT ustclug.org | 2020-09-13 | 2021-03-15 | \- | +| 算法导论(第三版) | 罗丽薇 | loliw AT ustclug.org | 2020-09-13 | 2021-03-15 | \- | +| 编译原理(第三版)陈意云 张昱 | 罗丽薇 | loliw AT ustclug.org | 2020-09-13 | 2021-03-15 | \- | +| 计算机网络 - 自顶向下方法(第七版) | 罗丽薇 | loliw AT ustclug.org | 2020-09-13 | 2021-03-15 | \- | +| 计算机系统概论(英文第二版) | 余致远 | fishyu AT mail.ustc.edu.cn | 2020-09-28 | 2020-12-21 | \- | +| 机器学习实战 | 余致远 | fishyu AT mail.ustc.edu.cn | 2020-09-28 | 2020-12-21 | \- | +| 鸟哥的 Linux 私房菜 基础学习篇 | 王若妍 | wry2018zs AT mail.ustc.edu.cn | 2020-10-01 | 2021-05-23 | \- | ## 2019 年借阅记录 -| 书名 | 借阅者 | 联系方式 | 借阅日期 | 归还日期 | 读书报告(链接) | -| ------------------------------------------------- | ------ | ------------------------------- | ------------------- | ------------------- | -------------- | -| 操作系统概念 第七版 影印版 | 樊真幸 | fanzhenxing AT mail.ustc.edu.cn | 2019 年 3 月 1 日 | 2019 年 6 月 ? 日 | \- | -| 计算机组成与设计-硬件软件接口 | 樊真幸 | fanzhenxing AT mail.ustc.edu.cn | 2019 年 3 月 1 日 | 2019 年 6 月 ? 日 | \- | -| 算法导论(原书第 3 版) | 高志远 | gaozhiyuan AT mail.ustc.edu.cn | 2019 年 7 月 25 日 | 2019 年 9 月 1 日 | \- | -| 编译原理(第 2 版) | 高志远 | gaozhiyuan AT mail.ustc.edu.cn | 2019 年 7 月 25 日 | 2019 年 9 月 1 日 | \- | -| Haskell 趣学指南 | 张佳 | jzhang19 AT mail.ustc.edu.cn | 2019 年 8 月 31 日 | 2021 年 4 月 12 日 | \- | -| 计算机网络:自顶向下方法 第六版 影印版 | 樊真幸 | fanzhenxing AT mail.ustc.edu.cn | 2019 年 9 月 1 日 | 2020 年 1 月 9 日 | \- | -| 计算机网络:自顶向下方法 第四版 影印版 | 段志宇 | wfp AT mail.ustc.edu.cn | 2019 年 9 月 1 日 | 2020 年 1 月 9 日 | \- | -| Head First Python | 王子博 | hypercube AT 0x01.me | 2019 年 9 月 1 日 | 2019 年 11 月 11 日 | \- | -| 数学分析中的典型问题与方法 | 胡清宇 | hmsh AT mail.ustc.edu.cn | 2019 年 10 月 27 日 | \- | \- | -| 电子技术基础 模拟部分(第六版)学习辅导与习题解答 | 袁一玮 | totoroyyw AT ustclug.org | 2019 年 9 月 10 日 | 2019 年 12 月 24 日 | \- | -| C++ Primer 英文版(第 5 版) | 龚平 | gpzlx1 AT mail.ustc.edu.cn | 2019 年 10 月 3 日 | \- | \- | -| 算法导论(原书第 2 版) | 汤力宇 | lyrics_1117 AT mail.ustc.edu.cn | 2019 年 10 月 13 日 | \- | \- | -| 编译原理(第二版)(龙书) | 又木 | youmu1998 AT mail.ustc.edu.cn | 2019 年 10 月 28 日 | 2020 年 8 月 31 日 | \- | -| 计算机系统概论(原书第二版) | 袁一玮 | totoroyyw AT ustclug.org | 2019 年 10 月 31 日 | \- | \- | -| 七周七语言 理解多种编程范型 | 王子博 | hypercube AT 0x01.me | 2019 年 11 月 1 日 | 2020-09-04 | \- | -| 数据结构与算法分析 | 王子博 | hypercube AT 0x01.me | 2019 年 11 月 1 日 | 2020-09-04 | \- | -| 鸟哥的 Linux 私房菜基础学习篇第三版 | 樊真幸 | fanzhenxing AT mail.ustc.edu.cn | 2019 年 12 月 18 日 | 2019 年 12 月 23 日 | \- | +| 书名 | 借阅者 | 联系方式 | 借阅日期 | 归还日期 | 读书报告 (链接) | +| ------------------------------------------------- | ------ | ------------------------------- | ------------------- | ------------------- | --------------- | +| 操作系统概念 第七版 影印版 | 樊真幸 | fanzhenxing AT mail.ustc.edu.cn | 2019 年 3 月 1 日 | 2019 年 6 月 ? 日 | \- | +| 计算机组成与设计 - 硬件软件接口 | 樊真幸 | fanzhenxing AT mail.ustc.edu.cn | 2019 年 3 月 1 日 | 2019 年 6 月?日 | \- | +| 算法导论(原书第 3 版) | 高志远 | gaozhiyuan AT mail.ustc.edu.cn | 2019 年 7 月 25 日 | 2019 年 9 月 1 日 | \- | +| 编译原理(第 2 版) | 高志远 | gaozhiyuan AT mail.ustc.edu.cn | 2019 年 7 月 25 日 | 2019 年 9 月 1 日 | \- | +| Haskell 趣学指南 | 张佳 | jzhang19 AT mail.ustc.edu.cn | 2019 年 8 月 31 日 | 2021 年 4 月 12 日 | \- | +| 计算机网络:自顶向下方法 第六版 影印版 | 樊真幸 | fanzhenxing AT mail.ustc.edu.cn | 2019 年 9 月 1 日 | 2020 年 1 月 9 日 | \- | +| 计算机网络:自顶向下方法 第四版 影印版 | 段志宇 | wfp AT mail.ustc.edu.cn | 2019 年 9 月 1 日 | 2020 年 1 月 9 日 | \- | +| Head First Python | 王子博 | hypercube AT 0x01.me | 2019 年 9 月 1 日 | 2019 年 11 月 11 日 | \- | +| 数学分析中的典型问题与方法 | 胡清宇 | hmsh AT mail.ustc.edu.cn | 2019 年 10 月 27 日 | \- | \- | +| 电子技术基础 模拟部分(第六版)学习辅导与习题解答 | 袁一玮 | totoroyyw AT ustclug.org | 2019 年 9 月 10 日 | 2019 年 12 月 24 日 | \- | +| C++ Primer 英文版(第 5 版) | 龚平 | gpzlx1 AT mail.ustc.edu.cn | 2019 年 10 月 3 日 | \- | \- | +| 算法导论(原书第 2 版) | 汤力宇 | lyrics_1117 AT mail.ustc.edu.cn | 2019 年 10 月 13 日 | \- | \- | +| 编译原理(第二版)(龙书) | 又木 | youmu1998 AT mail.ustc.edu.cn | 2019 年 10 月 28 日 | 2020 年 8 月 31 日 | \- | +| 计算机系统概论(原书第二版) | 袁一玮 | totoroyyw AT ustclug.org | 2019 年 10 月 31 日 | \- | \- | +| 七周七语言 理解多种编程范型 | 王子博 | hypercube AT 0x01.me | 2019 年 11 月 1 日 | 2020-09-04 | \- | +| 数据结构与算法分析 | 王子博 | hypercube AT 0x01.me | 2019 年 11 月 1 日 | 2020-09-04 | \- | +| 鸟哥的 Linux 私房菜基础学习篇第三版 | 樊真幸 | fanzhenxing AT mail.ustc.edu.cn | 2019 年 12 月 18 日 | 2019 年 12 月 23 日 | \- | ## 2018 年借阅记录 -| 书名 | 借阅者 | 联系方式 | 借阅日期 | 应还日期 | 归还日期 | 读书报告(链接) | -| ------------------------------------- | ------ | ------------------------------ | ------------------ | ------------------ | -------- | -------------- | -| 鸟哥的 Linux 私房菜 基础学习篇 第三版 | 金孜达 | jzd AT mail.ustc.edu.cn | 2018 年 12 月 9 日 | 2019 年 3 月 1 日 | \- | \- | -| Haskell 趣学指南 | 金孜达 | jzd AT mail.ustc.edu.cn | 2018 年 12 月 9 日 | 2019 年 3 月 1 日 | \- | \- | -| 七周七数据库 | 杨永钰 | yale1996 AT mail.ustc.edu.cn | 2018 年 12 月 9 日 | 2019 年 1 月 10 日 | \- | \- | -| Head First Python | 李晨宇 | dev8708446 AT mail.ustc.edu.cn | 2018 年 1 月 7 日 | 2018 年 6 月 29 日 | \- | \- | +| 书名 | 借阅者 | 联系方式 | 借阅日期 | 应还日期 | 归还日期 | 读书报告 (链接) | +| ------------------------------------- | ------ | ------------------------------ | ------------------ | ------------------ | -------- | --------------- | +| 鸟哥的 Linux 私房菜 基础学习篇 第三版 | 金孜达 | jzd AT mail.ustc.edu.cn | 2018 年 12 月 9 日 | 2019 年 3 月 1 日 | \- | \- | +| Haskell 趣学指南 | 金孜达 | jzd AT mail.ustc.edu.cn | 2018 年 12 月 9 日 | 2019 年 3 月 1 日 | \- | \- | +| 七周七数据库 | 杨永钰 | yale1996 AT mail.ustc.edu.cn | 2018 年 12 月 9 日 | 2019 年 1 月 10 日 | \- | \- | +| Head First Python | 李晨宇 | dev8708446 AT mail.ustc.edu.cn | 2018 年 1 月 7 日 | 2018 年 6 月 29 日 | \- | \- | ## 2017 年借阅记录 -| 书名 | 借阅者 | 联系方式 | 借阅日期 | 应还日期 | 归还日期 | 读书报告(链接) | -| -------------------------------- | ------ | ------------------------------ | ------------------- | ------------------ | ------------------ | -------------- | -| 鸟哥的 Linux 私房菜-服务器架设篇 | 李晨宇 | dev8708446 AT mail.ustc.edu.cn | 2017 年 10 月 29 日 | 2018 年 1 月 15 日 | 2018 年 1 月 7 日 | \- | -| 计算机取证 | 郑子涵 | zzh1996 AT mail.ustc.edu.cn | 2017 年 9 月 3 日 | 2018 年 1 月 15 日 | 2017 年 9 月 29 日 | \- | -| 计算机网络 | 郑子涵 | zzh1996 AT mail.ustc.edu.cn | 2017 年 9 月 3 日 | 2018 年 1 月 15 日 | \- | \- | -| 密码编码学与网络安全 | 郑子涵 | zzh1996 AT mail.ustc.edu.cn | 2017 年 9 月 3 日 | 2018 年 1 月 15 日 | \- | \- | -| 离散数学及其应用 | 郑子涵 | zzh1996 AT mail.ustc.edu.cn | 2017 年 9 月 3 日 | 2018 年 1 月 15 日 | \- | \- | -| 深入理解 linux 内核 | 李嘉豪 | ??? | 2017 年 3 月 4 日 | 2017 年 7 月 15 日 | \- | \- | -| 计算机组成原理 | 李嘉豪 | ??? | 2017 年 3 月 4 日 | 2017 年 7 月 15 日 | \- | \- | -| Haskell 趣学指南 | 王子博 | wzb15 AT mail.ustc.edu.cn | 2017 年 2 月 12 日 | 2017 年 7 月 15 日 | \- | \- | -| 人工智能 一种现代方法 第二版 | 左格非 | alkaid AT mail.ustc.edu.cn | 2017 年 2 月 12 日 | 2017 年 7 月 15 日 | \- | \- | -| 计算机体系结构 | 左格非 | alkaid AT mail.ustc.edu.cn | 2017 年 2 月 12 日 | 2017 年 7 月 15 日 | \- | \- | -| 数据库系统导论 | 左格非 | alkaid AT mail.ustc.edu.cn | 2017 年 2 月 12 日 | 2017 年 7 月 15 日 | \- | \- | -| 数据库系统导论 | 郑子涵 | zzh1996 AT mail.ustc.edu.cn | 2017 年 2 月 12 日 | 2017 年 7 月 15 日 | 2017 年 9 月 4 日 | \- | -| 并行计算-结构算法编程 | 郑子涵 | zzh1996 AT mail.ustc.edu.cn | 2017 年 2 月 12 日 | 2017 年 7 月 15 日 | 2017 年 2 月 20 日 | \- | +| 书名 | 借阅者 | 联系方式 | 借阅日期 | 应还日期 | 归还日期 | 读书报告 (链接) | +| ---------------------------------- | ------ | ------------------------------ | ------------------- | ------------------ | ------------------ | --------------- | +| 鸟哥的 Linux 私房菜 - 服务器架设篇 | 李晨宇 | dev8708446 AT mail.ustc.edu.cn | 2017 年 10 月 29 日 | 2018 年 1 月 15 日 | 2018 年 1 月 7 日 | \- | +| 计算机取证 | 郑子涵 | zzh1996 AT mail.ustc.edu.cn | 2017 年 9 月 3 日 | 2018 年 1 月 15 日 | 2017 年 9 月 29 日 | \- | +| 计算机网络 | 郑子涵 | zzh1996 AT mail.ustc.edu.cn | 2017 年 9 月 3 日 | 2018 年 1 月 15 日 | \- | \- | +| 密码编码学与网络安全 | 郑子涵 | zzh1996 AT mail.ustc.edu.cn | 2017 年 9 月 3 日 | 2018 年 1 月 15 日 | \- | \- | +| 离散数学及其应用 | 郑子涵 | zzh1996 AT mail.ustc.edu.cn | 2017 年 9 月 3 日 | 2018 年 1 月 15 日 | \- | \- | +| 深入理解 linux 内核 | 李嘉豪 | ??? | 2017 年 3 月 4 日 | 2017 年 7 月 15 日 | \- | \- | +| 计算机组成原理 | 李嘉豪 | ??? | 2017 年 3 月 4 日 | 2017 年 7 月 15 日 | \- | \- | +| Haskell 趣学指南 | 王子博 | wzb15 AT mail.ustc.edu.cn | 2017 年 2 月 12 日 | 2017 年 7 月 15 日 | \- | \- | +| 人工智能 一种现代方法 第二版 | 左格非 | alkaid AT mail.ustc.edu.cn | 2017 年 2 月 12 日 | 2017 年 7 月 15 日 | \- | \- | +| 计算机体系结构 | 左格非 | alkaid AT mail.ustc.edu.cn | 2017 年 2 月 12 日 | 2017 年 7 月 15 日 | \- | \- | +| 数据库系统导论 | 左格非 | alkaid AT mail.ustc.edu.cn | 2017 年 2 月 12 日 | 2017 年 7 月 15 日 | \- | \- | +| 数据库系统导论 | 郑子涵 | zzh1996 AT mail.ustc.edu.cn | 2017 年 2 月 12 日 | 2017 年 7 月 15 日 | 2017 年 9 月 4 日 | \- | +| 并行计算 - 结构算法编程 | 郑子涵 | zzh1996 AT mail.ustc.edu.cn | 2017 年 2 月 12 日 | 2017 年 7 月 15 日 | 2017 年 2 月 20 日 | \- | ## 2016 年借阅记录 -| 书名 | 借阅者 | 联系方式 | 借阅日期 | 应还日期 | 归还日期 | 读书报告(链接) | -| ------------------------------------- | ------ | --------------------------- | ------------------ | ------------------- | ------------------ | -------------- | -| 深度探索 Linux 操作系统 | 任正行 | zh2016 AT mail.ustc.edu.cn | 2016 年 9 月 23 日 | 2017 年 1 月 23 日 | \- | \- | -| 计算机系统概论 | 王子博 | wzb15 AT mail.ustc.edu.cn | 2016 年 8 月 29 日 | 2017 年 1 月 29 日 | 2017 年 2 月 12 日 | \- | -| 计算机系统概论(英文版) | 王子博 | wzb15 AT mail.ustc.edu.cn | 2016 年 8 月 29 日 | 2017 年 1 月 29 日 | 2017 年 2 月 12 日 | \- | -| Intel 微处理器 | 郑子涵 | zzh1996 AT mail.ustc.edu.cn | 2016 年 8 月 29 日 | 2017 年 1 月 29 日 | 2016 年 9 月 22 日 | \- | -| 设计模式 | 郑子涵 | zzh1996 AT mail.ustc.edu.cn | 2016 年 7 月 7 日 | 2016 年 9 月 7 日 | 2016 年 9 月 6 日 | \- | -| SQL 沉思录 | 郑子涵 | zzh1996 AT mail.ustc.edu.cn | 2016 年 3 月 10 日 | 2016 年 5 月 10 日 | 2016 年 7 月 7 日 | \- | -| 鸟哥的 Linux 私房菜 基础学习篇 第三版 | 金孜达 | jzd AT mail.ustc.edu.cn | 2016 年 6 月 26 日 | 2016 年 12 月 31 日 | 2018 年 12 月 9 日 | \- | +| 书名 | 借阅者 | 联系方式 | 借阅日期 | 应还日期 | 归还日期 | 读书报告 (链接) | +| ------------------------------------- | ------ | --------------------------- | ------------------ | ------------------- | ------------------ | --------------- | +| 深度探索 Linux 操作系统 | 任正行 | zh2016 AT mail.ustc.edu.cn | 2016 年 9 月 23 日 | 2017 年 1 月 23 日 | \- | \- | +| 计算机系统概论 | 王子博 | wzb15 AT mail.ustc.edu.cn | 2016 年 8 月 29 日 | 2017 年 1 月 29 日 | 2017 年 2 月 12 日 | \- | +| 计算机系统概论 (英文版) | 王子博 | wzb15 AT mail.ustc.edu.cn | 2016 年 8 月 29 日 | 2017 年 1 月 29 日 | 2017 年 2 月 12 日 | \- | +| Intel 微处理器 | 郑子涵 | zzh1996 AT mail.ustc.edu.cn | 2016 年 8 月 29 日 | 2017 年 1 月 29 日 | 2016 年 9 月 22 日 | \- | +| 设计模式 | 郑子涵 | zzh1996 AT mail.ustc.edu.cn | 2016 年 7 月 7 日 | 2016 年 9 月 7 日 | 2016 年 9 月 6 日 | \- | +| SQL 沉思录 | 郑子涵 | zzh1996 AT mail.ustc.edu.cn | 2016 年 3 月 10 日 | 2016 年 5 月 10 日 | 2016 年 7 月 7 日 | \- | +| 鸟哥的 Linux 私房菜 基础学习篇 第三版 | 金孜达 | jzd AT mail.ustc.edu.cn | 2016 年 6 月 26 日 | 2016 年 12 月 31 日 | 2018 年 12 月 9 日 | \- | ## 2015 年借阅记录 -| 书名 | 借阅者 | 联系方式 | 借阅日期 | 应还日期 | 归还日期 | 读书报告(链接) | -| -------------------------------------------------------------------------- | ------ | --------------------------- | ------------------- | ------------------- | ------------------- | -------------- | -| 鸟哥的 Linux 私房菜 基础学习篇(第三版) | 熊国鑫 | xgx AT mail.ustc.edu.cn | 2015 年 10 月 22 日 | 2015 年 12 月 22 日 | 2015 年 12 月 14 日 | \- | -| 学习 vi 和 Vim 编辑器 | 王嘉男 | wjn2015 AT mail.ustc.edu.cn | 2015 年 10 月 5 日 | 2015 年 12 月 5 日 | \- | \- | -| JavaScript 高级程序设计(第三版) | 常震 | ch888 AT mail.ustc.edu.cn | 2015 年 3 月 26 日 | 2015 年 5 月 26 日 | \- | \- | -| CSAPP | sadhen | sadhen AT mail.ustc.edu.cn | 2015 年 1 月 1 日 | 2015 年 3 月 1 日 | 2015 年 3 月 11 日 | \- | -| 计算机程序的构造和解释(第 2 版,翻译) | 崔灏 | cuihao.leo AT gmail.com | 2015 年 1 月 1 日 | 2016 年 1 月 1 日 | 2015 年 12 月 18 日 | \- | -| 计算机网络(英文版·第 5 版) | 左格非 | alkaid AT mail.ustc.edu.cn | 2015 年 1 月 24 日 | 2015 年 3 月 2 日 | 2015 年 3 月 2 日 | \- | -| 人工智能——一种现代方法(第二版) Artificial Intelligence - A Modern Approach | 朱晟菁 | zsj950618 AT gmail.com | 2015 年 3 月 1 日 | 2015 年 8 月 1 日 | \- | \- | -| 数据库系统导论 | 朱晟菁 | zsj950618 AT gmail.com | 2015 年 3 月 1 日 | 2015 年 8 月 1 日 | \- | \- | -| 计算机网络:自顶向下方法(原书第 4 版) | 曾键 | | 2015 年 5 月 6 日 | 2015 年 8 月 1 日 | \- | \- | -| 深入理解计算机系统 | 曾键 | | 2015 年 3 月 7 日 | 2015 年 8 月 1 日 | \- | \- | -| 程序设计语言原理(第 8 版) | 张恒若 | 15665518450 | 2015 年 3 月 8 日 | 2015 年 5 月 8 日 | 2015 年 5 月 4 日 | \- | -| 编译原理·第二版 | 张恒若 | 15665518450 | 2015 年 3 月 8 日 | 2015 年 5 月 8 日 | 2015 年 9 月 1 日 | \- | -| TCP/IP 详解(卷 1: 协议) TCP/IP Illustrated Volume 1: The Protocols | 郑子涵 | zzh1996 AT mail.ustc.edu.cn | 2015 年 3 月 20 日 | 2015 年 9 月 1 日 | 2015 年 8 月 30 日 | \- | +| 书名 | 借阅者 | 联系方式 | 借阅日期 | 应还日期 | 归还日期 | 读书报告 (链接) | +| --------------------------------------------------------------------------- | ------ | --------------------------- | ------------------- | ------------------- | ------------------- | --------------- | +| 鸟哥的 Linux 私房菜 基础学习篇(第三版) | 熊国鑫 | xgx AT mail.ustc.edu.cn | 2015 年 10 月 22 日 | 2015 年 12 月 22 日 | 2015 年 12 月 14 日 | \- | +| 学习 vi 和 Vim 编辑器 | 王嘉男 | wjn2015 AT mail.ustc.edu.cn | 2015 年 10 月 5 日 | 2015 年 12 月 5 日 | \- | \- | +| JavaScript 高级程序设计(第三版) | 常震 | ch888 AT mail.ustc.edu.cn | 2015 年 3 月 26 日 | 2015 年 5 月 26 日 | \- | \- | +| CSAPP | sadhen | sadhen AT mail.ustc.edu.cn | 2015 年 1 月 1 日 | 2015 年 3 月 1 日 | 2015 年 3 月 11 日 | \- | +| 计算机程序的构造和解释(第 2 版,翻译) | 崔灏 | cuihao.leo AT gmail.com | 2015 年 1 月 1 日 | 2016 年 1 月 1 日 | 2015 年 12 月 18 日 | \- | +| 计算机网络(英文版·第 5 版) | 左格非 | alkaid AT mail.ustc.edu.cn | 2015 年 1 月 24 日 | 2015 年 3 月 2 日 | 2015 年 3 月 2 日 | \- | +| 人工智能——一种现代方法 (第二版) Artificial Intelligence - A Modern Approach | 朱晟菁 | zsj950618 AT gmail.com | 2015 年 3 月 1 日 | 2015 年 8 月 1 日 | \- | \- | +| 数据库系统导论 | 朱晟菁 | zsj950618 AT gmail.com | 2015 年 3 月 1 日 | 2015 年 8 月 1 日 | \- | \- | +| 计算机网络:自顶向下方法(原书第 4 版) | 曾键 | | 2015 年 5 月 6 日 | 2015 年 8 月 1 日 | \- | \- | +| 深入理解计算机系统 | 曾键 | | 2015 年 3 月 7 日 | 2015 年 8 月 1 日 | \- | \- | +| 程序设计语言原理 (第 8 版) | 张恒若 | 15665518450 | 2015 年 3 月 8 日 | 2015 年 5 月 8 日 | 2015 年 5 月 4 日 | \- | +| 编译原理·第二版 | 张恒若 | 15665518450 | 2015 年 3 月 8 日 | 2015 年 5 月 8 日 | 2015 年 9 月 1 日 | \- | +| TCP/IP 详解 (卷 1: 协议) TCP/IP Illustrated Volume 1: The Protocols | 郑子涵 | zzh1996 AT mail.ustc.edu.cn | 2015 年 3 月 20 日 | 2015 年 9 月 1 日 | 2015 年 8 月 30 日 | \- | ## 2014 年借阅记录 -| 书名 | 借阅者 | 联系方式 | 借阅日期 | 应还日期 | 归还日期 | 读书报告(链接) | +| 书名 | 借阅者 | 联系方式 | 借阅日期 | 应还日期 | 归还日期 | 读书报告 (链接) | | ---------------------------------------- | ------------------ | ------------------------------ | ------------------- | ------------------- | ------------------- | ---------------------------------------------- | -| 社交网站的数据挖掘与分析 | 邱康, PB12210020 | - | 2014 年 9 月 23 日 | 2014 年 12 月 23 日 | 2015 年 3 月 8 日 | - | +| 社交网站的数据挖掘与分析 | 邱康,PB12210020 | - | 2014 年 9 月 23 日 | 2014 年 12 月 23 日 | 2015 年 3 月 8 日 | - | | 密战——网络犯罪大追踪 | boj | boj AT mail.ustc.edu.cn | 2014 年 9 月 4 日 | 2014 年 11 月 4 日 | 2014 年 11 月 27 日 | - | | 用户体验要素 | 周星,PB11011066 | zhou999 AT mail.ustc.edu.cn | 2014 年 12 月 9 日 | 2015 年 2 月 9 日 | 2014 年 12 月 17 日 | - | | 浪潮之巅 | 张静宁,PB14203209 | changchongning AT gmail.com | 2014 年 9 月 18 日 | 2014 年 11 月 18 日 | 2014 年 11 月 25 日 | [浪潮之巅读书笔记](https://jenny42.com/?p=108) | | 学习 Vi 和 Vim 编辑器 | 于天泽,PB14206077 | 15656587996 | 2014 年 9 月 26 日 | 2014 年 11 月 26 日 | 2014 年 11 月 20 日 | 归还到东区 | -| Python 开发技术详解 | 李建伟, SC14011001 | - | 2014 年 9 月 23 日 | 2014 年 11 月 23 日 | 2014 年 11 月 20 日 | - | +| Python 开发技术详解 | 李建伟,SC14011001 | - | 2014 年 9 月 23 日 | 2014 年 11 月 23 日 | 2014 年 11 月 20 日 | - | | 手把手教你构建自己的 Linux 系统 | 武慧友,SM14204033 | 18697555127 | 2014-09-26 | 2014-11-26 | 2014-10-25 | - | | Programming Android | 阴钰,PB13011038 | 18226611511 | 2014 年 9 月 26 日 | 2014 年 11 月 26 日 | 2014 年 11 月 25 | - | | HTML5 与 CSS 3 构成指南 | 吴昊,PB14000207 | markwh AT mail.ustc.edu.cn | 2014 年 9 月 26 日 | 2014 年 11 月 26 日 | 2015 年 3 月 14 日 | - | @@ -170,7 +170,7 @@ ## 2012 至 2013 年借阅记录 -| 书名 | 借阅者 | 联系方式 | 借阅日期 | 应还日期 | 归还日期 | 读书报告(链接) | +| 书名 | 借阅者 | 联系方式 | 借阅日期 | 应还日期 | 归还日期 | 读书报告 (链接) | | ------------------------------------------- | ------------- | ---------------------------- | ------------------- | ------------------- | --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 计算机组成与设计:硬件、软件接口(第 3 版) | Thomas Copper | | 2012 年 12 月 31 日 | 2013 年 | \- | \- | | 操作系统概念 7 | sadhen | sadhen AT mail.ustc.edu.cn | 2013/02/24 | 2013/04/24 | \- | \- | @@ -184,15 +184,15 @@ | C 语言程序设计 | 老祝 | | 2012 年 12 月 31 日 | | 2015 年(已还) | \- | | 科技想要什么 | boj | bojieli AT gmail.com | 2012-09-02 | 2012-11-02 | 不详(已还) | \- | | 人工智能 | boj | bojieli AT gmail.com | 2012-12-04 | 2013-02-04 | 2013-06-23 | \- | -| 鸟哥(基础学习篇) | 朱晟菁 | zsj950618 AT gmail.com | 2012-12-08 | 2013-02-08 | 2013 年 | [鸟哥的*linux*私房菜*--*基础学习篇\_读书笔记](/wiki/linux_digest/reading_notes/zsj_niao_linux_sfc_basic_readnote "linux_digest:reading_notes:zsj_niao_linux_sfc_basic_readnote") | +| 鸟哥 (基础学习篇) | 朱晟菁 | zsj950618 AT gmail.com | 2012-12-08 | 2013-02-08 | 2013 年 | [鸟哥的*linux*私房菜*--*基础学习篇\_读书笔记](/wiki/linux_digest/reading_notes/zsj_niao_linux_sfc_basic_readnote "linux_digest:reading_notes:zsj_niao_linux_sfc_basic_readnote") | | Node.js 开发指南 | 林太星 | | 2012-12-24 | 2013-02-24 | 2013-05-12 | \- | | 《黑客与画家》 | sadhen | sadhen1992 AT gmail.com | 2012-12-31 | 2013-03-01 | 2013-01-12 | [《黑客与画家》读书笔记](/wiki/user/sadhen/hackers_and_painters "user:sadhen:hackers_and_painters") | | 《Git 权威指南》 | sadhen | sadhen1992 AT gmail.com | 2012-12-31 | 2013-03-01 | 不详(已还) | - | -| 失控: 全人类的最终命运和结局 | jxl | jxl888 AT mail.ustc.edu.cn | 2013-02-25 | 2013-04-25 | 2013-05-27 | \- | +| 失控:全人类的最终命运和结局 | jxl | jxl888 AT mail.ustc.edu.cn | 2013-02-25 | 2013-04-25 | 2013-05-27 | \- | ## 2011 借阅记录 -| 书名 | 借阅者 | 联系方式 | 借阅日期 | 应还日期 | 归还日期 | 读书报告(链接) | +| 书名 | 借阅者 | 联系方式 | 借阅日期 | 应还日期 | 归还日期 | 读书报告 (链接) | | ------------------------------- | ------------------------ | ------------------------------------ | ---------- | --------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------- | | 系统管理指南 Apache | 张昊翀 | solomon DOT zhc AT gmail DOT com | 2010.12.13 | 2011.2.16 | 2011.1.9 | [读书报告](http://goodchong.com/administering-apache-read-report/ "http://goodchong.com/administering-apache-read-report/") | | 学习 GUN Emacs | 王光远 SA08006038 | ieee AT mail.ustc.edu.cn 13696544286 | 2011.1.6 | 2011.3.6 | 2011.3.3 | [读书报告](/wiki/linux_digest/reading_notes/wang-guangyuan-emacs-read-digest "linux_digest:reading_notes:wang-guangyuan-emacs-read-digest") | From 3259d52a7e55930a433fe257a91aa11ca0dac812 Mon Sep 17 00:00:00 2001 From: TianKai Ma Date: Sun, 15 Sep 2024 01:34:15 +0800 Subject: [PATCH 30/59] feat: adjust links and add reasons --- .../2012/2012-09-14-sfd-2012-hefei-ustc.md | 2 +- .../2013-04-22-linux-make-everything-easy.md | 10 ++++----- ...15-linux-tshirt-voting-result-and-order.md | 2 +- ...2015-09-13-lug-banshan-commission-guide.md | 2 +- pages/_news/2024/2024-08-15-SFD-Prep.md | 10 ++++----- .../2024-05-10-onedrive-backup-with-rclone.md | 2 +- pages/_wiki/doc/editing.md | 21 +++++++++++++++++++ pages/_wiki/doc/howtoask.md | 4 ++-- pages/_wiki/lug/events/index.md | 6 +++--- pages/_wiki/newhere.md | 6 +++--- pages/_wiki/user/sadhen/android.md | 2 +- 11 files changed, 44 insertions(+), 23 deletions(-) diff --git a/pages/_news/2012/2012-09-14-sfd-2012-hefei-ustc.md b/pages/_news/2012/2012-09-14-sfd-2012-hefei-ustc.md index 45c80b7342..0d720e9329 100644 --- a/pages/_news/2012/2012-09-14-sfd-2012-hefei-ustc.md +++ b/pages/_news/2012/2012-09-14-sfd-2012-hefei-ustc.md @@ -45,7 +45,7 @@ Linux 上有什么好玩的小游戏? 还有 Linux Deepin 12.06, Qomo 等 Linux 发行版的官方光碟,一共有 80 张,在多功能厅门口发放,先到先得哦~ -承办者:[中国科学技术大学 Linux 用户协会](http://lug.ustc.edu.cn/) +承办者:[中国科学技术大学 Linux 用户协会](/) 时间:    2012 年 9 月 15 日上午 9:30 diff --git a/pages/_news/2013/2013-04-22-linux-make-everything-easy.md b/pages/_news/2013/2013-04-22-linux-make-everything-easy.md index cd4dc8af74..bc96784b79 100644 --- a/pages/_news/2013/2013-04-22-linux-make-everything-easy.md +++ b/pages/_news/2013/2013-04-22-linux-make-everything-easy.md @@ -13,20 +13,20 @@ comments: [] ![](https://ftp.lug.ustc.edu.cn/wp-content/uploads/2013/04/1.jpg) -李博杰首先带来了《OS 和网络从这里走来》([slides](http://lug.ustc.edu.cn/ftp/events/2013.04.21_%e8%ae%a1%e9%99%a2%e8%ae%b2%e5%ba%a7/slides/OS%e5%92%8c%e7%bd%91%e7%bb%9c%e4%bb%8e%e8%bf%99%e9%87%8c%e8%b5%b0%e6%9d%a5.pdf)),从 UNIX 操作系统的诞生、兴起讲到 AT&T 的封闭与 UNIX 的分裂,再到 GNU 计划和 Linux 的诞生,回顾了这段波澜壮阔的操作系统进化史。目前,Linux 垄断了高性能计算,并被互联网公司广泛采用,以 Linux 为主阵地的黑客文化还孕育了自由编程语言、开源硬件。从浏览器发展史和 User-Agent 的乱象,引出 Web 开放的趋势。最后,用《大教堂与集市》分析了 Linux 成功的原因。 +李博杰首先带来了《OS 和网络从这里走来》([slides](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2013.04.21_%E8%AE%A1%E9%99%A2%E8%AE%B2%E5%BA%A7/slides/OS%e5%92%8c%e7%bd%91%e7%bb%9c%e4%bb%8e%e8%bf%99%e9%87%8c%e8%b5%b0%e6%9d%a5.pdf)),从 UNIX 操作系统的诞生、兴起讲到 AT&T 的封闭与 UNIX 的分裂,再到 GNU 计划和 Linux 的诞生,回顾了这段波澜壮阔的操作系统进化史。目前,Linux 垄断了高性能计算,并被互联网公司广泛采用,以 Linux 为主阵地的黑客文化还孕育了自由编程语言、开源硬件。从浏览器发展史和 User-Agent 的乱象,引出 Web 开放的趋势。最后,用《大教堂与集市》分析了 Linux 成功的原因。 在随后的互动环节中,回答出问题的两名同学获得了 U 盘。 ![](https://ftp.lug.ustc.edu.cn/wp-content/uploads/2013/04/2.jpg) -接下来是郭家华的《Linux 让你更懂计算机》([slides](http://lug.ustc.edu.cn/ftp/events/2013.04.21_%e8%ae%a1%e9%99%a2%e8%ae%b2%e5%ba%a7/slides/Linux%e8%ae%a9%e4%bd%a0%e6%9b%b4%e6%87%82%e8%ae%a1%e7%ae%97%e6%9c%ba.pdf))。首先,他以娴熟的操作演示了从硬盘中恢复被删除的数据,将硬盘 MBR 的结构、“设备即文件”的概念和一些瑞士军刀式的 Linux 命令融入其中。然后,他演示了用 tcpdump 等抓包工具分析网络状况。最后,他以 acm.ustc.edu.cn 评测系统为例讲解了传统程序限制方法的“不靠谱”和用 ptrace 拦截系统调用的沙盒原理。听众们在膜拜技术之余,还体会到 Linux 工具庖丁解牛般的强大。 +接下来是郭家华的《Linux 让你更懂计算机》([slides](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2013.04.21_%e8%ae%a1%e9%99%a2%e8%ae%b2%e5%ba%a7/slides/Linux%e8%ae%a9%e4%bd%a0%e6%9b%b4%e6%87%82%e8%ae%a1%e7%ae%97%e6%9c%ba.pdf))。首先,他以娴熟的操作演示了从硬盘中恢复被删除的数据,将硬盘 MBR 的结构、“设备即文件”的概念和一些瑞士军刀式的 Linux 命令融入其中。然后,他演示了用 tcpdump 等抓包工具分析网络状况。最后,他以 acm.ustc.edu.cn 评测系统为例讲解了传统程序限制方法的“不靠谱”和用 ptrace 拦截系统调用的沙盒原理。听众们在膜拜技术之余,还体会到 Linux 工具庖丁解牛般的强大。 ![](https://ftp.lug.ustc.edu.cn/wp-content/uploads/2013/04/3.jpg) -接下来沈达为我们带来了《可爱的 Python》([slides](http://lug.ustc.edu.cn/ftp/events/2013.04.21_%e8%ae%a1%e9%99%a2%e8%ae%b2%e5%ba%a7/slides/cutepython.pdf))。首先,他简短地介绍了 Python 的优雅特征、编程思想和一些好玩的应用。随后由听众提出问题,他来回答。科学计算中 Python 和 Fortran 的比较,从程序语言角度 Python 和 C 的比较,Web 开发中 Python 是否合适……沈达将“程序语言的选择一方面是需求,一方面是兴趣”的观点融入互动问答,从多个角度诠释了黑客文化。 +接下来沈达为我们带来了《可爱的 Python》([slides](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2013.04.21_%e8%ae%a1%e9%99%a2%e8%ae%b2%e5%ba%a7/slides/cutepython.pdf))。首先,他简短地介绍了 Python 的优雅特征、编程思想和一些好玩的应用。随后由听众提出问题,他来回答。科学计算中 Python 和 Fortran 的比较,从程序语言角度 Python 和 C 的比较,Web 开发中 Python 是否合适……沈达将“程序语言的选择一方面是需求,一方面是兴趣”的观点融入互动问答,从多个角度诠释了黑客文化。 在最后的互动环节中,回答出问题的一名同学和最先提出问题的两名同学获得了 U 盘。活动在大家热烈的讨论中成功结束。 -[本次活动的所有 slides](http://lug.ustc.edu.cn/ftp/events/2013.04.21_%E8%AE%A1%E9%99%A2%E8%AE%B2%E5%BA%A7/slides/) +[本次活动的所有 slides](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2013.04.21_%E8%AE%A1%E9%99%A2%E8%AE%B2%E5%BA%A7/slides/) -[本次活动的所有照片](http://lug.ustc.edu.cn/ftp/events/2013.04.21_%E8%AE%A1%E9%99%A2%E8%AE%B2%E5%BA%A7/photo/) +[本次活动的所有照片](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2013.04.21_%E8%AE%A1%E9%99%A2%E8%AE%B2%E5%BA%A7/photo/) diff --git a/pages/_news/2015/2015-05-29-2015-linux-tshirt-voting-result-and-order.md b/pages/_news/2015/2015-05-29-2015-linux-tshirt-voting-result-and-order.md index c9d98579c6..5f0242a9b3 100644 --- a/pages/_news/2015/2015-05-29-2015-linux-tshirt-voting-result-and-order.md +++ b/pages/_news/2015/2015-05-29-2015-linux-tshirt-voting-result-and-order.md @@ -54,7 +54,7 @@ comments: # 投票结果 -这次版衫制作,[征集到的设计方案](https://lug.ustc.edu.cn/blog/2015/05/2015-linux-user-group-banshan/) 最后的投票结果是: +这次版衫制作,[征集到的设计方案](https://lug.ustc.edu.cn/news/2015/05/2015-linux-user-group-banshan/) 最后的投票结果是: ``` (A) 方案一 5 票 约占 3% diff --git a/pages/_news/2015/2015-09-13-lug-banshan-commission-guide.md b/pages/_news/2015/2015-09-13-lug-banshan-commission-guide.md index a4a67fc85f..2dc8430224 100644 --- a/pages/_news/2015/2015-09-13-lug-banshan-commission-guide.md +++ b/pages/_news/2015/2015-09-13-lug-banshan-commission-guide.md @@ -105,7 +105,7 @@ comments: [] BBS: [方案征集](http://bbs.ustc.edu.cn/cgi/bbscon?bn=Linux&fn=M5545E657&num=24002) & [版衫投票](http://bbs.ustc.edu.cn/cgi/bbscon?bn=Linux&fn=M555DBEA7&num=23632) & [版衫预定](http://bbs.ustc.edu.cn/cgi/bbscon?bn=Linux&fn=M5568036D&num=23659) & [版衫领取](http://bbs.ustc.edu.cn/cgi/bbscon?bn=Linux&fn=M557D8D62&num=23748) & [问题反馈](http://bbs.ustc.edu.cn/cgi/bbscon?bn=Linux&fn=M557E636C&num=23759) -LUG 博客:[方案整理](https://lug.ustc.edu.cn/blog/2015/05/2015-linux-user-group-banshan/) & [预定说明](https://lug.ustc.edu.cn/blog/2015/05/2015-linux-tshirt-voting-result-and-order/) +LUG 博客:[方案整理](https://lug.ustc.edu.cn/news/2015/05/2015-linux-user-group-banshan/) & [预定说明](https://lug.ustc.edu.cn/news/2015/05/2015-linux-tshirt-voting-result-and-order/) [投票链接](http://www.sojump.com/jq/5057174.aspx) diff --git a/pages/_news/2024/2024-08-15-SFD-Prep.md b/pages/_news/2024/2024-08-15-SFD-Prep.md index 1e4dc083f2..536037615e 100644 --- a/pages/_news/2024/2024-08-15-SFD-Prep.md +++ b/pages/_news/2024/2024-08-15-SFD-Prep.md @@ -13,10 +13,10 @@ tags: [] 今年的软件自由日活动预计于 2024 年 9 月 21 日(九月第三个星期六)于中国科学技术大学(合肥)举行,**现面向校内外所有社区成员公开征集软件自由日讲座或其他与主题有关的活动**,有意愿的社区成员可尽快联系我们。 -联系方式见: +[联系方式](/wiki/lug/contact) -往届活动和详细介绍见: +[往届活动和详细介绍](/wiki/lug/events/sfd) -- [2023 SFD](https://lug.ustc.edu.cn/news/2023/09/SFD/) -- [2022 SFD](https://lug.ustc.edu.cn/news/2022/09/SFD/) -- [2021 SFD](https://lug.ustc.edu.cn/news/2021/09/SFD/) +- [2023 SFD](/news/2023/09/SFD/) +- [2022 SFD](/news/2022/09/SFD/) +- [2021 SFD](/news/2021/09/SFD/) diff --git a/pages/_planet/2024-05-10-onedrive-backup-with-rclone.md b/pages/_planet/2024-05-10-onedrive-backup-with-rclone.md index b33c5a9d67..b35bd797b1 100644 --- a/pages/_planet/2024-05-10-onedrive-backup-with-rclone.md +++ b/pages/_planet/2024-05-10-onedrive-backup-with-rclone.md @@ -247,4 +247,4 @@ Rclone 是个非常强大的工具,支持的云存储服务也非常多,你 限于篇幅和时间关系,本文只介绍了 Rclone 的基本使用方法,更多的功能和用法请参考 [Rclone 官方文档](https://rclone.org/docs/)。 -如果您对这篇内容有任何问题或建议,欢迎 [联系我们](https://lug.ustc.edu.cn/wiki/lug/contact/)。 +如果您对这篇内容有任何问题或建议,欢迎 [联系我们](/wiki/lug/contact/)。 diff --git a/pages/_wiki/doc/editing.md b/pages/_wiki/doc/editing.md index 11cf76cfb8..031a0df2b9 100644 --- a/pages/_wiki/doc/editing.md +++ b/pages/_wiki/doc/editing.md @@ -30,6 +30,9 @@ 在修订时,有很多内容仍然存在「BBS」、「邮件列表」等不再密集使用的平台信息,调整后,上述联系方式都以链接的形式统一指向 [联系我们](/wiki/lug/contact/) 这唯一的页面。 + 出于备份的考虑,[News](/news) 下的页面均未更新这些内容,但是将邮件地址调整为图片 (仅官方邮件地址)。 + {: .notice--info} + 此外 [wiki 首页](/wiki/) 有一个简短的介绍,如需更新也请注意 {: .notice--info} @@ -48,3 +51,21 @@ 5. **排版美观** 例如在这个页面中,每个子项标题加粗,同时提示内容使用 `{: .notice--info}` 标签,使得页面更易读。同时在链接前后保留空格。 + +> **关于 Markdown 站内链接的使用** +> +> 目前 Jekyll 的配置支持使用「直接指向 `.md` 文件链接 (相对目录)」的写法,但是并未全站采用这样的做法,理由如下: +> +> 1. 目录与文件名重名的问题,例如之前 `_wiki/` 目录下同时存在 `./scripts.md` 和 `./scripts/`。现将 `./scripts.md` 调整到 `./scripts/index.md`,并在其中配置 `permalink: /wiki/scripts/` 以保持原有链接的有效性。 +> +> - 在这个例子中,书写 `../../_wiki/scripts/index.md` 显然不如书写 `/wiki/scripts/` 来的简洁,因此没有调整。 +> +> - 建议所有站内链接以 `/` 结尾,以保持一致性。 +> +> - 本次调整中未更新已经完全失效的链接 +> +> - 将所有 `lug.ustc.edu.cn` 的站内链接全部调整为 `/` +> +> - 挽救了部分 FTP 目录迁移的链接 +> +> 2. 在 News 页面下使用了 `.md` 的写法,例如 [这篇文章](/news/2021/06/lug-banshan-order/) 直接引用同目录文件 `2021-04-27-lug-banshan.md`;我们也推荐 News 下所有目录采用这样的写法。 diff --git a/pages/_wiki/doc/howtoask.md b/pages/_wiki/doc/howtoask.md index 865ac71820..39b771aabd 100644 --- a/pages/_wiki/doc/howtoask.md +++ b/pages/_wiki/doc/howtoask.md @@ -10,7 +10,7 @@ License: CC-BY-NC-SA 4.0 关于如何提问,有一些相关的文档,诸如: -- 提问的智慧([原文](http://www.catb.org/~esr/faqs/smart-questions.html),[中文](https://lug.ustc.edu.cn/wiki/doc/smart-questions/)) +- 提问的智慧([原文](http://www.catb.org/~esr/faqs/smart-questions.html),[中文](/wiki/doc/smart-questions/)) - [别像弱智一样提问](https://github.com/tangx/Stop-Ask-Questions-The-Stupid-Ways/blob/master/README.md) 本文不是这些文档的替代,而是旨在用简洁、清晰、友好的语言表述与提问相关的注意事项,并且给出相关的正例与反例(真实的例子会做匿名化处理),以便快速了解相关的注意点。 @@ -331,7 +331,7 @@ A2: 要用 curl.exe 调用才行 可以考虑从以下一些方式解决问题: - 线下咨询。 - - Tip: [LUG 在西区与高新区的活动室](https://lug.ustc.edu.cn/wiki/lug/contact/#%E9%9D%A2%E5%AF%B9%E9%9D%A2%E4%BA%A4%E6%B5%81),只要房间里有人就可以进来(可以来之前在群里问一下) + - Tip: [LUG 在西区与高新区的活动室](/wiki/lug/contact/#%E9%9D%A2%E5%AF%B9%E9%9D%A2%E4%BA%A4%E6%B5%81),只要房间里有人就可以进来(可以来之前在群里问一下) - 向对应服务/软件的维护人员提交工单 - Tip: 科大网络信息中心报修系统 diff --git a/pages/_wiki/lug/events/index.md b/pages/_wiki/lug/events/index.md index 41cb3a61af..8bf27d8efd 100644 --- a/pages/_wiki/lug/events/index.md +++ b/pages/_wiki/lug/events/index.md @@ -25,7 +25,7 @@ permalink: /wiki/lug/events/ | 2024-03-09 | 14:30 | 西区 3C102 | Linux 101 第一课:Linux Install Party | | 2023-10-28 | 12:00 | 线上(持续一周) | 中国科学技术大学第十届信息安全大赛 | | 2023-10-27 | 19:00-20:30 | 西区 3C 101 | [Hackergame 赛前动员会](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2023.10.27_Hackergame%E5%8A%A8%E5%91%98%E4%BC%9A/) | -| 2023-09-16 | 14:30-17:30 | 西区 3C 101 | [软件自由日](https://lug.ustc.edu.cn/news/2023/09/SFD/) | +| 2023-09-16 | 14:30-17:30 | 西区 3C 101 | [软件自由日](/news/2023/09/SFD/) | | 2023-09-02 | 14:30 | 西区 3A 102 | 2023 秋季学期新生活力课堂 | | 2023-05-02 | 18:00 | 线上 | LUG 全员大会 & 劳动节主题团支部大会 | | 2023-04-22 | 14:30 | 线上 | Linux 101 第二课:命令行介绍 | @@ -36,8 +36,8 @@ permalink: /wiki/lug/events/ | 2022-11-13 | 19:00 | 线上 | [LUG 全员大会](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2022.11.13_%E5%85%A8%E5%91%98%E5%A4%A7%E4%BC%9A/) | | 2022-10-22 | 12:00 | 线上(持续一周) | 中国科学技术大学第九届信息安全大赛 | | 2022-10-21 | 19:00-21:00 | 线上 | [Hackergame 赛前动员会](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2022.10.23_Hackergame/video/) | -| 2022-09-17 | 14:00-17:30 | 西区 3C 101 | [软件自由日](https://lug.ustc.edu.cn/news/2022/09/SFD/) | -| 2022-08-29 | 至 2022-09-02 | 西区第三教学楼、东区第二教学楼 | [2022 秋季学期新生系列活动](https://lug.ustc.edu.cn/news/2022/09/2022-freshman-course/) | +| 2022-09-17 | 14:00-17:30 | 西区 3C 101 | [软件自由日](/news/2022/09/SFD/) | +| 2022-08-29 | 至 2022-09-02 | 西区第三教学楼、东区第二教学楼 | [2022 秋季学期新生系列活动](/news/2022/09/2022-freshman-course/) | | 2022-05-08 | 9:30-17:00 | 中区三号楼创新实践基地 | 复古计算和无线电展 | | 2022-04-17 | 14:30-16:00 | 线上 | Linux 101 第三课:Linux 上的编程 [Slides](http://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2022.4.17_linux_101_%E7%AC%AC%E4%B8%89%E8%AF%BE/Linux%20101%20%E7%AC%AC%E4%B8%89%E8%AF%BE%EF%BC%9ALinux%20%E4%B8%8A%E7%9A%84%E7%BC%96%E7%A8%8B.pdf) | | 2022-04-03 | 14:30-17:30 | 线上 | Linux 101 第二课:命令行基础 [Slides](http://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2022.4.3_linux_101_%E7%AC%AC%E4%BA%8C%E8%AF%BE/Linux%20101%20Lesson%202.pdf) | diff --git a/pages/_wiki/newhere.md b/pages/_wiki/newhere.md index bcee6fa176..83b432ce7b 100644 --- a/pages/_wiki/newhere.md +++ b/pages/_wiki/newhere.md @@ -11,9 +11,9 @@ ## 网站指引 -- [新闻区](https://lug.ustc.edu.cn/news/):这里有 LUG 的各类新闻,包括社团的公共事务、各类社团活动,以及一些服务的维护信息。值得注意的是,我们的活动并非仅限社团成员参加,所以欢迎来玩! -- [Wiki](https://lug.ustc.edu.cn/wiki/intro/):社团的介绍和相关信息,以及包含我们的[联系方式](https://lug.ustc.edu.cn/wiki/lug/contact/)(注:我们也有社交媒体的公众账号,所以如果想通过 QQ 和微信这类软件收到新闻消息,请在这里找到这些社交媒体的账号)和值得一看的文档:[Linux 文摘](https://lug.ustc.edu.cn/wiki/linux_digest/),[校园网](https://lug.ustc.edu.cn/wiki/doc/ustcnet-faq/),[如何提问的指引](https://lug.ustc.edu.cn/wiki/doc/howtoask/)。 -- [服务](https://lug.ustc.edu.cn/wiki/lug/services/):我们提供的各种公共网络服务的列表。而有关服务器的状态信息,请看[服务器新闻](https://servers.ustclug.org/)。 +- [新闻区](/news/):这里有 LUG 的各类新闻,包括社团的公共事务、各类社团活动,以及一些服务的维护信息。值得注意的是,我们的活动并非仅限社团成员参加,所以欢迎来玩! +- [Wiki](/wiki/intro/):社团的介绍和相关信息,以及包含我们的[联系方式](/wiki/lug/contact/)(注:我们也有社交媒体的公众账号,所以如果想通过 QQ 和微信这类软件收到新闻消息,请在这里找到这些社交媒体的账号)和值得一看的文档:[Linux 文摘](/wiki/linux_digest/),[校园网](/wiki/doc/ustcnet-faq/),[如何提问的指引](/wiki/doc/howtoask/)。 +- [服务](/wiki/lug/services/):我们提供的各种公共网络服务的列表。而有关服务器的状态信息,请看[服务器新闻](https://servers.ustclug.org/)。 - [Linux 101](https://101.lug.ustc.edu.cn/):如果您不熟悉 Linux 类操作系统,且想在短时间内入门,那么这是一个易于上手的教程,值得一试。 - [FTP](https://ftp.lug.ustc.edu.cn/):我们的资料存放位置。 diff --git a/pages/_wiki/user/sadhen/android.md b/pages/_wiki/user/sadhen/android.md index dcf33a1952..837d8fb366 100644 --- a/pages/_wiki/user/sadhen/android.md +++ b/pages/_wiki/user/sadhen/android.md @@ -27,5 +27,5 @@ ## 参考资料 - + [图书馆查询机系统的制作与启动过程](http://lug.ustc.edu.cn/~guo/doc/library_query_os.pdf "http://lug.ustc.edu.cn/~guo/doc/library_query_os.pdf") From 14542c8e3e4508d0c516d49580f981cee46f8c75 Mon Sep 17 00:00:00 2001 From: TianKai Ma Date: Tue, 17 Sep 2024 13:35:51 +0800 Subject: [PATCH 31/59] fix: update polyfill.io --- _includes/head.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/head.html b/_includes/head.html index 9c8a48ec5e..d8c9ba6f48 100644 --- a/_includes/head.html +++ b/_includes/head.html @@ -43,6 +43,6 @@ } } - + {% endif %} From 6428b6d72c38f9f8a2788868a9b254adbe98bc47 Mon Sep 17 00:00:00 2001 From: TianKai Ma Date: Tue, 17 Sep 2024 13:54:41 +0800 Subject: [PATCH 32/59] feat: introduce autocorrect --- .github/workflows/build.yml | 216 +++++++++++++++++++----------------- 1 file changed, 116 insertions(+), 100 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1fbcc4fe77..403badd7d5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -2,123 +2,139 @@ name: build on: push: - branches: ['*'] + branches: ["*"] pull_request: - branches: ['*'] + branches: ["*"] workflow_dispatch: permissions: contents: write + pull-requests: write jobs: build: runs-on: ubuntu-latest env: - LSI: 'true' + LSI: "true" steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - uses: ruby/setup-ruby@v1 - with: - ruby-version: '3.0' - - uses: actions/setup-node@v4 - with: - node-version: 20 + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - uses: ruby/setup-ruby@v1 + with: + ruby-version: "3.0" + - uses: actions/setup-node@v4 + with: + node-version: 20 - - name: Cache Ruby gems - uses: actions/cache@v4 - env: - CACHE_ID: 1 - with: - path: | - Gemfile.lock - vendor/bundle - key: ${{ runner.os }}-bundler-${{ env.CACHE_ID }}-${{ hashFiles('Gemfile') }} - restore-keys: | - ${{ runner.os }}-bundler-${{ env.CACHE_ID }}- - - name: Cache Node modules - uses: actions/cache@v4 - env: - CACHE_ID: 1 - with: - path: ~/.npm - key: ${{ runner.os }}-npm-${{ env.CACHE_ID }}-${{ hashFiles('**/package-lock.json') }} - restore-keys: | - ${{ runner.os }}-npm-${{ env.CACHE_ID }}- + - name: Cache Ruby gems + uses: actions/cache@v4 + env: + CACHE_ID: 1 + with: + path: | + Gemfile.lock + vendor/bundle + key: ${{ runner.os }}-bundler-${{ env.CACHE_ID }}-${{ hashFiles('Gemfile') }} + restore-keys: | + ${{ runner.os }}-bundler-${{ env.CACHE_ID }}- + - name: Cache Node modules + uses: actions/cache@v4 + env: + CACHE_ID: 1 + with: + path: ~/.npm + key: ${{ runner.os }}-npm-${{ env.CACHE_ID }}-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-npm-${{ env.CACHE_ID }}- - - name: Install dependencies - run: | - bundle config set --local path vendor/bundle - bundle config set without 'development' - bundle install --jobs=4 --retry=3 - bundle clean - npm install --include=dev + - name: Install dependencies + run: | + bundle config set --local path vendor/bundle + bundle config set without 'development' + bundle install --jobs=4 --retry=3 + bundle clean + npm install --include=dev - - name: Prettier check - id: prettier - run: npm run check - - name: Prettier fix - if: "failure() && steps.prettier.outcome == 'failure'" - run: npm run fix - - name: Submit PR for prettier fix - if: "failure() && steps.prettier.outcome == 'failure' && github.ref == 'refs/heads/master'" - uses: peter-evans/create-pull-request@v6 - with: - commit-message: 'Prettier auto fix from GitHub Actions run ${{ github.run_number }}' - assignees: '${{ github.actor }}' - branch: prettier-auto-fix - delete-branch: true - title: 'Fix Prettier formatting from GitHub Actions run ${{ github.run_number }}' - body: | - Attempt to automatically fix Prettier formatting issues in ${{ github.sha }}. + - name: "Linting: autocorrect" + continue-on-error: true + run: | + curl -fsSL https://raw.githubusercontent.com/huacnlee/autocorrect/main/install | sh + autocorrect --fix - This PR is generated by GitHub Actions [run ${{ github.run_number }}](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}). Please choose **Squash and Merge** for this PR. + - name: Prettier fix + continue-on-error: true + run: npm run fix - - name: Prepare build - if: github.ref == 'refs/heads/master' - run: | - git clone --depth=1 --branch=gh-pages --single-branch --no-checkout \ - "https://${GITHUB_ACTOR}:${{ secrets.GITHUB_TOKEN }}@github.com/${GITHUB_REPOSITORY}.git" \ - _site - - name: Run Jekyll Doctor - run: | - bundle exec jekyll doctor --trace --profile - env: - JEKYLL_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Determine if a PR should be submitted + if: github.ref == 'refs/heads/master' + id: file_changes + run: | + git add -A + if git diff-index --quiet --cached HEAD --; then + echo "should_submit=false" >> "$GITHUB_OUTPUT" + else + echo "should_submit=true" >> "$GITHUB_OUTPUT" + fi - - name: Build site - run: | - bundle exec jekyll build --trace --profile - : > _site/.nojekyll - env: - JEKYLL_ENV: production - JEKYLL_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Submit PR from linting + if: steps.file_changes.outputs.should_submit == 'true' && github.ref == 'refs/heads/master' + uses: peter-evans/create-pull-request@v6 + with: + commit-message: "Auto fix formatting from GitHub Actions run ${{ github.run_number }}" + assignees: "${{ github.actor }}" + branch: auto-fix-actions-${{ github.run_number }} + delete-branch: true + title: "Fix formatting from GitHub Actions run ${{ github.run_number }}" + body: | + Attempt to automatically fix formatting issues in ${{ github.sha }}. - - name: Deploy to GitHub Pages - if: github.ref == 'refs/heads/master' - run: | - CINFO="$(git log -1 --pretty="%an: [%h] %s")" - pushd _site/ &>/dev/null - echo -n lug.ustc.edu.cn > CNAME - git add -A - git -c user.name=GitHub -c user.email=noreply@github.com commit \ - -m "Auto deploy from GitHub Actions build ${GITHUB_RUN_NUMBER}" \ - -m "$CINFO" - git push - popd &>/dev/null + This PR is generated by GitHub Actions [run ${{ github.run_number }}](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}). Please choose **Squash and Merge** for this PR. - - name: Update Algolia index - if: github.ref == 'refs/heads/master' - run: bundle exec jekyll algolia push - env: - ALGOLIA_API_KEY: ${{ secrets.ALGOLIA_API_KEY }} - JEKYLL_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - continue-on-error: true + - name: Prepare build + if: github.ref == 'refs/heads/master' + run: | + git clone --depth=1 --branch=gh-pages --single-branch --no-checkout \ + "https://${GITHUB_ACTOR}:${{ secrets.GITHUB_TOKEN }}@github.com/${GITHUB_REPOSITORY}.git" \ + _site + - name: Run Jekyll Doctor + run: | + bundle exec jekyll doctor --trace --profile + env: + JEKYLL_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Call webhook - if: "github.repository == 'ustclug/website' && github.ref == 'refs/heads/master'" - continue-on-error: true - env: - WEBHOOK_SECRET: ${{ secrets.WEBHOOK_SECRET }} - run: ruby _scripts/webhook.rb + - name: Build site + run: | + bundle exec jekyll build --trace --profile + : > _site/.nojekyll + env: + JEKYLL_ENV: production + JEKYLL_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Deploy to GitHub Pages + if: github.ref == 'refs/heads/master' + run: | + CINFO="$(git log -1 --pretty="%an: [%h] %s")" + pushd _site/ &>/dev/null + echo -n lug.ustc.edu.cn > CNAME + git add -A + git -c user.name=GitHub -c user.email=noreply@github.com commit \ + -m "Auto deploy from GitHub Actions build ${GITHUB_RUN_NUMBER}" \ + -m "$CINFO" + git push + popd &>/dev/null + + - name: Update Algolia index + if: github.ref == 'refs/heads/master' + run: bundle exec jekyll algolia push + env: + ALGOLIA_API_KEY: ${{ secrets.ALGOLIA_API_KEY }} + JEKYLL_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + continue-on-error: true + + - name: Call webhook + if: "github.repository == 'ustclug/website' && github.ref == 'refs/heads/master'" + continue-on-error: true + env: + WEBHOOK_SECRET: ${{ secrets.WEBHOOK_SECRET }} + run: ruby _scripts/webhook.rb From 3369fc2fea4e6bf2be3e58b765e1f1adc7560800 Mon Sep 17 00:00:00 2001 From: tiankaima <91816094+tiankaima@users.noreply.github.com> Date: Tue, 17 Sep 2024 05:59:28 +0000 Subject: [PATCH 33/59] Auto fix formatting from GitHub Actions run 742 --- _includes/footer.html | 2 +- pages/_news/2018/2018-05-24-SOSCON18.md | 2 +- .../2020-05-10-opensource-summer-projects.md | 4 +- .../2023-03-19-hackergame-award-ceremony.md | 2 +- .../2023-04-02-Linux_Install_Party_2023.md | 4 +- .../_news/2023/2023-12-09-gathering-debug.md | 2 +- .../_news/2023/2023-12-17-hackergame-2023.md | 2 +- pages/_news/2024/2024-03-24-Linux101-2.md | 2 +- .../2018-08-08-USTC-Linux-user-guide.md | 4 +- pages/_planet/2018-10-07-PXE-intro.md | 8 +-- pages/_planet/2019-08-28-NFS-intro.md | 2 +- ...20-08-06-keeping-account-with-beancount.md | 18 ++--- pages/_planet/2020-12-19-tic-toc-in-kernel.md | 6 +- .../2021-01-25-physexp-using-python.md | 16 ++--- pages/_wiki/doc/smart-questions.md | 26 +++---- pages/_wiki/greenwarm/index.md | 2 +- pages/_wiki/greenwarm/multimedia.md | 6 +- pages/_wiki/greenwarm/remotedesktop.md | 70 +++++++++--------- pages/_wiki/greenwarm/virtualization.md | 24 +++---- pages/_wiki/greenwarm/win32free.md | 6 +- ...13\344\270\216\344\275\277\347\224\250.md" | 72 +++++++++---------- pages/_wiki/linux_digest/badblocks.md | 2 +- pages/_wiki/linux_digest/crontab.md | 6 +- pages/_wiki/linux_digest/expasy-ps_scan.md | 2 +- pages/_wiki/linux_digest/lftp.md | 8 +-- .../reading_notes/ruoshan-lfs-read-notes.md | 6 +- .../wang-guangyuan-emacs-read-digest.md | 4 +- .../zsj_niao_linux_sfc_basic_readnote.md | 2 +- pages/_wiki/linux_digest/screen.md | 10 +-- pages/_wiki/linux_digest/smartmontools.md | 4 +- pages/_wiki/lug/book/borrow_book.md | 2 +- pages/_wiki/lug/events/poster.md | 2 +- pages/_wiki/lug/finance/archive.md | 22 +++--- pages/_wiki/lug/finance/donate_lookup.md | 24 +++---- pages/_wiki/lug/finance/index.html | 2 +- pages/_wiki/redsky/vim_note.md | 10 +-- pages/_wiki/sec/activity.html | 14 ++-- pages/_wiki/sec/codes.html | 50 ++++++------- pages/_wiki/sec/contest.html | 20 +++--- pages/_wiki/sec/crypto.html | 10 +-- pages/_wiki/sec/ctflab.html | 2 +- pages/_wiki/sec/deadline.html | 4 +- pages/_wiki/sec/home.html | 6 +- pages/_wiki/sec/lecture.html | 2 +- pages/_wiki/sec/nationalcontest.html | 6 +- pages/_wiki/sec/news.html | 20 +++--- pages/_wiki/sec/professor.html | 2 +- pages/_wiki/sec/provincecontest.html | 6 +- pages/_wiki/sec/qqgroup.html | 18 ++--- pages/_wiki/sec/report.html | 4 +- pages/_wiki/sec/resource.html | 2 +- pages/_wiki/sec/studyplan.html | 6 +- pages/_wiki/sec/subrepresent.html | 12 ++-- 53 files changed, 285 insertions(+), 285 deletions(-) diff --git a/_includes/footer.html b/_includes/footer.html index 843b0792d8..f784a0879f 100644 --- a/_includes/footer.html +++ b/_includes/footer.html @@ -30,7 +30,7 @@ diff --git a/pages/_news/2018/2018-05-24-SOSCON18.md b/pages/_news/2018/2018-05-24-SOSCON18.md index 1215667d6d..04516e0855 100644 --- a/pages/_news/2018/2018-05-24-SOSCON18.md +++ b/pages/_news/2018/2018-05-24-SOSCON18.md @@ -17,7 +17,7 @@ SOSCON 是中国大陆首届面向学生的开源会议,从演讲者到工作 # 参与方式 -请访问 (已失效链接) 申请入场券。 +请访问(已失效链接)申请入场券。 # 时间地点 diff --git a/pages/_news/2020/2020-05-10-opensource-summer-projects.md b/pages/_news/2020/2020-05-10-opensource-summer-projects.md index a690ce1685..92e72cd102 100644 --- a/pages/_news/2020/2020-05-10-opensource-summer-projects.md +++ b/pages/_news/2020/2020-05-10-opensource-summer-projects.md @@ -158,9 +158,9 @@ License: 与指定修改的开源对象存储实现相同。 项目描述: -镜像站通常会借助 rsync 协议,在上下游之间同步数据。在实践中,我们遇到的问题是:当有两台服务器分别存储不同的镜像内容(例如,一台存储热门内容,另一台存储冷门镜像),对外提供 rsync 服务时, 接入点无法统一。 +镜像站通常会借助 rsync 协议,在上下游之间同步数据。在实践中,我们遇到的问题是:当有两台服务器分别存储不同的镜像内容(例如,一台存储热门内容,另一台存储冷门镜像),对外提供 rsync 服务时,接入点无法统一。 -本项目希望以反向代理 rsync 服务的方式解决此问题。 即:所有 rsync 请求通过一台统一的反向代理服务器,根据请求的 module name 代理至不同后端服务器。 +本项目希望以反向代理 rsync 服务的方式解决此问题。即:所有 rsync 请求通过一台统一的反向代理服务器,根据请求的 module name 代理至不同后端服务器。 项目难度:**中** diff --git a/pages/_news/2023/2023-03-19-hackergame-award-ceremony.md b/pages/_news/2023/2023-03-19-hackergame-award-ceremony.md index 26e13641fe..9dafd6232d 100644 --- a/pages/_news/2023/2023-03-19-hackergame-award-ceremony.md +++ b/pages/_news/2023/2023-03-19-hackergame-award-ceremony.md @@ -32,7 +32,7 @@ tags: [] ![](http://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2023.3.19_hackergame2022%E9%A2%81%E5%A5%96/photo/hackergame%E9%A2%81%E5%A5%96-13.jpg) -刘良宇、刘成龙、陈思、黄科鑫分别在综合技能(general)、 程序逆向与漏洞利用(binary)、密码学与数学(math)、网站安全(web)获得分类奖。 +刘良宇、刘成龙、陈思、黄科鑫分别在综合技能(general)、程序逆向与漏洞利用(binary)、密码学与数学(math)、网站安全(web)获得分类奖。 ![](http://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2023.3.19_hackergame2022%E9%A2%81%E5%A5%96/photo/hackergame%E9%A2%81%E5%A5%96-14.jpg) diff --git a/pages/_news/2023/2023-04-02-Linux_Install_Party_2023.md b/pages/_news/2023/2023-04-02-Linux_Install_Party_2023.md index b54a716cb3..7d4b8d51f0 100644 --- a/pages/_news/2023/2023-04-02-Linux_Install_Party_2023.md +++ b/pages/_news/2023/2023-04-02-Linux_Install_Party_2023.md @@ -11,11 +11,11 @@ Linux Install Party 是中国科学技术大学 Linux 用户协会每年必办 ![poster](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2023.4.2_linux_101_%E7%AC%AC%E4%B8%80%E8%AF%BE_Linux_Install_Party/poster/poster.svg) -2023 年 4 月 2 日下午, Linux Install Party 作为本期 Linux 101 课程的第一课在 3C101 举行。由廖巍同学和王永福同学介绍了 Linux 的来源、优点和各大发行版的区别之后,令人心动的 Linux 安装就正式开始了。 +2023 年 4 月 2 日下午,Linux Install Party 作为本期 Linux 101 课程的第一课在 3C101 举行。由廖巍同学和王永福同学介绍了 Linux 的来源、优点和各大发行版的区别之后,令人心动的 Linux 安装就正式开始了。 ![photo1](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2023.4.2_linux_101_%E7%AC%AC%E4%B8%80%E8%AF%BE_Linux_Install_Party/photo/photo_2023-04-03_15-32-28.jpg) -本次活动我们尝试了多种 Linux 的安装体验方式,如注册使用 Vlab ,尝试 Windows Subsystem for Linux ,安装打包好的 Linux 虚拟机镜像,在虚拟机中体验安装过程和直接真机安装。 +本次活动我们尝试了多种 Linux 的安装体验方式,如注册使用 Vlab,尝试 Windows Subsystem for Linux,安装打包好的 Linux 虚拟机镜像,在虚拟机中体验安装过程和直接真机安装。 ![photo1](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2023.4.2_linux_101_%E7%AC%AC%E4%B8%80%E8%AF%BE_Linux_Install_Party/photo/IMG_20230402_155005.jpg) diff --git a/pages/_news/2023/2023-12-09-gathering-debug.md b/pages/_news/2023/2023-12-09-gathering-debug.md index c96244ed9b..98d20e74e5 100644 --- a/pages/_news/2023/2023-12-09-gathering-debug.md +++ b/pages/_news/2023/2023-12-09-gathering-debug.md @@ -12,7 +12,7 @@ tags: [] ![](https://ftp.lug.ustc.edu.cn/weekly_party/2023.12.09_Debug/photo/photo_2023-12-09_15-36-35.jpg) -廖同学首先从 debug 的基本概念入手,向大家解释了它在软件开发中的关键作用。通过生动的例子和清晰的讲解,她让大家更加理解了程序中 bug 的危害、 debug 的重要性以及在编程过程中如何有效运用它来解决问题。 +廖同学首先从 debug 的基本概念入手,向大家解释了它在软件开发中的关键作用。通过生动的例子和清晰的讲解,她让大家更加理解了程序中 bug 的危害、debug 的重要性以及在编程过程中如何有效运用它来解决问题。 ![](https://ftp.lug.ustc.edu.cn/weekly_party/2023.12.09_Debug/photo/ppt-01.png) diff --git a/pages/_news/2023/2023-12-17-hackergame-2023.md b/pages/_news/2023/2023-12-17-hackergame-2023.md index ab1064af73..cbb1e3dcbe 100644 --- a/pages/_news/2023/2023-12-17-hackergame-2023.md +++ b/pages/_news/2023/2023-12-17-hackergame-2023.md @@ -34,7 +34,7 @@ tags: [] ![](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2023.12.17_Hackergame%E9%A2%81%E5%A5%96/photos/IMG_20231217_151938.jpg) -樊一展、郑逸、何煜恒、叶知易分别在综合技能(general)与人工智能(ai)、 程序逆向与漏洞利用(binary)、密码学与数学(math)、网站安全(web)获得分类奖。 +樊一展、郑逸、何煜恒、叶知易分别在综合技能(general)与人工智能(ai)、程序逆向与漏洞利用(binary)、密码学与数学(math)、网站安全(web)获得分类奖。 ![](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2023.12.17_Hackergame%E9%A2%81%E5%A5%96/photos/IMG_20231217_152036.jpg) diff --git a/pages/_news/2024/2024-03-24-Linux101-2.md b/pages/_news/2024/2024-03-24-Linux101-2.md index 313c58ee7c..b365dd4b91 100644 --- a/pages/_news/2024/2024-03-24-Linux101-2.md +++ b/pages/_news/2024/2024-03-24-Linux101-2.md @@ -20,6 +20,6 @@ tags: [] ![](http://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2024.03.24_Linux_101_%E7%AC%AC%E4%BA%8C%E8%AF%BE/photo/384b2f24b71247eca002e5dabdb6d137.jpg) -紧接着便来到了文件目录操作部分的教学。方同学演示了 ls、cd、tree、mkdir、cp、vim 等基础的文件目录编辑和查看的命令,也介绍了使用 tar 命令来进行文件的压缩。在活动的最后, 方同学提到了 man、tldr 等便于新手快速上手陌生软件的命令,也为 Linux 101 第二课画上了一个句号。 +紧接着便来到了文件目录操作部分的教学。方同学演示了 ls、cd、tree、mkdir、cp、vim 等基础的文件目录编辑和查看的命令,也介绍了使用 tar 命令来进行文件的压缩。在活动的最后,方同学提到了 man、tldr 等便于新手快速上手陌生软件的命令,也为 Linux 101 第二课画上了一个句号。 本节课的讲义位于 LUG ftp 上:[Linux 101 第二课](http://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2024.03.24_Linux_101_%E7%AC%AC%E4%BA%8C%E8%AF%BE/Linux%20101%20Chap%203.pdf) diff --git a/pages/_planet/2018-08-08-USTC-Linux-user-guide.md b/pages/_planet/2018-08-08-USTC-Linux-user-guide.md index 8ef221ae8b..311e66a347 100644 --- a/pages/_planet/2018-08-08-USTC-Linux-user-guide.md +++ b/pages/_planet/2018-08-08-USTC-Linux-user-guide.md @@ -43,7 +43,7 @@ mk (16 级): 旧开发板:Digilent Nexys 2 和 3 均有 Linux 工具,Xilinx ISE 也有 Linux 版本。笔者经验是 Xilinx ISE 可以正常使用。 -新开发板(Digilent Nexys 4 DDR):Xilinx Vivado 有 Linux 版本。可模拟,综合,实现,烧录。(含串口通讯等 exe 文件的实验可能无法正常开展) +新开发板 (Digilent Nexys 4 DDR):Xilinx Vivado 有 Linux 版本。可模拟,综合,实现,烧录。(含串口通讯等 exe 文件的实验可能无法正常开展) 注:除了烧录 FPGA,可以完全使用自由软件替代。仿真可以使用 Icarus Verilog 和 GTKWave。 @@ -61,7 +61,7 @@ mk (16 级): LC3 Tools 提供 Linux 版本。作业和 Lab 只需提交 PDF 版本。教学资源、课程要求见课本官网或课程官网:http://acsa.ustc.edu.cn/ics/。 -[LC3 Tools 二进制文件(.AppImage)](https://github.com/chiragsakhuja/lc3tools/releases) +[LC3 Tools 二进制文件 (.AppImage)](https://github.com/chiragsakhuja/lc3tools/releases) taoky (17 级): diff --git a/pages/_planet/2018-10-07-PXE-intro.md b/pages/_planet/2018-10-07-PXE-intro.md index 74e21b0d8d..12d4b645d7 100644 --- a/pages/_planet/2018-10-07-PXE-intro.md +++ b/pages/_planet/2018-10-07-PXE-intro.md @@ -7,7 +7,7 @@ tags: - PXE --- -_预启动执行环境(Preboot eXecution Environment,PXE,也被称为预执行环境)提供了一种使用网络接口(Network Interface)启动计算机的机制。这种机制让计算机的启动可以不依赖本地数据存储设备(如硬盘)或本地已安装的操作系统。——摘自 [Archwiki](https://wiki.archlinux.org/index.php/PXE)_ +_预启动执行环境(Preboot eXecution Environment,PXE,也被称为预执行环境) 提供了一种使用网络接口(Network Interface)启动计算机的机制。这种机制让计算机的启动可以不依赖本地数据存储设备(如硬盘)或本地已安装的操作系统。——摘自 [Archwiki](https://wiki.archlinux.org/index.php/PXE)_ ### PXE 原理介绍 @@ -33,7 +33,7 @@ PXE 可以通过网络直接启动一些 Live Linux,或者调用 Linux Install #### 非科大校园网 -首先需要进入 PXE 环境,这里以在 virtualbox 虚拟机使用 iPXE 为例, virtualbox 自带的 PXE 功能比较简单,所以使用 iPXE 替代之。从 iPXE 官网下载 iPXE 的 [ISO](http://boot.ipxe.org/ipxe.iso),然后让虚拟机从这个 ISO 启动。 按 Ctrl + B 进入 iPXE 的命令行模式。然后输入以下命令: +首先需要进入 PXE 环境,这里以在 virtualbox 虚拟机使用 iPXE 为例,virtualbox 自带的 PXE 功能比较简单,所以使用 iPXE 替代之。从 iPXE 官网下载 iPXE 的 [ISO](http://boot.ipxe.org/ipxe.iso),然后让虚拟机从这个 ISO 启动。按 Ctrl + B 进入 iPXE 的命令行模式。然后输入以下命令: ``` dhcp //如果已经获取到了地址则请忽略 @@ -53,7 +53,7 @@ chain ${210:string}lpxelinux.0 注意到我们使用的 iPXE 的命令里使用的是 http 协议,这也为一些在 NAT 后面而无法使用 tftp 的用户提供使用 USTC PXE 的方法。 -另外 iPXE 也可以刻录到 usb 上,这样主机如果想用 PXE 就可以用 usb 启动 iPXE (如果主机自带的 PXE 比较弱),然后使用上面的命令进入 USTC PXE 了。 iPXE 的 usb 镜像可以从 http://boot.ipxe.org/ipxe.usb 下载,然后用 `dd if=ipxe.usb of=/dev/sdX `来刻录。 +另外 iPXE 也可以刻录到 usb 上,这样主机如果想用 PXE 就可以用 usb 启动 iPXE(如果主机自带的 PXE 比较弱),然后使用上面的命令进入 USTC PXE 了。iPXE 的 usb 镜像可以从 http://boot.ipxe.org/ipxe.usb 下载,然后用 `dd if=ipxe.usb of=/dev/sdX `来刻录。 下载 iso 作为虚拟光驱挂载在虚拟机上,从 CD 启动, @@ -113,7 +113,7 @@ Linux 用户通常需要准备一个 Live USB,在忘记密码,磁盘检查 进入 Live 之后,如果进入图形界面,启动一个终端模拟器(即 terminal)即可,或者进入 tty。进行密码恢复等操作一般需要 root 权限。 -密码恢复:首先挂载本机系统的根分区(mount _设备名(如 /dev/sda1)\*\*挂载点_),然后 chroot 进入挂载点,再用 passwd _用户名_(root 可以不加参数)命令修改密码。 +密码恢复:首先挂载本机系统的根分区(mount _设备名 (如 /dev/sda1)\*\*挂载点_),然后 chroot 进入挂载点,再用 passwd _用户名_(root 可以不加参数)命令修改密码。 磁盘检查,分区修改等:fsck 和 fdisk 命令均需要进行操作的分区未被挂载。如果磁盘检查,fsck _设备名_ 即可。分区修改,如扩容等操作先 fdisk _设备名_,进入 fdisk 程序内部,再执行 fdisk 命令即可。fdisk 命令可以使用 m 查看。fdisk 命令较为简单,如 p 为打印分区表,d 为删除分区,n 为新建一个分区,w 为写入分区表等,执行命令后 fdisk 会对接下来进行的操作给出提示。分区修改也可以使用 gparted live,图形界面可能更友好一些,下文会进行介绍。 diff --git a/pages/_planet/2019-08-28-NFS-intro.md b/pages/_planet/2019-08-28-NFS-intro.md index 247f07eff6..1ba4831bab 100644 --- a/pages/_planet/2019-08-28-NFS-intro.md +++ b/pages/_planet/2019-08-28-NFS-intro.md @@ -21,7 +21,7 @@ sudo apt install nfs-kernel-server (如果有兼容 NFSv2 和 NFSv3 的需求,需要安装 `portmap`) -出于安全性的考虑[^2],我们假设 NFS 共享的根目录是 `/srv/nfs4`。 如果需要共享的目录在其他位置,可以使用 bind mount 的方式挂载上去。(当然,对于简单的配置来说,不这样做问题也不大) +出于安全性的考虑[^2],我们假设 NFS 共享的根目录是 `/srv/nfs4`。如果需要共享的目录在其他位置,可以使用 bind mount 的方式挂载上去。(当然,对于简单的配置来说,不这样做问题也不大) ```shell mount --bind 实际放置文件的目录 /srv/nfs/your_folder_name diff --git a/pages/_planet/2020-08-06-keeping-account-with-beancount.md b/pages/_planet/2020-08-06-keeping-account-with-beancount.md index caa82f542f..6f8ba75907 100644 --- a/pages/_planet/2020-08-06-keeping-account-with-beancount.md +++ b/pages/_planet/2020-08-06-keeping-account-with-beancount.md @@ -143,7 +143,7 @@ include "2020/07.beancount" ### 账户初始余额设置 -在开始记账前,要设置每个账户的余额信息,采用以下方法来给每个账户设置余额/借记账单: +在开始记账前,要设置每个账户的余额信息,采用以下方法来给每个账户设置余额/借记账单: ```conf 2019-01-01 pad Assets:Bank:CN:BoC:C1111 Equity:Opening-Balances ; 从 Opening-Balances 中划取 XX 帐到银行卡中 @@ -179,14 +179,14 @@ CNY,差额从 Equity:Opening-Balances 来。注意两行之间差一天的时 - 多货币转换使用 `@@` 作为货币转换即可,货币 Beancount 会进行汇率计算,比如: ```text - 2019-01-01 * "日本航空" "纽约-东京" + 2019-01-01 * "日本航空" "纽约 - 东京" Expenses:Transport:Airline 1000 USD @@ 110000 JPY Liabilities:CreditCard:JP:Rakuten -110000 JPY ``` - 账户结息:账户的利息肯定难以每日都记录,本人采用 `pad`+`balance` 断言,每隔一段时间结算一下。 -- 分期付款:这是个常见的购买方式,需要单独设置开一个 Liabilities Account,手续费记利息支出,每个月账单出现的时候转移一下。 Beancount 提供了一个[插件](https://beancount.github.io/fava/api/beancount.plugins.html) `plugin "beancount.plugins.forecast` 专门用来处理分期、订阅情况,可以用于每月费用的自动生成。 +- 分期付款:这是个常见的购买方式,需要单独设置开一个 Liabilities Account,手续费记利息支出,每个月账单出现的时候转移一下。Beancount 提供了一个[插件](https://beancount.github.io/fava/api/beancount.plugins.html) `plugin "beancount.plugins.forecast` 专门用来处理分期、订阅情况,可以用于每月费用的自动生成。 ### 核账 @@ -197,7 +197,7 @@ CNY,差额从 Equity:Opening-Balances 来。注意两行之间差一天的时 ### 综述 -`Importer` 个人理解的作用是将整理好的账单文本转化为 Beancount 记录的形式,即格式化 (表格, JSON 等) 账单 -> Importer -> +`Importer` 个人理解的作用是将整理好的账单文本转化为 Beancount 记录的形式,即格式化 (表格,JSON 等) 账单 -> Importer -> Beancount 记录,Importer 在其中起到一个消费记录格式转化作用。 Beancount 作者对 Importer 有详细的文档叙述,即 [Importing External Data in @@ -238,13 +238,13 @@ if __name__ == '__main__': try: r = s.post(casurl, caspost) except Exception as e: - msg = '{0} - INFO: USTC ecard CAS登陆失败 {1}'.format(datetime.now().strftime('%Y-%m-%d %H:%M:%S'), e) + msg = '{0} - INFO: USTC ecard CAS 登陆失败 {1}'.format(datetime.now().strftime('%Y-%m-%d %H:%M:%S'), e) remaining = 0 if not name in r.text: - msg = '{0} - INFO: USTC ecard CAS登陆失败 NOOOOOOOO!!!!!!!!'.format(datetime.now().strftime('%Y-%m-%d %H:%M:%S')) + msg = '{0} - INFO: USTC ecard CAS 登陆失败 NOOOOOOOO!!!!!!!!'.format(datetime.now().strftime('%Y-%m-%d %H:%M:%S')) print(msg) else: - msg = '{0} - INFO: USTC ecard CAS登陆成功'.format(datetime.now().strftime('%Y-%m-%d %H:%M:%S')) + msg = '{0} - INFO: USTC ecard CAS 登陆成功'.format(datetime.now().strftime('%Y-%m-%d %H:%M:%S')) print(msg) paylist = s.get('https://ecard.ustc.edu.cn/paylist') b = BeautifulSoup(paylist.text, features="lxml") @@ -393,7 +393,7 @@ CONFIG = [ ] ``` -语法说明参见 [Beancount 系列二: Importer +语法说明参见 [Beancount 系列二:Importer 设置](https://charlesliu7.github.io/blackboard/2019/12/03/beancount-importer/)。 执行命令生成 beancount 账单。 @@ -450,7 +450,7 @@ Done! 2017-01-01 custom "fava-option" "import-dirs" "./importers/path/to/csv_tmp/" ``` - 在 Fava 界面侧栏看到 Importer,并手动导入数据。注 :Importer 在 Fava 中使用的时候 metadata 会被去除。 + 在 Fava 界面侧栏看到 Importer,并手动导入数据。注:Importer 在 Fava 中使用的时候 metadata 会被去除。 - Fava 还支持自定义 side bar link,即: diff --git a/pages/_planet/2020-12-19-tic-toc-in-kernel.md b/pages/_planet/2020-12-19-tic-toc-in-kernel.md index d44adbf74b..248966b40d 100644 --- a/pages/_planet/2020-12-19-tic-toc-in-kernel.md +++ b/pages/_planet/2020-12-19-tic-toc-in-kernel.md @@ -94,7 +94,7 @@ if (proc_create(filename, 0444, root, &bench_fops) == NULL) return -ENOMEM; ``` -这里的 `bench_fops` 是一个类型为 `struct file_operations` 的结构体。它能为这个文件注册功能,比如 open、read、write 等。在内核中设计一个文件系统也需要实现类似的操作,万幸的是, procfs 下不需要实现 [POSIX][6] 语义。在这里,我希望只要有 `write` 被调用时,就会运行我的测试程序,这样我只要在 shell 中用 `echo` 和管道重定向就能调用它了: +这里的 `bench_fops` 是一个类型为 `struct file_operations` 的结构体。它能为这个文件注册功能,比如 open、read、write 等。在内核中设计一个文件系统也需要实现类似的操作,万幸的是,procfs 下不需要实现 [POSIX][6] 语义。在这里,我希望只要有 `write` 被调用时,就会运行我的测试程序,这样我只要在 shell 中用 `echo` 和管道重定向就能调用它了: ```c // 所有参数都用不到,我们只希望触发一次测试 @@ -114,7 +114,7 @@ static const struct file_operations bench_fops = { } ``` -模块功能已经完成了,最后得给模块取个好听的名字。我把英文中表示时间流逝的 tic-toc (tick-tock) 和表示内核的 kernel 合在一起,就变成了 tiktok。 +模块功能已经完成了,最后得给模块取个好听的名字。我把英文中表示时间流逝的 tic-toc(tick-tock)和表示内核的 kernel 合在一起,就变成了 tiktok。 ## 链接函数 @@ -160,7 +160,7 @@ int main(void){ } ``` -上面是一段进行一些无意义计算的代码,我们修改 `OUT_LOOPS` 的大小(100、99、98)来比较不同方法的灵敏度。除了普通的 time 测量,我还加入了一组使用 `taskset(1)` 的对照组。 `taskset` 控制了程序的亲核性,这使得程序总能被调度到同一个核上,减少了跨核导致的缓存失效开销。为了减少随机误差,每种配置我都运行进行了 100 次函数得到虚列。实验数据可以在[这里](https://github.com/gloit042/tiktok/tree/main/bench)查看。要反映灵敏度,我们无法直接拿不同方法的结果进行比较,而是要在同一个方法内看看能否显著区分出不同循环次数带来运行时间差距(约为 1%~%2)。短暂尝试了复习概率论和数理统计后,我谷歌到了 [K-S 检验][7] (Kolmogorov-Smirnov test),对于两组输入数据它可以检验它们是否同分布。这里我们假设实际运行时间是固有的,而调度等开销造成的是一个均匀同分布的随机误差。如果测量工具对两种配置得到的两组数据无法拒绝同分布假设,我们可以认为它无法准确得检测出程序性能的差异(统计全忘光了,我不知道我在说啥,如果有误欢迎指正)。我使用了 `scipy.stat.kstest` 来进行了 K-S 检验,结果如下表 (p 值小于 0.05 拒绝同分布假设): +上面是一段进行一些无意义计算的代码,我们修改 `OUT_LOOPS` 的大小(100、99、98)来比较不同方法的灵敏度。除了普通的 time 测量,我还加入了一组使用 `taskset(1)` 的对照组。 `taskset` 控制了程序的亲核性,这使得程序总能被调度到同一个核上,减少了跨核导致的缓存失效开销。为了减少随机误差,每种配置我都运行进行了 100 次函数得到虚列。实验数据可以在[这里](https://github.com/gloit042/tiktok/tree/main/bench)查看。要反映灵敏度,我们无法直接拿不同方法的结果进行比较,而是要在同一个方法内看看能否显著区分出不同循环次数带来运行时间差距(约为 1%~%2)。短暂尝试了复习概率论和数理统计后,我谷歌到了 [K-S 检验][7] (Kolmogorov-Smirnov test),对于两组输入数据它可以检验它们是否同分布。这里我们假设实际运行时间是固有的,而调度等开销造成的是一个均匀同分布的随机误差。如果测量工具对两种配置得到的两组数据无法拒绝同分布假设,我们可以认为它无法准确得检测出程序性能的差异(统计全忘光了,我不知道我在说啥,如果有误欢迎指正)。我使用了 `scipy.stat.kstest` 来进行了 K-S 检验,结果如下表(p 值小于 0.05 拒绝同分布假设): | p 值 | 98-99 | 99-100 | 98-100 | 98-98 | 99-99 | 100-100 | | :----------: | :-------------: | :-------------: | :------------: | :-------------: | :-------------: | :------------: | diff --git a/pages/_planet/2021-01-25-physexp-using-python.md b/pages/_planet/2021-01-25-physexp-using-python.md index 08e7cb683f..03ebe47c40 100644 --- a/pages/_planet/2021-01-25-physexp-using-python.md +++ b/pages/_planet/2021-01-25-physexp-using-python.md @@ -72,9 +72,9 @@ print('r-value:', r_value) print('p-value:', p_value) print('std-err:', std_err) print('r-squared:', r_value ** 2) -print('斜率标准差:', s_slope) -print('截距标准差:', s_intercept) -print('算得重力加速度:', 2 * slope) +print('斜率标准差:', s_slope) +print('截距标准差:', s_intercept) +print('算得重力加速度:', 2 * slope) #plot plt.scatter(x, y1, marker='*', color='black', label='原始数据') # plt.plot(x, y1, '--', color='green', label='光滑曲线') @@ -119,7 +119,7 @@ simple_plot(Momentum, Erela, dot='o', save='1.png', issetrange=0, xlab='$pc/MeV$ 画图并线性拟合也是非常常见的操作,于是也加入了库: ```python -slope, intercept = simple_linear_plot(Al_Real, CntLn, xlab='质量厚度$g/cm^{-2}$', ylab='选区计数率对数(射线强度)', title='半对数曲线曲线', save='3.png') +slope, intercept = simple_linear_plot(Al_Real, CntLn, xlab='质量厚度$g/cm^{-2}$', ylab='选区计数率对数 (射线强度)', title='半对数曲线曲线', save='3.png') print(-slope) print(math.log(1e4) / (-slope)) print((math.log(Cnt[0]) - 4 * math.log(10) - intercept) / slope) @@ -184,13 +184,13 @@ simple_plot(Momentum, Erela, dot='o', save='1.png', issetrange=0, Len = 150 Cnt = Cnt / Len -simple_plot(Al_num, Cnt, xlab='铝片数', ylab='选区计数率(射线强度)', +simple_plot(Al_num, Cnt, xlab='铝片数', ylab='选区计数率 (射线强度)', title='$\\beta$射线强度随铝片数衰减曲线', save='2.png') CntLn = np.log(Cnt) # d = 50 mg / cm^2 d = 50 Al_Real = Al_num * d -slope, intercept = simple_linear_plot(Al_Real, CntLn, xlab='质量厚度$g/cm^{-2}$', ylab='选区计数率对数(射线强度)', +slope, intercept = simple_linear_plot(Al_Real, CntLn, xlab='质量厚度$g/cm^{-2}$', ylab='选区计数率对数 (射线强度)', title='半对数曲线曲线', save='3.png') print(-slope) print(math.log(1e4) / (-slope)) @@ -211,12 +211,12 @@ gendocx('gen.docx', '1.png', '2.png', '3.png', 'slope, intercept: %f %f' % (slop ![3]({{ site.static_url }}/planet/2021-01-25-physexp-using-python-3.png) -既然都到了 Jupyter ,如果**多人合作**的话,[JupyterHub](https://github.com/jupyterhub/jupyterhub) 是非常不错的选择,可以多个人在一台服务器上使用 Jupyter Notebook 。我之前配置的是每个用户一个隔离的 Docker 容器,里面的 Python 已经装好了包,可以直接使用,同时挂载了一个共享空间可以分享写好的 Notebook 。其实 JupyterHub 有用 Github 帐号登录之类的权限管理功能,但当时我们是几个认识的人合作,就没有管这些。 +既然都到了 Jupyter,如果**多人合作**的话,[JupyterHub](https://github.com/jupyterhub/jupyterhub) 是非常不错的选择,可以多个人在一台服务器上使用 Jupyter Notebook。我之前配置的是每个用户一个隔离的 Docker 容器,里面的 Python 已经装好了包,可以直接使用,同时挂载了一个共享空间可以分享写好的 Notebook。其实 JupyterHub 有用 Github 帐号登录之类的权限管理功能,但当时我们是几个认识的人合作,就没有管这些。 具体的代码在我的 [GitHub](https://github.com/ustcpetergu/physicsexp) 上,如果有人在写大物实验报告的过程中无聊了想找个地方摸鱼浪费点时间,不妨来看看。 ## 总结 -如果您想尝试用 Python 处理大物实验数据,我可以比较负责地说对于 95% 以上的实验是完全没有问题的。使用 NumPy 和 SciPy 计算, Matplotlib 做图,配以 docx 生成、Jupyter Notebook 或 JupyterHub 团队合作,可以比较轻松(但不意味着节省时间)地完成所有需要的操作,并可以通过包装库提高效率。 +如果您想尝试用 Python 处理大物实验数据,我可以比较负责地说对于 95% 以上的实验是完全没有问题的。使用 NumPy 和 SciPy 计算,Matplotlib 做图,配以 docx 生成、Jupyter Notebook 或 JupyterHub 团队合作,可以比较轻松(但不意味着节省时间)地完成所有需要的操作,并可以通过包装库提高效率。 之前也有学长学姐尝试过类似的大物实验自动化项目,但因为暂时无法全部找到并对比,这里就不说了。大一的时候确实是想搞一套自动化程度很高的东西,但水平实在有限,并且不同的实验处理过程不太一样,一己之力完成每一个实验专属的程序也不太现实,所以结果就是自己挖了个坑并跳进去出不来:有时想想,或许还是左手卡西欧 991 右手座标纸来得快一些呢! diff --git a/pages/_wiki/doc/smart-questions.md b/pages/_wiki/doc/smart-questions.md index 72e9e551d3..258f6a9d2e 100644 --- a/pages/_wiki/doc/smart-questions.md +++ b/pages/_wiki/doc/smart-questions.md @@ -164,13 +164,13 @@ Stack Exchange 已经成长到[超过一百个网站](https://stackexchange.com/ > 更聪明问题:X.org 6.8.1 的鼠标光标,在某牌显卡 MV1005 芯片组环境下 - 会变形。 -编写`目标 —— 差异` 式描述的过程有助于你组织对问题的细致思考。是什么被影响了? 仅仅是鼠标光标或者还有其它图形?只在 X.org 的 X 版中出现?或只是出现在 6.8.1 版中? 是针对某牌显卡芯片组?或者只是其中的 MV1005 型号? 一个黑客只需瞄一眼就能够立即明白你的环境**和**你遇到的问题。 +编写`目标 —— 差异` 式描述的过程有助于你组织对问题的细致思考。是什么被影响了?仅仅是鼠标光标或者还有其它图形?只在 X.org 的 X 版中出现?或只是出现在 6.8.1 版中?是针对某牌显卡芯片组?或者只是其中的 MV1005 型号?一个黑客只需瞄一眼就能够立即明白你的环境**和**你遇到的问题。 总而言之,请想像一下你正在一个只显示标题的存档讨论串(Thread)索引中查寻。让你的标题更好地反映问题,可使下一个搜索类似问题的人能够关注这个讨论串,而不用再次提问相同的问题。 -如果你想在回复中提出问题,记得要修改内容标题,以表明你是在问一个问题, 一个看起来像 `Re: 测试` 或者 `Re: 新 bug` 的标题很难引起足够重视。另外,在不影响连贯性之下,适当引用并删减前文的内容,能给新来的读者留下线索。 +如果你想在回复中提出问题,记得要修改内容标题,以表明你是在问一个问题,一个看起来像 `Re: 测试` 或者 `Re: 新 bug` 的标题很难引起足够重视。另外,在不影响连贯性之下,适当引用并删减前文的内容,能给新来的读者留下线索。 -对于讨论串,不要直接点击回复来开始一个全新的讨论串,这将限制你的观众。因为有些邮件阅读程序,比如 mutt ,允许用户按讨论串排序并通过折叠讨论串来隐藏消息,这样做的人永远看不到你发的消息。 +对于讨论串,不要直接点击回复来开始一个全新的讨论串,这将限制你的观众。因为有些邮件阅读程序,比如 mutt,允许用户按讨论串排序并通过折叠讨论串来隐藏消息,这样做的人永远看不到你发的消息。 仅仅改变标题还不够。mutt 和其它一些邮件阅读程序还会检查邮件标题以外的其它信息,以便为其指定讨论串。所以宁可发一个全新的邮件。 @@ -228,7 +228,7 @@ Stack Exchange 已经成长到[超过一百个网站](https://stackexchange.com/ - 但是,对一些特殊的文件**不要**设置固定宽度(譬如日志文件拷贝或会话记录)。数据应该原样包含,让回复者有信心他们看到的是和你看到的一样的东西。 - 在英语论坛中,不要使用`Quoted-Printable` MIME 编码发送消息。这种编码对于张贴非 ASCII 语言可能是必须的,但很多邮件程序并不支持这种编码。当它们处理换行时,那些文本中四处散布的`=20`符号既难看也分散注意力,甚至有可能破坏内容的语意。 - 绝对,**永远**不要指望黑客们阅读使用封闭格式编写的文档,像微软公司的 Word 或 Excel 文件等。大多数黑客对此的反应就像有人将还在冒热气的猪粪倒在你家门口时你的反应一样。即便他们能够处理,他们也很厌恶这么做。 -- 如果你从使用 Windows 的电脑发送电子邮件,关闭微软愚蠢的`智能引号`功能 (从[选项] > [校订] > [自动校正选项],勾选掉`智能引号`单选框),以免在你的邮件中到处散布垃圾字符。 +- 如果你从使用 Windows 的电脑发送电子邮件,关闭微软愚蠢的`智能引号`功能(从[选项] > [校订] > [自动校正选项],勾选掉`智能引号`单选框),以免在你的邮件中到处散布垃圾字符。 - 在论坛,勿滥用`表情符号`和`HTML`功能(当它们提供时)。一两个表情符号通常没有问题,但花哨的彩色文本倾向于使人认为你是个无能之辈。过滥地使用表情符号、色彩和字体会使你看来像个傻笑的小姑娘。这通常不是个好主意,除非你只是对性而不是对答案感兴趣。 如果你使用图形用户界面的邮件程序(如微软公司的 Outlook 或者其它类似的),注意它们的默认设置不一定满足这些要求。大多数这类程序有基于选单的`查看源代码`命令,用它来检查发送文件夹中的邮件,以确保发送的是纯文本文件同时没有一些奇怪的字符。 @@ -291,7 +291,7 @@ Stack Exchange 已经成长到[超过一百个网站](https://stackexchange.com/ > 但是在头 20 分钟内从没发生过相同的问题。重新启动也没有用,但是关机一晚上就又能工作 20 分钟。 > 所有内存都换过了,没有效果。相关部分的标准编译记录如下…。 -由于以上这点似乎让许多人觉得难以配合,这里有句话可以提醒你:`所有的诊断专家都来自密苏里州。` 美国国务院的官方座右铭则是:`让我看看`(出自国会议员 Willard D. Vandiver 在 1899 年时的讲话:`我来自一个出产玉米,棉花,牛蒡和民主党人的国家,滔滔雄辩既不能说服我,也不会让我满意。我来自密苏里州,你必须让我看看。`) 针对诊断者而言,这并不是一种怀疑,而只是一种真实而有用的需求,以便让他们看到的是与你看到的原始证据尽可能一致的东西,而不是你的猜测与归纳的结论。所以,大方的展示给我们看吧! +由于以上这点似乎让许多人觉得难以配合,这里有句话可以提醒你:`所有的诊断专家都来自密苏里州。` 美国国务院的官方座右铭则是:`让我看看`(出自国会议员 Willard D. Vandiver 在 1899 年时的讲话:`我来自一个出产玉米,棉花,牛蒡和民主党人的国家,滔滔雄辩既不能说服我,也不会让我满意。我来自密苏里州,你必须让我看看。`)针对诊断者而言,这并不是一种怀疑,而只是一种真实而有用的需求,以便让他们看到的是与你看到的原始证据尽可能一致的东西,而不是你的猜测与归纳的结论。所以,大方的展示给我们看吧! ### 按发生时间先后列出问题症状 @@ -358,7 +358,7 @@ Stack Exchange 已经成长到[超过一百个网站](https://stackexchange.com/ 首先:如果你对问题的描述不是很好,这样问更是画蛇添足。 -其次:由于这样问是画蛇添足,黑客们会很厌烦你 —— 而且通常会用逻辑上正确,但毫无意义的回答来表示他们的蔑视, 例如:`没错,有人能帮你`或者`不,没答案`。 +其次:由于这样问是画蛇添足,黑客们会很厌烦你 —— 而且通常会用逻辑上正确,但毫无意义的回答来表示他们的蔑视,例如:`没错,有人能帮你`或者`不,没答案`。 一般来说,避免用 `是或否`、`对或错`、`有或没有`类型的问句,除非你想得到[是或否类型的回答](https://strcat.de/questions-with-yes-or-no-answers.html)。 @@ -479,7 +479,7 @@ Jeff Bigler 的观察总结和这个相关也值得一读 (**[tact filters](http 问题:[我的程序不会动了,我认为系统工具 X 有问题](#q7) -问题:[我在安装 Linux(或者 X )时有问题,你能帮我吗?](#q8) +问题:[我在安装 Linux(或者 X)时有问题,你能帮我吗?](#q8) 问题:[我怎么才能破解 root 帐号/窃取 OP 特权/读别人的邮件呢?](#q9) @@ -495,7 +495,7 @@ Jeff Bigler 的观察总结和这个相关也值得一读 (**[tact filters](http > 问题:我怎样用 X 做 Y? -回答:如果你想解决的是 Y ,提问时别给出可能并不恰当的方法。这种问题说明提问者不但对 X 完全无知,也对 Y 要解决的问题糊涂,还被特定形势禁锢了思维。最好忽略这种人,等他们把问题搞清楚了再说。 +回答:如果你想解决的是 Y,提问时别给出可能并不恰当的方法。这种问题说明提问者不但对 X 完全无知,也对 Y 要解决的问题糊涂,还被特定形势禁锢了思维。最好忽略这种人,等他们把问题搞清楚了再说。 @@ -525,7 +525,7 @@ Jeff Bigler 的观察总结和这个相关也值得一读 (**[tact filters](http 回答:能啊,扔掉微软的垃圾,换个像 Linux 或 BSD 的开源操作系统吧。 -注意:如果程序有官方版 Windows 或者与 Windows 有互动(如 Samba),你**可以**问与 Windows 相关的问题,只是别对问题是由 Windows 操作系统而不是程序本身造成的回复感到惊讶, 因为 Windows 一般来说实在太烂,这种说法通常都是对的。 +注意:如果程序有官方版 Windows 或者与 Windows 有互动(如 Samba),你**可以**问与 Windows 相关的问题,只是别对问题是由 Windows 操作系统而不是程序本身造成的回复感到惊讶,因为 Windows 一般来说实在太烂,这种说法通常都是对的。 @@ -535,7 +535,7 @@ Jeff Bigler 的观察总结和这个相关也值得一读 (**[tact filters](http -> 问题:我在安装 Linux(或者 X )时有问题,你能帮我吗? +> 问题:我在安装 Linux(或者 X)时有问题,你能帮我吗? 回答:不能,我只有亲自在你的电脑上动手才能找到毛病。还是去找你当地的 Linux 使用群组者寻求实际的指导吧(你能在[这儿](http://www.linux.org/groups/index.html)找到用户群组的清单)。 @@ -583,7 +583,7 @@ Jeff Bigler 的观察总结和这个相关也值得一读 (**[tact filters](http **聪明问题**: -> 我在 S2464 主机板上试过了 X 、 Y 和 Z ,但没什么作用,我又试了 A 、 B 和 C 。请注意当我尝试 C 时的奇怪现象。显然 florbish 正在 grommicking,但结果出人意料。通常在 Athlon MP 主机板上引起 grommicking 的原因是什么?有谁知道接下来我该做些什么测试才能找出问题? +> 我在 S2464 主机板上试过了 X、Y 和 Z,但没什么作用,我又试了 A、B 和 C。请注意当我尝试 C 时的奇怪现象。显然 florbish 正在 grommicking,但结果出人意料。通常在 Athlon MP 主机板上引起 grommicking 的原因是什么?有谁知道接下来我该做些什么测试才能找出问题? 这个家伙,从另一个角度来看,值得去回答他。他表现出了解决问题的能力,而不是坐等天上掉答案。 @@ -627,7 +627,7 @@ Jeff Bigler 的观察总结和这个相关也值得一读 (**[tact filters](http **如果你决定回答,就请给出好的答案。** 当别人正在用错误的工具或方法时别建议笨拙的权宜之计(workaround),应推荐更好的工具,重新界定问题。 -**正面地回答问题!** 如果这个提问者已经很深入的研究而且也表明已经试过 X 、 Y 、 Z 、 A 、 B 、 C 但没得到结果,回答 `试试看 A 或是 B` 或者 `试试 X 、 Y 、 Z 、 A 、 B 、 C` 并附上一个链接一点用都没有。 +**正面地回答问题!** 如果这个提问者已经很深入的研究而且也表明已经试过 X、Y、Z、A、B、C 但没得到结果,回答 `试试看 A 或是 B` 或者 `试试 X 、 Y 、 Z 、 A 、 B 、 C` 并附上一个链接一点用都没有。 **帮助你的社区从问题中学习。** 当回复一个好问题时,问问自己`如何修改相关文件或常见问题文件以免再次解答同样的问题?`,接着再向文件维护者发一份补丁。 @@ -641,4 +641,4 @@ Jeff Bigler 的观察总结和这个相关也值得一读 (**[tact filters](http ## 鸣谢 -Evelyn Mitchel 贡献了一些愚蠢问题例子并启发了编写`如何更好地回答问题`这一节, Mikhail Ramendik 贡献了一些特别有价值的建议和改进。 +Evelyn Mitchel 贡献了一些愚蠢问题例子并启发了编写`如何更好地回答问题`这一节,Mikhail Ramendik 贡献了一些特别有价值的建议和改进。 diff --git a/pages/_wiki/greenwarm/index.md b/pages/_wiki/greenwarm/index.md index 7831acd3c0..422838ddfa 100644 --- a/pages/_wiki/greenwarm/index.md +++ b/pages/_wiki/greenwarm/index.md @@ -22,7 +22,7 @@ grub,全称为 GRand Unified Bootloader,就是一个功能十分强大的 lo ## 为什么是 grub4dos -grub4dos 可以看作是 grub 的衍生版本,又从 syslinux 里吸取了一些东西。 grub4dos 的优势大致如下: +grub4dos 可以看作是 grub 的衍生版本,又从 syslinux 里吸取了一些东西。grub4dos 的优势大致如下: 1. 精简,非常适合 U 盘使用,其程序文件只有一个,外加一个用于配置的 menu.lst; diff --git a/pages/_wiki/greenwarm/multimedia.md b/pages/_wiki/greenwarm/multimedia.md index c318cc4cc6..98878945c1 100644 --- a/pages/_wiki/greenwarm/multimedia.md +++ b/pages/_wiki/greenwarm/multimedia.md @@ -37,7 +37,7 @@ ### VLC -完整统一的多媒体平台。与 Mplayer 一样同时支持编解码和播放,同时对流媒体支持非常好,甚至用来在线播放 ftp 里的电影都非常稳定,可以作为流媒体服务器。 VLC 提供了一个完整的框架,但是由于年纪轻,文档少,一些功能还有不稳定的因素,因此现在还不是最完美的方案,但我们有理由相信,也许将来 VLC 将成为主流的跨平台播放器。 +完整统一的多媒体平台。与 Mplayer 一样同时支持编解码和播放,同时对流媒体支持非常好,甚至用来在线播放 ftp 里的电影都非常稳定,可以作为流媒体服务器。VLC 提供了一个完整的框架,但是由于年纪轻,文档少,一些功能还有不稳定的因素,因此现在还不是最完美的方案,但我们有理由相信,也许将来 VLC 将成为主流的跨平台播放器。 ### XMMS2 @@ -45,7 +45,7 @@ ### FFmpeg -通用的转码平台,大牛 Fabrice Bellard 发起的项目,libavcodec 就是其中最重要的一个组件,实际上上边很多播放器强大的解码能力都是由此项目提供的。 ffmpeg 可以支持 copy,可以用来从影片里提取声音,或者切割多媒体文件。由于它是作为一个转码平台,能够输出许多容器格式,因此在提取和切割方面十分强大。 +通用的转码平台,大牛 Fabrice Bellard 发起的项目,libavcodec 就是其中最重要的一个组件,实际上上边很多播放器强大的解码能力都是由此项目提供的。ffmpeg 可以支持 copy,可以用来从影片里提取声音,或者切割多媒体文件。由于它是作为一个转码平台,能够输出许多容器格式,因此在提取和切割方面十分强大。 ### HandBrake @@ -63,7 +63,7 @@ FFmpeg 中最重要的部分,对 i386 和 arm 指令集优化极高,遗憾 ### 前沿编码器 x264 -h264 编码器的一个实现,现在几乎所有的高清电影都用这种格式和该编码器编码,将来应该会更加流行;普清视频也有用这种编码器编码,通常称为 half cd,以提供较好的压缩率。 而且 h264 的软硬件解码已十分完善,很多显卡也支持 h264 硬件解码,同时也有可以接受的软件解码库。所以无论从压缩质量还是兼容性来说,都可以使用它来编码你的收藏视频。 ffmpeg 和 mencoder 都有 x264 支持,只要在编译时开启了相应选项,就能直接在其中方便地使用 x264。 +h264 编码器的一个实现,现在几乎所有的高清电影都用这种格式和该编码器编码,将来应该会更加流行;普清视频也有用这种编码器编码,通常称为 half cd,以提供较好的压缩率。而且 h264 的软硬件解码已十分完善,很多显卡也支持 h264 硬件解码,同时也有可以接受的软件解码库。所以无论从压缩质量还是兼容性来说,都可以使用它来编码你的收藏视频。ffmpeg 和 mencoder 都有 x264 支持,只要在编译时开启了相应选项,就能直接在其中方便地使用 x264。 ## 解流与混流 diff --git a/pages/_wiki/greenwarm/remotedesktop.md b/pages/_wiki/greenwarm/remotedesktop.md index ee48918895..5ecfa9c210 100644 --- a/pages/_wiki/greenwarm/remotedesktop.md +++ b/pages/_wiki/greenwarm/remotedesktop.md @@ -3,43 +3,43 @@ # 认识 Linux 远程桌面控制 -X window 比 MS windows 先进的地方是, X window 是个基于网络的的图形视窗系统, 本身就具有远程控制的强大功能. 用户在远程系统上登录执行 X 应用程序, 并将 Xclients 执行的结果传回本地主机. 这就是我下面要介绍的 Remote X. +X window 比 MS windows 先进的地方是,X window 是个基于网络的的图形视窗系统,本身就具有远程控制的强大功能。用户在远程系统上登录执行 X 应用程序,并将 Xclients 执行的结果传回本地主机。这就是我下面要介绍的 Remote X. -这里我要说的不是 telnet, rsh 之类的远程控制工具, 而是指远程控制桌面应用. +这里我要说的不是 telnet, rsh 之类的远程控制工具,而是指远程控制桌面应用。 -X window 比 MS windows 先进的地方是, X window 是个基于网络的的图形视窗系统, 本身就具有远程控制的强大功能. 用户在远程系统上登录执行 X 应用程序, 并将 Xclients 执行的结果传回本地主机. 这就是我下面要介绍的 Remote X +X window 比 MS windows 先进的地方是,X window 是个基于网络的的图形视窗系统,本身就具有远程控制的强大功能。用户在远程系统上登录执行 X 应用程序,并将 Xclients 执行的结果传回本地主机。这就是我下面要介绍的 Remote X ## 一、Remote X 假设本地主机 ip 为 172.16.1.1, 远程的主机 ip 为 172.16.1.2 -第一步, 在本地主机上的任意一个 xterm 中执行 xhost, 用来允许远程的其它主机可以和本地主机的 X server 联网: +第一步,在本地主机上的任意一个 xterm 中执行 xhost, 用来允许远程的其它主机可以和本地主机的 X server 联网:   xhost + 172.16.1.2 -如果不指定任何 ip 地址, 则表示权限完全放开, 这会带来安全问题, 要小心! +如果不指定任何 ip 地址,则表示权限完全放开,这会带来安全问题,要小心! -第二步, 确认本地主机的 xfs 是运行的. 用 ps 检查一下进程. +第二步,确认本地主机的 xfs 是运行的。用 ps 检查一下进程。 -第三步, 从本地主机(172.16.1.1)上通过网络登录到远程主机 172.16.1.2 上, 你用 telnet, ssh, rsh 都可以. 设置 DISPLAY 变量. +第三步,从本地主机 (172.16.1.1) 上通过网络登录到远程主机 172.16.1.2 上,你用 telnet, ssh, rsh 都可以。设置 DISPLAY 变量。   export DISPLAY=172.16.1.1:0 -第四步, 现在可以使用远程主机上的 X 应用程序了. +第四步,现在可以使用远程主机上的 X 应用程序了。 -这么样, 很方便吧, 但是你还不能掌控整个桌面环境, 这个工作就交给 vnc 吧! Remote X 在局域网上运行效果很不错, 普通的电话拨号就不用试了, 速度太慢了。 +这么样,很方便吧,但是你还不能掌控整个桌面环境,这个工作就交给 vnc 吧!Remote X 在局域网上运行效果很不错,普通的电话拨号就不用试了,速度太慢了。 ## 二、vnc -我相信有不少人在 windows 环境用过 pcanywhere, 但你想不想用一个免费的, 可以在 linux, win9x/nt 上都可以使用的 pcanywhere, 这就是 vnc. +我相信有不少人在 windows 环境用过 pcanywhere, 但你想不想用一个免费的,可以在 linux, win9x/nt 上都可以使用的 pcanywhere, 这就是 vnc. -vnc 就是 vitual network computing 的缩写, 它支持许多操作平台, 甚至可在浏览器中操作. +vnc 就是 vitual network computing 的缩写,它支持许多操作平台,甚至可在浏览器中操作。 -我主要介绍 vncviewer 的用法, 以及用 linux 远程控制 linux 或 nt. +我主要介绍 vncviewer 的用法,以及用 linux 远程控制 linux 或 nt. -vnc client 通过架构在 tcp/ip 上的 vnc 协议与 vnc server 沟通, 通过认证后, 把 X server 的桌面环境, 输入设备, 和 X 资源交给 vncserver 掌控, vnc server 将桌面环境通过 vnc 协议送给 vnc client 端. 让 vnc client 来操纵 vnc server 桌面环境和输入设备. +vnc client 通过架构在 tcp/ip 上的 vnc 协议与 vnc server 沟通,通过认证后,把 X server 的桌面环境,输入设备,和 X 资源交给 vncserver 掌控,vnc server 将桌面环境通过 vnc 协议送给 vnc client 端。让 vnc client 来操纵 vnc server 桌面环境和输入设备。 -首先下载到 vnc 的 linux 版本和 windows 版本. +首先下载到 vnc 的 linux 版本和 windows 版本。 当前的 linux 版本是 vnc-3.3.3r1 _x86_ linux_2.0.tgz @@ -47,7 +47,7 @@ vnc client 通过架构在 tcp/ip 上的 vnc 协议与 vnc server 沟通, 通过 ### 1. 安装 linux 版的 vnc -(1)安装 +(1) 安装   tar zxvf vnc-3.3.3r1_x86_linux_2.0.tgz @@ -59,64 +59,64 @@ vnc client 通过架构在 tcp/ip 上的 vnc 协议与 vnc server 沟通, 通过   cp -r classes/ /usr/local/vnc/ -(2)设置 vnc server 的访问密码 +(2) 设置 vnc server 的访问密码   vncpasswd -(3)启动 vnc server +(3) 启动 vnc server   vncserver -注意运行后显示的信息, 记下所用的端口号, 一般从 1 开始, 因为 0 被 x server 占用了. 现在, 你就能提供 vnc 服务了.vnc client 的用法等会介绍. +注意运行后显示的信息,记下所用的端口号,一般从 1 开始,因为 0 被 x server 占用了。现在,你就能提供 vnc 服务了.vnc client 的用法等会介绍。 ### 2、安装 nt 版的 vnc -1)安装 +1. 安装 -解开 vnc-3.3.3r7 _x86_ win32.zip 包后, 会产生 winvnc 和 vncviewer 两个目录.winvnc 目录中是 vnc server 的安装程序, vncviewer 目录中是 vnc client 的安装序. 我只关心 vnc server, 在 winvnc 目录中执行 setup 即可. +解开 vnc-3.3.3r7 _x86_ win32.zip 包后,会产生 winvnc 和 vncviewer 两个目录.winvnc 目录中是 vnc server 的安装程序,vncviewer 目录中是 vnc client 的安装序。我只关心 vnc server, 在 winvnc 目录中执行 setup 即可。 -2)设置 +2. 设置 首先执行 install default registry settings. -run winvnc(app mode)就是执行 vnc server +run winvnc(app mode) 就是执行 vnc server -这时可看到 winvnc 运行的小图标, 用鼠标右键点击图标, 在 properties/incoming connections 中设定密码. 默认配置即可. +这时可看到 winvnc 运行的小图标,用鼠标右键点击图标,在 properties/incoming connections 中设定密码。默认配置即可。 -现在, 你的 nt 就能提供 vnc 服务了. +现在,你的 nt 就能提供 vnc 服务了。 ### 3、使用 vncviewer -vnc server 启动成功后, 你就可用 vncviewer 来远程控制桌面了. +vnc server 启动成功后,你就可用 vncviewer 来远程控制桌面了。 vncviewer xxx.xxx.xxx.xxx:display number -例如, vncviewer 172.16.1.2:1 +例如,vncviewer 172.16.1.2:1 -按要求输入密码就可以看到远程的桌面了. +按要求输入密码就可以看到远程的桌面了。 注意:viewers 需要在 16 位色的显示模式下工作,如果您的操作系统中没上 16 位色,那么请您及时的调整您计算机的显示模式。不然 vncviewer 无法正常工作。 -### 4、linux 版 vnc server 的改进. +### 4、linux 版 vnc server 的改进。 -linux 上的 vnc server 内定的桌面管理环境是 twm, 实在是太简陋了. +linux 上的 vnc server 内定的桌面管理环境是 twm, 实在是太简陋了。 -修改\$HOME/.vnc/xstartup 这个文件. +修改\$HOME/.vnc/xstartup 这个文件。 -把所有内容的行前加上#, 再在接尾部份加上: +把所有内容的行前加上#, 再在接尾部份加上: startkde & -你当然可用你喜好的桌面代替. 我这是用 kde 来代替 twm, 速度会慢少少, 但用起来方便不少. +你当然可用你喜好的桌面代替。我这是用 kde 来代替 twm, 速度会慢少少,但用起来方便不少。 注意要重新启动 vnc server. ### 5、通过浏览器使用 vnc -通过浏览器使用 vnc, 要注意端口号的变化. +通过浏览器使用 vnc, 要注意端口号的变化。 -假设 vnc server 是 172.16.1.2:1 的话, 那么, 可用浏览器访问[http://172.16.1.2:5801](http://172.16.1.2:5801/ "http://172.16.1.2:5801") +假设 vnc server 是 172.16.1.2:1 的话,那么,可用浏览器访问[http://172.16.1.2:5801](http://172.16.1.2:5801/ "http://172.16.1.2:5801") 端口号=display number + 5800 -好了, 心动不如行动, just do it ! +好了,心动不如行动,just do it ! diff --git a/pages/_wiki/greenwarm/virtualization.md b/pages/_wiki/greenwarm/virtualization.md index f153d11075..b74a044f0a 100644 --- a/pages/_wiki/greenwarm/virtualization.md +++ b/pages/_wiki/greenwarm/virtualization.md @@ -3,7 +3,7 @@ # 虚拟化简介 -虚拟化的含义丰富,应用广泛。目前虚拟化技术主要关注于服务器虚拟化,即在一个宿主计算机上提供多个独立操作系统。 进行虚拟化 就是要将某种形式的东西以另外一种形式呈现出来。对计算机进行虚拟化就是要将计算机以多台计算机或一台完全不同的计算机的形式呈现出来。 虚拟化也可以将多台计算机组合成一台计算机的形式呈现出来。这通常称为服务器聚合或网格计算。 +虚拟化的含义丰富,应用广泛。目前虚拟化技术主要关注于服务器虚拟化,即在一个宿主计算机上提供多个独立操作系统。进行虚拟化 就是要将某种形式的东西以另外一种形式呈现出来。对计算机进行虚拟化就是要将计算机以多台计算机或一台完全不同的计算机的形式呈现出来。虚拟化也可以将多台计算机组合成一台计算机的形式呈现出来。这通常称为服务器聚合或网格计算。 ## 什么是虚拟化 @@ -13,41 +13,41 @@ 1.1.1.1 硬件仿真 -毫无疑问,最复杂的虚拟化实现技术就是硬件仿真。在这种方法中,可以在宿主系统上创建一个硬件虚拟机(Virtual Machine)来仿真所想要的硬件。 使用硬件仿真的主要问题是速度会非常慢。由于每条指令都必须在底层硬件上进行仿真,因此速度减慢 100 倍的情况也并不稀奇。若要实现高度保真的仿真,包括周期精度、所仿真的 CPU 管道以及缓存行为,实际速度差距甚至可能会达到 1000 倍之多。 硬件仿真也有自己的优点。例如,您可以运行多个虚拟机,每个虚拟器仿真一个不同的处理器。 +毫无疑问,最复杂的虚拟化实现技术就是硬件仿真。在这种方法中,可以在宿主系统上创建一个硬件虚拟机(Virtual Machine)来仿真所想要的硬件。使用硬件仿真的主要问题是速度会非常慢。由于每条指令都必须在底层硬件上进行仿真,因此速度减慢 100 倍的情况也并不稀奇。若要实现高度保真的仿真,包括周期精度、所仿真的 CPU 管道以及缓存行为,实际速度差距甚至可能会达到 1000 倍之多。硬件仿真也有自己的优点。例如,您可以运行多个虚拟机,每个虚拟器仿真一个不同的处理器。 1.1.1.2 完全虚拟化 -完全虚拟化(full virtualization),也称为原始虚拟化,是另外一种虚拟化方法。这种模型使用一个虚拟机,它在客户操作系统和原始硬件之间进行协调。“协调”在这里是一个关键,因为 VMM(Virtual Machine Monitor) 在客户操作系统和裸硬件之间提供协调。特定受保护的指令必须被捕获下来并在 hypervisor 中进行处理,因为这些底层硬件并不由操作系统所拥有,而是由操作系统通过 hypervisor 共享。 虽然完全虚拟化的速度比硬件仿真的速度要快,但是其性能要低于裸硬件,因为中间经过了 hypervisor 的协调过程。完全虚拟化的最大优点是操作系统无需任何修改就可以直接运行。惟一的限制是操作系统必须要支持底层硬件。 +完全虚拟化(full virtualization),也称为原始虚拟化,是另外一种虚拟化方法。这种模型使用一个虚拟机,它在客户操作系统和原始硬件之间进行协调。“协调”在这里是一个关键,因为 VMM(Virtual Machine Monitor)在客户操作系统和裸硬件之间提供协调。特定受保护的指令必须被捕获下来并在 hypervisor 中进行处理,因为这些底层硬件并不由操作系统所拥有,而是由操作系统通过 hypervisor 共享。虽然完全虚拟化的速度比硬件仿真的速度要快,但是其性能要低于裸硬件,因为中间经过了 hypervisor 的协调过程。完全虚拟化的最大优点是操作系统无需任何修改就可以直接运行。惟一的限制是操作系统必须要支持底层硬件。 1.1.1.3 超虚拟化 -超虚拟化(paravirtualization)是另外一种流行的虚拟化技术,它与完全虚拟化有一些类似。这种方法使用了一个 hypervisor 来实现对底层硬件的共享访问,还将与虚拟化有关的代码集成到了操作系统本身中。这种方法不再需要重新编译或捕获特权指令,因为操作系统本身在虚拟化进程中会相互紧密协作。 超虚拟化技术需要为 hypervisor 修改客户操作系统,这是它的一个缺点。但是超虚拟化提供了与未经虚拟化的系统相接近的性能。与完全虚拟化类似,超虚拟化技术可以同时支持多个不同的操作系统。 +超虚拟化(paravirtualization)是另外一种流行的虚拟化技术,它与完全虚拟化有一些类似。这种方法使用了一个 hypervisor 来实现对底层硬件的共享访问,还将与虚拟化有关的代码集成到了操作系统本身中。这种方法不再需要重新编译或捕获特权指令,因为操作系统本身在虚拟化进程中会相互紧密协作。超虚拟化技术需要为 hypervisor 修改客户操作系统,这是它的一个缺点。但是超虚拟化提供了与未经虚拟化的系统相接近的性能。与完全虚拟化类似,超虚拟化技术可以同时支持多个不同的操作系统。 1.1.1.4 操作系统级别的虚拟化 -最后一种技术是操作系统级的虚拟化,它使用的技术与前面所介绍的有所不同。这种技术在操作系统本身之上实现服务器的虚拟化。这种方法支持单个操作系统,并可以将独立的服务器相互简单地隔离开来。 操作系统级的虚拟化要求对操作系统的内核进行一些修改,但是其优点是可以获得原始性能。 +最后一种技术是操作系统级的虚拟化,它使用的技术与前面所介绍的有所不同。这种技术在操作系统本身之上实现服务器的虚拟化。这种方法支持单个操作系统,并可以将独立的服务器相互简单地隔离开来。操作系统级的虚拟化要求对操作系统的内核进行一些修改,但是其优点是可以获得原始性能。 ## 1.1.2 与 Linux 有关的虚拟化项目 1.1.2.1 Bochs(硬件仿真) -Bochs 是一个 x86 计算机仿真器,它在很多平台上(包括 x86、PowerPC、Alpha、SPARC 和 MIPS)都可以移植和运行。使 Bochs 更为有趣的是它不仅可以对处理器进行仿真,还可以对整个计算机进行仿真,包括计算机的外围设备,比如键盘、鼠标、视频图像硬件、网卡(NIC)等。 Bochs 可以配置作为一个老式的 Intel® 386 或其后继处理器使用,例如 486、Pentium、Pentium Pro 或 64 位处理器。它甚至还可以对一些可选的图形指令进行仿真,例如 MMX 和 3DNow。 使用 Bochs 仿真器,您可以运行任何 Linux 上的 Linux 发行版、Linux 上的 Microsoft® Windows® 95/98/NT/2000(以及各种应用程序),甚至 Linux 上的 BSD(Berkeley Software Distribution)操作系统(FreeBSD、OpenBSD 等)。 +Bochs 是一个 x86 计算机仿真器,它在很多平台上(包括 x86、PowerPC、Alpha、SPARC 和 MIPS)都可以移植和运行。使 Bochs 更为有趣的是它不仅可以对处理器进行仿真,还可以对整个计算机进行仿真,包括计算机的外围设备,比如键盘、鼠标、视频图像硬件、网卡(NIC)等。Bochs 可以配置作为一个老式的 Intel® 386 或其后继处理器使用,例如 486、Pentium、Pentium Pro 或 64 位处理器。它甚至还可以对一些可选的图形指令进行仿真,例如 MMX 和 3DNow。使用 Bochs 仿真器,您可以运行任何 Linux 上的 Linux 发行版、Linux 上的 Microsoft® Windows® 95/98/NT/2000(以及各种应用程序),甚至 Linux 上的 BSD(Berkeley Software Distribution)操作系统(FreeBSD、OpenBSD 等)。 1.1.2.2 QEMU(硬件仿真) -QEMU 是另外一个仿真器,它与 Bochs 非常类似,不过也有一些值得一提的区别。QEMU 支持两种操作模式。第一种是 Full System Emulation(完全系统仿真)模式。这种模式与 Bochs 非常类似,它可以对一个具有处理器和外围设备的完整个人计算机(PC)进行仿真。这种模式可以仿真很多处理器架构,例如 x86、x86_64、ARM、SPARC、PowerPC 和 MIPS,其动态转换的速度也比较理想。使用这种模式,您可以在 Linux、Solaris 和 FreeBSD 上仿真 Windows 操作系统(包括 XP)和 Linux。很多其他操作系统的组合也都可以得到支持。 QEMU 还可以支持第二种模式,称为 User Mode Emulation(用户模式仿真)。这种模式只能宿主于 Linux,在这种模式下,可以启动不同体系结构的二进制文件。例如,在 x86 平台上运行的 Linux 系统上可以执行为 MIPS 体系架构编译的二进制文件。 +QEMU 是另外一个仿真器,它与 Bochs 非常类似,不过也有一些值得一提的区别。QEMU 支持两种操作模式。第一种是 Full System Emulation(完全系统仿真)模式。这种模式与 Bochs 非常类似,它可以对一个具有处理器和外围设备的完整个人计算机(PC)进行仿真。这种模式可以仿真很多处理器架构,例如 x86、x86_64、ARM、SPARC、PowerPC 和 MIPS,其动态转换的速度也比较理想。使用这种模式,您可以在 Linux、Solaris 和 FreeBSD 上仿真 Windows 操作系统(包括 XP)和 Linux。很多其他操作系统的组合也都可以得到支持。QEMU 还可以支持第二种模式,称为 User Mode Emulation(用户模式仿真)。这种模式只能宿主于 Linux,在这种模式下,可以启动不同体系结构的二进制文件。例如,在 x86 平台上运行的 Linux 系统上可以执行为 MIPS 体系架构编译的二进制文件。 1.1.2.3 VMware(完全虚拟化) -VMware 是完全虚拟化的一个商业解决方案。在客户操作系统和裸硬件之间有一个 hypervisor 作为抽象层使用。这个抽象层允许任何操作系统在硬件上运行,而不需要了解任何其他客户操作系统。 VMware 也会对可用的 I/O 硬件进行虚拟化,并将一些高性能的设备驱动程序加入到 hypervisor 中。 整个虚拟化后的环境都作为一个文件保存,这意味着整个系统(包括客户操作系统、VM 和虚拟硬件)可以很容易地快速迁移到新宿主机器上进行负载均衡。 +VMware 是完全虚拟化的一个商业解决方案。在客户操作系统和裸硬件之间有一个 hypervisor 作为抽象层使用。这个抽象层允许任何操作系统在硬件上运行,而不需要了解任何其他客户操作系统。VMware 也会对可用的 I/O 硬件进行虚拟化,并将一些高性能的设备驱动程序加入到 hypervisor 中。整个虚拟化后的环境都作为一个文件保存,这意味着整个系统(包括客户操作系统、VM 和虚拟硬件)可以很容易地快速迁移到新宿主机器上进行负载均衡。 1.1.2.4 Xen(超虚拟化) -Xen 是一个来自于 XenSource 的操作系统级超虚拟化的免费开源解决方案。在超虚拟化中,hypervisor 和操作系统会共同协作,虽然操作系统需要进行一些更改,但却可以带来接近于原始系统的性能。 就像 Xen 需要进行协作(对客户操作系统进行修改)一样,只有那些修补过的操作系统才可以通过 Xen 进行虚拟化。Linux 本身就是开源的,所以从 Linux 角度来看,这是一个很合理的折衷,因为最终可以获得比完全虚拟化更好的性能。但是从广泛支持的角度来看(例如对其他非开源操作系统的支持),这显然是一个 缺点。 Windows 可以在 Xen 上作为一个客户操作系统运行,支持 Xen 的其他操作系统包括 Minix、Plan 9、NetBSD、FreeBSD 和 OpenSolaris。 +Xen 是一个来自于 XenSource 的操作系统级超虚拟化的免费开源解决方案。在超虚拟化中,hypervisor 和操作系统会共同协作,虽然操作系统需要进行一些更改,但却可以带来接近于原始系统的性能。就像 Xen 需要进行协作(对客户操作系统进行修改)一样,只有那些修补过的操作系统才可以通过 Xen 进行虚拟化。Linux 本身就是开源的,所以从 Linux 角度来看,这是一个很合理的折衷,因为最终可以获得比完全虚拟化更好的性能。但是从广泛支持的角度来看(例如对其他非开源操作系统的支持),这显然是一个 缺点。Windows 可以在 Xen 上作为一个客户操作系统运行,支持 Xen 的其他操作系统包括 Minix、Plan 9、NetBSD、FreeBSD 和 OpenSolaris。 1.1.2.5 Linux-VServer(操作系统级虚拟化) -Linux-VServer 是一个操作系统级虚拟化解决方案。Linux-VServer 对 Linux 内核进行虚拟化,这样多个用户空间环境 —— 又称为 Virtual Private Server(VPS) —— 就可以单独运行,而不需要互相了解。Linux-VServer 通过修改 Linux 内核实现用户空间的隔离。 要将各个用户空间与其他用户空间隔离开来,就需要从上下文的概念入手。上下文 是给定 VPS 进程使用的一个容器,这样通过诸如 ps 之类的工具就可以了解 VPS 的进程。内核为最初的引导定义了一个缺省的上下文。另外管理端还能查看所有的上下文(所有的执行进程)。正如您可能猜到的那样,内核和内部数据结构也需要进行修改来支持这种虚拟化方法。 Linux-VServer 还使用了一种 chroot 格式来为每个 VPS 隔离 root 目录。虽然 chroot 允许指定新 root 目录,但还是需要其他一些功能(称为 Chroot-Barrier)来限制 VPS 脱离其隔离的 root 目录回到上级目录。给定一个隔离的 root 目录之后,每个 VPS 就可以拥有自己的用户列表和 root 密码。 2.4 和 2.6 版本的 Linux 内核支持 Linux-VServer,它可以运行于很多平台之上,包括 x86、x86-64、SPARC、MIPS、ARM 和 PowerPC。 +Linux-VServer 是一个操作系统级虚拟化解决方案。Linux-VServer 对 Linux 内核进行虚拟化,这样多个用户空间环境 —— 又称为 Virtual Private Server(VPS) —— 就可以单独运行,而不需要互相了解。Linux-VServer 通过修改 Linux 内核实现用户空间的隔离。要将各个用户空间与其他用户空间隔离开来,就需要从上下文的概念入手。上下文 是给定 VPS 进程使用的一个容器,这样通过诸如 ps 之类的工具就可以了解 VPS 的进程。内核为最初的引导定义了一个缺省的上下文。另外管理端还能查看所有的上下文(所有的执行进程)。正如您可能猜到的那样,内核和内部数据结构也需要进行修改来支持这种虚拟化方法。Linux-VServer 还使用了一种 chroot 格式来为每个 VPS 隔离 root 目录。虽然 chroot 允许指定新 root 目录,但还是需要其他一些功能(称为 Chroot-Barrier)来限制 VPS 脱离其隔离的 root 目录回到上级目录。给定一个隔离的 root 目录之后,每个 VPS 就可以拥有自己的用户列表和 root 密码。2.4 和 2.6 版本的 Linux 内核支持 Linux-VServer,它可以运行于很多平台之上,包括 x86、x86-64、SPARC、MIPS、ARM 和 PowerPC。 1.1.2.6 Virtual Box @@ -55,11 +55,11 @@ virtual box 是一个非常好用的虚拟化软件,其使用方法与著名 ## 1.1.3 对完全虚拟化和超虚拟化的硬件支持 -Intel 正在开发新虚拟化技术,能在 x86(VT-x)和 Itanium®(VT-i)体系架构上支持 hypervisor。VT-x 支持两种格式的操作,一种用于 VMM(root),另外一种用于客户操作系统(非 root)。root 格式完全是特权级的,而非 root 格式是非特权级的(即使对环 0 来说也是如此)。这种体系架构支持定义指令来使 VM(客户操作系统)退出到 VMM 和保存处理器状态。此外还添加了许多其他的功能。 AMD 也开发了硬件辅助虚拟化技术,称为 Pacifica。除了其他一些特性之外,Pacifica 还为在特殊指令执行时保存的客户操作系统维护了一个控制块。VMRUN 指令允许虚拟机(及其相关的客户操作系统)一直运行,直到 VMM 重新获得控制权为止(这也是可配置的)。这种可配置能力允许 CMM 为每个客户操作系统定制特权指令。Pacifica 还可以使用宿主和客户内存管理单元(MMU)表来进行地址转换。 这些新技术也可以应用到此处讨论的很多其他虚拟化技术中,包括 Xen、VMware、User-mode Linux 等。 +Intel 正在开发新虚拟化技术,能在 x86(VT-x)和 Itanium®(VT-i)体系架构上支持 hypervisor。VT-x 支持两种格式的操作,一种用于 VMM(root),另外一种用于客户操作系统(非 root)。root 格式完全是特权级的,而非 root 格式是非特权级的(即使对环 0 来说也是如此)。这种体系架构支持定义指令来使 VM(客户操作系统)退出到 VMM 和保存处理器状态。此外还添加了许多其他的功能。AMD 也开发了硬件辅助虚拟化技术,称为 Pacifica。除了其他一些特性之外,Pacifica 还为在特殊指令执行时保存的客户操作系统维护了一个控制块。VMRUN 指令允许虚拟机(及其相关的客户操作系统)一直运行,直到 VMM 重新获得控制权为止(这也是可配置的)。这种可配置能力允许 CMM 为每个客户操作系统定制特权指令。Pacifica 还可以使用宿主和客户内存管理单元(MMU)表来进行地址转换。这些新技术也可以应用到此处讨论的很多其他虚拟化技术中,包括 Xen、VMware、User-mode Linux 等。 ## 1.1.4 Linux KVM(内核虚拟机) -Linux 传出的最新消息是将 KVM 合并到 Linux 内核中。KVM 是一种完全虚拟化解决方案,它有一个方面非常独特:它将 Linux 内核转换为一个使用内核模块的 hypervisor。这个模块允许使用其他客户操作系统,然后在宿主 Linux 内核的用户空间中运行。内核中的 KVM 通过 /dev/kvm 字符设备来公开虚拟化后的硬件。客户操作系统使用为 PC 硬件仿真修改过的 QEMU 进程与 KVM 模块接口。 KVM 模块向内核中引入了一个新的执行模块。普通内核支持内核 模式和用户 模式,而 KVM 则引入了一种客户 模式。客户模式用来执行所有非 I/O 客户代码,而普通用户模式支持客户 I/O。 KVM 的引入是 Linux 的一个有趣革新,因为它代表了作为主流 Linux 内核一部分的第一个虚拟化技术。它已经存在于 2.6.20 树中,不过也可以作为 2.6.19 内核的一个内核模块使用。当在支持虚拟化的硬件上运行时,KVM 支持 Linux(32 位和 64 位)和 Windows(32 位,64 位?)客户机。 +Linux 传出的最新消息是将 KVM 合并到 Linux 内核中。KVM 是一种完全虚拟化解决方案,它有一个方面非常独特:它将 Linux 内核转换为一个使用内核模块的 hypervisor。这个模块允许使用其他客户操作系统,然后在宿主 Linux 内核的用户空间中运行。内核中的 KVM 通过 /dev/kvm 字符设备来公开虚拟化后的硬件。客户操作系统使用为 PC 硬件仿真修改过的 QEMU 进程与 KVM 模块接口。KVM 模块向内核中引入了一个新的执行模块。普通内核支持内核 模式和用户 模式,而 KVM 则引入了一种客户 模式。客户模式用来执行所有非 I/O 客户代码,而普通用户模式支持客户 I/O。KVM 的引入是 Linux 的一个有趣革新,因为它代表了作为主流 Linux 内核一部分的第一个虚拟化技术。它已经存在于 2.6.20 树中,不过也可以作为 2.6.19 内核的一个内核模块使用。当在支持虚拟化的硬件上运行时,KVM 支持 Linux(32 位和 64 位)和 Windows(32 位,64 位?)客户机。 # 拓林思产品中对虚拟化的支持 diff --git a/pages/_wiki/greenwarm/win32free.md b/pages/_wiki/greenwarm/win32free.md index 35a3a6b0c0..200642bd39 100644 --- a/pages/_wiki/greenwarm/win32free.md +++ b/pages/_wiki/greenwarm/win32free.md @@ -3,7 +3,7 @@ # Windows 下的开源及优秀免费软件 -下面列举了我平时整理的一些开源免费软件,基本上都具有高效、功能丰富、上手快或定制能力强的特点。 还有很多开源软件,如 Free Download Manager、MPlayer 虽然对一些 geek 而言仍不失为一个优秀的软件,但是相对较为小众,这里就不多做介绍了。 +下面列举了我平时整理的一些开源免费软件,基本上都具有高效、功能丰富、上手快或定制能力强的特点。还有很多开源软件,如 Free Download Manager、MPlayer 虽然对一些 geek 而言仍不失为一个优秀的软件,但是相对较为小众,这里就不多做介绍了。 ## 开源软件 @@ -25,7 +25,7 @@ 9. 十六进制编辑:madedit -10. IDE:Eclipse +10. IDE: Eclipse 11. 快速启动器:Launchy @@ -107,4 +107,4 @@ 上面很多软件是跨平台的,同时有 Linux 下的版本,但本人在 Linux 平台下习惯使用不同的工作方式,就没详细整理了。 -开源软件还有一个很重要的优势就是通常能有 64 位的版本,使得软件的性能能有一定的提高,尤其对于计算密集型的软件;同时 64 位系统+64 位软件的安全性能很高,明显优于 32 位系统或者 64 位系统+32 软件。 +开源软件还有一个很重要的优势就是通常能有 64 位的版本,使得软件的性能能有一定的提高,尤其对于计算密集型的软件;同时 64 位系统 +64 位软件的安全性能很高,明显优于 32 位系统或者 64 位系统 +32 软件。 diff --git "a/pages/_wiki/greenwarm/xen\347\256\200\344\273\213\344\270\216\344\275\277\347\224\250.md" "b/pages/_wiki/greenwarm/xen\347\256\200\344\273\213\344\270\216\344\275\277\347\224\250.md" index a4a3958041..1176c5c4a2 100644 --- "a/pages/_wiki/greenwarm/xen\347\256\200\344\273\213\344\270\216\344\275\277\347\224\250.md" +++ "b/pages/_wiki/greenwarm/xen\347\256\200\344\273\213\344\270\216\344\275\277\347\224\250.md" @@ -3,21 +3,21 @@ # 1.2 Xen 简介 -Xen 是在剑桥大学作为一个研究项目被开发出来的,它已经在开源社区中得到了极大的推动。Xen 是一款 半虚拟化(paravirtualizing) VMM(虚拟机监视器,Virtual Machine Monitor), 这表示,为了调用系统管理程序,要有选择地修改操作系统,然而却不需要修改操作系统上运行的应用程序。 虽然 VMWare 等其他虚拟化系统实现了完全的虚拟化(它们不必修改使用中的操作系统),但它们仍需要进行实时的机器代码翻译,这会影响性能。 由于 Xen 需要修改操作系统内核,所以您不能直接让当前的 Linux 内核在 Xen 系统管理程序中运行,除非它已经 移植到了 Xen 架构。不过,如果当前系统可以使用新的已经移植到 Xen 架构的 Linux 内核,那么 您就可以不加修改地运行现有的系统。 +Xen 是在剑桥大学作为一个研究项目被开发出来的,它已经在开源社区中得到了极大的推动。Xen 是一款 半虚拟化(paravirtualizing)VMM(虚拟机监视器,Virtual Machine Monitor),这表示,为了调用系统管理程序,要有选择地修改操作系统,然而却不需要修改操作系统上运行的应用程序。虽然 VMWare 等其他虚拟化系统实现了完全的虚拟化(它们不必修改使用中的操作系统),但它们仍需要进行实时的机器代码翻译,这会影响性能。由于 Xen 需要修改操作系统内核,所以您不能直接让当前的 Linux 内核在 Xen 系统管理程序中运行,除非它已经 移植到了 Xen 架构。不过,如果当前系统可以使用新的已经移植到 Xen 架构的 Linux 内核,那么 您就可以不加修改地运行现有的系统。 -[![](/wiki/_media/%e7%b3%bb%e7%bb%9f%e7%ae%a1%e7%90%86/xen-1.html)](/wiki/_detail/%e7%b3%bb%e7%bb%9f%e7%ae%a1%e7%90%86/xen-182c6?id=greenwarm%3Axen%E7%AE%80%E4%BB%8B%E4%B8%8E%E4%BD%BF%E7%94%A8 "系统管理:xen-1.jpg") 图 1-1 简单的 Xen 架构 Xen 是一个开放源代码的 para-virtualizing 虚拟机(VMM)或“管理程序 ”,是为 x86 架构的机器而设计的。Xen 可以在 一套物理硬件上安全的执行多个虚拟机。 +[![](/wiki/_media/%e7%b3%bb%e7%bb%9f%e7%ae%a1%e7%90%86/xen-1.html)](/wiki/_detail/%e7%b3%bb%e7%bb%9f%e7%ae%a1%e7%90%86/xen-182c6?id=greenwarm%3Axen%E7%AE%80%E4%BB%8B%E4%B8%8E%E4%BD%BF%E7%94%A8 "系统管理:xen-1.jpg") 图 1-1 简单的 Xen 架构 Xen 是一个开放源代码的 para-virtualizing 虚拟机(VMM)或“管理程序”,是为 x86 架构的机器而设计的。Xen 可以在 一套物理硬件上安全的执行多个虚拟机。 ## 1.2.1 硬件支持 -目前运行在 x86 架构的 机器上,需要 P6 或更新的处理器(比如 Pentium Pro, Celeron, Pentium II, Pentium III, Pentium IV, Xeon, AMD Athlon, AMD Duron)。支 持多 处理器,并且支持超线程(SMT)。另外对 IA64 和 Power 架构的开发也在进行中。 32 位 Xen 支持最大 4GB 内存。可是 Xen 3.0 为 Intel 处理器物理指令集(PAE)提供支持,这样就能使 x86/32 架构的机器支持到 64GB 的物理内存。Xen 3.0 也能支持 x86/64 平台支持,比如 Intel EM64T 和 AMD Opteron 能支持 1TB 的物理 内存以上。 +目前运行在 x86 架构的 机器上,需要 P6 或更新的处理器(比如 Pentium Pro, Celeron, Pentium II, Pentium III, Pentium IV, Xeon, AMD Athlon, AMD Duron)。支 持多 处理器,并且支持超线程(SMT)。另外对 IA64 和 Power 架构的开发也在进行中。32 位 Xen 支持最大 4GB 内存。可是 Xen 3.0 为 Intel 处理器物理指令集 (PAE) 提供支持,这样就能使 x86/32 架构的机器支持到 64GB 的物理内存。Xen 3.0 也能支持 x86/64 平台支持,比如 Intel EM64T 和 AMD Opteron 能支持 1TB 的物理 内存以上。 ## 1.2.2 基于 Xen 的系统架构 -基于 Xen 的操作系统,有多个层,最底层和最高特权层是 Xen 程序本身。Xen 可以管理多个客户操作系统,每个操作系统都能在一个安全的虚拟机中实现。在 Xen 的术语中,Domain 由 Xen 控制,以高效的利用 CPU 的物理资源。每 个客户操作系统可以管理它自身的应用。这种管理包括每个程序在规定时间内的响应到执行,是通过 Xen 调度到虚拟机中实现。 当 Xen 启动运行后,第一个虚拟的操作系统,就是 Xen 本身,我们通过 xm list,会发现有一个 Domain 0 的虚拟机。Domain 0 是其它虚拟主机的管理者和控制者,Domain 0 可以构建其它的更多的 Domain ,并管理虚拟设备。它还能执行管理任务,比如虚拟机的体眠、唤醒和迁移其它虚拟机。 一个被称为 xend 的服务器进程通过 domain 0 来管理系统,Xend 负责管理众多的虚拟主机,并且提供进入这些系统的控制台。命令经一个命令行的工具通过一个 HTTP 的接口被传送到 xend。 +基于 Xen 的操作系统,有多个层,最底层和最高特权层是 Xen 程序本身。Xen 可以管理多个客户操作系统,每个操作系统都能在一个安全的虚拟机中实现。在 Xen 的术语中,Domain 由 Xen 控制,以高效的利用 CPU 的物理资源。每 个客户操作系统可以管理它自身的应用。这种管理包括每个程序在规定时间内的响应到执行,是通过 Xen 调度到虚拟机中实现。当 Xen 启动运行后,第一个虚拟的操作系统,就是 Xen 本身,我们通过 xm list,会发现有一个 Domain 0 的虚拟机。Domain 0 是其它虚拟主机的管理者和控制者,Domain 0 可以构建其它的更多的 Domain,并管理虚拟设备。它还能执行管理任务,比如虚拟机的体眠、唤醒和迁移其它虚拟机。一个被称为 xend 的服务器进程通过 domain 0 来管理系统,Xend 负责管理众多的虚拟主机,并且提供进入这些系统的控制台。命令经一个命令行的工具通过一个 HTTP 的接口被传送到 xend。 # 1.3 安装 Xen -Xen 发行版包括三个主要的部件:Xen 本身,在 Xen 上运行 Linux 和 NetBSD 的接口,及管理基于 Xen 的系统的用户工具。 GTES11 已经包含了 Xen 的相关安装包,在安装 GTES11 操作系统的时候,选择典型安装方式或者完全安装方式即可。 你也可以选择自定义安装方式,然后选择安装虚拟化相关组件。 系统安装成功以后,在 GRUB 的启动菜单上选择带 有 xen 支持的选择,这样就可以启动有 Xen 支持的操作系统了。 用支持 Xen 的内核启动,看起来有点象 Linux 常规引导。第一部份输出的是 Xen 本身的信息,这些信息是关于 Xen 自身和底层的硬件的信息。最后的输出是来自于 XenLinux。 当 XenLinux 引导时,您能查看一些错误的信息。对于这些信息没有必要为他们担心,这是因为您的 XenLinux 和您原来用的没有带有 Xen 支持的那个之间不同配置而引起的。 当引导完成后,您应该可以登录您的操作系统了。 +Xen 发行版包括三个主要的部件:Xen 本身,在 Xen 上运行 Linux 和 NetBSD 的接口,及管理基于 Xen 的系统的用户工具。GTES11 已经包含了 Xen 的相关安装包,在安装 GTES11 操作系统的时候,选择典型安装方式或者完全安装方式即可。你也可以选择自定义安装方式,然后选择安装虚拟化相关组件。系统安装成功以后,在 GRUB 的启动菜单上选择带 有 xen 支持的选择,这样就可以启动有 Xen 支持的操作系统了。用支持 Xen 的内核启动,看起来有点象 Linux 常规引导。第一部份输出的是 Xen 本身的信息,这些信息是关于 Xen 自身和底层的硬件的信息。最后的输出是来自于 XenLinux。当 XenLinux 引导时,您能查看一些错误的信息。对于这些信息没有必要为他们担心,这是因为您的 XenLinux 和您原来用的没有带有 Xen 支持的那个之间不同配置而引起的。当引导完成后,您应该可以登录您的操作系统了。 # 1.4 引导 Xen @@ -25,7 +25,7 @@ Xen 发行版包括三个主要的部件:Xen 本身,在 Xen 上运行 Linux ## 1.4.1 从 Domain0 开始引导 -创建一个新的 Domain 的首先要准备一个 root 文件系统,这个文件系统 可以是一个物理分区,一个 LVM 或其它的逻辑卷分区,映像文件,或在一个 NFS 服务器上。最简单的是通过操作系统的安装盘把操作系统安装进另一个物理分区。 GTES11 系统中启动支持 Xen 的内核以后,默认启动了 xend 守护进程。你可以通过以下命令进行查看: +创建一个新的 Domain 的首先要准备一个 root 文件系统,这个文件系统 可以是一个物理分区,一个 LVM 或其它的逻辑卷分区,映像文件,或在一个 NFS 服务器上。最简单的是通过操作系统的安装盘把操作系统安装进另一个物理分区。GTES11 系统中启动支持 Xen 的内核以后,默认启动了 xend 守护进程。你可以通过以下命令进行查看: /etc/init.d/xend status @@ -35,36 +35,36 @@ Xen 发行版包括三个主要的部件:Xen 本身,在 Xen 上运行 Linux ## 1.4.2 引导客户 Domains ( Booting Guest Domains ) - 1.4.2.1 创建一个Domain配置文件 + 1.4.2.1 创建一个 Domain 配置文件 -在启动一个虚拟的操作系统之前,必须创建 一个引导这个虚拟操作系统的配置文件 。 我们提供了两个示例文件,这能做为您学习 Xen 虚拟操作系统的一个起点。 +在启动一个虚拟的操作系统之前,必须创建 一个引导这个虚拟操作系统的配置文件。我们提供了两个示例文件,这能做为您学习 Xen 虚拟操作系统的一个起点。 /etc/xen/xmexample1 是引导一个虚 拟操作系统的配置文件示例。 /etc/xen/xmexample2 是可 以引导多个虚拟操作系统的配置文件;设置xmid的变量的值,这样就可以通过xm 指定vmid对虚拟的操作系统进行管理。 还有其它一些有关 Domain 的配置文件,您可以加以修改应用。 - 1.4.2.2 引导客户Domain + 1.4.2.2 引导客户 Domain -xm 工具为管理 Domain 提供很多指令。 用 create 指令来引导新的 Domain。可以基于/etc/xen/xmexample2 创建自己的 Domain 管理配置文件 myvmconf,这样启动一个 Domain 可以通过虚拟机的 ID 来引导。比如 ID 是 1,您应该输入: +xm 工具为管理 Domain 提供很多指令。用 create 指令来引导新的 Domain。可以基于/etc/xen/xmexample2 创建自己的 Domain 管理配置文件 myvmconf,这样启动一个 Domain 可以通过虚拟机的 ID 来引导。比如 ID 是 1,您应该输入: xm create -c myvmconf vmid=1 --c 参数是指后面要接配置文件,意思是通过配置文件引导,vmid=1 是在 myvmconf 中的变量,不同的 Domain,vmid 的值也不一样。 然后您应该能看到从新 Domain 的在控制台启动的信息,最后您能登录被虚拟的操作系统。 +-c 参数是指后面要接配置文件,意思是通过配置文件引导,vmid=1 是在 myvmconf 中的变量,不同的 Domain,vmid 的值也不一样。然后您应该能看到从新 Domain 的在控制台启动的信息,最后您能登录被虚拟的操作系统。 - 1.4.2.3 自动启动/停止Domain + 1.4.2.3 自动启动/停止 Domain -当系统启动的时候,Domain 也随之启动,并生成一个 dom0 守护进程,当 dom0 关闭系统之前,dom0 上运行的 Domain 都要关闭。 可以指定一个 Domain 随系统自动启动,请放配置文件(或建一个 边链接)文件到/etc/xen/auto 目录下。 对于 GTES11 系统,安装 xen 时,会在/etc/init.d 目录下安装 Sys-V 风格初始化脚本。您可以根据需要启用它们。 默认情况下, 在运行级别是 3、4、5 时, 引导时会启动它们。 +当系统启动的时候,Domain 也随之启动,并生成一个 dom0 守护进程,当 dom0 关闭系统之前,dom0 上运行的 Domain 都要关闭。可以指定一个 Domain 随系统自动启动,请放配置文件(或建一个 边链接) 文件到/etc/xen/auto 目录下。对于 GTES11 系统,安装 xen 时,会在/etc/init.d 目录下安装 Sys-V 风格初始化脚本。您可以根据需要启用它们。默认情况下,在运行级别是 3、4、5 时,引导时会启动它们。 # 1.5 Xen 的配置和管理 ## 1.5.1 Xen 的相关文件存放位置 -安装有 xen 的操作系统下的/boot 目录中,存放 xen 本身及支持 xen 的内核文件。 内核模块包括虚拟平台支持 xen 的内核 xen0 的模块,及支持虚拟操作系统所用的 xenU 的模块,一般的情况下是在 /lib/modules 下有两个 xen 相关的目录存放。 Xen 的配置文件存放于 /etc/xen 目录。 比如 xend-config.sxp 是用于配置网络的,不过我们不必更改,用其默认的就能完成我们的需要。xmexample1 xmexample2 是两个示例性的配置文件。我们在配置引导被虚拟的操作系统时,这两个文件可供参考。 Xen 的服务器 xend 和 xendomains 启动 脚本,一般是位于/etc/init.d/目录中,也就是/etc/init.d/xend ;/etc/init.d/xend 负责启动 xend 服务器,而/etc/init.d/xendomains 负责第一个虚拟的系统及其它的 Domains,也就是 Domain 0。 Xen 的可执行命令存放于/usr/sbin 目录。 +安装有 xen 的操作系统下的/boot 目录中,存放 xen 本身及支持 xen 的内核文件。内核模块包括虚拟平台支持 xen 的内核 xen0 的模块,及支持虚拟操作系统所用的 xenU 的模块,一般的情况下是在 /lib/modules 下有两个 xen 相关的目录存放。Xen 的配置文件存放于 /etc/xen 目录。比如 xend-config.sxp 是用于配置网络的,不过我们不必更改,用其默认的就能完成我们的需要。xmexample1 xmexample2 是两个示例性的配置文件。我们在配置引导被虚拟的操作系统时,这两个文件可供参考。Xen 的服务器 xend 和 xendomains 启动 脚本,一般是位于/etc/init.d/目录中,也就是/etc/init.d/xend;/etc/init.d/xend 负责启动 xend 服务器,而/etc/init.d/xendomains 负责第一个虚拟的系统及其它的 Domains,也就是 Domain 0。Xen 的可执行命令存放于/usr/sbin 目录。 ## 1.5.2 Xen 服务器的启动 -Xend 服务器的启动/停止/重启/状态查询,请用下面的命令: +Xend 服务器的启动/停止/重启/状态查询,请用下面的命令: /etc/init.d/xend start 启动xend,如果 xend没有运行 /etc/init.d/xend stop 停止xend,如果xend正在运行 @@ -81,7 +81,7 @@ Xend 服务器的启动/停止/重启/状态查询,请用下面的命令: /usr/sbin/xmcreate -c 虚拟操作系统的启动配置文件 -例如我们要启动被虚拟的操作系统 GTES11 ,我们要写一个启动 GTES11 的配置文件,比如是 gtes11vm.cfg。然后就可以通过下面的命令来引导 GTES11 了。 +例如我们要启动被虚拟的操作系统 GTES11,我们要写一个启动 GTES11 的配置文件,比如是 gtes11vm.cfg。然后就可以通过下面的命令来引导 GTES11 了。 /usr/sbin/xmcreate -c gtes11vm.cfg @@ -119,23 +119,23 @@ Xend 服务器的启动/停止/重启/状态查询,请用下面的命令: # 1.6 存储和文件管理 -虚拟的系统应该有一个存储的地方,也就是文件系统。 被虚拟的系统能安装和运行在一个实际的物理分区上,一个映像文件中,或 NFS 等网络文件系统中。 最常用的,最简单的方法是以物理块设备(一个硬盘或分区)做为虚拟系统的块设备。 也可以用一个映像文件或已经分割的文件系统映像为做为虚拟系统的块设备。 标准的网络存储协议支持的文件系统,比如 NBD,iSCSI,NFS 等,也能做为虚拟系统的存储系统。 +虚拟的系统应该有一个存储的地方,也就是文件系统。被虚拟的系统能安装和运行在一个实际的物理分区上,一个映像文件中,或 NFS 等网络文件系统中。最常用的,最简单的方法是以物理块设备(一个硬盘或分区)做为虚拟系统的块设备。也可以用一个映像文件或已经分割的文件系统映像为做为虚拟系统的块设备。标准的网络存储协议支持的文件系统,比如 NBD,iSCSI,NFS 等,也能做为虚拟系统的存储系统。 ## 1.6.1 以物理硬盘作为虚拟块设备 -以实际物理硬盘分区做为虚拟操作系统的文件系统,要经过硬盘分区,创建文件系统流程。 一个简单的配置就是直接把有效的物理分区做为虚拟块设备。在您的 domain 配置文件中,通过用 phy: 来指定。比如类似下面的一行: +以实际物理硬盘分区做为虚拟操作系统的文件系统,要经过硬盘分区,创建文件系统流程。一个简单的配置就是直接把有效的物理分区做为虚拟块设备。在您的 domain 配置文件中,通过用 phy: 来指定。比如类似下面的一行: disk = ['phy:hda3,sda1,w'] -指定物理分区/dev/hda3 虚拟为/dev/sda1,并且被虚拟 的系统所用的文件系统位于/dev/sda1。 块设备作为典型的配置在 Domain 中是只读的,否则 Linux 内核的文件系统由于 Domain 文件系统多次改变而变得混乱(相同的 ext3 分区以 rw 读 写方式挂载两次的解决办法会导致崩溃的危险!)。Xend 通过检查设备没有以 rw 可写读模式被挂载于 Domain0 上,并且检查同一个块设备没有以读写的方式应用于另外一个 Domain 上。 +指定物理分区/dev/hda3 虚拟为/dev/sda1,并且被虚拟 的系统所用的文件系统位于/dev/sda1。块设备作为典型的配置在 Domain 中是只读的,否则 Linux 内核的文件系统由于 Domain 文件系统多次改变而变得混乱(相同的 ext3 分区以 rw 读 写方式挂载两次的解决办法会导致崩溃的危险!)。Xend 通过检查设备没有以 rw 可写读模式被挂载于 Domain0 上,并且检查同一个块设备没有以读写的方式应用于另外一个 Domain 上。 ## 1.6.2 以文件作为虚拟块设备 -以映像文件做为虚拟操作系统的文件系统,这种方法是比较常用。也是比较方便和易于操作的,也就是说被虚拟的操作系统是放在了一个文件中。 例如,创建一个 2G 的文件,(文件的块的大小为 1KB) +以映像文件做为虚拟操作系统的文件系统,这种方法是比较常用。也是比较方便和易于操作的,也就是说被虚拟的操作系统是放在了一个文件中。例如,创建一个 2G 的文件,(文件的块的大小为 1KB) dd if=/dev/zero of=gtes11vm.img bs=1k seek=2048k count=1 -您可以调整上面命令参数的大小来创建您想要的体积大小的映像文件。 在映像文件上创建文件系 统: +您可以调整上面命令参数的大小来创建您想要的体积大小的映像文件。在映像文件上创建文件系 统: mkfs.ext3 gtes11vm.img @@ -145,7 +145,7 @@ Xend 服务器的启动/停止/重启/状态查询,请用下面的命令: cp -ax /{root,dev,var,etc,usr,bin,sbin,lib} /mnt mkdir /mnt/{proc,sys,home,tmp} -然后应该编辑/etc/fstab,/etc/hostname 等。不要忘记是 在被 mount 的文件系统中更改这些,而不是您的 domain 0 的文件系统。比如您应该编辑 /mnt/etc/fstab,而不是/etc/fstab。例如在/mnt/etc/fstab 中添加一行 /dev/sda1。 卸载文件系统 +然后应该编辑/etc/fstab,/etc/hostname 等。不要忘记是 在被 mount 的文件系统中更改这些,而不是您的 domain 0 的文件系统。比如您应该编辑 /mnt/etc/fstab,而不是/etc/fstab。例如在/mnt/etc/fstab 中添加一行 /dev/sda1。卸载文件系统 umount /mnt @@ -153,11 +153,11 @@ Xend 服务器的启动/停止/重启/状态查询,请用下面的命令: disk = ['file:/full/path/to/gtes11vm.img,sda1,w'] -就象虚拟机写入自己的硬盘,所以要设置映像文件所处的位置、虚拟硬盘、可读可写。 Linux 支持最多8个虚拟文件系统,如果想解除这个设置,请用 max _loop 的参数来配置,当然您所用的虚拟平台 dom0 内核已经 编译了 CONFIG_ BLK _DEV_ LOOP 这个选项。您可以在系统启动时,在 boot 选择中设置 max_loop=n。 +就象虚拟机写入自己的硬盘,所以要设置映像文件所处的位置、虚拟硬盘、可读可写。Linux 支持最多 8 个虚拟文件系统,如果想解除这个设置,请用 max _loop 的参数来配置,当然您所用的虚拟平台 dom0 内核已经 编译了 CONFIG_ BLK _DEV_ LOOP 这个选项。您可以在系统启动时,在 boot 选择中设置 max_loop=n。 ## 1.6.3 以 LVM 作为虚拟块设备 -您还可以用 LVM 卷作为虚拟机的文件系统。 初始化一个分区到 LVM 卷: +您还可以用 LVM 卷作为虚拟机的文件系统。初始化一个分区到 LVM 卷: pvcreate /dev/sda10 @@ -165,7 +165,7 @@ Xend 服务器的启动/停止/重启/状态查询,请用下面的命令: vgcreate vg /dev/sda10 -创建一个逻辑卷大小为4G,名字为'gtesvmdisk1': +创建一个逻辑卷大小为 4G,名字为'gtesvmdisk1': lvcreate -L4096M -n gtesvmdisk1 vg @@ -176,15 +176,15 @@ Xend 服务器的启动/停止/重启/状态查询,请用下面的命令: cp -ax / /mnt umount /mnt -现在对您的 VM 做如下配置: +现在对您的 VM 做如下配置: disk = [ 'phy:vg/gtesvmdisk1,sda1,w' ] -LVM 能让您调节逻辑卷的体积,你可以调整适合文件系统的体积大 小以便于有效的利用空闲空间。一些文件系统(比如 ext3)支持在线调 整,请看 LVM 手册,以获取更多的信息。 您也可以通过 copy-on-write(CoW)来创建 LVM 卷的克隆(在 LVM 术语的通称是可写的持续快照)。这个工具在最早出现在 Linux 2.6.8 的内核中,因此他不可能象希望的那样稳定。特别注意的是,大量应用 CoW LVM 硬盘会占用很多 dom0 的内存,并且有错误情况发生,例如超出硬盘空间的不能被处理。希望这个特性在未来有所提升。 +LVM 能让您调节逻辑卷的体积,你可以调整适合文件系统的体积大 小以便于有效的利用空闲空间。一些文件系统(比如 ext3)支持在线调 整,请看 LVM 手册,以获取更多的信息。您也可以通过 copy-on-write(CoW) 来创建 LVM 卷的克隆(在 LVM 术语的通称是可写的持续快照)。这个工具在最早出现在 Linux 2.6.8 的内核中,因此他不可能象希望的那样稳定。特别注意的是,大量应用 CoW LVM 硬盘会占用很多 dom0 的内存,并且有错误情况发生,例如超出硬盘空间的不能被处理。希望这个特性在未来有所提升。 ## 1.6.4 以 NFS 做为虚拟系统的文件系统 -您还可以用 NFS 服务器提供的文件系统做为虚拟系统的文件系统。 首先我们要通过修改/etc/exports 文件来配置一个可用的 NFS 服务器。 然后配置虚拟机所用的 NFS root。当然要指定 NFS 服务器的 IP 地址,应该确保有如下的参数,在虚拟系统引导的配置文件中: +您还可以用 NFS 服务器提供的文件系统做为虚拟系统的文件系统。首先我们要通过修改/etc/exports 文件来配置一个可用的 NFS 服务器。然后配置虚拟机所用的 NFS root。当然要指定 NFS 服务器的 IP 地址,应该确保有如下的参数,在虚拟系统引导的配置文件中: root = '/dev/nfs' nfs_server = '2.3.4.5' # NFS 服务器IP地址 @@ -198,7 +198,7 @@ LVM 能让您调节逻辑卷的体积,你可以调整适合文件系统的体 /usr/sbin/virt-install -然后会依次出现一些关于将要安装的 GTES11 系统的问题需要回答。 你还可以通过-x ks=options 参数来实现 kickstart 自动安装的各种方式。关于 virt-install 命令的详细用法,可以通过—help 参数来查看。关于 kickstart 安装,请参阅相关文档。 问题 1:What is the name of your virtual machine? +然后会依次出现一些关于将要安装的 GTES11 系统的问题需要回答。你还可以通过-x ks=options 参数来实现 kickstart 自动安装的各种方式。关于 virt-install 命令的详细用法,可以通过—help 参数来查看。关于 kickstart 安装,请参阅相关文档。问题 1:What is the name of your virtual machine? 输入要安装的虚拟机名字,例如:gtes11vm @@ -206,15 +206,15 @@ LVM 能让您调节逻辑卷的体积,你可以调整适合文件系统的体 输入要安装的虚拟机所需内存大小,以兆为单位,例如:512 -(不小于 256 兆) 问题 3:What would you like to use as the disk (path)? +(不小于 256 兆)问题 3:What would you like to use as the disk (path)? 输入虚拟机的安装路径,例如:/home/test/gtes11 -问题4:How large would you like the disk (/home/test/gtes11) to be (in gigabytes)? +问题 4:How large would you like the disk (/home/test/gtes11) to be (in gigabytes)? 输入要安装的虚拟机大小,以G为单位,例如:10 -问题5:Would you like to enable graphics support? (yes or no) +问题 5:Would you like to enable graphics support? (yes or no) 要安装的虚拟机需要图形支持吗?例如:yes @@ -249,17 +249,17 @@ LVM 能让您调节逻辑卷的体积,你可以调整适合文件系统的体 [![](/wiki/_media/%e7%b3%bb%e7%bb%9f%e7%ae%a1%e7%90%86/xen-10.html)](/wiki/_detail/%e7%b3%bb%e7%bb%9f%e7%ae%a1%e7%90%86/xen-1082c6?id=greenwarm%3Axen%E7%AE%80%E4%BB%8B%E4%B8%8E%E4%BD%BF%E7%94%A8 "系统管理:xen-10.jpg") 1-10 选择虚拟化方式 选择虚拟化方式,然后点击“前进”按钮。 -[![](/wiki/_media/%e7%b3%bb%e7%bb%9f%e7%ae%a1%e7%90%86/xen-11.html)](/wiki/_detail/%e7%b3%bb%e7%bb%9f%e7%ae%a1%e7%90%86/xen-1182c6?id=greenwarm%3Axen%E7%AE%80%E4%BB%8B%E4%B8%8E%E4%BD%BF%E7%94%A8 "系统管理:xen-11.jpg") 1-11 定位安装介质 指定 GTES11 安装镜像所在位置,支持 NFS, HTTP, FTP 三种方式。 还可以指定 Kickstart 文件位置。 然后点击“前进”按钮。 +[![](/wiki/_media/%e7%b3%bb%e7%bb%9f%e7%ae%a1%e7%90%86/xen-11.html)](/wiki/_detail/%e7%b3%bb%e7%bb%9f%e7%ae%a1%e7%90%86/xen-1182c6?id=greenwarm%3Axen%E7%AE%80%E4%BB%8B%E4%B8%8E%E4%BD%BF%E7%94%A8 "系统管理:xen-11.jpg") 1-11 定位安装介质 指定 GTES11 安装镜像所在位置,支持 NFS, HTTP, FTP 三种方式。还可以指定 Kickstart 文件位置。然后点击“前进”按钮。 -[![](/wiki/_media/%e7%b3%bb%e7%bb%9f%e7%ae%a1%e7%90%86/xen-12.html)](/wiki/_detail/%e7%b3%bb%e7%bb%9f%e7%ae%a1%e7%90%86/xen-1282c6?id=greenwarm%3Axen%E7%AE%80%E4%BB%8B%E4%B8%8E%E4%BD%BF%E7%94%A8 "系统管理:xen-12.jpg") 1-12 分配存储空间 为新的 GTES11 虚拟机分配存储空间,可以选择物理磁盘分区或者文件。 然后点击“前进”按钮。 +[![](/wiki/_media/%e7%b3%bb%e7%bb%9f%e7%ae%a1%e7%90%86/xen-12.html)](/wiki/_detail/%e7%b3%bb%e7%bb%9f%e7%ae%a1%e7%90%86/xen-1282c6?id=greenwarm%3Axen%E7%AE%80%E4%BB%8B%E4%B8%8E%E4%BD%BF%E7%94%A8 "系统管理:xen-12.jpg") 1-12 分配存储空间 为新的 GTES11 虚拟机分配存储空间,可以选择物理磁盘分区或者文件。然后点击“前进”按钮。 -[![](/wiki/_media/%e7%b3%bb%e7%bb%9f%e7%ae%a1%e7%90%86/xen-13.html)](/wiki/_detail/%e7%b3%bb%e7%bb%9f%e7%ae%a1%e7%90%86/xen-1382c6?id=greenwarm%3Axen%E7%AE%80%E4%BB%8B%E4%B8%8E%E4%BD%BF%E7%94%A8 "系统管理:xen-13.jpg") 1-13 分配内存大小及 CPU 个数 为新的 GTES11 虚拟机分配内存大小以及 CPU 个数。 然后点击“前进”按钮。 +[![](/wiki/_media/%e7%b3%bb%e7%bb%9f%e7%ae%a1%e7%90%86/xen-13.html)](/wiki/_detail/%e7%b3%bb%e7%bb%9f%e7%ae%a1%e7%90%86/xen-1382c6?id=greenwarm%3Axen%E7%AE%80%E4%BB%8B%E4%B8%8E%E4%BD%BF%E7%94%A8 "系统管理:xen-13.jpg") 1-13 分配内存大小及 CPU 个数 为新的 GTES11 虚拟机分配内存大小以及 CPU 个数。然后点击“前进”按钮。 [![](/wiki/_media/%e7%b3%bb%e7%bb%9f%e7%ae%a1%e7%90%86/xen-14.html)](/wiki/_detail/%e7%b3%bb%e7%bb%9f%e7%ae%a1%e7%90%86/xen-1482c6?id=greenwarm%3Axen%E7%AE%80%E4%BB%8B%E4%B8%8E%E4%BD%BF%E7%94%A8 "系统管理:xen-14.jpg") 1-14 虚拟机配置 确认配置无误后,点击“结束”按钮。 [![](/wiki/_media/%e7%b3%bb%e7%bb%9f%e7%ae%a1%e7%90%86/xen-15.html)](/wiki/_detail/%e7%b3%bb%e7%bb%9f%e7%ae%a1%e7%90%86/xen-1582c6?id=greenwarm%3Axen%E7%AE%80%E4%BB%8B%E4%B8%8E%E4%BD%BF%E7%94%A8 "系统管理:xen-15.jpg") 1-15 创建虚拟机 等虚拟机所需文件或者物理空间创建完毕以后,接下来的 GTES11 虚拟机安装跟普通图形方式安装 GTES11 类似。 -[![](/wiki/_media/%e7%b3%bb%e7%bb%9f%e7%ae%a1%e7%90%86/xen-16.html)](/wiki/_detail/%e7%b3%bb%e7%bb%9f%e7%ae%a1%e7%90%86/xen-1682c6?id=greenwarm%3Axen%E7%AE%80%E4%BB%8B%E4%B8%8E%E4%BD%BF%E7%94%A8 "系统管理:xen-16.jpg") 1-16 选择安装语言 然后和普通图形安装方式类似,对语言,网络等配置以后,就会出现一个欢迎界面。 接下来的 GTES11 虚拟机安装就变得很容易了。 +[![](/wiki/_media/%e7%b3%bb%e7%bb%9f%e7%ae%a1%e7%90%86/xen-16.html)](/wiki/_detail/%e7%b3%bb%e7%bb%9f%e7%ae%a1%e7%90%86/xen-1682c6?id=greenwarm%3Axen%E7%AE%80%E4%BB%8B%E4%B8%8E%E4%BD%BF%E7%94%A8 "系统管理:xen-16.jpg") 1-16 选择安装语言 然后和普通图形安装方式类似,对语言,网络等配置以后,就会出现一个欢迎界面。接下来的 GTES11 虚拟机安装就变得很容易了。 ## 1.7.3 使用“virt-manager”管理虚拟机 diff --git a/pages/_wiki/linux_digest/badblocks.md b/pages/_wiki/linux_digest/badblocks.md index 346ba0e5bb..4366fba957 100644 --- a/pages/_wiki/linux_digest/badblocks.md +++ b/pages/_wiki/linux_digest/badblocks.md @@ -37,4 +37,4 @@ end, start:强制写入的开始和终止块地址,与-b 制定的大小相 ### 来源声明 -blog/badblocks.txt · 最后更改: 2013/04/29 08:04 (外部编辑) +blog/badblocks.txt · 最后更改:2013/04/29 08:04 (外部编辑) diff --git a/pages/_wiki/linux_digest/crontab.md b/pages/_wiki/linux_digest/crontab.md index 5272831949..4c6a9a2a78 100644 --- a/pages/_wiki/linux_digest/crontab.md +++ b/pages/_wiki/linux_digest/crontab.md @@ -32,9 +32,9 @@ Cron 服务通常用于循环定期执行任务,而 crontab 用于添加、删 - 以#开头的行表示注释,但是注释不能与 cron 命令或者环境参数设置语句在同一行。 -- 环境变量设置语句为 name = value 形式,但是 value 里面引用的变量不会被解析。例如$HOME不会解释为用户的home目录,而是直接当作字符串“$HOME”处理,环境变量通常用于设置$SHELL (默认为/bin/sh), $MAILTO(默认为 crontab 关联的用户), \$PATH(默认为/usr/bin:/bin)等等。 +- 环境变量设置语句为 name = value 形式,但是 value 里面引用的变量不会被解析。例如$HOME 不会解释为用户的 home 目录,而是直接当作字符串“$HOME”处理,环境变量通常用于设置$SHELL (默认为/bin/sh), $MAILTO(默认为 crontab 关联的用户), \$PATH(默认为/usr/bin:/bin)等等。 -- 每行的内容依次为分、时、月中的某天、月份、星期中的某天 。 +- 每行的内容依次为分、时、月中的某天、月份、星期中的某天。 示例: @@ -65,4 +65,4 @@ Cron 服务通常用于循环定期执行任务,而 crontab 用于添加、删 ### 来源声明 -blog/crontab.txt · 最后更改: 2013/04/29 08:04 (外部编辑) +blog/crontab.txt · 最后更改:2013/04/29 08:04 (外部编辑) diff --git a/pages/_wiki/linux_digest/expasy-ps_scan.md b/pages/_wiki/linux_digest/expasy-ps_scan.md index 70f4214f9c..7c68f6cbd4 100644 --- a/pages/_wiki/linux_digest/expasy-ps_scan.md +++ b/pages/_wiki/linux_digest/expasy-ps_scan.md @@ -10,7 +10,7 @@ wget -c ftp://ftp.expasy.org/databases/prosite/release_with_updates/prosite.dat -给一个文件夹$PROSITE的环境变量,然后把prosite.dat放在$PROSITE/里头。例如我把 prosite.dat 放在/home/sun/ps \_scan/下 export PROSITE=“/home/sun/ps_scan” +给一个文件夹$PROSITE 的环境变量,然后把 prosite.dat 放在$PROSITE/里头。例如我把 prosite.dat 放在/home/sun/ps \_scan/下 export PROSITE=“/home/sun/ps_scan” ##### 配置软件 diff --git a/pages/_wiki/linux_digest/lftp.md b/pages/_wiki/linux_digest/lftp.md index 1168cd4f71..56067bdc8e 100644 --- a/pages/_wiki/linux_digest/lftp.md +++ b/pages/_wiki/linux_digest/lftp.md @@ -9,7 +9,7 @@ ## 配置文件 -lftp 启动后会一次读取/etc/lftp.conf、~/.lftprc 和~/.lftp/rc。 通常我们将常用的设置写入~/.lftprc 或者~/.lftp/rc 中。 下面是一份 lftprc 的样例: +lftp 启动后会一次读取/etc/lftp.conf、~/.lftprc 和~/.lftp/rc。通常我们将常用的设置写入~/.lftprc 或者~/.lftp/rc 中。下面是一份 lftprc 的样例: .lftprc: @@ -28,7 +28,7 @@ lftp 启动后会一次读取/etc/lftp.conf、~/.lftprc 和~/.lftp/rc。 通常 set ftp:passive-mode/202.38.64.22 no set ftp:charset/202.38.64.22 gbk -在被动模式下,lftp 主动连接服务器进行数据传输。在主动模式下,服务器会主动连接 lftp 进行数据传输。 被动模式当您在防火墙后面时很有用。 +在被动模式下,lftp 主动连接服务器进行数据传输。在主动模式下,服务器会主动连接 lftp 进行数据传输。被动模式当您在防火墙后面时很有用。 ## 书签支持 @@ -52,9 +52,9 @@ lftp 启动后会一次读取/etc/lftp.conf、~/.lftprc 和~/.lftp/rc。 通常 ![:-)](../lib/images/smileys/icon_smile.gif) -## 奇巧淫技-使用 lftp 同步个人主页 +## 奇巧淫技 - 使用 lftp 同步个人主页 -科大的童鞋们都有一个 300M 的静态主页空间,很多人都会用这个空间来制作漂亮的个人主页,那你是怎么同步的呢?是不是每次都需要打开 nautilus 或者 filezilla 等工具一个个文件的复制呢? 来看看用 lftp 的脚本同步吧。 +科大的童鞋们都有一个 300M 的静态主页空间,很多人都会用这个空间来制作漂亮的个人主页,那你是怎么同步的呢?是不是每次都需要打开 nautilus 或者 filezilla 等工具一个个文件的复制呢?来看看用 lftp 的脚本同步吧。 .bash_aliases: diff --git a/pages/_wiki/linux_digest/reading_notes/ruoshan-lfs-read-notes.md b/pages/_wiki/linux_digest/reading_notes/ruoshan-lfs-read-notes.md index 3a6553927b..63929ab474 100644 --- a/pages/_wiki/linux_digest/reading_notes/ruoshan-lfs-read-notes.md +++ b/pages/_wiki/linux_digest/reading_notes/ruoshan-lfs-read-notes.md @@ -19,8 +19,8 @@ glibc 是个独立依赖的库,它只和内核提供的接口有关,不再 讲讲我看到的一些技巧吧(给新手看的……): - - 多核电脑make的时候,可以make -jN(注:N=CPU核心数目×2+1)1,速度一般要会快很多。 - - 自己编译软件时,可以把目标设成~/.bin/local/***;但是不要把对应的可执行文件目录export到PATH;而是把~/.bin/bin添加进PATH,然后把所有可执行文件链接到~/.bin/bin里面。这和最原始的包管理有点像(书说的)。 + - 多核电脑 make 的时候,可以 make -jN(注:N=CPU 核心数目×2+1)1,速度一般要会快很多。 + - 自己编译软件时,可以把目标设成~/.bin/local/***;但是不要把对应的可执行文件目录 export 到 PATH;而是把~/.bin/bin 添加进 PATH,然后把所有可执行文件链接到~/.bin/bin 里面。这和最原始的包管理有点像(书说的)。 书的后半部分除了交叉编译和 hurd 内核和前面的有点相似外,其他的两个部分是 LiveCD 和 USB Live OS 的制作。 @@ -30,7 +30,7 @@ glibc 是个独立依赖的库,它只和内核提供的接口有关,不再 1. 如何在一个分区上面同时有两个挂载点?如把 home 和 opt 挂到一个分区 - 答案是Aufs。 + 答案是 Aufs。 - 把经常用的文件,读写非常非常密集的文件放到 tempfs 上,即先 mount -t tmpfs tmpfs /mnt;cp - 用镜像文件保存自己的 home 常用配置。 diff --git a/pages/_wiki/linux_digest/reading_notes/wang-guangyuan-emacs-read-digest.md b/pages/_wiki/linux_digest/reading_notes/wang-guangyuan-emacs-read-digest.md index 629a542be2..4c038db4d9 100644 --- a/pages/_wiki/linux_digest/reading_notes/wang-guangyuan-emacs-read-digest.md +++ b/pages/_wiki/linux_digest/reading_notes/wang-guangyuan-emacs-read-digest.md @@ -7,9 +7,9 @@ 世上的知识有两类:一类习得困难却难以遗忘;另一类学习起来毫无压力,不过却难说真正掌握。Emacs 的使用应该就是后者的典范吧。本书通篇所述离不开键盘上的 ctrl、alt 和各个字母键,但是看来也仅限于此。所以不妨从使用的角度谈谈感想吧。精巧复杂的组合给 emacs 以强大的生命力,对光标的定位和文字的处理是编辑器的特色,但是不谙此道的新手可能有时还是忍不住用方向键和鼠标定位以求方便。 -以前都是 C++惯了,寒假早想着学习一门新的语言,perl,兼练习 emacs 可谓一举两得。现在看来,虽然还是没有熟练到高手的地步,但是这样的过程我还是要推荐的,通过使用来熟练,使对编辑器的操纵成为手指的本能就是最好的学习方式。emacs 的强大还在于脱离的鼠标的束缚,编程效率会有极大地提高。很多原本要用鼠标来定位、选择单词、复制删除查找等等的操作都可以用几个简单的组合键来完成。更不用说宏的批量处理能力了。刚开始的不习惯坚持下来就一定会在以后产生极大的生产力。 +以前都是 C++ 惯了,寒假早想着学习一门新的语言,perl,兼练习 emacs 可谓一举两得。现在看来,虽然还是没有熟练到高手的地步,但是这样的过程我还是要推荐的,通过使用来熟练,使对编辑器的操纵成为手指的本能就是最好的学习方式。emacs 的强大还在于脱离的鼠标的束缚,编程效率会有极大地提高。很多原本要用鼠标来定位、选择单词、复制删除查找等等的操作都可以用几个简单的组合键来完成。更不用说宏的批量处理能力了。刚开始的不习惯坚持下来就一定会在以后产生极大的生产力。 -除了纯粹的编辑文本,有一种说法,emacs 是伪装成编辑器的操作系统,网上有专门的网站论述相关的内容,神马上网、日历、地图啊之类的,我就当做是奇技淫巧没有多加关注了,有好奇的同学可以看看。对于不同的编程语言,emacs 还有对应的模式,可以高亮关键字或者方便排版。 这也牵涉到编辑器定制的问题,多看看网上给的配置范例,慢慢的就会形成适合自己的方案了。 +除了纯粹的编辑文本,有一种说法,emacs 是伪装成编辑器的操作系统,网上有专门的网站论述相关的内容,神马上网、日历、地图啊之类的,我就当做是奇技淫巧没有多加关注了,有好奇的同学可以看看。对于不同的编程语言,emacs 还有对应的模式,可以高亮关键字或者方便排版。这也牵涉到编辑器定制的问题,多看看网上给的配置范例,慢慢的就会形成适合自己的方案了。 再回到书上。一、可以按照不同需求读不同的章节,前言有写特定的学习曲线。二、本书以 ESC 键代替 META 键,但是在美式键盘上实际上应该是 ALT 键,不要混淆就好。三、自己弄个常用命令的表贴在案头也应该不错,书后就有这样的活页,照着自制个好了。 diff --git a/pages/_wiki/linux_digest/reading_notes/zsj_niao_linux_sfc_basic_readnote.md b/pages/_wiki/linux_digest/reading_notes/zsj_niao_linux_sfc_basic_readnote.md index c41d6753db..a673bcae9a 100644 --- a/pages/_wiki/linux_digest/reading_notes/zsj_niao_linux_sfc_basic_readnote.md +++ b/pages/_wiki/linux_digest/reading_notes/zsj_niao_linux_sfc_basic_readnote.md @@ -17,4 +17,4 @@ ### 来源声明 -reading _notes/zsj_ 鸟哥的 _linux_ 私房菜 _–_ 基础学习篇\_读书笔记.txt · 最后更改: 2013/05/12 13:51 (外部编辑) +reading _notes/zsj_ 鸟哥的 _linux_ 私房菜 _–_ 基础学习篇\_读书笔记.txt · 最后更改:2013/05/12 13:51 (外部编辑) diff --git a/pages/_wiki/linux_digest/screen.md b/pages/_wiki/linux_digest/screen.md index b4a822e0ac..37f8a5e685 100644 --- a/pages/_wiki/linux_digest/screen.md +++ b/pages/_wiki/linux_digest/screen.md @@ -15,11 +15,11 @@ screen -r [pid]:连接之前断开的虚拟终端 - 为了方便记忆,也可以对虚拟终端进行命名: -screen -S foobar :开启一个以 foobar 为名称的虚拟终端; -screen -r :在当前仅有一个虚拟终端的情况下连接(attach)已有的虚拟终端,在有多个虚拟终端时效果同 screen -l; -screen -r foobar :连接以前名为 foobar 的虚拟终端。 +screen -S foobar:开启一个以 foobar 为名称的虚拟终端; +screen -r:在当前仅有一个虚拟终端的情况下连接(attach)已有的虚拟终端,在有多个虚拟终端时效果同 screen -l; +screen -r foobar:连接以前名为 foobar 的虚拟终端。 -在虚拟终端中,按 ctrl+A 进入 screen 命令模式,此时再按 d 可以断开(detach)(但不终止)当前的终端。 +在虚拟终端中,按 ctrl+A 进入 screen 命令模式,此时再按 d 可以断开 (detach)(但不终止)当前的终端。 其他命令请在 man screen 中查看。 @@ -81,4 +81,4 @@ screen -r foobar :连接以前名为 foobar 的虚拟终端。 ### 来源声明 -blog/screen.txt · 最后更改: 2013/04/29 08:04 (外部编辑) +blog/screen.txt · 最后更改:2013/04/29 08:04 (外部编辑) diff --git a/pages/_wiki/linux_digest/smartmontools.md b/pages/_wiki/linux_digest/smartmontools.md index 9e1a5e6e0f..d199eb4f9c 100644 --- a/pages/_wiki/linux_digest/smartmontools.md +++ b/pages/_wiki/linux_digest/smartmontools.md @@ -25,7 +25,7 @@ SMART Self-test log:给出硬盘历史上以及正在进行的自检的时间 smartctl -t [long|short] /dev/sdX 将进行硬盘内置的离线自检,在自检过程中系统不受影响仍可正常操作。 -一般使用 long(或 extended)进行自检,虽然时间较长但可以发现硬盘几乎 100%的错误,包括未使用的区块坏道以及表面错误等等。 +一般使用 long(或 extended)进行自检,虽然时间较长但可以发现硬盘几乎 100% 的错误,包括未使用的区块坏道以及表面错误等等。 自检的结果可以在 smartctl -a 或者 smartctl -l selftest 中查看 smartctl 的 GUI:GSmartControl,可以通过 apt-get 安装,图形操作十分直观。 @@ -34,4 +34,4 @@ smartctl 的 GUI:GSmartControl,可以通过 apt-get 安装,图形操作十 ### 来源声明 -blog/smartmontools.txt · 最后更改: 2013/04/29 08:04 (外部编辑) +blog/smartmontools.txt · 最后更改:2013/04/29 08:04 (外部编辑) diff --git a/pages/_wiki/lug/book/borrow_book.md b/pages/_wiki/lug/book/borrow_book.md index c826e41f96..2ffe02b1db 100644 --- a/pages/_wiki/lug/book/borrow_book.md +++ b/pages/_wiki/lug/book/borrow_book.md @@ -13,7 +13,7 @@ ### 借阅手续简明版 -简单的说,我需要两个时间戳(邮件),一个是你借书的时间,一个是你还书的时间。 在第一个时间戳上,请你附上你的个人信息。 在第二个时间戳上,请你附上你的[读书笔记](booknotes "lug:book:booknotes")。 +简单的说,我需要两个时间戳 (邮件),一个是你借书的时间,一个是你还书的时间。在第一个时间戳上,请你附上你的个人信息。在第二个时间戳上,请你附上你的[读书笔记](booknotes "lug:book:booknotes")。 请这样这样撰写: diff --git a/pages/_wiki/lug/events/poster.md b/pages/_wiki/lug/events/poster.md index be89c1ea1c..c475a02f38 100644 --- a/pages/_wiki/lug/events/poster.md +++ b/pages/_wiki/lug/events/poster.md @@ -5,7 +5,7 @@ ## 每周小聚展板模板 -![每周小聚展板-1-sm.jpg]({{ site.static_url }}/wiki/lug/每周小聚展板-1-sm.jpg) +![每周小聚展板 -1-sm.jpg]({{ site.static_url }}/wiki/lug/每周小聚展板-1-sm.jpg) ## 2015 白帽子信息安全竞赛 diff --git a/pages/_wiki/lug/finance/archive.md b/pages/_wiki/lug/finance/archive.md index 58eff35821..6bc41e786e 100644 --- a/pages/_wiki/lug/finance/archive.md +++ b/pages/_wiki/lug/finance/archive.md @@ -7,16 +7,16 @@ ## Debian/OSS 服务器维护专款 -| 时间 | 收支类型 | 数额(¥) | 原因 | -| --------------------------- | -------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -| 2005 | 收入 | 3072.5 | 科大 Debian 站募捐(其中 50\$按照当时汇率折合成人民币 405.5 元) [捐赠情况查询>>](/wiki/lug/finance/donate_lookup "lug:finance:donate_lookup") | -| 2005 | 支出 | 2620 | 购买新主机 | -| 2005 | 支出 | 70 | 购买显卡(二手) | -| 2005 | 支出 | 260 | 购买新 UPS 电源 | -| 2005 | 支出 | 122.5 | 转入活动经费 | -| 2010 年 10 月 | 收入 | 122.5 | 由活动经费转入 | -| 2011 年 1 月 | 收入 | 303.11 | 社区捐助 方式:支付宝 | -| 当前结余(2013-01-05 更新) | - | 425.61 | - | +| 时间 | 收支类型 | 数额(¥) | 原因 | +| --------------------------- | -------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| 2005 | 收入 | 3072.5 | 科大 Debian 站募捐 (其中 50\$按照当时汇率折合成人民币 405.5 元) [捐赠情况查询>>](/wiki/lug/finance/donate_lookup "lug:finance:donate_lookup") | +| 2005 | 支出 | 2620 | 购买新主机 | +| 2005 | 支出 | 70 | 购买显卡 (二手) | +| 2005 | 支出 | 260 | 购买新 UPS 电源 | +| 2005 | 支出 | 122.5 | 转入活动经费 | +| 2010 年 10 月 | 收入 | 122.5 | 由活动经费转入 | +| 2011 年 1 月 | 收入 | 303.11 | 社区捐助 方式:支付宝 | +| 当前结余(2013-01-05 更新) | - | 425.61 | - | ## LUG 活动经费 @@ -247,7 +247,7 @@ | 2010.10 | 收入 | 200 | 团委报销 | | 2010.10.15 | 收入 | 30 | vbs 捐赠 | | 2010.10 | 支出 | 122.5 | 转入 Debian/OSS 服务器维护专款 | -| 2010.11.1 | 支出 | 400 | 购买 Debian 服务器硬盘(1T) | +| 2010.11.1 | 支出 | 400 | 购买 Debian 服务器硬盘 (1T) | | 2010.10.15 | 收入 | 23.3 | shiqi 捐赠 | | 2010.10.15 | - | 677.5 | 账务转交:shiqi→picture | | 当前结余 | - | 677.5 | - | diff --git a/pages/_wiki/lug/finance/donate_lookup.md b/pages/_wiki/lug/finance/donate_lookup.md index 417e455d6a..d8dfe6efaf 100644 --- a/pages/_wiki/lug/finance/donate_lookup.md +++ b/pages/_wiki/lug/finance/donate_lookup.md @@ -3,7 +3,7 @@ ## Debian/OSS 服务器维护捐款信息 -| 捐款人 | 捐款数额(收款人) | 捐款日期 | 捐款方式 | +| 捐款人 | 捐款数额 (收款人) | 捐款日期 | 捐款方式 | | --------------------------------- | ----------------------- | ---------------------- | ----------- | | 郑裕峰 | 50 ¥(傅收) | 2005/06/20 | 银行汇款 | | 李凯 | 50 ¥(郑收) | 2005/06/21 | 直接递交 | @@ -12,7 +12,7 @@ | 李国强 | 50 ¥(郑收) | 2005/06/22 | 直接递交 | | 苏勇 | 300 ¥(郑收) | 2005/06/22 | 直接递交 | | 詹剑 | 100 ¥(郑收) | 2005/06/23 | 直接递交 | -| 王研科, 俞丽珍 | 100 ¥(李收) | 2005/06/ | 直接递交 | +| 王研科,俞丽珍 | 100 ¥(李收) | 2005/06/ | 直接递交 | | 李东方 | 20 ¥(郑收) | 2005/06/ | 直接递交 | | 肖磊 | 200 ¥(吴收) | 2005/06/ | 直接递交 | | 姚淅伟 | 30 ¥(吴收) | 2005/06/ | 直接递交 | @@ -41,17 +41,17 @@ | daizisheng | 50 ¥(郑收) | 2005/10/3 | 直接递交 | | 吴峰光 | 100 ¥(郑收) | 2005/10/10 | 直接递交 | | 张成、协变及其他 LUD 众人 | 200.00 ¥(童收) | 2012.09 | 直接递交 | -| 总额(更新日期) | 2922.5 ¥ | 2005/10/1 | \- | -| 总额(更新日期) | 2972.5 ¥ | 2005/10/3 | \- | -| 总额(更新日期) | 3072.5 ¥ | 2005/10/11 | \- | +| 总额 (更新日期) | 2922.5 ¥ | 2005/10/1 | \- | +| 总额 (更新日期) | 2972.5 ¥ | 2005/10/3 | \- | +| 总额 (更新日期) | 3072.5 ¥ | 2005/10/11 | \- | | 总额 | 计入总帐目,不单独列出 | (更新日期)2013.01.01 | - | ## 收款人的收款情况 -| 收款人(收款代号) | 收款额 | -| ---------------- | -------------- | -| 郑裕峰(郑收) | 1200 ¥ | -| 吴峰光(吴收) | 230 ¥ | -| 李东方(李收) | 200 ¥ | -| 傅向荣(傅收) | 1037 ¥ + 50\$ | -| 统计 | 2667 ¥ + 50\$ | +| 收款人 (收款代号) | 收款额 | +| ----------------- | -------------- | +| 郑裕峰 (郑收) | 1200 ¥ | +| 吴峰光 (吴收) | 230 ¥ | +| 李东方 (李收) | 200 ¥ | +| 傅向荣 (傅收) | 1037 ¥ + 50\$ | +| 统计 | 2667 ¥ + 50\$ | diff --git a/pages/_wiki/lug/finance/index.html b/pages/_wiki/lug/finance/index.html index b7f046da8d..76a38379b7 100644 --- a/pages/_wiki/lug/finance/index.html +++ b/pages/_wiki/lug/finance/index.html @@ -137,7 +137,7 @@

    通用经费

    app_donates = newVueApp("#t-donates", 'https://pages.ustclug.org/ledger/donates.txt', function (record) { if (record.payee.endsWith('捐款')) record.payee = record.payee.slice(0, -2).trim(); - if (record.account.startsWith('收入:捐赠:')) + if (record.account.startsWith('收入:捐赠:')) record.account = record.account.slice(6); return record; }); diff --git a/pages/_wiki/redsky/vim_note.md b/pages/_wiki/redsky/vim_note.md index 34d2f8db1c..9a2503a850 100644 --- a/pages/_wiki/redsky/vim_note.md +++ b/pages/_wiki/redsky/vim_note.md @@ -94,7 +94,7 @@ TODO ##### C/C++ -ctags 和 cscope 是 Linux 下比较常用的 C/C++代码分析器,配合 Vim 使用有不错的效果。 +ctags 和 cscope 是 Linux 下比较常用的 C/C++ 代码分析器,配合 Vim 使用有不错的效果。 - ctags @@ -106,7 +106,7 @@ Open C++ file with extra stl_tags: [Click On Me](http://www.vimer.cn/2010/01/让 那些 ctags 和 cscope 能做和不能做的事情 -ctags 和 cscope 只能找到匹配的字符串,但是对于 C++里面复杂的语义,如函数重载之类的却无能为力。跳转的时候可能会跳转错误或者给出一堆重名的函数以供选择,代码补全的时候也一样。要做到跳转/补全的正确,现有的 C++的 IDE(集成开发环境)中,Eclipse、QtCreator、KDevelop 等都是用自带的分析器解析后再做跳转的。现在有人开始尝试在 Emacs 上用 gcc 前端分析代码,求得精确的补全,不过我还没找到 Vim 上比 ctags 和 cscope 更好用的东西。这么说吧,ctags 和 cscope 这些轻量的分析器配合 Vim 这种快速的编辑器还是比较搭配的。或者你可以试着用一下下面提到的 Eclim,后端就是个 Eclipse…… +ctags 和 cscope 只能找到匹配的字符串,但是对于 C++ 里面复杂的语义,如函数重载之类的却无能为力。跳转的时候可能会跳转错误或者给出一堆重名的函数以供选择,代码补全的时候也一样。要做到跳转/补全的正确,现有的 C++ 的 IDE(集成开发环境)中,Eclipse、QtCreator、KDevelop 等都是用自带的分析器解析后再做跳转的。现在有人开始尝试在 Emacs 上用 gcc 前端分析代码,求得精确的补全,不过我还没找到 Vim 上比 ctags 和 cscope 更好用的东西。这么说吧,ctags 和 cscope 这些轻量的分析器配合 Vim 这种快速的编辑器还是比较搭配的。或者你可以试着用一下下面提到的 Eclim,后端就是个 Eclipse…… 然后呢,请务必记住—— @@ -116,7 +116,7 @@ ctags 和 cscope 只能找到匹配的字符串,但是对于 C++里面复杂 Vim 自身带有不少补全功能,可以在 Vim 中搜索关于“compl”的帮助 -在此,我推荐 C++开发者安装 omnicppcomplete 插件,所有用户安装 neocomplcache 插件。 +在此,我推荐 C++ 开发者安装 omnicppcomplete 插件,所有用户安装 neocomplcache 插件。 - Eclim:以 Vim 作为前端,操作 Eclipse 后端,打开和编辑 Eclipse 工程。[Eclim 官方网站](http://eclim.org/ "http://eclim.org/") @@ -124,7 +124,7 @@ Vim 自身带有不少补全功能,可以在 Vim 中搜索关于“compl”的 Vim 的强大也体现在其搜索/替换的时候,能够使用强大的正则表达式这一点上。参见[正则表达式 30 分钟入门教程](http://www.deerchao.net/tutorials/regex/regex.htm "http://www.deerchao.net/tutorials/regex/regex.htm") -## Vim 与 Linux 下的 C/C++开发 +## Vim 与 Linux 下的 C/C++ 开发 - Vim 只是一个编辑器 @@ -215,4 +215,4 @@ Vim 的强大也体现在其搜索/替换的时候,能够使用强大的正则 [把 vim 打造成一个真正的 IDE(3)](http://www.vimer.cn/2009/10/把vim打造成一个真正的ide3.html "http://www.vimer.cn/2009/10/把vim打造成一个真正的ide3.html") -[Vimer(朱念洋)使用的 vim/gvim 相关插件整理](http://www.vimer.cn/2010/06/本博使用的vimgvim相关插件整理.html "http://www.vimer.cn/2010/06/本博使用的vimgvim相关插件整理.html") +[Vimer(朱念洋) 使用的 vim/gvim 相关插件整理](http://www.vimer.cn/2010/06/本博使用的vimgvim相关插件整理.html "http://www.vimer.cn/2010/06/本博使用的vimgvim相关插件整理.html") diff --git a/pages/_wiki/sec/activity.html b/pages/_wiki/sec/activity.html index 78b12cfb0c..5bdce87edf 100644 --- a/pages/_wiki/sec/activity.html +++ b/pages/_wiki/sec/activity.html @@ -67,25 +67,25 @@

    信安学生会活动

    -高年级课程体系讲座:9月初 +高年级课程体系讲座:9 月初

    -出国留学考试讲座:9月24日 +出国留学考试讲座:9 月 24 日

    -“走进实验室”:10月-11月(院系协商) +“走进实验室”:10 月 -11 月(院系协商)

    -网络安全集体观影:11月(拟定期中考后) +网络安全集体观影:11 月(拟定期中考后)

    信安俱乐部活动

    -信息安全大赛:9-10月 +信息安全大赛:9-10 月

    -踏青活动:16年3月初 +踏青活动:16 年 3 月初

    @@ -143,7 +143,7 @@

    信安俱乐部活动

    CC Attribution-Share Alike 3.0 Unported 除额外注明的地方外,本维基上的内容按下列许可协议发布: CC Attribution-Share Alike 3.0 Unported
    diff --git a/pages/_wiki/sec/codes.html b/pages/_wiki/sec/codes.html index bb916ba7bf..892fc9c196 100644 --- a/pages/_wiki/sec/codes.html +++ b/pages/_wiki/sec/codes.html @@ -98,25 +98,25 @@

    第二章 会员

    第六条 会员权利:

    -(一) 在本社团享有选举权、被选举权和表决权; +(一)在本社团享有选举权、被选举权和表决权;

    -(二) 监督本社团工作,拥有对本社团工作的批评、建议、监督的权利; +(二)监督本社团工作,拥有对本社团工作的批评、建议、监督的权利;

    -(三) 共享信息安全俱乐部的电子资源; +(三)共享信息安全俱乐部的电子资源;

    第七条 会员义务:

    -(一) 遵守国家法律法规、校规校纪和本社团章程,执行本社团的决议,维护本社团的合法权益; +(一)遵守国家法律法规、校规校纪和本社团章程,执行本社团的决议,维护本社团的合法权益;

    -(二) 积极参加本社团的活动,为社团的发展出谋划策; +(二)积极参加本社团的活动,为社团的发展出谋划策;

    -(三) 对外积极树立本社团的良好形象; +(三)对外积极树立本社团的良好形象;

    第三章 组织架构与管理制度

    @@ -125,16 +125,16 @@

    第三章 组织 第八条 本团体的最高权力机构是会员代表大会。其职责为:

    -(一) 制定和修改章程; +(一)制定和修改章程;

    -(二) 选举和罢免会长、副会长; +(二)选举和罢免会长、副会长;

    -(三) 审议工作报告和财务报告; +(三)审议工作报告和财务报告;

    -(四) 决定终止事宜; +(四)决定终止事宜;

    第九条 会员代表大会须有三分之二以的会员代表出席方能召开,其决议须经到会会员代表半数以上表决通过方能生效; @@ -158,22 +158,22 @@

    第三章 组织 第十一条 本团体的会长、部长,副会长、副部长必须具备下列条件:

    -(一) 坚持党的路线、方针、政策,政治素质好; +(一)坚持党的路线、方针、政策,政治素质好;

    -(二) 对团内事务和人际有良好的处理能力; +(二)对团内事务和人际有良好的处理能力;

    -(三) 有较强的责任感和组织能力; +(三)有较强的责任感和组织能力;

    第十二条 本团体的会长、副会长还必须具备下列条件:

    -(一) 拥有良好的信息安全的专业背景; +(一)拥有良好的信息安全的专业背景;

    -(二) 关注国家信息安全的发展; +(二)关注国家信息安全的发展;

    第十二条 本协会组织架构及各部门职责由会员大会规定; @@ -182,28 +182,28 @@

    第三章 组织

    第四章 会长及部门负责人职责

    -(一) 会长要由会员代表大会表决产生; +(一)会长要由会员代表大会表决产生;

    -(二) 各部门负责人由会长指定; +(二)各部门负责人由会长指定;

    -(三) 会长及各部门负责人一般不少于一年; +(三)会长及各部门负责人一般不少于一年;

    第五章 财务制度

    -(一) 社团不能有商业性质的收入; +(一)社团不能有商业性质的收入;

    -(二) 必须建立严格的财务管理制度,保证会计资料合法、真实、准确、完整,定期公布社团财务收支状况细表; +(二)必须建立严格的财务管理制度,保证会计资料合法、真实、准确、完整,定期公布社团财务收支状况细表;

    -(三) 社团经费必须用于本章程规定的任务范围的发展,不允许在会员中分配; +(三)社团经费必须用于本章程规定的任务范围的发展,不允许在会员中分配;

    -(四) 使用范围主要包括开展各项活动的支出,办公管理经费支出和其他正当支出; +(四)使用范围主要包括开展各项活动的支出,办公管理经费支出和其他正当支出;

    第六章 社团章程的修改

    @@ -221,10 +221,10 @@

    第八章 附则

    -(一) 本章程自2015年5月4日正式执行; +(一)本章程自 2015 年 5 月 4 日正式执行;

    -(二) 章程的解释权和修订权归于中国科学技术大学学生信息安全俱乐部。 +(二)章程的解释权和修订权归于中国科学技术大学学生信息安全俱乐部。

    @@ -282,7 +282,7 @@

    第八章 附则

    CC Attribution-Share Alike 3.0 Unported 除额外注明的地方外,本维基上的内容按下列许可协议发布: CC Attribution-Share Alike 3.0 Unported
    diff --git a/pages/_wiki/sec/contest.html b/pages/_wiki/sec/contest.html index fc94a8fe60..378e278f86 100644 --- a/pages/_wiki/sec/contest.html +++ b/pages/_wiki/sec/contest.html @@ -69,24 +69,24 @@

    信息安全大赛

    比赛结果

    -新生特别奖(2人):15王子博 15乔宏 +新生特别奖(2 人):15 王子博 15 乔宏

    -一等奖(1人):14郑子涵 +一等奖(1 人):14 郑子涵

    -二等奖(2人):14韩浩宇 13赵彦冰 +二等奖(2 人):14 韩浩宇 13 赵彦冰

    -三等奖(21人):14张梦杰 13赵才燊 13王光庭 14叶席佑 14谢元博 15李嘉豪 15张立夫 13邓静恒 15史昊霖 14刘晨骁 14杨霄 15谭超鸿 15张孝腾 15庄涛 14夏家科 15姚遥 15李鸿霄 14华健男 15杨昆鹏 15韩振 15徐晨皓 +三等奖(21 人):14 张梦杰 13 赵才燊 13 王光庭 14 叶席佑 14 谢元博 15 李嘉豪 15 张立夫 13 邓静恒 15 史昊霖 14 刘晨骁 14 杨霄 15 谭超鸿 15 张孝腾 15 庄涛 14 夏家科 15 姚遥 15 李鸿霄 14 华健男 15 杨昆鹏 15 韩振 15 徐晨皓

    比赛时间安排

    -10月17日 周六晚上19:30 3A204 网络攻防技巧讲座 -10月18日 周日上午10:00 初赛 在线开展 -10月24日 周六凌晨00:00 初赛结束 +10 月 17 日 周六晚上 19:30 3A204 网络攻防技巧讲座 +10 月 18 日 周日上午 10:00 初赛 在线开展 +10 月 24 日 周六凌晨 00:00 初赛结束 后续开展复赛

    @@ -108,13 +108,13 @@

    奖励

    因为正在追加奖品,所以目前奖品具体数量仍在初步协商。已知有树莓派、移动硬盘、移动电源、纪念册。

    -增设新生特别奖,并颁发 Outstanding Potential Award。新生如果同时获得新生特别奖和其他奖,将获得两种奖品里面金额最高的一个奖励,不过一定颁发OPA奖。 +增设新生特别奖,并颁发 Outstanding Potential Award。新生如果同时获得新生特别奖和其他奖,将获得两种奖品里面金额最高的一个奖励,不过一定颁发 OPA 奖。

    例题

    -1. 连续投掷一枚均匀骰子,直到和为5的倍数结束。平均期望投掷次数是多少? +1. 连续投掷一枚均匀骰子,直到和为 5 的倍数结束。平均期望投掷次数是多少?

    2. 你来到了神秘的“中科大超级纪念品银座商店”,目标是买到上古科大遗物 —— 献给中科院的铁氧体。如何攻破网上商店,买到这枚神秘的上古科大遗物呢? @@ -175,7 +175,7 @@

    例题

    CC Attribution-Share Alike 3.0 Unported 除额外注明的地方外,本维基上的内容按下列许可协议发布: CC Attribution-Share Alike 3.0 Unported
    diff --git a/pages/_wiki/sec/crypto.html b/pages/_wiki/sec/crypto.html index 699b304ac8..8d8674247c 100644 --- a/pages/_wiki/sec/crypto.html +++ b/pages/_wiki/sec/crypto.html @@ -91,13 +91,13 @@

    Boneh/Shoup 的密码学

    年度 BIU 寒假密码学班

    -以色列的BIU每年举行一次寒假密码学班,最近的几次发布课件的寒假班是: +以色列的 BIU 每年举行一次寒假密码学班,最近的几次发布课件的寒假班是:

    -2016年的“可验证加密”寒假班:http://crypto.biu.ac.il/6th-biu-winter-school +2016 年的“可验证加密”寒假班:http://crypto.biu.ac.il/6th-biu-winter-school

    -2015年的“实用多方计算”寒假班:http://crypto.biu.ac.il/5th-biu-winter-school +2015 年的“实用多方计算”寒假班:http://crypto.biu.ac.il/5th-biu-winter-school

    信息安全专业学生会年度计划

    @@ -109,7 +109,7 @@

    信息安全

    Theory-Cryptography@USTC

    -感兴趣的信息安全本专业同学,可以加入这个QQ群:543592822 +感兴趣的信息安全本专业同学,可以加入这个 QQ 群:543592822

    @@ -167,7 +167,7 @@

    Theory-Cryptography@USTC

    CC Attribution-Share Alike 3.0 Unported 除额外注明的地方外,本维基上的内容按下列许可协议发布: CC Attribution-Share Alike 3.0 Unported
    diff --git a/pages/_wiki/sec/ctflab.html b/pages/_wiki/sec/ctflab.html index 9e5f3e8194..ddced4feba 100644 --- a/pages/_wiki/sec/ctflab.html +++ b/pages/_wiki/sec/ctflab.html @@ -125,7 +125,7 @@

    攻防实验室

    CC Attribution-Share Alike 3.0 Unported 除额外注明的地方外,本维基上的内容按下列许可协议发布: CC Attribution-Share Alike 3.0 Unported
    diff --git a/pages/_wiki/sec/deadline.html b/pages/_wiki/sec/deadline.html index 40090253fa..95fcb22769 100644 --- a/pages/_wiki/sec/deadline.html +++ b/pages/_wiki/sec/deadline.html @@ -67,7 +67,7 @@

    课程大作业 Deadline

    -目前还没有deadline! +目前还没有 deadline!

    @@ -125,7 +125,7 @@

    课程大作业 Deadline

    CC Attribution-Share Alike 3.0 Unported 除额外注明的地方外,本维基上的内容按下列许可协议发布: CC Attribution-Share Alike 3.0 Unported
    diff --git a/pages/_wiki/sec/home.html b/pages/_wiki/sec/home.html index 87f7062d91..1bd2d5368f 100644 --- a/pages/_wiki/sec/home.html +++ b/pages/_wiki/sec/home.html @@ -79,11 +79,11 @@

    联系我们

      @@ -159,7 +159,7 @@

      相关链接

    diff --git a/pages/_wiki/sec/lecture.html b/pages/_wiki/sec/lecture.html index b10aad6811..4701fc9af3 100644 --- a/pages/_wiki/sec/lecture.html +++ b/pages/_wiki/sec/lecture.html @@ -221,7 +221,7 @@

    信息安全专业讲座

    CC Attribution-Share Alike 3.0 Unported 除额外注明的地方外,本维基上的内容按下列许可协议发布: CC Attribution-Share Alike 3.0 Unported
    diff --git a/pages/_wiki/sec/nationalcontest.html b/pages/_wiki/sec/nationalcontest.html index 5ffa4a1219..76f9a774ba 100644 --- a/pages/_wiki/sec/nationalcontest.html +++ b/pages/_wiki/sec/nationalcontest.html @@ -67,10 +67,10 @@

    全国信息安全大赛作品赛和技能赛

    -1. 作品赛已经公布参赛指南。报名起止时间:2017年3月20日——2017年5月29日24时。参赛作品上传时间:2017年3月29日——2017年5月29日24时。参赛名单公布日期:2017年5月31日。 +1. 作品赛已经公布参赛指南。报名起止时间:2017 年 3 月 20 日——2017 年 5 月 29 日 24 时。参赛作品上传时间:2017 年 3 月 29 日——2017 年 5 月 29 日 24 时。参赛名单公布日期:2017 年 5 月 31 日。

    -2. 技能赛具体流程尚未公布,线下决赛时间 7月28-29日。 +2. 技能赛具体流程尚未公布,线下决赛时间 7 月 28-29 日。

    @@ -128,7 +128,7 @@

    全国
    CC Attribution-Share Alike 3.0 Unported 除额外注明的地方外,本维基上的内容按下列许可协议发布: CC Attribution-Share Alike 3.0 Unported
    diff --git a/pages/_wiki/sec/news.html b/pages/_wiki/sec/news.html index 7a865adc5e..c3736174af 100644 --- a/pages/_wiki/sec/news.html +++ b/pages/_wiki/sec/news.html @@ -74,7 +74,7 @@

    校内其

    数学科学学院华罗庚讲座:冯克勤《数论与密码》讲座

    -数学科学学院邀请到了清华大学冯克勤教授讲《数论与密码》,对象是华罗庚班。以下是冯克勤老师的PDF(仅限校内下载)。 +数学科学学院邀请到了清华大学冯克勤教授讲《数论与密码》,对象是华罗庚班。以下是冯克勤老师的 PDF(仅限校内下载)。

    http://rec.ustc.edu.cn/s/ge2w5x @@ -95,25 +95,25 @@

    第三届中 详情请看 第三届中国科大信息安全竞赛颁奖仪式

    -在校团委、管指委、少院团委的大力支持下,少年班学院学生会、信息安全俱乐部、微软学生俱乐部组织了第三届中国科学技术大学信息安全大赛。这次比赛无论校区、院系、专业,面向全校所有的本科生。一共吸引了353名学生参加比赛。 +在校团委、管指委、少院团委的大力支持下,少年班学院学生会、信息安全俱乐部、微软学生俱乐部组织了第三届中国科学技术大学信息安全大赛。这次比赛无论校区、院系、专业,面向全校所有的本科生。一共吸引了 353 名学生参加比赛。

    -

    2014中国通服杯竞赛宣讲会

    +

    2014 中国通服杯竞赛宣讲会

    -详情请看 2014中国通服杯竞赛宣讲会成功举办 +详情请看 2014 中国通服杯竞赛宣讲会成功举办

    -为扩大2014中国通服杯信息竞赛的影响力,激发更多学生对信息安全的兴趣,中国科大-中国通服国家级教育实践中心联合中科大信息学院学生会、研究生会、信息安全俱乐部举办本次竞赛宣讲会。大会特别邀请了李卫海老师致辞、张卫明老师为与会同学做了信息安全的学术报告、以及张卓同学为本次竞赛拟课题作介绍。 +为扩大 2014 中国通服杯信息竞赛的影响力,激发更多学生对信息安全的兴趣,中国科大 - 中国通服国家级教育实践中心联合中科大信息学院学生会、研究生会、信息安全俱乐部举办本次竞赛宣讲会。大会特别邀请了李卫海老师致辞、张卫明老师为与会同学做了信息安全的学术报告、以及张卓同学为本次竞赛拟课题作介绍。

    -张老师做关于信息安的报告,并强调信息安全的重要性,和其蕴含着重大的价值。 同学们就各自的问题向老师请教,气氛热烈。 +张老师做关于信息安的报告,并强调信息安全的重要性,和其蕴含着重大的价值。同学们就各自的问题向老师请教,气氛热烈。

    相关链接: -2014信息安全创新项目申报工作的通知、 -2014信息安全创新项目选题一览表 +2014 信息安全创新项目申报工作的通知、 +2014 信息安全创新项目选题一览表

    相关报道: @@ -135,7 +135,7 @@

    信息安全征文大赛

    在这里,你可以炫你的电脑技巧、晒你的黑客经历;

    -在这里,你可以记叙、抒情、批判、赞扬……    +在这里,你可以记叙、抒情、批判、赞扬……

    这里就是:信息安全征文大赛 @@ -196,7 +196,7 @@

    信息安全征文大赛

    diff --git a/pages/_wiki/sec/professor.html b/pages/_wiki/sec/professor.html index 3d255390d0..2660a2175b 100644 --- a/pages/_wiki/sec/professor.html +++ b/pages/_wiki/sec/professor.html @@ -378,7 +378,7 @@

    曾凡平

    CC Attribution-Share Alike 3.0 Unported 除额外注明的地方外,本维基上的内容按下列许可协议发布: CC Attribution-Share Alike 3.0 Unported
    diff --git a/pages/_wiki/sec/provincecontest.html b/pages/_wiki/sec/provincecontest.html index 68f9c2915d..699506b65c 100644 --- a/pages/_wiki/sec/provincecontest.html +++ b/pages/_wiki/sec/provincecontest.html @@ -67,13 +67,13 @@

    安徽省信息安全大赛

    -2017年1月9日,安徽省教育厅发文:《安徽省教育厅关于举办2017年“全国大学生信息安全竞赛”安徽省赛的通知 》。其中,适合中国科大学生参赛的主要有下面的项目: +2017 年 1 月 9 日,安徽省教育厅发文:《安徽省教育厅关于举办 2017 年“全国大学生信息安全竞赛”安徽省赛的通知》。其中,适合中国科大学生参赛的主要有下面的项目:

    1. 全国大学生信息安全竞赛(安徽省赛)项目:要体现一定的创新性和实用性。参赛作品可以是软件、硬件等。参赛作品的内容以信息安全技术与应用设计为主要内容,可涉及密码算法、安全芯片、防火墙、入侵检测、电子商务与电子政务系统安全、VPN、计算机病毒防护等,但不限于以上内容。

    -2. 安徽省网络攻防赛。主要是CTF比赛,然后是攻防赛。 +2. 安徽省网络攻防赛。主要是 CTF 比赛,然后是攻防赛。

    @@ -131,7 +131,7 @@

    安徽省信息安全大
    CC Attribution-Share Alike 3.0 Unported 除额外注明的地方外,本维基上的内容按下列许可协议发布: CC Attribution-Share Alike 3.0 Unported
    diff --git a/pages/_wiki/sec/qqgroup.html b/pages/_wiki/sec/qqgroup.html index bf9b214239..1f81133e99 100644 --- a/pages/_wiki/sec/qqgroup.html +++ b/pages/_wiki/sec/qqgroup.html @@ -70,7 +70,7 @@

    社团交流群

    欢迎各路信息安全感兴趣的同学加入!

    -信息安全俱乐部: 76302583 +信息安全俱乐部:76302583

    专业交流群

    @@ -79,25 +79,25 @@

    专业交流群

    仅限少院信安、信院信安同学加入!

    -13 级网络信息安全系交流群: 328326206 +13 级网络信息安全系交流群:328326206

    -13 级网络信息安全系通知群: 454331027 +13 级网络信息安全系通知群:454331027

    -14 级网络信息安全系交流群: 432910313 +14 级网络信息安全系交流群:432910313

    -14 级网络信息安全系交流群: 570668719 +14 级网络信息安全系交流群:570668719

    -15 级网络空间安全学院交流群: 待定 +15 级网络空间安全学院交流群:待定

    -15 级网络空间安全学院交流群: 待定 +15 级网络空间安全学院交流群:待定

    -历届学生交流群: 121069689 +历届学生交流群:121069689

    @@ -155,7 +155,7 @@

    专业交流群

    CC Attribution-Share Alike 3.0 Unported 除额外注明的地方外,本维基上的内容按下列许可协议发布: CC Attribution-Share Alike 3.0 Unported
    diff --git a/pages/_wiki/sec/report.html b/pages/_wiki/sec/report.html index bac1837bad..baabee47cf 100644 --- a/pages/_wiki/sec/report.html +++ b/pages/_wiki/sec/report.html @@ -86,7 +86,7 @@

    我们的建议

    汇报的界限

    -属于漏洞挖掘的一部分,但本身不会造成明显的安全问题的,例如网页未隐藏服务器软件信息、缺乏HTTPS导致窃听等等,在当前的时期下,认为汇报是没有必要的。 +属于漏洞挖掘的一部分,但本身不会造成明显的安全问题的,例如网页未隐藏服务器软件信息、缺乏 HTTPS 导致窃听等等,在当前的时期下,认为汇报是没有必要的。

    但是类似于弱密码的问题,在全校各单位很普遍,是否汇报,可作取舍。建议主动联系部门负责人。 @@ -191,7 +191,7 @@

    大物实验平台

    CC Attribution-Share Alike 3.0 Unported 除额外注明的地方外,本维基上的内容按下列许可协议发布: CC Attribution-Share Alike 3.0 Unported
    diff --git a/pages/_wiki/sec/resource.html b/pages/_wiki/sec/resource.html index a13fa826ae..76e9e15bf8 100644 --- a/pages/_wiki/sec/resource.html +++ b/pages/_wiki/sec/resource.html @@ -144,7 +144,7 @@

    校外博导

    CC Attribution-Share Alike 3.0 Unported 除额外注明的地方外,本维基上的内容按下列许可协议发布: CC Attribution-Share Alike 3.0 Unported
    diff --git a/pages/_wiki/sec/studyplan.html b/pages/_wiki/sec/studyplan.html index e6030602f6..4641a90662 100644 --- a/pages/_wiki/sec/studyplan.html +++ b/pages/_wiki/sec/studyplan.html @@ -83,7 +83,7 @@ 3. 体育自由选修课程 3

    -解释:学生应该修读:基础体育选项、体育选项(1)、体育选项(2)。可以选择相同名称的体育课多次。 +解释:学生应该修读:基础体育选项、体育选项 (1)、体育选项 (2)。可以选择相同名称的体育课多次。

    4. 重要思想概论社会实践 2 @@ -139,7 +139,7 @@

  • -7. 形势与政策(讲座) 1 +7. 形势与政策 (讲座) 1

    务必记得及时完成,认真应付。 @@ -199,7 +199,7 @@

    CC Attribution-Share Alike 3.0 Unported 除额外注明的地方外,本维基上的内容按下列许可协议发布: CC Attribution-Share Alike 3.0 Unported
    diff --git a/pages/_wiki/sec/subrepresent.html b/pages/_wiki/sec/subrepresent.html index 02aff14a4b..3059d0ce8a 100644 --- a/pages/_wiki/sec/subrepresent.html +++ b/pages/_wiki/sec/subrepresent.html @@ -70,7 +70,7 @@

    本学期课程教学资

    计算机安全

    -教材: 《计算机安全学》 高曼,张小松(不一定要购买) +教材: 《计算机安全学》高曼,张小松(不一定要购买)

    任课老师:程绍银 sycheng@ustc.edu.cn @@ -85,7 +85,7 @@

    计算机安全

    算法基础

    -教材:《算法导论(第2版)》 T.H. Cormen +教材:《算法导论(第 2 版)》T.H. Cormen

    任课老师:庄连生 lszhuang@ustc.edu.cn @@ -100,7 +100,7 @@

    算法基础

    网络安全协议

    -教材:《网络安全基础:应用与标准》(第5版) +教材:《网络安全基础:应用与标准》(第 5 版)

    任课老师:薛开平 kpxue@ustc.edu.cn @@ -115,7 +115,7 @@

    网络安全协议

    量子信息与安全导论

    -教材: 不需要购买,老师鼓励大家借阅参考图书,很有帮助。 +教材:不需要购买,老师鼓励大家借阅参考图书,很有帮助。

    任课老师:陈巍 @@ -130,7 +130,7 @@

    量子信息与安全导论

    编译原理和技术

    -教材:《编译原理》(第2版) 陈意云、张昱 第3版应该也没问题 +教材:《编译原理》(第 2 版) 陈意云、张昱 第 3 版应该也没问题

    任课老师:李卫海 whli@ustc.edu.cn @@ -197,7 +197,7 @@

    编译原理和技术

    CC Attribution-Share Alike 3.0 Unported 除额外注明的地方外,本维基上的内容按下列许可协议发布: CC Attribution-Share Alike 3.0 Unported
    From 28fcd9cb9baa61303aaa1180280d21bc045f89fe Mon Sep 17 00:00:00 2001 From: TianKai Ma Date: Tue, 17 Sep 2024 14:15:34 +0800 Subject: [PATCH 34/59] fix: same folder link --- pages/_wiki/lug/book/booknotes.md | 2 +- pages/_wiki/lug/book/borrow_book.md | 22 +++++++++++----------- pages/_wiki/lug/contact.md | 6 +++--- pages/_wiki/lug/contribute.md | 4 ++-- pages/_wiki/lug/events/101.md | 4 ++-- pages/_wiki/lug/events/calendar.md | 2 +- pages/_wiki/lug/events/index.md | 2 +- pages/_wiki/lug/events/lip.md | 2 +- pages/_wiki/lug/events/weeklyparty.md | 2 +- pages/_wiki/lug/person-in-charge.md | 2 +- pages/_wiki/lug/services/index.md | 12 ++++++------ 11 files changed, 30 insertions(+), 30 deletions(-) diff --git a/pages/_wiki/lug/book/booknotes.md b/pages/_wiki/lug/book/booknotes.md index cb016a494c..b6261d9741 100644 --- a/pages/_wiki/lug/book/booknotes.md +++ b/pages/_wiki/lug/book/booknotes.md @@ -11,7 +11,7 @@ 3. 强烈建议将读书笔记记录在本 wiki 上,这样便于自己更改和管理。 -- 更多文章,请访问 [Linux 文摘](/wiki/linux_digest "linux_digest:start") +- 更多文章,请访问 [Linux 文摘](/wiki/linux_digest/) --- diff --git a/pages/_wiki/lug/book/borrow_book.md b/pages/_wiki/lug/book/borrow_book.md index 2ffe02b1db..8f2693a558 100644 --- a/pages/_wiki/lug/book/borrow_book.md +++ b/pages/_wiki/lug/book/borrow_book.md @@ -9,11 +9,11 @@ ### 什么时候借 -想要阅读的同学可以直接来活动室。活动室在西区图书馆,最好在[每周小聚](/wiki/lug/events/weeklyparty "lug:events:weeklyparty")之后随我们一同前往,其他时间也可以[联系图书管理员](mailto:zyfwong@gmail.com "zyfwong@gmail.com")。 +想要阅读的同学可以直接来活动室。活动室在西区图书馆,最好在[每周小聚](/wiki/lug/events/weeklyparty)之后随我们一同前往,其他时间也可以[联系图书管理员](mailto:zyfwong@gmail.com "zyfwong@gmail.com")。 ### 借阅手续简明版 -简单的说,我需要两个时间戳 (邮件),一个是你借书的时间,一个是你还书的时间。在第一个时间戳上,请你附上你的个人信息。在第二个时间戳上,请你附上你的[读书笔记](booknotes "lug:book:booknotes")。 +简单的说,我需要两个时间戳 (邮件),一个是你借书的时间,一个是你还书的时间。在第一个时间戳上,请你附上你的个人信息。在第二个时间戳上,请你附上你的[读书笔记](booknotes.md)。 请这样这样撰写: @@ -35,7 +35,7 @@ ## 借阅制度 -为了使[LUG 书库](start "lug:book:start")的图书能够得到充分利用,大家可以在 LUG 活动室阅读这些图书,也可以将图书借出活动室。借阅读书必须遵守本制度手册。 +为了使 LUG 书库的图书能够得到充分利用,大家可以在 LUG 活动室阅读这些图书,也可以将图书借出活动室。借阅读书必须遵守本制度手册。 ### 活动室阅读 @@ -53,11 +53,11 @@ 3. 每本书每次最多只能借出两个月,超过两个月需要向协会申请续借,遇节假日可以顺延 - 4. 借阅图书的同学,在归还前必须提交一份或若干份图书报告,[读书笔记](booknotes "lug:book:booknotes")可以是单独的文章,也可以是发表到自己博客的文章,或者其他形式的阅读笔记 + 4. 借阅图书的同学,在归还前必须提交一份或若干份图书报告,[读书笔记](booknotes.md) 可以是单独的文章,也可以是发表到自己博客的文章,或者其他形式的阅读笔记 - 5. 对于[读书笔记](booknotes "lug:book:booknotes")的篇幅,内容,形式等没有任何强制性的要求,但是请不要让别的同学认为你是在 **敷衍了事** 。建议使用中文,英文或者别的一些计算机编程语言(对于很多这些书来说这可能是最好的方式)表达你的思想,但是希望作品本身易学易读并且和原书籍内容紧密相关。 + 5. 对于 [读书笔记](booknotes.md) 的篇幅,内容,形式等没有任何强制性的要求,但是请不要让别的同学认为你是在 **敷衍了事** 。建议使用中文,英文或者别的一些计算机编程语言(对于很多这些书来说这可能是最好的方式)表达你的思想,但是希望作品本身易学易读并且和原书籍内容紧密相关。 - 6. 请勿在图书上作出勾画,涂改,加注笔记等不利于图书长期保存的动作(我们欢迎你把自己对这本书的理解写成[读书笔记](booknotes "lug:book:booknotes")影响更多的人。),否则将被视为不欢迎借书的人。对于污损,丢失,撕坏或其他严重的破坏应在两个月内赔偿一本相同的书或者按原价两倍赔偿。 + 6. 请勿在图书上作出勾画,涂改,加注笔记等不利于图书长期保存的动作(我们欢迎你把自己对这本书的理解写成 [读书笔记](booknotes.md) 影响更多的人。),否则将被视为不欢迎借书的人。对于污损,丢失,撕坏或其他严重的破坏应在两个月内赔偿一本相同的书或者按原价两倍赔偿。 - **借阅流程** @@ -67,18 +67,18 @@ - **续借流程** - 1. 在两个月期满前,如果不能阅读完,需要续借的,必须向书库管理员发邮件申请续借,并且在两月期满前至少提交一份[读书笔记](booknotes "lug:book:booknotes") + 1. 在两个月期满前,如果不能阅读完,需要续借的,必须向书库管理员发邮件申请续借,并且在两月期满前至少提交一份 [读书笔记](booknotes.md) 2. 两个月期满前一周,如果借阅者未主动提出续借,书库管理员有责任通过短信或邮件方式提醒借阅者 - 3. 如果在借阅者申请续借前,已有其他同学申请预订同一本图书,则由书库管理员决定执行续借或者收回图书借给新同学(可以根据[读书笔记](booknotes "lug:book:booknotes")的质量以及借阅者的借阅理由判定) + 3. 如果在借阅者申请续借前,已有其他同学申请预订同一本图书,则由书库管理员决定执行续借或者收回图书借给新同学(可以根据 [读书笔记](booknotes.md) 的质量以及借阅者的借阅理由判定) - **归还流程** - 1. 向 ustclug 邮件列表发送[读书笔记](booknotes "lug:book:booknotes"),可以是报告内容,也可以是自己的博文链接,或其他适当形式(也可以在阅读期间发送) + 1. 向 ustclug 邮件列表发送 [读书笔记](booknotes.md) ,可以是报告内容,也可以是自己的博文链接,或其他适当形式(也可以在阅读期间发送) 2. 发邮件给书库管理员,约定时间前往活动室换书(有活动室钥匙的,可以直接归还,并发邮件通知书库管理员) - 3. 书库管理员编辑借阅记录,填写相关信息,包括归还时间、[读书笔记](booknotes "lug:book:booknotes")链接等 + 3. 书库管理员编辑借阅记录,填写相关信息,包括归还时间、 [读书笔记](booknotes.md) 链接等 - 4. 对于没有按规定提交[读书笔记](booknotes "lug:book:booknotes")的,半年内不得再借出图书阅读 + 4. 对于没有按规定提交 [读书笔记](booknotes.md) 的,半年内不得再借出图书阅读 diff --git a/pages/_wiki/lug/contact.md b/pages/_wiki/lug/contact.md index a90bb8179f..271c18744e 100644 --- a/pages/_wiki/lug/contact.md +++ b/pages/_wiki/lug/contact.md @@ -7,7 +7,7 @@ ![]({{ site.static_url }}/email.png) -您可以向我们直接发送电子邮件。如需联系 LUG 负责人,请转至 [负责人](person-in-charge/) 页面。 +您可以向我们直接发送电子邮件。如需联系 LUG 负责人,请转至 [负责人](person-in-charge.md) 页面。 > 无特殊情况时,请不要单独联系负责人。 @@ -41,7 +41,7 @@ USTCLUG 在校内的活动室: QQ 群群号请查看 `qq.ustclug.org` 的 DNS TXT 记录。 -校内学生请在 [这里](contribute/) 了解详情。 +校内学生请在 [这里](contribute.md) 了解详情。 ### IRC 上的 LUG @@ -54,4 +54,4 @@ QQ 群群号请查看 `qq.ustclug.org` 的 DNS TXT 记录。 ### 参与邮件列表讨论 -[点击此处了解详情](mailinglist/) +[点击此处了解详情](mailinglist.md) diff --git a/pages/_wiki/lug/contribute.md b/pages/_wiki/lug/contribute.md index 9ccd536fb6..492a5c8c11 100644 --- a/pages/_wiki/lug/contribute.md +++ b/pages/_wiki/lug/contribute.md @@ -14,7 +14,7 @@ 统一招新 (社团游园会) 一般在每年秋季学期开学后两周举行。具体时间请关注学校官方通知。 {: .notice--info} -- [邮件联系](contact/) +- [邮件联系](contact.md) 在非招新活动期间,你也可以将自己的 **真实姓名,学号** 通过邮箱发送至我们登记注册。 @@ -23,7 +23,7 @@ ## 参与 LUG 项目 -想为 LUG [项目](services/)做出贡献?你可以: +想为 LUG [项目](services.md)做出贡献?你可以: - 联系管理员以加入服务器维护小组 diff --git a/pages/_wiki/lug/events/101.md b/pages/_wiki/lug/events/101.md index c49d88a19d..c608d35df2 100644 --- a/pages/_wiki/lug/events/101.md +++ b/pages/_wiki/lug/events/101.md @@ -5,9 +5,9 @@ Linux 101 活动在每年的春季学期举行,旨在帮助对 Linux 感兴趣的新手了解 Linux,学习 Linux。 -举办过的 Linux 101 活动列表见 [LUG 活动](index/) +举办过的 Linux 101 活动列表见 [LUG 活动](index.md) -从 2018 年起,Linux 101 的第一课会与 [Linux Install Party](lip/) 合并举办。 +从 2018 年起,Linux 101 的第一课会与 [Linux Install Party](lip.md) 合并举办。 ## 历史活动 diff --git a/pages/_wiki/lug/events/calendar.md b/pages/_wiki/lug/events/calendar.md index e5b91a8d77..ed286fb32c 100644 --- a/pages/_wiki/lug/events/calendar.md +++ b/pages/_wiki/lug/events/calendar.md @@ -5,7 +5,7 @@ 目前使用[Google 日历](https://calendar.google.com/calendar/embed?src=tpc3se0sk0srjoul27fkcgu208%40group.calendar.google.com&ctz=Asia%2FHong_Kong),如果您在国内访问遇到困难,请尝试使用 USTCLUG 提供的网络加速服务或者访问与此日历同步的 [localendar](https://localendar.com/public/hejiyan) 。 -(活动的具体时间和地点可以通过点击活动查看详情获取) +(活动的具体时间和地点可以通过点击活动查看详情获取) 也可将下面的 ics 地址加入其他日历软件中: [ustclug.ics](https://calendar.google.com/calendar/ical/tpc3se0sk0srjoul27fkcgu208%40group.calendar.google.com/public/basic.ics) diff --git a/pages/_wiki/lug/events/index.md b/pages/_wiki/lug/events/index.md index 8bf27d8efd..eadf95e4e7 100644 --- a/pages/_wiki/lug/events/index.md +++ b/pages/_wiki/lug/events/index.md @@ -5,7 +5,7 @@ permalink: /wiki/lug/events/ # LUG 活动 - [活动概述](/wiki/) -- [LUG 日历](calendar/) +- [LUG 日历](calendar.md) - [联系我们](/wiki/lug/contact/) ## Latest Events diff --git a/pages/_wiki/lug/events/lip.md b/pages/_wiki/lug/events/lip.md index afe41d77b6..49caed435e 100644 --- a/pages/_wiki/lug/events/lip.md +++ b/pages/_wiki/lug/events/lip.md @@ -5,4 +5,4 @@ Linux Install Party 主旨在于推广和安装 Linux,宣传和鼓励开源和自由软件精神。活动可以让同学们亲身“无痛”体验 Linux 系统,在安装 Linux 环节有专人指导,同时可以交流了解 Linux 的相关知识。每次派对包含几个面向入门用户的讲座,手把手的安装,近距离的自由交流等环节。 -举办过的 Linux Install Party 活动列表见 [LUG 活动](index/) +举办过的 Linux Install Party 活动列表见 [LUG 活动](index.md) diff --git a/pages/_wiki/lug/events/weeklyparty.md b/pages/_wiki/lug/events/weeklyparty.md index 8ad605ef6b..96235918d0 100644 --- a/pages/_wiki/lug/events/weeklyparty.md +++ b/pages/_wiki/lug/events/weeklyparty.md @@ -19,7 +19,7 @@ 自 2011 年 10 月起,每个周末都有每周小聚活动,由一位同学做技术分享演讲,欢迎所有师生参与。 -> 具体时间、地点和内容会在发到 [QQ/微信/聊天群](/wiki/lug/contact) 等渠道,欢迎订阅 [LUG 日历](calendar/)。 +> 具体时间、地点和内容会在发到 [QQ/微信/聊天群](/wiki/lug/contact) 等渠道,欢迎订阅 [LUG 日历](calendar.md)。 > > 如果您希望讨论某个主题或主持小聚,欢迎 [联系我们](/wiki/lug/contact) 。 diff --git a/pages/_wiki/lug/person-in-charge.md b/pages/_wiki/lug/person-in-charge.md index e32d55a6f8..c9db9a6646 100644 --- a/pages/_wiki/lug/person-in-charge.md +++ b/pages/_wiki/lug/person-in-charge.md @@ -5,7 +5,7 @@ ## 公共联系方式 -[联系我们](contact/) +[联系我们](contact.md) > 无特殊情况时,请不要单独联系负责人。 diff --git a/pages/_wiki/lug/services/index.md b/pages/_wiki/lug/services/index.md index 40a5679b46..47dc89a66a 100644 --- a/pages/_wiki/lug/services/index.md +++ b/pages/_wiki/lug/services/index.md @@ -4,23 +4,23 @@ permalink: /wiki/lug/services/ # LUG 网络服务 -[LUG 网络服务总则](/wiki/lug/services/rules) +[LUG 网络服务总则](rules.md) ## S 级服务 -- [开源镜像站](mirrors/)(HTTP 访问): +- [开源镜像站](mirrors.md)(HTTP 访问): - 权威 DNS:`ns-a.ustclug.org`, `ns-b.ustclug.org`, `ns-c.ustclug.org` ## A 级服务 -- [代码托管平台](gitlab/):[https://git.lug.ustc.edu.cn](https://git.lug.ustc.edu.cn/) +- [代码托管平台](gitlab.md):[https://git.lug.ustc.edu.cn](https://git.lug.ustc.edu.cn/) - 回校访问服务 ## B 级服务 - 主页、新闻站、LUG Planet(社团博客): -- [网络启动](pxe/):pxe.ustc.edu.cn -- [图书馆透明计算系统](lib/) +- [网络启动](pxe.md):pxe.ustc.edu.cn +- [图书馆透明计算系统](lib.md) - VPN 在线申请系统(校内) - 轻量级网络加速服务(校内) - 开源镜像站(定时同步;rsync 访问;帮助页面): @@ -30,7 +30,7 @@ permalink: /wiki/lug/services/ ## C 级服务 -- [LUG FTP](ftp/): +- [LUG FTP](ftp.md): - 旧的 LUG 新闻站: - LUG 服务器新闻: - 备用的 LUG 服务器新闻: From 1b951df6cde2532f941570a4ea3175e0974d5eaa Mon Sep 17 00:00:00 2001 From: TianKai Ma Date: Tue, 17 Sep 2024 14:16:16 +0800 Subject: [PATCH 35/59] fix: tweak autocorrect --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 403badd7d5..923ae683b7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -60,7 +60,7 @@ jobs: continue-on-error: true run: | curl -fsSL https://raw.githubusercontent.com/huacnlee/autocorrect/main/install | sh - autocorrect --fix + autocorrect --fix ./* - name: Prettier fix continue-on-error: true From c1dd118e636cfbda7a8561d3553edec753fd5302 Mon Sep 17 00:00:00 2001 From: TianKai Ma Date: Tue, 17 Sep 2024 14:28:50 +0800 Subject: [PATCH 36/59] fix: more links --- pages/_wiki/index.md | 26 +++++++++++++------------- pages/_wiki/intro.md | 6 +++--- pages/_wiki/lug/book/index.md | 6 +++--- pages/_wiki/lug/events/index.md | 2 +- pages/_wiki/scripts/index.md | 10 +++++----- 5 files changed, 25 insertions(+), 25 deletions(-) diff --git a/pages/_wiki/index.md b/pages/_wiki/index.md index 243e21207c..00041a2742 100644 --- a/pages/_wiki/index.md +++ b/pages/_wiki/index.md @@ -6,40 +6,40 @@ permalink: /wiki/ 中国科学技术大学 Linux 用户协会 (USTC Linux User Group, USTCLUG) 是由在校的 GNU/Linux 爱好者发起并组成的全校性群众团体,是一个以推广自由软件文化、宣传自由软件价值为目的的协会组织。 -[了解更多](intro/) +[了解更多](intro.md) ## 网络服务 -- **[开源镜像站 mirrors.ustc.edu.cn](lug/services/mirrors/)** -- **[网络启动服务 PXE](lug/services/pxe/)** -- **[代码托管平台 GitLab](lug/services/gitlab/)** -- **[文件存档 FTP](lug/services/ftp/)** +- **[开源镜像站 mirrors.ustc.edu.cn](lug/services/mirrors.md)** +- **[网络启动服务 PXE](lug/services/pxe.md)** +- **[代码托管平台 GitLab](lug/services/gitlab.md)** +- **[文件存档 FTP](lug/services/ftp.md)** -[了解更多](lug/services/) +[了解更多](lug/services/index.md) ## 特色活动 -- **[LUG 每周小聚](lug/events/weeklyparty/):** +- **[LUG 每周小聚](lug/events/weeklyparty.md):** 每周末由同学带来的技术分享演讲。 -- **[Linux 101](lug/events/101/):** +- **[Linux 101](lug/events/101.md):** 帮助新手学习 Linux 的系列活动。 - - [Linux Install Party](lug/events/lip/): + - [Linux Install Party](lug/events/lip.md): 推广和安装 Linux,宣传和鼓励开源和自由软件精神的活动。 -- **[信息安全大赛 Hackergame](lug/events/hackergame/):** +- **[信息安全大赛 Hackergame](lug/events/hackergame.md):** 每年秋季学期举办的信息安全竞赛。 -- **[软件自由日 Software Freedom Day](lug/events/sfd/):** +- **[软件自由日 Software Freedom Day](lug/events/sfd.md):** 由自由/开源软件爱好者自发筹集的演讲、报告会。 -[了解更多](lug/events/) +[了解更多](lug/events/index.md) ## 联系我们 @@ -47,4 +47,4 @@ permalink: /wiki/ - 活动室:西区图书馆 403 室 & 高新图书馆 604B 研讨室 - QQ 群:适合于即时性较强的讨论。具体群号请查看 `qq.ustclug.org` 的 TXT 记录。 -[了解更多](lug/contact/) +[了解更多](lug/contact.md) diff --git a/pages/_wiki/intro.md b/pages/_wiki/intro.md index 4f7734dc77..4458324257 100644 --- a/pages/_wiki/intro.md +++ b/pages/_wiki/intro.md @@ -33,6 +33,6 @@ Designed by Shengyu Zhang on 2018-08-30 ## 更多信息 - [协会章程](https://ftp.lug.ustc.edu.cn/%E7%A4%BE%E5%9B%A2%E7%AE%A1%E7%90%86/%E7%AB%A0%E7%A8%8B/current/constitution.pdf) -- [网络服务](lug/services/) -- [特色活动](lug/events/) -- [联系方式](lug/contact/) +- [网络服务](lug/services/index.md) +- [特色活动](lug/events/index.md) +- [联系方式](lug/contact.md) diff --git a/pages/_wiki/lug/book/index.md b/pages/_wiki/lug/book/index.md index 9ba1ea6e7c..b69a25bf72 100644 --- a/pages/_wiki/lug/book/index.md +++ b/pages/_wiki/lug/book/index.md @@ -8,11 +8,11 @@ permalink: /wiki/lug/book/ 我们同时非常欢迎童鞋们将自己手头不再需要的好书捐献出来。捐赠图书可以[联系我们](/wiki/lug/contact/)。 -关于如何借阅,如何捐赠等问题可以参阅:[图书借阅管理制度](borrow_book/) +关于如何借阅,如何捐赠等问题可以参阅:[图书借阅管理制度](borrow_book.md) -借阅记录与黑名单:[借阅记录](borrow_history/) +借阅记录与黑名单:[借阅记录](borrow_history.md) -读书笔记汇总:[读书笔记](booknotes/) +读书笔记汇总:[读书笔记](booknotes.md) 给 LUG 书库推荐好书:![]({{ site.static_url }}/email.png) diff --git a/pages/_wiki/lug/events/index.md b/pages/_wiki/lug/events/index.md index eadf95e4e7..1580a28a23 100644 --- a/pages/_wiki/lug/events/index.md +++ b/pages/_wiki/lug/events/index.md @@ -184,5 +184,5 @@ permalink: /wiki/lug/events/ 注意:LUD (Linux User Dinner) 均为自愿参加活动,活动费用由参加者分摊,不从社团任何经费报销。关于 LUG 的财务管理制度详情见:[LUG 财务](/wiki/lug/finance) {: .notice--info} -2016 年及之后的小聚就不在这里重复记录了,请移步 [每周小聚](weeklyparty/) 页面查看。 +2016 年及之后的小聚就不在这里重复记录了,请移步 [每周小聚](weeklyparty.md) 页面查看。 {: .notice--info} diff --git a/pages/_wiki/scripts/index.md b/pages/_wiki/scripts/index.md index b35ecbc26a..5c59d02ecf 100644 --- a/pages/_wiki/scripts/index.md +++ b/pages/_wiki/scripts/index.md @@ -6,8 +6,8 @@ permalink: /wiki/scripts/ 这里收集来自网络的各种优秀的脚本。 -| 脚本 | 添加时间 | 作者 | -| ----------------------- | ---------------- | ------------- | -| [USTC 网络通脚本](wlt/) | 2016/09/13 19:12 | LUG @ USTC | -| [豆瓣电台](douban/) | 2010/11/25 19:41 | Stephen Zhang | -| [You-Get](you_get/) | 2013/04/29 16:04 | Darcy Shen | +| 脚本 | 添加时间 | 作者 | +| ------------------------- | ---------------- | ------------- | +| [USTC 网络通脚本](wlt.md) | 2016/09/13 19:12 | LUG @ USTC | +| [豆瓣电台](douban.md) | 2010/11/25 19:41 | Stephen Zhang | +| [You-Get](you_get.md) | 2013/04/29 16:04 | Darcy Shen | From 15ec8cc1e84069add12f0e6d858441096c578c56 Mon Sep 17 00:00:00 2001 From: RTXUX Date: Sun, 22 Sep 2024 16:14:31 +0800 Subject: [PATCH 37/59] finance: remove donate through USTCAF --- pages/_wiki/lug/finance/donate.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/pages/_wiki/lug/finance/donate.md b/pages/_wiki/lug/finance/donate.md index c66d515a8c..a15153887d 100644 --- a/pages/_wiki/lug/finance/donate.md +++ b/pages/_wiki/lug/finance/donate.md @@ -23,14 +23,6 @@ **根据社团管理最新规定,社团经费获取必须经过团委或校基金会渠道,因此该渠道暂时关闭,请关注我们的主页与交流群,若学校相关方面的规则有所变动,我们会第一时间通知。** -## 通过校友基金会捐赠 - -如果您身在海外,或者需要用于个税减免的捐赠收据,您可以通过中国科大校友基金会(USTCAF)的 LUG 子基金进行捐赠。请在捐赠页面中“子基金”栏目选择“AFund”,并在注释中标明“捐赠科大 LUG”。 - -在线捐赠页面: - -**捐赠后请务必按本页顶部要求发送邮件告知我们。** - ## 其它方式 如果您不便通过以上方式捐赠,可以向 donate@ustclug.org 发送邮件说明情况,与我们协商其他捐赠方式。 From a679c541a6edbc2abe41bdcfdeeea65d00207935 Mon Sep 17 00:00:00 2001 From: TianKai Ma Date: Sun, 22 Sep 2024 19:26:54 +0800 Subject: [PATCH 38/59] feat: add 2024 sfd post --- pages/_news/2024/2024-09-21-SFD.md | 42 ++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 pages/_news/2024/2024-09-21-SFD.md diff --git a/pages/_news/2024/2024-09-21-SFD.md b/pages/_news/2024/2024-09-21-SFD.md new file mode 100644 index 0000000000..2b12973ae6 --- /dev/null +++ b/pages/_news/2024/2024-09-21-SFD.md @@ -0,0 +1,42 @@ +--- +title: "2024 软件自由日中国科大站" +header: + image: https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2024.9.21_%E8%BD%AF%E4%BB%B6%E8%87%AA%E7%94%B1%E6%97%A5/imgs/5.jpg + overlay_image: false +author: "tiankaima" +date: "2024-09-21 20:00:00 +0800" +categories: + - LUG 活动 +tags: [] +--- + +2024 年 9 月 21 日,LUG 举办了软件自由日 (Software Freedom Day), 活动在 14:30-18:30 于西区 3C101 举行,并同步进行了线上直播。本次活动邀请到网络信息中心的张焕杰老师、本届 LUG 的 COO 马天开同学,PLCT 实验室的于波同学,以及 `traceexec` 的开发者任鹏飞同学。 + +14 时 30 分,校学生 Linux 用户协会会长罗嘉宏同学简洁地介绍了活动流程安排和演讲嘉宾后,软件自由日活动正式开始。 + +![](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2024.9.21_%E8%BD%AF%E4%BB%B6%E8%87%AA%E7%94%B1%E6%97%A5/imgs/1.png) + +首先,来自网络信息中心的张老师为我们简单介绍了目前校园内 5G 双域专网的建设情况,并分享了背后的技术细节。在演讲的结尾,他邀请在场的同学参与到 5G 专网的体验中来,并解答了同学们的问题。 + +![](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2024.9.21_%E8%BD%AF%E4%BB%B6%E8%87%AA%E7%94%B1%E6%97%A5/imgs/6.png) + +接下来,本届 LUG 的 COO 马天开同学为我们简单介绍了一下一门新型的排版语言 Typst, 他通过与 LaTeX、Markdown 等同学们已经熟悉的排版语言的对比,讲述了 Typst 的优势和特点。他表示 Typst 的目标是成为一门更加易用、更加强大的排版语言,希望同学们能够尝试使用 Typst 来排版自己的文档。 + +![](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2024.9.21_%E8%BD%AF%E4%BB%B6%E8%87%AA%E7%94%B1%E6%97%A5/imgs/2.jpg) + +在此之后,来自 PLCT 的于波同学为我们详细分享了他是怎样一步步成为 Debian Maintainer 及 Debian Developer 的,他分享了自己修复软件包时一些常见的流程和技巧,Debian Teams 的工作方式,以及他在 Debian 社区中的一些经历。他鼓励同学们积极参与到 Debian 社区中来,做出自己的一份贡献。 + +![](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2024.9.21_%E8%BD%AF%E4%BB%B6%E8%87%AA%E7%94%B1%E6%97%A5/imgs/7.png) + +在短暂的茶歇过后,`traceexec` 的开发者、网络安全学院的任鹏飞同学为我们介绍了他的项目 `traceexec`。`traceexec` 是一个用于追踪程序执行的工具,它可以记录程序的执行过程,帮助开发者更好地理解程序的运行情况。任同学通过实际的例子向同学们展示了 `traceexec` 的使用方法,并横向对比了 `strace` 和 `ptrace` 等工具,并介绍了他目前编写的 eBPF 相关的工作。 + +![](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2024.9.21_%E8%BD%AF%E4%BB%B6%E8%87%AA%E7%94%B1%E6%97%A5/imgs/8.png) +![](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2024.9.21_%E8%BD%AF%E4%BB%B6%E8%87%AA%E7%94%B1%E6%97%A5/imgs/9.png) + +在这之后,闪电演讲拉开帷幕,三位同学分别上台介绍了他们在 LibrePlanet、使用 Julia、以及维护 `slidev.js` 的经历,感谢他们的分享。 + +18 时 30 分,2024 年的软件自由日活动完满结束。活动中大家积极交流分享,我们希望通过这样的形式,让更多的同学了解到开源社区的魅力。 + +> 每年的 SFD 活动都在 9 月的第三个周六举行,历年活动在 [这里](/wiki/lug/events/sfd) 查看,如果您有意向在下一届的 SFD 活动中分享您的经验,欢迎 [联系我们](/wiki/lug/contact)。 +> +> 本次活动录像、照片等资料已经上传 LUG FTP: From 269a358340653472b8086f2b92f8d96f2597ac00 Mon Sep 17 00:00:00 2001 From: taoky Date: Mon, 21 Oct 2024 01:51:41 +0800 Subject: [PATCH 39/59] wlt: Add notice about special characters like '&' in password --- pages/_wiki/scripts/wlt.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pages/_wiki/scripts/wlt.md b/pages/_wiki/scripts/wlt.md index 73c046ae13..854175597e 100644 --- a/pages/_wiki/scripts/wlt.md +++ b/pages/_wiki/scripts/wlt.md @@ -48,6 +48,20 @@ 注 2:“动态”是一个现已不存在的选项,但仍能在 BBS 上找到一些线索,其含义未知。 +{% capture notice-special-chars %} + +需要注意的是,如果密码包含诸如 `&` 等特殊符号,直接进行替换可能无法正常登录。可以使用以下方法测试: + +1. 在浏览器中打开网络通网站,然后按下键盘的 F12(Windows/Linux)或者 Command+Option+I(macOS)。 +2. 在打开的**开发者工具**中选择 **Console(中文名为「控制台」)标签**。 +3. 在控制台中输入(复制粘贴)`params = new URLSearchParams()`,按下回车。 +4. 然后输入 `params.set('password', '你的密码')`,按下回车(记得替换 `你的密码`)。 +5. 最后输入 `params.toString()`,按下回车。 +6. 可以在输出看到类似于 `password=%E4%BD%A0%E7%9A%84%E5%AF%86%E7%A0%81` 的内容,在 `password=` 之后的就是你实际需要替换的密码(不包含最后的双引号)。 +{% endcapture %} + +
    {{ notice-special-chars | markdownify }}
    + ## Windows VBScript 版 VBScript 是 Windows 系统自带的脚本语言,可以直接运行。 From ff69edc162b5b1ef6ffe62a13501d498bb6fb8f7 Mon Sep 17 00:00:00 2001 From: taoky Date: Mon, 21 Oct 2024 02:00:05 +0800 Subject: [PATCH 40/59] wlt: Fix prettier Closes: #89 --- pages/_wiki/scripts/wlt.md | 1 + 1 file changed, 1 insertion(+) diff --git a/pages/_wiki/scripts/wlt.md b/pages/_wiki/scripts/wlt.md index 854175597e..d6a93492ce 100644 --- a/pages/_wiki/scripts/wlt.md +++ b/pages/_wiki/scripts/wlt.md @@ -58,6 +58,7 @@ 4. 然后输入 `params.set('password', '你的密码')`,按下回车(记得替换 `你的密码`)。 5. 最后输入 `params.toString()`,按下回车。 6. 可以在输出看到类似于 `password=%E4%BD%A0%E7%9A%84%E5%AF%86%E7%A0%81` 的内容,在 `password=` 之后的就是你实际需要替换的密码(不包含最后的双引号)。 + {% endcapture %}
    {{ notice-special-chars | markdownify }}
    From fe54db0163666270c87c80ab034294d77cd69c1c Mon Sep 17 00:00:00 2001 From: TianKai Ma Date: Mon, 21 Oct 2024 13:47:12 +0800 Subject: [PATCH 41/59] fix: invalid links in /lug/events/ --- pages/_wiki/lug/events/index.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pages/_wiki/lug/events/index.md b/pages/_wiki/lug/events/index.md index 1580a28a23..10e81b7f9c 100644 --- a/pages/_wiki/lug/events/index.md +++ b/pages/_wiki/lug/events/index.md @@ -10,13 +10,13 @@ permalink: /wiki/lug/events/ ## Latest Events -| 日期 | 时间 | 地点 | 内容 | -| :--------- | :---------- | :--------- | :--------------------------------------------- | -| 2024-09-08 | 10:00-13:00 | 高新区 #35 | [游园会](/2024/09/2024-freshmen-course/) | -| 2024-09-07 | 11:00-14:00 | 中区 #61 | [游园会](/2024/09/2024-freshmen-course/) | -| 2024-09-08 | 19:00-21:00 | 东区 5102 | [新生活力课堂](/2024/09/2024-freshmen-course/) | -| 2024-09-07 | 15:00-17:00 | 西区 3C101 | [新生活力课堂](/2024/09/2024-freshmen-course/) | -| 2024-09-03 | 19:00-20:00 | 东区 2105 | [新生活力课堂](/2024/09/2024-freshmen-course/) | +| 日期 | 时间 | 地点 | 内容 | +| :--------- | :---------- | :--------- | :-------------------------------------------------- | +| 2024-09-08 | 10:00-13:00 | 高新区 #35 | [游园会](/news/2024/09/2024-freshmen-course/) | +| 2024-09-07 | 11:00-14:00 | 中区 #61 | [游园会](/news/2024/09/2024-freshmen-course/) | +| 2024-09-08 | 19:00-21:00 | 东区 5102 | [新生活力课堂](/news/2024/09/2024-freshmen-course/) | +| 2024-09-07 | 15:00-17:00 | 西区 3C101 | [新生活力课堂](/news/2024/09/2024-freshmen-course/) | +| 2024-09-03 | 19:00-20:00 | 东区 2105 | [新生活力课堂](/news/2024/09/2024-freshmen-course/) | ## Previous Events From da5634d4a66eb173a6031becb1a9163217432c47 Mon Sep 17 00:00:00 2001 From: taoky Date: Mon, 21 Oct 2024 17:05:28 +0800 Subject: [PATCH 42/59] chore(debug): Add sed to algoliasearch gems for debugging performance issue --- .github/workflows/build.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 923ae683b7..96c8903b76 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -56,6 +56,9 @@ jobs: bundle clean npm install --include=dev + # debugging algolia slow bug + sed -i '/status = get_task_status(index_name, taskID, request_options)/a\ puts status' vendor/bundle/ruby/*/gems/algoliasearch-*/lib/algolia/client.rb + - name: "Linting: autocorrect" continue-on-error: true run: | From 8816c975c8344573bac4c9f594003da2bdfec3f4 Mon Sep 17 00:00:00 2001 From: TianKai Ma Date: Sat, 26 Oct 2024 00:36:44 +0800 Subject: [PATCH 43/59] feat: add Hackergame2024-ad --- .../2024/2024-10-26-Hackergame2024-ad.md | 87 +++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 pages/_news/2024/2024-10-26-Hackergame2024-ad.md diff --git a/pages/_news/2024/2024-10-26-Hackergame2024-ad.md b/pages/_news/2024/2024-10-26-Hackergame2024-ad.md new file mode 100644 index 0000000000..3e65d87695 --- /dev/null +++ b/pages/_news/2024/2024-10-26-Hackergame2024-ad.md @@ -0,0 +1,87 @@ +--- +title: "Hackergame 2024 活动安排" +author: "tiankaima" +date: "2024-10-26 08:00:00 +0800" +categories: + - LUG 活动 +tags: [] +--- + +2024 年度中国科学技术大学第十一届信息安全大赛(Hackergame 2024)即将于 **2024.11.02** 线上举办,持续一周,下面是详细的活动安排。 + +![](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2024.11.02_Hackergame_2024/%E6%B4%BB%E5%8A%A8%E5%AE%89%E6%8E%92%E7%94%BB%E6%9D%BF%201-100.jpg) + +## 比赛内容 + +本次比赛题目共分为五类:综合技能程序逆向与漏洞利用密码学与数学网站安全以及人工智能。 + +和往届比赛一样,我们注重对新手循序渐进的引导,通过对题目的难度梯度设计,让大家都能感受到信息安全的乐趣,学到信息安全的知识。欢迎大家积极参与,预祝取得满意的成绩! + +更多介绍详见: + +## 时间安排 + +北京时间 2024.11.02(周六)12:00 - 2024.11.09(周六)12:00 + +活动日历:[hackergame2024.ics](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2024.11.02_Hackergame_2024/hackergame2024.ics) + +## 比赛形式 + +线上举行,比赛地址: + +## 比赛交流 + +- Hackergame 2024: 392057840 +- Hackergame 2024 合作高校:333979315 + +## 赛前动员会 + +我们将于正式比赛开始前一天举办赛前动员会。动员会上,我们会介绍比赛的注意事项、参赛指南以及一些信息安全技巧。欢迎同学们参加! + +- 线下:11.01 19:30 ~ 21:30 西区 3C101 +- 线上:另行通知 + +## 奖项设置 + +比赛结束后组委根据最终得分排名,评出以下奖项以颁发证书和奖品: + +- 一等奖(一名) +- 二等奖(五名) +- 三等奖(二十五名) +- 新生特别奖(两名,仅限大一新生) +- 一血奖(每道题目一名,只颁发证书,不送出奖品) +- 分类奖项(4 个分类,每个分类一名,只颁发证书,不送出奖品) + +注意: + +- 得分相同的以时间早优先 +- 若同时获得多个奖项(如一等奖和新生特别奖),奖品任选其一 +- 仅限校内在读学生,协办单位的奖项设置由相关单位决定 + +## 协办单位 + +自第四届起,Hackergame 就邀请其他高校的同学一起同台竞技。往届比赛参加人数接近 4000 人,本届 Hackergame 我们同样邀请到了以下协办单位(排名不分先后): + +- 复旦大学六星战队 +- 广东海洋大学 Hor1zon 战队 +- 哈尔滨工业大学 Linux 开源学生俱乐部 +- 哈尔滨工业大学紫丁香 CTF 俱乐部 +- 南京航空航天大学 Asuri 战队 +- 吉林大学 Linux 用户协会 +- 吉林大学 Spirit 战队 +- 东北大学 NEX 信息安全创新团队 +- 南方科技大学计算机研究协会 +- 南方科技大学 COMPASS 实验室 +- 中山大学 W4terDr0p 战队 +- 中山大学互联网与开源技术协会 +- 同济大学 CatTrainingForce 战队 +- 西安电子科技大学信息安全协会 +- 厦门理工学院信息安全协会 +- 浙江大学 AAA 战队 +- 上海大学开源社区 +- 南阳理工学院计算机与信息化处理协会 +- 上海交通大学 0ops 战队 + +## 宣传海报 + +![](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2024.11.02_Hackergame_2024/Rev.16%E5%B1%95%E6%9E%B6.png) From 5ea680543ad357e741db172cf74b44ed712e6e2e Mon Sep 17 00:00:00 2001 From: TianKai Ma Date: Sat, 26 Oct 2024 00:49:39 +0800 Subject: [PATCH 44/59] fix: f**k the date --- pages/_news/2024/2024-10-26-Hackergame2024-ad.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/_news/2024/2024-10-26-Hackergame2024-ad.md b/pages/_news/2024/2024-10-26-Hackergame2024-ad.md index 3e65d87695..e47e7cba06 100644 --- a/pages/_news/2024/2024-10-26-Hackergame2024-ad.md +++ b/pages/_news/2024/2024-10-26-Hackergame2024-ad.md @@ -1,7 +1,7 @@ --- title: "Hackergame 2024 活动安排" author: "tiankaima" -date: "2024-10-26 08:00:00 +0800" +date: "2024-10-26 00:00:00 +0800" categories: - LUG 活动 tags: [] From 38c33416d5e2cef5dc11be0e4ad656a5cfe2ba0d Mon Sep 17 00:00:00 2001 From: TianKai Ma Date: Sat, 26 Oct 2024 01:24:04 +0800 Subject: [PATCH 45/59] feat: update Hackergame2024-ad --- pages/_news/2024/2024-10-26-Hackergame2024-ad.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pages/_news/2024/2024-10-26-Hackergame2024-ad.md b/pages/_news/2024/2024-10-26-Hackergame2024-ad.md index e47e7cba06..dad93bbb04 100644 --- a/pages/_news/2024/2024-10-26-Hackergame2024-ad.md +++ b/pages/_news/2024/2024-10-26-Hackergame2024-ad.md @@ -13,7 +13,7 @@ tags: [] ## 比赛内容 -本次比赛题目共分为五类:综合技能程序逆向与漏洞利用密码学与数学网站安全以及人工智能。 +本次比赛题目共分为五类:综合技能程序逆向与漏洞利用密码学与数学网站安全 以及 人工智能。 和往届比赛一样,我们注重对新手循序渐进的引导,通过对题目的难度梯度设计,让大家都能感受到信息安全的乐趣,学到信息安全的知识。欢迎大家积极参与,预祝取得满意的成绩! @@ -29,6 +29,8 @@ tags: [] 线上举行,比赛地址: +比赛结束之前均可参赛 + ## 比赛交流 - Hackergame 2024: 392057840 From 2f529d88f586ec7a14cf9fc299e642c6a2822556 Mon Sep 17 00:00:00 2001 From: TianKai Ma Date: Sat, 26 Oct 2024 09:27:15 +0800 Subject: [PATCH 46/59] fix: update Hackergame2024-ad --- pages/_news/2024/2024-10-26-Hackergame2024-ad.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/_news/2024/2024-10-26-Hackergame2024-ad.md b/pages/_news/2024/2024-10-26-Hackergame2024-ad.md index dad93bbb04..d62cc1a7ac 100644 --- a/pages/_news/2024/2024-10-26-Hackergame2024-ad.md +++ b/pages/_news/2024/2024-10-26-Hackergame2024-ad.md @@ -52,7 +52,7 @@ tags: [] - 三等奖(二十五名) - 新生特别奖(两名,仅限大一新生) - 一血奖(每道题目一名,只颁发证书,不送出奖品) -- 分类奖项(4 个分类,每个分类一名,只颁发证书,不送出奖品) +- 分类奖项(5 个分类,每个分类一名,只颁发证书,不送出奖品) 注意: From 7fbcf91b0b6c324646fe8887d7dca31206c2cac3 Mon Sep 17 00:00:00 2001 From: TianKai Ma Date: Thu, 31 Oct 2024 04:35:24 +0800 Subject: [PATCH 47/59] fix(Hackergame2024-ad): pics rev --- pages/_news/2024/2024-10-26-Hackergame2024-ad.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/_news/2024/2024-10-26-Hackergame2024-ad.md b/pages/_news/2024/2024-10-26-Hackergame2024-ad.md index d62cc1a7ac..97e0e275bf 100644 --- a/pages/_news/2024/2024-10-26-Hackergame2024-ad.md +++ b/pages/_news/2024/2024-10-26-Hackergame2024-ad.md @@ -86,4 +86,4 @@ tags: [] ## 宣传海报 -![](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2024.11.02_Hackergame_2024/Rev.16%E5%B1%95%E6%9E%B6.png) +![](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2024.11.02_Hackergame_2024/Rev.20%E5%B1%95%E6%9E%B6.png) From c887ca30452cf28b96050d6f3f08e824a8a584e0 Mon Sep 17 00:00:00 2001 From: iBug Date: Mon, 11 Nov 2024 20:56:43 +0800 Subject: [PATCH 48/59] wiki/lug/contribute: Fix link to services, close #91 --- pages/_wiki/lug/contribute.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/_wiki/lug/contribute.md b/pages/_wiki/lug/contribute.md index 492a5c8c11..e503bf3bb0 100644 --- a/pages/_wiki/lug/contribute.md +++ b/pages/_wiki/lug/contribute.md @@ -23,7 +23,7 @@ ## 参与 LUG 项目 -想为 LUG [项目](services.md)做出贡献?你可以: +想为 LUG [项目](services/index.md)做出贡献?你可以: - 联系管理员以加入服务器维护小组 From 5901d1a61c91b12f18d851cacbc38d5ec101ab7b Mon Sep 17 00:00:00 2001 From: Tiankai Ma Date: Tue, 3 Dec 2024 11:11:38 +0800 Subject: [PATCH 49/59] feat: add 2024-11-27-gathering-openmp (#93) --- .../_news/2024/2024-11-27-gathering-openmp.md | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 pages/_news/2024/2024-11-27-gathering-openmp.md diff --git a/pages/_news/2024/2024-11-27-gathering-openmp.md b/pages/_news/2024/2024-11-27-gathering-openmp.md new file mode 100644 index 0000000000..6dfced5350 --- /dev/null +++ b/pages/_news/2024/2024-11-27-gathering-openmp.md @@ -0,0 +1,23 @@ +--- +title: "C/C++ 下 OpenMP 程序设计介绍" +author: "tiankaima" +date: "2024-11-29 10:00:00 +0800" +categories: + - LUG 活动 + - LUG 小聚 +tags: [] +--- + +![](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2024.11.27_%E5%B0%8F%E8%81%9A/3.jpg) + +2024 年 11 月 27 日,校学生 Linux 用户协会在西区第三教学楼 3A306 教室开展了小聚活动。本次小聚主要是由罗嘉宏同学带来的 C/C++ 下 OpenMP 程序设计介绍。[OpenMP](https://www.openmp.org/) 是广为运用的并行计算处理框架,为 C/C++ 和 Fortran 编程语言提供支持,提供了简单有效的 CPU 并行处理能力。此外,新版本的 OpenMP 还支持 GPU 计算等功能。 + +![](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2024.11.27_%E5%B0%8F%E8%81%9A/2.jpg) + +小聚过程中,罗嘉宏同学展示了由简单到复杂的一系列 OpenMP 代码示例(使用 C 语言编写),以此对 OpenMP 计算框架的基本用法作出解释说明。这些代码段覆盖了从最简单的 `parallel` 到原子操作等等的主题,并现场展示了运行结果。这使同学们对并行计算中出现的一些问题和相关的解决方式有了初步的认识,也为同学们今后可能会遇到的需要并行计算的问题提供了入门性的解决方式。 + +![](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2024.11.27_%E5%B0%8F%E8%81%9A/4.jpg) + +值得一提的是,本次小聚使用了 Lichee Pi 4A 作为现场演示设备。该设备上有 RISC-V64 架构的 4 个处理器核心。在活动过程中,该设备状态稳定,展示出了较高的 OpenMP 多线程并行效率。本次小聚使用的案例代码可以在 [LUG GitLab](https://git.lug.ustc.edu.cn/luojh/ompguide) 上获取。 + +![](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2024.11.27_%E5%B0%8F%E8%81%9A/1.jpg) From 52c3d843738d716cd13d35717ca5e2858b9bb4a2 Mon Sep 17 00:00:00 2001 From: Tiankai Ma Date: Tue, 3 Dec 2024 11:21:41 +0800 Subject: [PATCH 50/59] fix: 2024-11-27-gathering-openmp (#94) --- pages/_news/2024/2024-11-27-gathering-openmp.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/_news/2024/2024-11-27-gathering-openmp.md b/pages/_news/2024/2024-11-27-gathering-openmp.md index 6dfced5350..b9ee5429b9 100644 --- a/pages/_news/2024/2024-11-27-gathering-openmp.md +++ b/pages/_news/2024/2024-11-27-gathering-openmp.md @@ -1,6 +1,8 @@ --- title: "C/C++ 下 OpenMP 程序设计介绍" author: "tiankaima" +header: + image: https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2024.11.27_%E5%B0%8F%E8%81%9A/3.jpg date: "2024-11-29 10:00:00 +0800" categories: - LUG 活动 @@ -8,8 +10,6 @@ categories: tags: [] --- -![](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2024.11.27_%E5%B0%8F%E8%81%9A/3.jpg) - 2024 年 11 月 27 日,校学生 Linux 用户协会在西区第三教学楼 3A306 教室开展了小聚活动。本次小聚主要是由罗嘉宏同学带来的 C/C++ 下 OpenMP 程序设计介绍。[OpenMP](https://www.openmp.org/) 是广为运用的并行计算处理框架,为 C/C++ 和 Fortran 编程语言提供支持,提供了简单有效的 CPU 并行处理能力。此外,新版本的 OpenMP 还支持 GPU 计算等功能。 ![](https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2024.11.27_%E5%B0%8F%E8%81%9A/2.jpg) From 55a1621d02b0015655d2486e1b637760cb5e4674 Mon Sep 17 00:00:00 2001 From: iBug Date: Mon, 9 Dec 2024 18:32:32 +0800 Subject: [PATCH 51/59] Add iBug's ZFS article (zh) --- .../2024-12-09-ustc-mirrors-zfs-rebuild.md | 377 ++++++++++++++++++ 1 file changed, 377 insertions(+) create mode 100644 pages/_planet/2024-12-09-ustc-mirrors-zfs-rebuild.md diff --git a/pages/_planet/2024-12-09-ustc-mirrors-zfs-rebuild.md b/pages/_planet/2024-12-09-ustc-mirrors-zfs-rebuild.md new file mode 100644 index 0000000000..30da004c1a --- /dev/null +++ b/pages/_planet/2024-12-09-ustc-mirrors-zfs-rebuild.md @@ -0,0 +1,377 @@ +--- +title: 镜像站 ZFS 实践 +author: iBug +categories: + - mirrors +tags: linux 服务器 zfs +--- + +{% assign image_base = "https://image.ibugone.com" %} + +## 背景 {#background} + +由中科大 Linux 用户协会维护的[中科大开源软件镜像站](https://mirrors.ustc.edu.cn/)是中国大陆高校访问量最大、收录最全的开源软件镜像之一。 +在 2024 年 5 月至 6 月期间,我们的镜像站服务的流量大约是每天 36 TiB,主要分为以下两大类: + +- HTTP/HTTPS 流量 19 TiB,请求量 1700 万 +- Rsync 流量 10.3 TiB,请求量 2.18 万(如果算上一个异常的客户端,那么总数是 14.78 万) + +多年以来,随着现有镜像仓库容量的增加和新镜像仓库的加入,我们的服务器硬盘容量已经十分紧张了。目前提供镜像服务的两台服务器的磁盘容量都已经接近极限了: + +- 主(HTTP)服务器采用 XFS 文件系统,在 2023 年 12 月 18 日达到了 63.3 TiB(总容量 66.0 TiB,使用率 96%); +- 副(Rsync)服务器采用 ZFS 文件系统,在 2023 年 11 月 21 日达到了 42.4 TiB(总容量 43.2 TiB,使用率 98%)。 + +两台服务器的配置分别如下: + +
    +
    HTTP 服务器
    +
    +- 2020 年秋季搭建 +- 12 块 10 TB HDD + 一块 2 TB SSD +- 在硬件 RAID 上使用 LVM 和 XFS +- 由于 XFS(截至本次重建时)不支持压缩,因此为了应对其他分区的潜在的扩容需求,我们在 LVM VG 层面保留了 free PE +
    + +
    Rsync 服务器
    +
    +- 2016 年底搭建 +- 12 块 6 TB HDD 和一些小容量 SSDs 用来装系统和当缓存 +- 组建了 ZFS RAID-Z3 阵列,大致分为 8 块数据盘 + 3 块校验盘,最后一块留作热备 +- 全默认参数(仅修改了 `zfs_arc_max`) +
    +
    + +这两台服务器的磁盘负载非常高,日常维持在 90% 以上,以至于即使从科大校园网内下载镜像,速度也很难达到 50 MB/s。 +显然对于镜像站这种专用于存储的用途来说,这样的性能表现是差强人意的。 + +{% include figure + image_path="https://image.ibugone.com/grafana/mirrors-io-utilization-may-2024.png" + popup=true + alt="2024 年 5 月期间镜像站两台服务器的 I/O 负载" + caption="2024 年 5 月期间镜像站两台服务器的 I/O 负载" %} + +## ZFS + +ZFS 以“单机存储的终极解决方案”著称。 +它集 RAID、逻辑卷管理和文件系统于一体,具有包括快照、克隆、发送/接收等高级功能。 +ZFS 内的所有数据都有校验,可以在硬盘出现比特翻转等极端情况下尽可能确保文件系统的完整性。 +对于专用于存储的服务器来说,ZFS 看起来是个可以“一劳永逸”的解决方案,但当你看到它有如此多的可调节参数之后,你马上就不会这么想了。 + +作为前期学习和实验,我在自己的工作站上增加了一批额外的硬盘并把它们组成了两个 ZFS pool,然后注册了一些 PT 站开始刷流来制造一些磁盘负载以便学习研究。 +在 PT 站的刷流成果十分可观:这个单机的 seed box 在两年半间产生了 1.20 PiB 的上传量。 + +这两年刷 PT 站刷下来,我总结出来几个重要的 ZFS 学习资料来源: + +- UToronto 的 Chris Siebenmann 的博客: +- OpenZFS 的官方文档: +- 我自己攒出的一篇博客:[Understanding ZFS block sizes](https://ibug.io/p/62) + - 以及这篇博客底部列出的参考文献 + +{% include figure + image_path="https://image.ibugone.com/grafana/qb/2024-06-05.png" + popup=true + alt="一个为 qBittorrent 定制的 Grafana 面板" + caption="学习 ZFS 过程中的副产物:一个为 qBittorrent 定制的 Grafana 面板(xs" %} + +经过多年的 ZFS 学习,我意识到镜像站服务器上的配置其实有很大的优化空间,方法就是 all-in ZFS 并正确地调节一些参数。 + +## 镜像站 + +在开工重建 ZFS pool 之前,我们需要正确地理解和分析镜像站的负载类型。简而言之,镜像站的特点是: + +- 提供文件下载服务 +- 也(被迫)提供“家庭宽带上下行流量平衡服务”(人人喊打的 PCDN 需要为此负责) +- 读多写少,且大部分读取都是全文件顺序读取 +- 能够容忍少量的数据丢失,毕竟镜像内容可以轻易地从上游重新同步回来 + +{% include figure + image_path="https://image.ibugone.com/server/mirrors-file-size-distribution-2024-08.png" + popup=true + alt="2024 年 8 月镜像站上的文件大小分布" + caption="2024 年 8 月镜像站上的文件大小分布" %} + +基于以上思考,我们分析了镜像站上存储的内容。从上图中可以看出,镜像站上总文件数超过 4000 万,其中一半的文件大小不到 10 KiB,并且 90% 的文件大小不到 1 MiB。 +尽管如此,所有文件的平均大小仍然达到了 1.6 MiB。 + +## 重建 Rsync 服务器 {#mirrors2} + +Rsync 服务器的流量较少,但磁盘使用率较为极端,加上我们认定 Rsync 服务的重要性较低,因此在今年 6 月,我们先动手重建了这台服务器。 +我们制定了如下的重建计划: + +- 首先,考虑到镜像站上一半的文件都不到 10 KiB(注意我们的磁盘的物理扇区大小是 4 KiB),RAID-Z3 的开销过高,因此我们决定将其重建为 RAID-Z2 并且拆成两组 vdev。这样做还有一个额外的好处,即期望情况下我们还可以在这个 ZFS pool 中获得两倍的 IOPS,毕竟文件的每个“块”只存储在一个 vdev 上。 +- 然后我们仔细研究了如何为镜像站场景调优 ZFS dataset 参数: + - `recordsize=1M`:尽可能优化顺序读写性能,同时减少碎片化 + - `compression=zstd`:开点压缩来试试能节约多少磁盘空间 + - OpenZFS 2.2 开始将 early-abort 机制引入了 Zstd 压缩算法(Zstd-3 以上的等级)。该机制会首先尝试使用 LZ4 和 Zstd-1 来压缩数据以便评估数据的可压缩性,如果数据不可压缩(熵太大),则不再尝试用设定的 Zstd 等级压缩,而是直接原样写入磁盘上,避免在不可压缩的数据上浪费 CPU。 + + 我们已知镜像站上的大部分内容都是已经压缩过的,因此 early-abort 算是给我们兜了个底,让我们可以放心地开 Zstd。 + - `xattr=off`:镜像站上的文件不需要扩展属性 + - `atime=off`:镜像站上的文件不需要记录,也不需要更新 atime,可以省掉不少写入 + - `setuid=off`、`exec=off`、`devices=off` 也是我们不需要的挂载选项(也是一个更安全的做法) + - `secondarycache=metadata` 让 L2ARC 仅缓存 ZFS 内部的元数据。这是因为 Rsync 服务器上的文件访问模式更加均匀,而不像面向终端用户的 HTTP 服务器上冷热分明,因此仅缓存元数据可以节约 SSD 寿命。 +- 以及一些可能有潜在(但我们认为我们可以容忍的)风险的选项: + - `sync=disabled`:禁用同步写入语义(`open(O_SYNC)`、`sync()` 和 `fsync()` 等)以让 ZFS 能够充分发挥写缓冲区的意义,如降低碎片率等 + - `redundant_metadata=some`:(OpenZFS 2.2)减少元数据的冗余度来获得更好的写入性能。 + + 我们认为这两个选项符合我们对镜像站仓库内容的数据安全和完整性需求的理解,它们在其他场景下不一定“安全”。 + +- 对于 ZFS 模块层面的参数,光是 290+ 的数量就已经很劝退了。 + 此处感谢 Debian ZFS 维护者兼北京外国语大学镜像站管理员 @happyaron 的帮助,我们快速找出了十几个常用的参数进行针对性条件。 + + ```shell + # 设置 ARC 大小范围为 160-200 GiB,并为操作系统保留 16 GiB 空闲 + options zfs zfs_arc_max=214748364800 + options zfs zfs_arc_min=171798691840 + options zfs zfs_arc_sys_free=17179869184 + + # 设置元数据对用户数据优先级的权重为 20x (OpenZFS 2.2+) + options zfs zfs_arc_meta_balance=2000 + + # 允许 dnode 占用至多 80% 的 ARC 容量 + options zfs zfs_arc_dnode_limit_percent=80 + + # 以下几行参见 man page 中的 "ZFS I/O Scheduler" 一节 + options zfs zfs_vdev_async_read_max_active=8 + options zfs zfs_vdev_async_read_min_active=2 + options zfs zfs_vdev_scrub_max_active=5 + options zfs zfs_vdev_max_active=20000 + + # 避免因内存压力降低 ARC 读写速度 + options zfs zfs_arc_lotsfree_percent=0 + + # L2ARC 参数 + options zfs l2arc_headroom=8 + options zfs l2arc_write_max=67108864 + options zfs l2arc_noprefetch=0 + ``` + + 另外还有 `zfs_dmu_offset_next_sync`,但由于它从 OpenZFS 2.1.5 开始已经默认启用了,因此我们将其从本列表中略去。 + +将 Rsync 服务暂时转移到由 HTTP 服务器兼任之后,我们 destroy 了原有的 ZFS pool 并重新组建了一个新的 pool,然后再从(上游或 TUNA、BFSU 等友校镜像站)外面把原有的仓库同步回来。 +令我们感到惊讶的是,把总共近 40 TiB 的仓库同步回来只花了 3 天,比我们预想的要快得多。 +其他的一些数据看起来也令人振奋: + +- ZFS 压缩率:39.5T / 37.1T (1.07x) + + 需要特别指出的是,ZFS 只显示压缩率小数点后两位,所以更高的精度,需要通过原始数据自己计算: + + ```shell + zfs list -po name,logicalused,used + ``` + + 我们更精确的压缩率是 1 + 6.57%,即压掉了 2.67 TB(2.43 TiB),约等于 [9 份微信数据]({{ image_base }}/teaser/lenovo-legion-wechat-data.jpg)(不是 + +- 最关键的是更合理的 I/O 负载: + + {% include figure + image_path="https://image.ibugone.com/grafana/mirrors2-io-utilization-and-free-space-june-july-2024.png" + popup=true + alt="mirrors2 机器在重建前后的 I/O 负载" + caption="mirrors2 机器在重建前后的 I/O 负载" %} + +可以看出,经过几天的预热之后,I/O 负载维持在了 20% 左右,而在重建之前一直维持在 90% 以上。 + +## 重建 HTTP 服务器 {#mirrors4} + +我们的 HTTP 服务器是在 2020 年秋季搭建的,并且当时也有一些不同的背景。 +申请这台服务器正是因为 Rsync 服务器容量过满且性能不佳,加上当时也没有了解 ZFS 的同学,我们对 ZFS 的印象很差,所以我们决定完全避开 ZFS,使用硬件 RAID、LVM 和 XFS,其中使用 LVM 的原因是 RAID 卡不支持跨两个控制器组 RAID。 +对于“内存做缓存”这部分,我们决定直接使用内核的 page cache;而对于 SSD 缓存,我们则率先吃了 LVMcache 的螃蟹。 + +然而这些过于“新鲜”的技术并没有带来比(现在的 ZFS)更好的体验: + +- XFS 无法缩小,因此我们不得不在 LVM VG 层面保留了 free PE。同时我们也不能把 XFS 文件系统用满,因此这里就有了两层无法利用的空闲空间。 +- 我们最初分配了 1.5 TB 的 SSD 缓存,但 LVMcache 又建议我们不要超过 100 万个 chunk,我们当时也没有足够的精力和知识水平去研究这个建议背后的技术细节,因此我们最终只分配了 1 TiB(1 MiB chunk size * 1 Mi chunks)的 SSD 缓存。 +- SSD 缓存策略不可调,多年以后我们翻了 kernel 源码才发现它是一个 64 级的 LRU。 +- 配好 cache 之后 GRUB 首先挂了(囧),我们调查发现原因是 GRUB 有一套自己的解析 LVM metadata 的代码,它并没有正确处理(或者说根本没处理)VG 中有 cache volume 的情况,我们不得不自己 [patch](https://github.com/taoky/grub/commit/85b260baec91aa4f7db85d7592f6be92d549a0ae) 了 GRUB 才能正常开机。 +- 由于我们对 LVMcache 的 chunk 不够了解,我们的 SSD 在不到 2 年的时间里就严重超过了写入寿命,我们被迫申请换新。 + +在 SSD 换新之后,即使我们认为我们对 LVMcache 做出了稍微合理一点的调参,坚持忽略警告采用 128 KiB 的 chunk size 和 800 万个 chunk 之后,它的性能(命中率)也并不可观: + +{% include figure + image_path="https://image.ibugone.com/grafana/mirrors4-dmcache-may-june-2024.png" + popup=true + alt="2024 年 5 月至 6 月期间 LVMcache 的命中率" + caption="2024 年 5 月至 6 月期间 LVMcache 的命中率" %} + +这些年来我们已经受够了 LVMcache 的坑了,加上 Rsync 服务器重建的巨大成功,我们重新开始相信 ZFS 是天下第一的存储方案了。所以一个月之后,我们又制定了一个相似的重建计划准备重建 HTTP 服务器,但是有一些微小的差别: + +- 我们的 Rsync 服务器采用原生的 Debian kernel + `zfs-dkms`,但根据我们使用 PVE 的经验,我们准备在 HTTP 服务器上直接用 `6.8.8-3-pve` kernel,它打包了 `zfs.ko`,这样我们就不用在 DKMS 上浪费时间了。 +- 由于磁盘数目相同(12 块),我们也采用了两个 6 盘 RAID-Z2 vdev 的组合。 + - 考虑到这台服务器直接向用户提供 HTTP 服务,磁盘的访问模式会比 Rsync 服务器更加热冷分明,因此我们保持了 `secondarycache=all` 的设置(采用默认值,不动)。 + - 这台新服务器的 CPU 更新更好,因此我们把压缩等级提高到了 `zstd-8` 来试试有没有更好的压缩比。 +- 我们在 Rsync 服务器上已经有了一个完整的、经过 ZFS 优化过的仓库,因此我们可以直接用 `zfs send -Lcp` 把数据倒过来。我们最终只花了 36 小时就把超过 50 TiB 的数据都倒回来了。 +- 由于两台服务器上存储的镜像仓库有所不同,HTTP 服务器上的压缩比略低一些,为 1 + 3.93%(压掉了2.42 TiB / 2.20 TiB)。 + +我们把两台服务器的 I/O 负载放在一张图里对比: + +{% include figure + image_path="https://image.ibugone.com/grafana/mirrors2-4-io-utilization-june-july-2024.png" + popup=true + alt="镜像站两台服务器在重建前后的 I/O 负载" + caption="镜像站两台服务器在重建前后的 I/O 负载" %} + +上图左半部分为重建前的情况,中间部分为仅重建了 Rsync 服务器的情况,右半部分为两台服务器都重建完毕后的情况。 + +ZFS ARC 的命中率也十分可观: + +{% include figure + image_path="https://image.ibugone.com/grafana/mirrors2-4-zfs-arc-hit-rate.png" + popup=true + alt="两台服务器的 ZFS ARC 命中率" + caption="两台服务器的 ZFS ARC 命中率" %} + +稳定下来之后,两台服务器的 I/O 负载还更低了: + +{% include figure + image_path="https://image.ibugone.com/grafana/mirrors2-4-disk-io-after-rebuild.png" + popup=true + alt="两台服务器重建后磁盘 I/O 的稳定情况" + caption="两台服务器重建后磁盘 I/O 的稳定情况" %} + +## 杂项 + +### ZFS 透明压缩 + +我们并没有想到这么多仓库的压缩率都还不错: + +| NAME | LUSED | USED | RATIO | +| :------------------------- | ----: | ----: | ----: | +| pool0/repo/crates.io-index | 2.19G | 1.65G | 3.01x | +| pool0/repo/elpa | 3.35G | 2.32G | 1.67x | +| pool0/repo/rfc | 4.37G | 3.01G | 1.56x | +| pool0/repo/debian-cdimage | 1.58T | 1.04T | 1.54x | +| pool0/repo/tldp | 4.89G | 3.78G | 1.48x | +| pool0/repo/loongnix | 438G | 332G | 1.34x | +| pool0/repo/rosdistro | 32.2M | 26.6M | 1.31x | + +有些数字看着不太对劲(比如第一个),我们认为是这个问题造成的:[ openzfs/zfs#7639](https://github.com/openzfs/zfs/issues/7639) + +如果我们按照压缩量排序,结果如下: + +| NAME | LUSED | USED | DIFF | +| :------------------------ | -----: | -----: | -----: | +| pool0/repo | 58.3T | 56.1T | 2.2T | +| pool0/repo/debian-cdimage | 1.6T | 1.0T | 549.6G | +| pool0/repo/opensuse | 2.5T | 2.3T | 279.7G | +| pool0/repo/turnkeylinux | 1.2T | 1.0T | 155.2G | +| pool0/repo/loongnix | 438.2G | 331.9G | 106.3G | +| pool0/repo/alpine | 3.0T | 2.9T | 103.9G | +| pool0/repo/openwrt | 1.8T | 1.7T | 70.0G | + +`debian-cdimage` 一个仓库就占了总压缩量的 1/4。 + +### Grafana for ZFS I/O + +重建后,我们也修了一个显示 ZFS I/O 的 Grafana 面板。 +因为 ZFS 的 I/O 统计数据是通过 `/proc/spl/kstat/zfs/$POOL/objset-$OBJSETID_HEX` 获取的,并且是分“object set”(即 dataset)累计统计的,所以我们需要先对每个 dataset 的数据做差分,再按 pool 加起来。 +也就是说,一个 InfluxQL subquery 是跑不掉的的。 + +```sql +SELECT + non_negative_derivative(sum("reads"), 1s) AS "read", + non_negative_derivative(sum("writes"), 1s) AS "write" +FROM ( + SELECT + first("reads") AS "reads", + first("writes") AS "writes" + FROM "zfs_pool" + WHERE ("host" = 'taokystrong' AND "pool" = 'pool0') AND $timeFilter + GROUP BY time($interval), "host"::tag, "pool"::tag, "dataset"::tag fill(null) +) +WHERE $timeFilter +GROUP BY time($interval), "pool"::tag fill(linear) +``` + +由于 subquery 的存在,这个 query 确实有点慢,但我们也没啥能优化的。 + +如果要显示读写速率的话,直接把内层查询的 `reads` 和 `writes` 换成 `nread` 和 `nwritten` 就行了。 + +{% include figure + image_path="https://image.ibugone.com/grafana/mirrors2-4-zfs-io-count.png" + popup=true + alt="ZFS IOPS 和带宽" + caption="ZFS IOPS 和带宽" %} + +令 UC 震惊部出动的是,一个机械盘阵列竟然能跑出平均 15k、最高 50k 的 IOPS。 +我们发现这个统计数字算上了 ARC hit,也就是只有一小部分 I/O 请求是真正落盘的,那就好解释了。 + +### AppArmor + +换上先进的 PVE kernel 之后,我们很快就发现同步任务全挂了() +排查发现 `rsync` 在调用 `socketpair(2)` 的时候冒出了 `EPERM`,这是我们从来没遇到过的情况。 +实际上这些系统调用都被 AppArmor 拦下来了,最终查到是 Ubuntu 在 kernel 里加的私货 `security/apparmor/af_unix.c` 导致的。 +由于 Proxmox VE 的 kernel 是从 Ubuntu fork 过来的,这个私货也就跑到我们服务器上了。 + +我们发现 PVE 也打包了自己的 AppArmor `features` 配置,我们就把它直接拉过来用: + +```shell +dpkg-divert --package lxc-pve --rename --divert /usr/share/apparmor-features/features.stock --add /usr/share/apparmor-features/features +wget -O /usr/share/apparmor-features/features https://github.com/proxmox/lxc/raw/master/debian/features +``` + +### 文件级去重 {#file-deduplication} + +我们发现个别仓库有大量的重复的、内容相同的目录,我们怀疑可能是同步方法(HTTP)的限制导致目录的符号链接变成了完整内容的拷贝。 + +{% include figure + image_path="https://image.ibugone.com/server/ls-zerotier-redhat-el.png" + popup=true + alt="ZeroTier 仓库中的一些目录" + caption="ZeroTier 仓库中的一些目录" %} + +我们想到了 ZFS 的 deduplication,于是我们在 ZeroTier 仓库上做了一个初步的测试: + +```shell +zfs create -o dedup=on pool0/repo/zerotier +# 导入数据 +``` + +```console +# zdb -DDD pool0 +dedup = 4.93, compress = 1.23, copies = 1.00, dedup * compress / copies = 6.04 +``` + +结果十分可观,但考虑到 ZFS dedup 一向来糟糕的名声,我们还是不太想在镜像站上启用。 +所以我们重新找了个更灵车的方案: + +```shell +# post-sync.sh +# Do file-level deduplication for select repos +case "$NAME" in + docker-ce|influxdata|nginx|openresty|proxmox|salt|tailscale|zerotier) + jdupes -L -Q -r -q "$DIR" ;; +esac +``` + +这个用户态的文件去重工具十分好用,效果堪比 ZFS,而且没有性能损失。 +我们对几个明显有重复内容的仓库跑了一下 jdupes,结果如下: + +| Name | Orig | Dedup | Diff | Ratio | +|-------------|--------|--------|--------|-------| +| proxmox | 395.4G | 162.6G | 232.9G | 2.43x | +| docker-ce | 539.6G | 318.2G | 221.4G | 1.70x | +| influxdata | 248.4G | 54.8G | 193.6G | 4.54x | +| salt | 139.0G | 87.2G | 51.9G | 1.59x | +| nginx | 94.9G | 59.7G | 35.2G | 1.59x | +| zerotier | 29.8G | 6.1G | 23.7G | 4.88x | +| mysql-repo | 647.8G | 632.5G | 15.2G | 1.02x | +| openresty | 65.1G | 53.4G | 11.7G | 1.22x | +| tailscale | 17.9G | 9.0G | 9.0G | 2.00x | + +参考上述表格,我们排除了 `mysql-repo`,因为它的去重比例太低,不值得花费跑一遍去重产生的 I/O 负载。 + +## 总结 {#conclusion} + +ZFS 解决了我们镜像站上的一大堆问题,并且有了此次调参经验,我们现在宣布 **ZFS 天下第一**(不是) + +有了 ZFS 之后: + +- 我们不再担心分区问题,ZFS 可以灵活分配。 +- 我们的机械盘比别人的固态盘跑得好快,这非常 excited! + - 我们成为了第一个不再**羡慕** TUNA 的全闪服务器的镜像站! +- 免费获得额外容量,由 ZFS 透明压缩和去重联合赞助! + +### 思考 {#considerations} + +虽然我们的 ZFS 配置看起来非常高效,但我们也知道 ZFS 在长期运行中可能会因为碎片化而导致性能下降的问题。 +我们会持续关注我们的服务器,监控长期的性能变化。 From 28275e5c472d600eef2402d31b9bb2dcbfc777f8 Mon Sep 17 00:00:00 2001 From: iBug Date: Mon, 9 Dec 2024 18:34:49 +0800 Subject: [PATCH 52/59] Add excerpt and link to English version --- pages/_planet/2024-12-09-ustc-mirrors-zfs-rebuild.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pages/_planet/2024-12-09-ustc-mirrors-zfs-rebuild.md b/pages/_planet/2024-12-09-ustc-mirrors-zfs-rebuild.md index 30da004c1a..a4ac115b0d 100644 --- a/pages/_planet/2024-12-09-ustc-mirrors-zfs-rebuild.md +++ b/pages/_planet/2024-12-09-ustc-mirrors-zfs-rebuild.md @@ -6,6 +6,10 @@ categories: tags: linux 服务器 zfs --- +A.K.A. 如何让 2000 元的机械硬盘跑得比 3000 元的固态硬盘还快( + +本文另有[英文版](https://ibug.io/p/74)及在南京大学分享时使用的[幻灯片](https://ibug.io/p/72)。 + {% assign image_base = "https://image.ibugone.com" %} ## 背景 {#background} From bb503ff9cf3ce4cd7a19a4d2e5466fcd46c2d981 Mon Sep 17 00:00:00 2001 From: iBug Date: Tue, 10 Dec 2024 00:17:57 +0800 Subject: [PATCH 53/59] Upload images to lug static --- .../2024-12-09-ustc-mirrors-zfs-rebuild.md | 32 ++++++++++++------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/pages/_planet/2024-12-09-ustc-mirrors-zfs-rebuild.md b/pages/_planet/2024-12-09-ustc-mirrors-zfs-rebuild.md index a4ac115b0d..30927edaa9 100644 --- a/pages/_planet/2024-12-09-ustc-mirrors-zfs-rebuild.md +++ b/pages/_planet/2024-12-09-ustc-mirrors-zfs-rebuild.md @@ -10,7 +10,7 @@ A.K.A. 如何让 2000 元的机械硬盘跑得比 3000 元的固态硬盘还快 本文另有[英文版](https://ibug.io/p/74)及在南京大学分享时使用的[幻灯片](https://ibug.io/p/72)。 -{% assign image_base = "https://image.ibugone.com" %} +{% assign image_base = site.static_url | append: "/planet/ustc-mirrors-zfs-rebuild" %} ## 背景 {#background} @@ -48,8 +48,9 @@ A.K.A. 如何让 2000 元的机械硬盘跑得比 3000 元的固态硬盘还快 这两台服务器的磁盘负载非常高,日常维持在 90% 以上,以至于即使从科大校园网内下载镜像,速度也很难达到 50 MB/s。 显然对于镜像站这种专用于存储的用途来说,这样的性能表现是差强人意的。 +{% assign image_path = image_base | append: "/mirrors-io-utilization-may-2024.png" %} {% include figure - image_path="https://image.ibugone.com/grafana/mirrors-io-utilization-may-2024.png" + image_path=image_path popup=true alt="2024 年 5 月期间镜像站两台服务器的 I/O 负载" caption="2024 年 5 月期间镜像站两台服务器的 I/O 负载" %} @@ -71,8 +72,9 @@ ZFS 内的所有数据都有校验,可以在硬盘出现比特翻转等极端 - 我自己攒出的一篇博客:[Understanding ZFS block sizes](https://ibug.io/p/62) - 以及这篇博客底部列出的参考文献 +{% assign image_path = image_base | append: "/2024-06-05.png" %} {% include figure - image_path="https://image.ibugone.com/grafana/qb/2024-06-05.png" + image_path=image_path popup=true alt="一个为 qBittorrent 定制的 Grafana 面板" caption="学习 ZFS 过程中的副产物:一个为 qBittorrent 定制的 Grafana 面板(xs" %} @@ -88,8 +90,9 @@ ZFS 内的所有数据都有校验,可以在硬盘出现比特翻转等极端 - 读多写少,且大部分读取都是全文件顺序读取 - 能够容忍少量的数据丢失,毕竟镜像内容可以轻易地从上游重新同步回来 +{% assign image_path = image_base | append: "/mirrors-file-size-distribution-2024-08.png" %} {% include figure - image_path="https://image.ibugone.com/server/mirrors-file-size-distribution-2024-08.png" + image_path=image_path popup=true alt="2024 年 8 月镜像站上的文件大小分布" caption="2024 年 8 月镜像站上的文件大小分布" %} @@ -167,8 +170,9 @@ Rsync 服务器的流量较少,但磁盘使用率较为极端,加上我们 - 最关键的是更合理的 I/O 负载: + {% assign image_path = image_base | append: "/mirrors2-io-utilization-and-free-space-june-july-2024.png" %} {% include figure - image_path="https://image.ibugone.com/grafana/mirrors2-io-utilization-and-free-space-june-july-2024.png" + image_path=image_path popup=true alt="mirrors2 机器在重建前后的 I/O 负载" caption="mirrors2 机器在重建前后的 I/O 负载" %} @@ -191,8 +195,9 @@ Rsync 服务器的流量较少,但磁盘使用率较为极端,加上我们 在 SSD 换新之后,即使我们认为我们对 LVMcache 做出了稍微合理一点的调参,坚持忽略警告采用 128 KiB 的 chunk size 和 800 万个 chunk 之后,它的性能(命中率)也并不可观: +{% assign image_path = image_base | append: "/mirrors4-dmcache-may-june-2024.png" %} {% include figure - image_path="https://image.ibugone.com/grafana/mirrors4-dmcache-may-june-2024.png" + image_path=image_path popup=true alt="2024 年 5 月至 6 月期间 LVMcache 的命中率" caption="2024 年 5 月至 6 月期间 LVMcache 的命中率" %} @@ -208,8 +213,9 @@ Rsync 服务器的流量较少,但磁盘使用率较为极端,加上我们 我们把两台服务器的 I/O 负载放在一张图里对比: +{% assign image_path = image_base | append: "/mirrors2-4-io-utilization-june-july-2024.png" %} {% include figure - image_path="https://image.ibugone.com/grafana/mirrors2-4-io-utilization-june-july-2024.png" + image_path=image_path popup=true alt="镜像站两台服务器在重建前后的 I/O 负载" caption="镜像站两台服务器在重建前后的 I/O 负载" %} @@ -218,16 +224,18 @@ Rsync 服务器的流量较少,但磁盘使用率较为极端,加上我们 ZFS ARC 的命中率也十分可观: +{% assign image_path = image_base | append: "/mirrors2-4-zfs-arc-hit-rate.png" %} {% include figure - image_path="https://image.ibugone.com/grafana/mirrors2-4-zfs-arc-hit-rate.png" + image_path=image_path popup=true alt="两台服务器的 ZFS ARC 命中率" caption="两台服务器的 ZFS ARC 命中率" %} 稳定下来之后,两台服务器的 I/O 负载还更低了: +{% assign image_path = image_base | append: "/mirrors2-4-disk-io-after-rebuild.png" %} {% include figure - image_path="https://image.ibugone.com/grafana/mirrors2-4-disk-io-after-rebuild.png" + image_path=image_path popup=true alt="两台服务器重建后磁盘 I/O 的稳定情况" caption="两台服务器重建后磁盘 I/O 的稳定情况" %} @@ -290,8 +298,9 @@ GROUP BY time($interval), "pool"::tag fill(linear) 如果要显示读写速率的话,直接把内层查询的 `reads` 和 `writes` 换成 `nread` 和 `nwritten` 就行了。 +{% assign image_path = image_base | append: "/mirrors2-4-zfs-io-count.png" %} {% include figure - image_path="https://image.ibugone.com/grafana/mirrors2-4-zfs-io-count.png" + image_path=image_path popup=true alt="ZFS IOPS 和带宽" caption="ZFS IOPS 和带宽" %} @@ -317,8 +326,9 @@ wget -O /usr/share/apparmor-features/features https://github.com/proxmox/lxc/raw 我们发现个别仓库有大量的重复的、内容相同的目录,我们怀疑可能是同步方法(HTTP)的限制导致目录的符号链接变成了完整内容的拷贝。 +{% assign image_path = image_base | append: "/ls-zerotier-redhat-el.png" %} {% include figure - image_path="https://image.ibugone.com/server/ls-zerotier-redhat-el.png" + image_path=image_path popup=true alt="ZeroTier 仓库中的一些目录" caption="ZeroTier 仓库中的一些目录" %} From 1cb22bc324a7909df0d2bd76cbb2db170abf9a1f Mon Sep 17 00:00:00 2001 From: iBug Date: Tue, 10 Dec 2024 19:56:11 +0800 Subject: [PATCH 54/59] Add author info for iBug and adjust CSS for
    (#97) --- _data/authors.yml | 11 +++++++++++ _sass/content.scss | 4 ++++ pages/_planet/2024-12-09-ustc-mirrors-zfs-rebuild.md | 2 +- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/_data/authors.yml b/_data/authors.yml index 8b61881e57..a49a84ffbf 100644 --- a/_data/authors.yml +++ b/_data/authors.yml @@ -55,3 +55,14 @@ tiankaima: - label: GitHub icon: fab fa-fw fa-github url: https://github.com/tiankaima + +ibug: + name: iBug + avatar: "https://avatars.githubusercontent.com/u/7273074?v=4" + links: + - label: GitHub + icon: fab fa-fw fa-github + url: https://github.com/iBug + - label: Stack Overflow + icon: fab fa-fw fa-stack-overflow + url: https://stackoverflow.com/users/5958455/ibug diff --git a/_sass/content.scss b/_sass/content.scss index 7e3e27d448..728ac69b16 100644 --- a/_sass/content.scss +++ b/_sass/content.scss @@ -137,3 +137,7 @@ table { li p { margin-bottom: 0; } + +dd { + font-size: 1em; +} diff --git a/pages/_planet/2024-12-09-ustc-mirrors-zfs-rebuild.md b/pages/_planet/2024-12-09-ustc-mirrors-zfs-rebuild.md index 30927edaa9..783e46cef4 100644 --- a/pages/_planet/2024-12-09-ustc-mirrors-zfs-rebuild.md +++ b/pages/_planet/2024-12-09-ustc-mirrors-zfs-rebuild.md @@ -1,6 +1,6 @@ --- title: 镜像站 ZFS 实践 -author: iBug +author: ibug categories: - mirrors tags: linux 服务器 zfs From bcdbaed3a5c9070bca50bdcdafb5a0c08d47bcce Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 10 Dec 2024 20:04:30 +0800 Subject: [PATCH 55/59] Auto fix formatting from GitHub Actions run 778 (#98) Co-authored-by: iBug <7273074+iBug@users.noreply.github.com> --- .../2024-12-09-ustc-mirrors-zfs-rebuild.md | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/pages/_planet/2024-12-09-ustc-mirrors-zfs-rebuild.md b/pages/_planet/2024-12-09-ustc-mirrors-zfs-rebuild.md index 783e46cef4..f427fe8fda 100644 --- a/pages/_planet/2024-12-09-ustc-mirrors-zfs-rebuild.md +++ b/pages/_planet/2024-12-09-ustc-mirrors-zfs-rebuild.md @@ -107,16 +107,21 @@ Rsync 服务器的流量较少,但磁盘使用率较为极端,加上我们 - 首先,考虑到镜像站上一半的文件都不到 10 KiB(注意我们的磁盘的物理扇区大小是 4 KiB),RAID-Z3 的开销过高,因此我们决定将其重建为 RAID-Z2 并且拆成两组 vdev。这样做还有一个额外的好处,即期望情况下我们还可以在这个 ZFS pool 中获得两倍的 IOPS,毕竟文件的每个“块”只存储在一个 vdev 上。 - 然后我们仔细研究了如何为镜像站场景调优 ZFS dataset 参数: + - `recordsize=1M`:尽可能优化顺序读写性能,同时减少碎片化 - `compression=zstd`:开点压缩来试试能节约多少磁盘空间 + - OpenZFS 2.2 开始将 early-abort 机制引入了 Zstd 压缩算法(Zstd-3 以上的等级)。该机制会首先尝试使用 LZ4 和 Zstd-1 来压缩数据以便评估数据的可压缩性,如果数据不可压缩(熵太大),则不再尝试用设定的 Zstd 等级压缩,而是直接原样写入磁盘上,避免在不可压缩的数据上浪费 CPU。 我们已知镜像站上的大部分内容都是已经压缩过的,因此 early-abort 算是给我们兜了个底,让我们可以放心地开 Zstd。 + - `xattr=off`:镜像站上的文件不需要扩展属性 - `atime=off`:镜像站上的文件不需要记录,也不需要更新 atime,可以省掉不少写入 - `setuid=off`、`exec=off`、`devices=off` 也是我们不需要的挂载选项(也是一个更安全的做法) - `secondarycache=metadata` 让 L2ARC 仅缓存 ZFS 内部的元数据。这是因为 Rsync 服务器上的文件访问模式更加均匀,而不像面向终端用户的 HTTP 服务器上冷热分明,因此仅缓存元数据可以节约 SSD 寿命。 + - 以及一些可能有潜在(但我们认为我们可以容忍的)风险的选项: + - `sync=disabled`:禁用同步写入语义(`open(O_SYNC)`、`sync()` 和 `fsync()` 等)以让 ZFS 能够充分发挥写缓冲区的意义,如降低碎片率等 - `redundant_metadata=some`:(OpenZFS 2.2)减少元数据的冗余度来获得更好的写入性能。 @@ -188,7 +193,7 @@ Rsync 服务器的流量较少,但磁盘使用率较为极端,加上我们 然而这些过于“新鲜”的技术并没有带来比(现在的 ZFS)更好的体验: - XFS 无法缩小,因此我们不得不在 LVM VG 层面保留了 free PE。同时我们也不能把 XFS 文件系统用满,因此这里就有了两层无法利用的空闲空间。 -- 我们最初分配了 1.5 TB 的 SSD 缓存,但 LVMcache 又建议我们不要超过 100 万个 chunk,我们当时也没有足够的精力和知识水平去研究这个建议背后的技术细节,因此我们最终只分配了 1 TiB(1 MiB chunk size * 1 Mi chunks)的 SSD 缓存。 +- 我们最初分配了 1.5 TB 的 SSD 缓存,但 LVMcache 又建议我们不要超过 100 万个 chunk,我们当时也没有足够的精力和知识水平去研究这个建议背后的技术细节,因此我们最终只分配了 1 TiB(1 MiB chunk size \* 1 Mi chunks)的 SSD 缓存。 - SSD 缓存策略不可调,多年以后我们翻了 kernel 源码才发现它是一个 64 级的 LRU。 - 配好 cache 之后 GRUB 首先挂了(囧),我们调查发现原因是 GRUB 有一套自己的解析 LVM metadata 的代码,它并没有正确处理(或者说根本没处理)VG 中有 cache volume 的情况,我们不得不自己 [patch](https://github.com/taoky/grub/commit/85b260baec91aa4f7db85d7592f6be92d549a0ae) 了 GRUB 才能正常开机。 - 由于我们对 LVMcache 的 chunk 不够了解,我们的 SSD 在不到 2 年的时间里就严重超过了写入寿命,我们被迫申请换新。 @@ -209,7 +214,7 @@ Rsync 服务器的流量较少,但磁盘使用率较为极端,加上我们 - 考虑到这台服务器直接向用户提供 HTTP 服务,磁盘的访问模式会比 Rsync 服务器更加热冷分明,因此我们保持了 `secondarycache=all` 的设置(采用默认值,不动)。 - 这台新服务器的 CPU 更新更好,因此我们把压缩等级提高到了 `zstd-8` 来试试有没有更好的压缩比。 - 我们在 Rsync 服务器上已经有了一个完整的、经过 ZFS 优化过的仓库,因此我们可以直接用 `zfs send -Lcp` 把数据倒过来。我们最终只花了 36 小时就把超过 50 TiB 的数据都倒回来了。 -- 由于两台服务器上存储的镜像仓库有所不同,HTTP 服务器上的压缩比略低一些,为 1 + 3.93%(压掉了2.42 TiB / 2.20 TiB)。 +- 由于两台服务器上存储的镜像仓库有所不同,HTTP 服务器上的压缩比略低一些,为 1 + 3.93%(压掉了 2.42 TiB / 2.20 TiB)。 我们把两台服务器的 I/O 负载放在一张图里对比: @@ -360,17 +365,17 @@ esac 这个用户态的文件去重工具十分好用,效果堪比 ZFS,而且没有性能损失。 我们对几个明显有重复内容的仓库跑了一下 jdupes,结果如下: -| Name | Orig | Dedup | Diff | Ratio | -|-------------|--------|--------|--------|-------| -| proxmox | 395.4G | 162.6G | 232.9G | 2.43x | -| docker-ce | 539.6G | 318.2G | 221.4G | 1.70x | -| influxdata | 248.4G | 54.8G | 193.6G | 4.54x | -| salt | 139.0G | 87.2G | 51.9G | 1.59x | -| nginx | 94.9G | 59.7G | 35.2G | 1.59x | -| zerotier | 29.8G | 6.1G | 23.7G | 4.88x | -| mysql-repo | 647.8G | 632.5G | 15.2G | 1.02x | -| openresty | 65.1G | 53.4G | 11.7G | 1.22x | -| tailscale | 17.9G | 9.0G | 9.0G | 2.00x | +| Name | Orig | Dedup | Diff | Ratio | +| ---------- | ------ | ------ | ------ | ----- | +| proxmox | 395.4G | 162.6G | 232.9G | 2.43x | +| docker-ce | 539.6G | 318.2G | 221.4G | 1.70x | +| influxdata | 248.4G | 54.8G | 193.6G | 4.54x | +| salt | 139.0G | 87.2G | 51.9G | 1.59x | +| nginx | 94.9G | 59.7G | 35.2G | 1.59x | +| zerotier | 29.8G | 6.1G | 23.7G | 4.88x | +| mysql-repo | 647.8G | 632.5G | 15.2G | 1.02x | +| openresty | 65.1G | 53.4G | 11.7G | 1.22x | +| tailscale | 17.9G | 9.0G | 9.0G | 2.00x | 参考上述表格,我们排除了 `mysql-repo`,因为它的去重比例太低,不值得花费跑一遍去重产生的 I/O 负载。 From bc24d23b78544560a780028f39dbb5f03756504f Mon Sep 17 00:00:00 2001 From: iBug Date: Wed, 11 Dec 2024 18:49:00 +0800 Subject: [PATCH 56/59] ustc-mirrors-zfs-rebuild: Add server CPU and memory, fix missing image (#99) --- pages/_planet/2024-12-09-ustc-mirrors-zfs-rebuild.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pages/_planet/2024-12-09-ustc-mirrors-zfs-rebuild.md b/pages/_planet/2024-12-09-ustc-mirrors-zfs-rebuild.md index f427fe8fda..4e69fd4de1 100644 --- a/pages/_planet/2024-12-09-ustc-mirrors-zfs-rebuild.md +++ b/pages/_planet/2024-12-09-ustc-mirrors-zfs-rebuild.md @@ -31,6 +31,7 @@ A.K.A. 如何让 2000 元的机械硬盘跑得比 3000 元的固态硬盘还快
    HTTP 服务器
    - 2020 年秋季搭建 +- 第二代至强可扩展处理器(Cascade Lake)和 256 GB DDR4 内存 - 12 块 10 TB HDD + 一块 2 TB SSD - 在硬件 RAID 上使用 LVM 和 XFS - 由于 XFS(截至本次重建时)不支持压缩,因此为了应对其他分区的潜在的扩容需求,我们在 LVM VG 层面保留了 free PE @@ -39,6 +40,7 @@ A.K.A. 如何让 2000 元的机械硬盘跑得比 3000 元的固态硬盘还快
    Rsync 服务器
    - 2016 年底搭建 +- 至强 E5 v4 处理器(Broadwell)和 256 GB DDR4 内存 - 12 块 6 TB HDD 和一些小容量 SSDs 用来装系统和当缓存 - 组建了 ZFS RAID-Z3 阵列,大致分为 8 块数据盘 + 3 块校验盘,最后一块留作热备 - 全默认参数(仅修改了 `zfs_arc_max`) @@ -171,7 +173,7 @@ Rsync 服务器的流量较少,但磁盘使用率较为极端,加上我们 zfs list -po name,logicalused,used ``` - 我们更精确的压缩率是 1 + 6.57%,即压掉了 2.67 TB(2.43 TiB),约等于 [9 份微信数据]({{ image_base }}/teaser/lenovo-legion-wechat-data.jpg)(不是 + 我们更精确的压缩率是 1 + 6.57%,即压掉了 2.67 TB(2.43 TiB),约等于 [9 份微信数据]({{ image_base }}/lenovo-legion-wechat-data.jpg)(不是 - 最关键的是更合理的 I/O 负载: From bae9dfb41a8b116f1e280eab35de46ed3907c952 Mon Sep 17 00:00:00 2001 From: iBug Date: Sat, 14 Dec 2024 13:31:50 +0800 Subject: [PATCH 57/59] Just fix a typo (#100) --- pages/_planet/2024-12-09-ustc-mirrors-zfs-rebuild.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/_planet/2024-12-09-ustc-mirrors-zfs-rebuild.md b/pages/_planet/2024-12-09-ustc-mirrors-zfs-rebuild.md index 4e69fd4de1..8542a4cb5e 100644 --- a/pages/_planet/2024-12-09-ustc-mirrors-zfs-rebuild.md +++ b/pages/_planet/2024-12-09-ustc-mirrors-zfs-rebuild.md @@ -388,7 +388,7 @@ ZFS 解决了我们镜像站上的一大堆问题,并且有了此次调参经 有了 ZFS 之后: - 我们不再担心分区问题,ZFS 可以灵活分配。 -- 我们的机械盘比别人的固态盘跑得好快,这非常 excited! +- 我们的机械盘比别人的固态盘跑得还快,这非常 excited! - 我们成为了第一个不再**羡慕** TUNA 的全闪服务器的镜像站! - 免费获得额外容量,由 ZFS 透明压缩和去重联合赞助! From 9b610c451822561344f516805aafe796dbeb9082 Mon Sep 17 00:00:00 2001 From: Tiankai Ma Date: Fri, 20 Dec 2024 16:49:20 +0800 Subject: [PATCH 58/59] add 2024-12-04-slidev (#101) * add 2024-12-04-slidev * fix: replace links --- pages/_news/2024/2024-12-04-slidev.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 pages/_news/2024/2024-12-04-slidev.md diff --git a/pages/_news/2024/2024-12-04-slidev.md b/pages/_news/2024/2024-12-04-slidev.md new file mode 100644 index 0000000000..9ca205f3fd --- /dev/null +++ b/pages/_news/2024/2024-12-04-slidev.md @@ -0,0 +1,15 @@ +--- +title: "Slidev 幻灯片制作" +author: "tiankaima" +date: "2024-12-04 15:00:00 +0800" +categories: + - LUG 活动 + - LUG 小聚 +tags: [] +--- + +2024 年 12 月 4 日,校学生 Linux 用户协会在西区第三教学楼 3A306 教室举行小聚。本次小聚是由 Slidev 团队成员 \_Kerman 同学带来的 Slidev 幻灯片制作工具介绍。Slidev.js 是一款为开发者设计的开源的幻灯片制作工具,通过简单的 Markdown 语法即可制作出精美的幻灯片,在此基础上也很方便添加交互式的内容、添加动画效果等。它非常适合用于学术报告、技术分享、演讲等场景。 + +\_Kerman 同学首先向大家介绍了 Slidev 的基本使用方法,包括如何安装、创建项目、添加内容等。他随后演示了如何通过 Markdown 语法添加文本、图片、代码块、表格等内容及一些高级功能,例如添加动画、如何添加交互式的内容等。最后,他还向大家展示了如何将制作好的幻灯片导出为 PDF 文件。在现场,许多同学尝试了 Slidev,创建了自己的第一个 Slidev 幻灯片项目。 + +小聚的最后,\_Kerman 同学分享了他自己参与相关开源社区的感受,并推荐大家多参与开源社区。本次小聚的幻灯片可以在 https://ftp.lug.ustc.edu.cn/活动/2024.12.04_Slidev_小聚/slides/ 查看。 From dd27abc283088c7cf8aa55d81cf6f0e884144af2 Mon Sep 17 00:00:00 2001 From: Tiankai Ma Date: Fri, 20 Dec 2024 20:50:29 +0800 Subject: [PATCH 59/59] fix: invald link in slidev (#102) --- pages/_news/2024/2024-12-04-slidev.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/_news/2024/2024-12-04-slidev.md b/pages/_news/2024/2024-12-04-slidev.md index 9ca205f3fd..7ac9f15361 100644 --- a/pages/_news/2024/2024-12-04-slidev.md +++ b/pages/_news/2024/2024-12-04-slidev.md @@ -12,4 +12,4 @@ tags: [] \_Kerman 同学首先向大家介绍了 Slidev 的基本使用方法,包括如何安装、创建项目、添加内容等。他随后演示了如何通过 Markdown 语法添加文本、图片、代码块、表格等内容及一些高级功能,例如添加动画、如何添加交互式的内容等。最后,他还向大家展示了如何将制作好的幻灯片导出为 PDF 文件。在现场,许多同学尝试了 Slidev,创建了自己的第一个 Slidev 幻灯片项目。 -小聚的最后,\_Kerman 同学分享了他自己参与相关开源社区的感受,并推荐大家多参与开源社区。本次小聚的幻灯片可以在 https://ftp.lug.ustc.edu.cn/活动/2024.12.04_Slidev_小聚/slides/ 查看。 +小聚的最后,\_Kerman 同学分享了他自己参与相关开源社区的感受,并推荐大家多参与开源社区。本次小聚的幻灯片可以在 [LUG FTP](https://ftp.lug.ustc.edu.cn/活动/2024.12.04_Slidev_小聚/slides/) 查看。