diff --git a/.github/ISSUE_TEMPLATE/custom.md b/.github/ISSUE_TEMPLATE/custom.md deleted file mode 100644 index 48d5f81..0000000 --- a/.github/ISSUE_TEMPLATE/custom.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -name: Custom issue template -about: Describe this issue template's purpose here. -title: '' -labels: '' -assignees: '' - ---- - - diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml deleted file mode 100644 index e07ea35..0000000 --- a/.github/workflows/codeql-analysis.yml +++ /dev/null @@ -1,72 +0,0 @@ -# For most projects, this workflow file will not need changing; you simply need -# to commit it to your repository. -# -# You may wish to alter this file to override the set of languages analyzed, -# or to provide custom queries or build logic. -# -# ******** NOTE ******** -# We have attempted to detect the languages in your repository. Please check -# the `language` matrix defined below to confirm you have the correct set of -# supported CodeQL languages. -# -name: "CodeQL" - -on: - push: - branches: [ master ] - pull_request: - # The branches below must be a subset of the branches above - branches: [ master ] - schedule: - - cron: '43 8 * * 0' - -jobs: - analyze: - name: Analyze - runs-on: ubuntu-latest - permissions: - actions: read - contents: read - security-events: write - - strategy: - fail-fast: false - matrix: - language: [ 'javascript' ] - # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] - # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support - - steps: - - name: Checkout repository - uses: actions/checkout@v3 - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v2 - with: - languages: ${{ matrix.language }} - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. - - # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs - # queries: security-extended,security-and-quality - - - # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v2 - - # ℹ️ Command-line programs to run using the OS shell. - # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun - - # If the Autobuild fails above, remove it and uncomment the following three lines. - # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. - - # - run: | - # echo "Run, Build Application using script" - # ./location_of_script_within_repo/buildscript.sh - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 diff --git a/.prettierignore b/.prettierignore deleted file mode 100644 index 2478ede..0000000 --- a/.prettierignore +++ /dev/null @@ -1 +0,0 @@ -docs/resources/* \ No newline at end of file diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md deleted file mode 100644 index 18c9147..0000000 --- a/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,128 +0,0 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -We as members, contributors, and leaders pledge to make participation in our -community a harassment-free experience for everyone, regardless of age, body -size, visible or invisible disability, ethnicity, sex characteristics, gender -identity and expression, level of experience, education, socio-economic status, -nationality, personal appearance, race, religion, or sexual identity -and orientation. - -We pledge to act and interact in ways that contribute to an open, welcoming, -diverse, inclusive, and healthy community. - -## Our Standards - -Examples of behavior that contributes to a positive environment for our -community include: - -* Demonstrating empathy and kindness toward other people -* Being respectful of differing opinions, viewpoints, and experiences -* Giving and gracefully accepting constructive feedback -* Accepting responsibility and apologizing to those affected by our mistakes, - and learning from the experience -* Focusing on what is best not just for us as individuals, but for the - overall community - -Examples of unacceptable behavior include: - -* The use of sexualized language or imagery, and sexual attention or - advances of any kind -* Trolling, insulting or derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or email - address, without their explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Enforcement Responsibilities - -Community leaders are responsible for clarifying and enforcing our standards of -acceptable behavior and will take appropriate and fair corrective action in -response to any behavior that they deem inappropriate, threatening, offensive, -or harmful. - -Community leaders have the right and responsibility to remove, edit, or reject -comments, commits, code, wiki edits, issues, and other contributions that are -not aligned to this Code of Conduct, and will communicate reasons for moderation -decisions when appropriate. - -## Scope - -This Code of Conduct applies within all community spaces, and also applies when -an individual is officially representing the community in public spaces. -Examples of representing our community include using an official e-mail address, -posting via an official social media account, or acting as an appointed -representative at an online or offline event. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported to the community leaders responsible for enforcement at -. -All complaints will be reviewed and investigated promptly and fairly. - -All community leaders are obligated to respect the privacy and security of the -reporter of any incident. - -## Enforcement Guidelines - -Community leaders will follow these Community Impact Guidelines in determining -the consequences for any action they deem in violation of this Code of Conduct: - -### 1. Correction - -**Community Impact**: Use of inappropriate language or other behavior deemed -unprofessional or unwelcome in the community. - -**Consequence**: A private, written warning from community leaders, providing -clarity around the nature of the violation and an explanation of why the -behavior was inappropriate. A public apology may be requested. - -### 2. Warning - -**Community Impact**: A violation through a single incident or series -of actions. - -**Consequence**: A warning with consequences for continued behavior. No -interaction with the people involved, including unsolicited interaction with -those enforcing the Code of Conduct, for a specified period of time. This -includes avoiding interactions in community spaces as well as external channels -like social media. Violating these terms may lead to a temporary or -permanent ban. - -### 3. Temporary Ban - -**Community Impact**: A serious violation of community standards, including -sustained inappropriate behavior. - -**Consequence**: A temporary ban from any sort of interaction or public -communication with the community for a specified period of time. No public or -private interaction with the people involved, including unsolicited interaction -with those enforcing the Code of Conduct, is allowed during this period. -Violating these terms may lead to a permanent ban. - -### 4. Permanent Ban - -**Community Impact**: Demonstrating a pattern of violation of community -standards, including sustained inappropriate behavior, harassment of an -individual, or aggression toward or disparagement of classes of individuals. - -**Consequence**: A permanent ban from any sort of public interaction within -the community. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], -version 2.0, available at -https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. - -Community Impact Guidelines were inspired by [Mozilla's code of conduct -enforcement ladder](https://github.com/mozilla/diversity). - -[homepage]: https://www.contributor-covenant.org - -For answers to common questions about this code of conduct, see the FAQ at -https://www.contributor-covenant.org/faq. Translations are available at -https://www.contributor-covenant.org/translations. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index c6b9e95..0000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1 +0,0 @@ -# CONTRIBUTING diff --git a/LICENSE b/LICENSE index 7383ebb..cc3e245 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Attribution-NonCommercial-NoDerivatives 4.0 International +Attribution-ShareAlike 4.0 International ======================================================================= @@ -54,89 +54,95 @@ exhaustive, and do not form part of our licenses. ======================================================================= -Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 -International Public License +Creative Commons Attribution-ShareAlike 4.0 International Public +License By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons -Attribution-NonCommercial-NoDerivatives 4.0 International Public -License ("Public License"). To the extent this Public License may be -interpreted as a contract, You are granted the Licensed Rights in -consideration of Your acceptance of these terms and conditions, and the -Licensor grants You such rights in consideration of benefits the -Licensor receives from making the Licensed Material available under -these terms and conditions. +Attribution-ShareAlike 4.0 International Public License ("Public +License"). To the extent this Public License may be interpreted as a +contract, You are granted the Licensed Rights in consideration of Your +acceptance of these terms and conditions, and the Licensor grants You +such rights in consideration of benefits the Licensor receives from +making the Licensed Material available under these terms and +conditions. + Section 1 -- Definitions. -a. Adapted Material means material subject to Copyright and Similar -Rights that is derived from or based upon the Licensed Material -and in which the Licensed Material is translated, altered, -arranged, transformed, or otherwise modified in a manner requiring -permission under the Copyright and Similar Rights held by the -Licensor. For purposes of this Public License, where the Licensed -Material is a musical work, performance, or sound recording, -Adapted Material is always produced where the Licensed Material is -synched in timed relation with a moving image. - -b. Copyright and Similar Rights means copyright and/or similar rights -closely related to copyright including, without limitation, -performance, broadcast, sound recording, and Sui Generis Database -Rights, without regard to how the rights are labeled or -categorized. For purposes of this Public License, the rights -specified in Section 2(b)(1)-(2) are not Copyright and Similar -Rights. - -c. Effective Technological Measures means those measures that, in the -absence of proper authority, may not be circumvented under laws -fulfilling obligations under Article 11 of the WIPO Copyright -Treaty adopted on December 20, 1996, and/or similar international -agreements. - -d. Exceptions and Limitations means fair use, fair dealing, and/or -any other exception or limitation to Copyright and Similar Rights -that applies to Your use of the Licensed Material. - -e. Licensed Material means the artistic or literary work, database, -or other material to which the Licensor applied this Public -License. - -f. Licensed Rights means the rights granted to You subject to the -terms and conditions of this Public License, which are limited to -all Copyright and Similar Rights that apply to Your use of the -Licensed Material and that the Licensor has authority to license. - -g. Licensor means the individual(s) or entity(ies) granting rights -under this Public License. - -h. NonCommercial means not primarily intended for or directed towards -commercial advantage or monetary compensation. For purposes of -this Public License, the exchange of the Licensed Material for -other material subject to Copyright and Similar Rights by digital -file-sharing or similar means is NonCommercial provided there is -no payment of monetary compensation in connection with the -exchange. - -i. Share means to provide material to the public by any means or -process that requires permission under the Licensed Rights, such -as reproduction, public display, public performance, distribution, -dissemination, communication, or importation, and to make material -available to the public including in ways that members of the -public may access the material from a place and at a time -individually chosen by them. - -j. Sui Generis Database Rights means rights other than copyright -resulting from Directive 96/9/EC of the European Parliament and of -the Council of 11 March 1996 on the legal protection of databases, -as amended and/or succeeded, as well as other essentially -equivalent rights anywhere in the world. - -k. You means the individual or entity exercising the Licensed Rights -under this Public License. Your has a corresponding meaning. + a. Adapted Material means material subject to Copyright and Similar + Rights that is derived from or based upon the Licensed Material + and in which the Licensed Material is translated, altered, + arranged, transformed, or otherwise modified in a manner requiring + permission under the Copyright and Similar Rights held by the + Licensor. For purposes of this Public License, where the Licensed + Material is a musical work, performance, or sound recording, + Adapted Material is always produced where the Licensed Material is + synched in timed relation with a moving image. + + b. Adapter's License means the license You apply to Your Copyright + and Similar Rights in Your contributions to Adapted Material in + accordance with the terms and conditions of this Public License. + + c. BY-SA Compatible License means a license listed at + creativecommons.org/compatiblelicenses, approved by Creative + Commons as essentially the equivalent of this Public License. + + d. Copyright and Similar Rights means copyright and/or similar rights + closely related to copyright including, without limitation, + performance, broadcast, sound recording, and Sui Generis Database + Rights, without regard to how the rights are labeled or + categorized. For purposes of this Public License, the rights + specified in Section 2(b)(1)-(2) are not Copyright and Similar + Rights. + + e. Effective Technological Measures means those measures that, in the + absence of proper authority, may not be circumvented under laws + fulfilling obligations under Article 11 of the WIPO Copyright + Treaty adopted on December 20, 1996, and/or similar international + agreements. + + f. Exceptions and Limitations means fair use, fair dealing, and/or + any other exception or limitation to Copyright and Similar Rights + that applies to Your use of the Licensed Material. + + g. License Elements means the license attributes listed in the name + of a Creative Commons Public License. The License Elements of this + Public License are Attribution and ShareAlike. + + h. Licensed Material means the artistic or literary work, database, + or other material to which the Licensor applied this Public + License. + + i. Licensed Rights means the rights granted to You subject to the + terms and conditions of this Public License, which are limited to + all Copyright and Similar Rights that apply to Your use of the + Licensed Material and that the Licensor has authority to license. + + j. Licensor means the individual(s) or entity(ies) granting rights + under this Public License. + + k. Share means to provide material to the public by any means or + process that requires permission under the Licensed Rights, such + as reproduction, public display, public performance, distribution, + dissemination, communication, or importation, and to make material + available to the public including in ways that members of the + public may access the material from a place and at a time + individually chosen by them. + + l. Sui Generis Database Rights means rights other than copyright + resulting from Directive 96/9/EC of the European Parliament and of + the Council of 11 March 1996 on the legal protection of databases, + as amended and/or succeeded, as well as other essentially + equivalent rights anywhere in the world. + + m. You means the individual or entity exercising the Licensed Rights + under this Public License. Your has a corresponding meaning. + Section 2 -- Scope. -a. License grant. + a. License grant. 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, @@ -144,10 +150,9 @@ a. License grant. exercise the Licensed Rights in the Licensed Material to: a. reproduce and Share the Licensed Material, in whole or - in part, for NonCommercial purposes only; and + in part; and - b. produce and reproduce, but not Share, Adapted Material - for NonCommercial purposes only. + b. produce, reproduce, and Share Adapted Material. 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public @@ -177,7 +182,13 @@ a. License grant. Licensed Rights under the terms and conditions of this Public License. - b. No downstream restrictions. You may not offer or impose + b. Additional offer from the Licensor -- Adapted Material. + Every recipient of Adapted Material from You + automatically receives an offer from the Licensor to + exercise the Licensed Rights in the Adapted Material + under the conditions of the Adapter's License You apply. + + c. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the @@ -191,7 +202,7 @@ a. License grant. the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). -b. Other rights. + b. Other rights. 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, @@ -209,18 +220,18 @@ b. Other rights. Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly - reserves any right to collect such royalties, including when - the Licensed Material is used other than for NonCommercial - purposes. + reserves any right to collect such royalties. + Section 3 -- License Conditions. Your exercise of the Licensed Rights is expressly made subject to the following conditions. -a. Attribution. + a. Attribution. - 1. If You Share the Licensed Material, You must: + 1. If You Share the Licensed Material (including in modified + form), You must: a. retain the following if it is supplied by the Licensor with the Licensed Material: @@ -248,9 +259,6 @@ a. Attribution. Public License, and include the text of, or the URI or hyperlink to, this Public License. - For the avoidance of doubt, You do not have permission under - this Public License to Share Adapted Material. - 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be @@ -262,65 +270,87 @@ a. Attribution. information required by Section 3(a)(1)(A) to the extent reasonably practicable. + b. ShareAlike. + + In addition to the conditions in Section 3(a), if You Share + Adapted Material You produce, the following conditions also apply. + + 1. The Adapter's License You apply must be a Creative Commons + license with the same License Elements, this version or + later, or a BY-SA Compatible License. + + 2. You must include the text of, or the URI or hyperlink to, the + Adapter's License You apply. You may satisfy this condition + in any reasonable manner based on the medium, means, and + context in which You Share Adapted Material. + + 3. You may not offer or impose any additional or different terms + or conditions on, or apply any Effective Technological + Measures to, Adapted Material that restrict exercise of the + rights granted under the Adapter's License You apply. + + Section 4 -- Sui Generis Database Rights. Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: -a. for the avoidance of doubt, Section 2(a)(1) grants You the right -to extract, reuse, reproduce, and Share all or a substantial -portion of the contents of the database for NonCommercial purposes -only and provided You do not Share Adapted Material; + a. for the avoidance of doubt, Section 2(a)(1) grants You the right + to extract, reuse, reproduce, and Share all or a substantial + portion of the contents of the database; -b. if You include all or a substantial portion of the database -contents in a database in which You have Sui Generis Database -Rights, then the database in which You have Sui Generis Database -Rights (but not its individual contents) is Adapted Material; and + b. if You include all or a substantial portion of the database + contents in a database in which You have Sui Generis Database + Rights, then the database in which You have Sui Generis Database + Rights (but not its individual contents) is Adapted Material, -c. You must comply with the conditions in Section 3(a) if You Share -all or a substantial portion of the contents of the database. + including for purposes of Section 3(b); and + c. You must comply with the conditions in Section 3(a) if You Share + all or a substantial portion of the contents of the database. For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. + Section 5 -- Disclaimer of Warranties and Limitation of Liability. -a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE -EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS -AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF -ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, -IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, -WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR -PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, -ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT -KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT -ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. - -b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE -TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, -NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, -INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, -COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR -USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN -ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR -DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR -IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. - -c. The disclaimer of warranties and limitation of liability provided -above shall be interpreted in a manner that, to the extent -possible, most closely approximates an absolute disclaimer and -waiver of all liability. + a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE + EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS + AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF + ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, + IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, + WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, + ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT + KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT + ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. + + b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE + TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, + NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, + COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR + USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR + DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR + IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. + + c. The disclaimer of warranties and limitation of liability provided + above shall be interpreted in a manner that, to the extent + possible, most closely approximates an absolute disclaimer and + waiver of all liability. + Section 6 -- Term and Termination. -a. This Public License applies for the term of the Copyright and -Similar Rights licensed here. However, if You fail to comply with -this Public License, then Your rights under this Public License -terminate automatically. + a. This Public License applies for the term of the Copyright and + Similar Rights licensed here. However, if You fail to comply with + this Public License, then Your rights under this Public License + terminate automatically. -b. Where Your right to use the Licensed Material has terminated under -Section 6(a), it reinstates: + b. Where Your right to use the Licensed Material has terminated under + Section 6(a), it reinstates: 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the @@ -332,45 +362,48 @@ Section 6(a), it reinstates: right the Licensor may have to seek remedies for Your violations of this Public License. -c. For the avoidance of doubt, the Licensor may also offer the -Licensed Material under separate terms or conditions or stop -distributing the Licensed Material at any time; however, doing so -will not terminate this Public License. + c. For the avoidance of doubt, the Licensor may also offer the + Licensed Material under separate terms or conditions or stop + distributing the Licensed Material at any time; however, doing so + will not terminate this Public License. + + d. Sections 1, 5, 6, 7, and 8 survive termination of this Public + License. -d. Sections 1, 5, 6, 7, and 8 survive termination of this Public -License. Section 7 -- Other Terms and Conditions. -a. The Licensor shall not be bound by any additional or different -terms or conditions communicated by You unless expressly agreed. + a. The Licensor shall not be bound by any additional or different + terms or conditions communicated by You unless expressly agreed. + + b. Any arrangements, understandings, or agreements regarding the + Licensed Material not stated herein are separate from and + independent of the terms and conditions of this Public License. -b. Any arrangements, understandings, or agreements regarding the -Licensed Material not stated herein are separate from and -independent of the terms and conditions of this Public License. Section 8 -- Interpretation. -a. For the avoidance of doubt, this Public License does not, and -shall not be interpreted to, reduce, limit, restrict, or impose -conditions on any use of the Licensed Material that could lawfully -be made without permission under this Public License. + a. For the avoidance of doubt, this Public License does not, and + shall not be interpreted to, reduce, limit, restrict, or impose + conditions on any use of the Licensed Material that could lawfully + be made without permission under this Public License. -b. To the extent possible, if any provision of this Public License is -deemed unenforceable, it shall be automatically reformed to the -minimum extent necessary to make it enforceable. If the provision -cannot be reformed, it shall be severed from this Public License -without affecting the enforceability of the remaining terms and -conditions. + b. To the extent possible, if any provision of this Public License is + deemed unenforceable, it shall be automatically reformed to the + minimum extent necessary to make it enforceable. If the provision + cannot be reformed, it shall be severed from this Public License + without affecting the enforceability of the remaining terms and + conditions. + + c. No term or condition of this Public License will be waived and no + failure to comply consented to unless expressly agreed to by the + Licensor. -c. No term or condition of this Public License will be waived and no -failure to comply consented to unless expressly agreed to by the -Licensor. + d. Nothing in this Public License constitutes or may be interpreted + as a limitation upon, or waiver of, any privileges and immunities + that apply to the Licensor or You, including from the legal + processes of any jurisdiction or authority. -d. Nothing in this Public License constitutes or may be interpreted -as a limitation upon, or waiver of, any privileges and immunities -that apply to the Licensor or You, including from the legal -processes of any jurisdiction or authority. ======================================================================= diff --git a/README.md b/README.md index 8f185bc..3ae1d43 100644 --- a/README.md +++ b/README.md @@ -1,49 +1,57 @@

ArchLinuxStudio_ArchLinuxTutorial
-

Arch Linux 安装使用教程

- -不定时随缘更新!本书包含从 Arch Linux 安装,科学上网,魔法充能,到显卡驱动,日常软件的使用等,另附媒体制作,编程,加密货币在 ArchLinux 上的使用等你可能需要的全部内容。让 Arch Linux 成为你的常用系统吧!提供在线网页文档。 - -本项目隶属于 ArchLinuxStudio,一个加拿大社区组织。ArchLinuxStudio 不是官方 ArchLinux 本身。 - +

Arch Linux 安装使用教程

+每月实时更新!本书包含从 archlinux安装,科学上网,魔法充能,到显卡驱动,日常软件的使用等,另附媒体制作,编程等你可能需要的全部内容。让 Arch Linux 成为你的常用系统吧! +
+提供在线网页文档,承诺健在即更新。

[![Badge](https://img.shields.io/badge/link-ArchLinuxTutorial-%230088cc.svg)](https://archlinuxstudio.github.io/ArchLinuxTutorial) -[![Join matrix community and chat about arch linux](https://img.shields.io/matrix/ArchLinuxStudio:matrix.org?label=matrix&logo=matrix&logoColor=ffffff&color=7389D8&labelColor=6A7EC2&cacheSeconds=60&server_fqdn=matrix.org)](https://matrix.to/#/#ArchLinuxStudio:matrix.org) -[![Telegram Badge](https://telegram-badge.vercel.app/api/telegram-badge?channelId=@FSF_Ministry_of_Truth)](https://t.me/FSF_Ministry_of_Truth) -[![Hits](https://hits.sh/github.com/ArchLinuxStudio/ArchLinuxTutorial.svg?label=Views%20Since%202026&logo=github&color=blue&labelColor=grey)](https://hits.sh/github.com/ArchLinuxStudio/ArchLinuxTutorial) -[![License: CC BY-NC-ND 4.0](https://img.shields.io/badge/License-CC%20BY--NC--ND%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc-nd/4.0/) -[![Lines of Code](https://img.shields.io/endpoint?url=https%3A%2F%2Ftokei.kojix2.net%2Fbadge%2Fgithub%2FArchLinuxStudio%2FArchLinuxTutorial%2Flines)](https://tokei.kojix2.net/github/ArchLinuxStudio/ArchLinuxTutorial) +[![Join telegram community and chat about arch linux](https://img.shields.io/discord/628978428019736619?label=&logo=telegram&logoColor=ffffff&color=7389D8&labelColor=6A7EC2&cacheSeconds=60)](https://t.me/FSF_Ministry_of_Truth) +[![Hits](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FArchLinuxStudio%2FArchLinuxTutorial&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false)](https://hits.seeyoufarm.com) +[![License: CC BY-SA 4.0](https://img.shields.io/badge/License-CC%20BY--SA%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-sa/4.0/) +[![Lines](https://img.shields.io/tokei/lines/github/ArchLinuxStudio/ArchLinuxTutorial)](https://img.shields.io/tokei/lines/github/ArchLinuxStudio/ArchLinuxTutorial) [![lastcommit](https://img.shields.io/github/last-commit/ArchLinuxStudio/ArchLinuxTutorial)](https://img.shields.io/github/last-commit/ArchLinuxStudio/ArchLinuxTutorial) -[![Donate with Monero](https://img.shields.io/static/v1?label=DonatewithXMR&message=43KJJZztPtBC7k8ZjJpuw7bThW1mUH6N947TeNxvsSHD7DywRN365WZ7qpSxVopSd7cg4PFjMuUewjfvATUtTKGQLMboU36&color=ea6521)]() ## [阅读地址](https://ArchLinuxStudio.github.io/ArchLinuxTutorial/#/) -为推动自由软件运动而撰写的 ArchLinux 中文教程。 - -- 本书特点 - - 我们始终将读者的隐私和安全放在首位,使用自由软件可以为你提供相当幅度上的保障。提出所谓的"实用"或"避免意识形态争议"而对自由软件运动进行质疑的人或组织是愚蠢且邪恶的。 - - 本书为处于互联网被封锁和审查地区的读者提供完善且可靠的科学上网流程,如果有人认为其是"不和谐的",我们表示非常遗憾。 - - 本书样式保持尽可能的简洁,以提升读者的网站加载速度。同时,我们认为花哨的样式不应存在于一本较为严肃的书籍中。 - - 无废话,只给出一套**我们认为**较为合适的路线,对于安装流程尽可能保持简洁,不会面面俱到。本书是 tutorial,不是 reference,定位与官方 wiki 不同。更多的内容请读者自行查看 Arch Wiki 或善用 ChatGPT 和网络查阅相关资料。知其然知其所以然当然是正确的,但填入过多的内容不是一本 tutorial 所应该做的事。 - - 本书使用 docsify 以及 gitalk 开发,并且网站源码全部开源,可放心留言讨论。本网站亦不使用任何有害跟踪器脚本,所提供的文件下载不进行任何审计与监视,你可通过 [Brave 浏览器](https://brave.com/zh/)的跟踪器检测以及阅读源码进行检测验证。 - - Linux & ACG [Telegram Group:ArchLinuxStudio🇨🇦🏳️‍⚧️🏳️‍🌈](https://t.me/FSF_Ministry_of_Truth) ||| [Matrix Group:ArchLinuxStudio🇨🇦🏳️‍⚧️🏳️‍🌈](https://matrix.to/#/#ArchLinuxStudio:matrix.org)。 - -> **本书采用 CC BY-NC-ND 4.0 协议[[1]](https://github.com/ArchLinuxStudio/ArchLinuxTutorial/issues/68)。欢迎提交Pull requests,但是禁止商业用途与演绎。任何"下游文档"都是未经授权且违反协议的。** - -> 请不要在上述群组以外的任何群组反馈本文档相关问题。这会为它们带来困扰以及不愉快的心情。 - -## 支持与捐赠 - -如果本书对你有所帮助,请推荐给你身边有所需要的朋友们,这是对我们最大的支持! - -如果能接受到加密货币捐赠,我们将非常感谢。有你的支持,ArchLinuxStudio 社区将变得更加充实与活跃。 - -- Donate with Monero: `43KJJZztPtBC7k8ZjJpuw7bThW1mUH6N947TeNxvsSHD7DywRN365WZ7qpSxVopSd7cg4PFjMuUewjfvATUtTKGQLMboU36` +为推动自由软件运动而撰写的 ArchLinux 中文教程。你可以通过本教程学会: + +- Linux 下的魔法的学习 +- ArchLinux 的安装与 KDE 桌面环境的安装 +- Linux 的相关知识 +- 中国用户常用的软件安装与配置 +- 特定领域,如媒体制作、编程等软件与环境的配置 + +## 配套视频分 P 列表 + +有第三方视频作者为本教程制作了讲解视频,欢迎与文档对照收看,效果更好,效率更高。视频可能出现更新不及时的情况,如果遇到分歧,请以文档为准。 + +- [1:GNU/Linux 与自由软件运动](https://www.youtube.com/watch?v=oabwNGWRtL0) +- [2:安装前的准备](https://www.youtube.com/watch?v=FzKp-Z_Yn4U) +- [3:ArchLinux 基础安装](https://www.youtube.com/watch?v=TZe8L3fzqZ8) +- [4:安装 KDE 与常用软件](https://www.youtube.com/watch?v=BfqbFrE--Bc) +- [5:魔法学院](https://www.youtube.com/watch?v=HNfT8uz7qEM) +- [6:显卡驱动安装综述](https://www.youtube.com/watch?v=k5KsKLofOHs) +- [7:成为合格的系统管理员](https://www.youtube.com/watch?v=h8sWpIicNt0) +- [8:真理学院](https://www.youtube.com/watch?v=m0ctfPF-2_I) +- [9:功耗控制](https://www.youtube.com/watch?v=N04x1Y51Q2M) +- [10:系统美化](https://www.youtube.com/watch?v=FRN61XPiTyE) +- [11:故障排除](https://www.youtube.com/watch?v=MHm6JMsnVjw) +- [12:办公日常](https://www.youtube.com/watch?v=5Wu4U-trG18) +- [13:视频影音](https://www.youtube.com/watch?v=I8ufGO39NQc) +- [14:游戏娱乐](https://www.youtube.com/watch?v=oakycLgKt54) +- [15:安卓刷机](https://www.youtube.com/watch?v=ek16poKw1MQ) +- [16:直播与多媒体](https://www.youtube.com/watch?v=d2ZLMpdVrkk) +- [17:編程軟件](https://www.youtube.com/watch?v=LOtxFQO82XE) ## Star 历史 [![Stargazers over time](https://starchart.cc/ArchLinuxStudio/ArchLinuxTutorial.svg)](https://starchart.cc/ArchLinuxStudio/ArchLinuxTutorial) + +## 捐赠 + +USDT: 0xb8916cf64a2e260176d83a62600844f06dffa8dd diff --git a/SECURITY.md b/SECURITY.md deleted file mode 100644 index 034e848..0000000 --- a/SECURITY.md +++ /dev/null @@ -1,21 +0,0 @@ -# Security Policy - -## Supported Versions - -Use this section to tell people about which versions of your project are -currently being supported with security updates. - -| Version | Supported | -| ------- | ------------------ | -| 5.1.x | :white_check_mark: | -| 5.0.x | :x: | -| 4.0.x | :white_check_mark: | -| < 4.0 | :x: | - -## Reporting a Vulnerability - -Use this section to tell people how to report a vulnerability. - -Tell them where to go, how often they can expect to get an update on a -reported vulnerability, what to expect if the vulnerability is accepted or -declined, etc. diff --git a/docs/README.md b/docs/README.md index af8a4b4..9482762 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,27 +1,22 @@ # Arch Linux 安装使用教程 - ArchTutorial - Arch Linux Studio -Arch Linux 安装使用教程,每日实时更新!包含从 Arch Linux 安装,科学上网,透明代理,显卡驱动,日常软件的使用等,另附媒体制作,编程,加密货币在 ArchLinux 上的使用等你可能需要的全部内容。让 Arch Linux 成为你的常用系统吧! +Arch Linux 安装使用教程,每月实时更新!包含从 archlinux 安装,科学上网,魔法充能,显卡驱动,日常软件的使用等,另附媒体制作,编程等你可能需要的全部内容。让 Arch Linux 成为你的常用系统吧! -本书提供我们多年使用 Linux 的一些经验,并教与需要的人。与 Linux 密不可分的另一部分: [GNU](https://www.gnu.org/home.zh-cn.html) -新读者请确保你已经按照步骤完成了`新手上路`章节中的**全部内容**后再向下阅读,否则可能会出现问题。 +本书提供多年使用 Linux 的一些经验,并教与需要的人。与 Linux 密不可分的另一部分: [GNU](https://www.gnu.org/home.zh-cn.html) +新同学请确保你已经按照步骤完成了`新手上路`章节中的全部内容后再向下阅读,否则可能会出现问题。 - 本书特点 - - 我们始终将读者的隐私和安全放在首位,使用自由软件可以为你提供相当幅度上的保障。提出所谓的"实用"或"避免意识形态争议"而对自由软件运动进行质疑的人或组织是愚蠢且邪恶的。 - - 本书为处于互联网被封锁和审查地区的读者提供完善且可靠的科学上网流程,如果有人认为其是"不和谐的",我们表示非常遗憾。 - - 本书样式保持尽可能的简洁,以提升读者的网站加载速度。同时,我们认为花哨的样式不应存在于一本较为严肃的书籍中。 - - 无废话,只给出一套**我们认为**较为合适的路线,对于安装流程尽可能保持简洁,不会面面俱到。本书是 tutorial,不是 reference,定位与官方 wiki 不同。更多的内容请读者自行查看 Arch Wiki 或查阅相关资料。知其然知其所以然当然是正确的,但填入过多的内容不是一本 tutorial 所应该做的事。 - - 本书使用 docsify 以及 gitalk 开发,并且网站源码全部开源,可放心留言讨论。本网站亦不使用任何有害跟踪器脚本,所提供的文件下载不进行任何审计与监视,你可通过 [Brave 浏览器](https://brave.com/zh/)的跟踪器检测以及阅读源码进行检测验证。 - - Linux 二次元交流群: [Telegram Group:ArchLinuxStudio🇨🇦🏳️‍⚧️🏳️‍🌈](https://t.me/FSF_Ministry_of_Truth) ||| [Matrix Group:ArchLinuxStudio🇨🇦🏳️‍⚧️🏳️‍🌈](https://matrix.to/#/#ArchLinuxStudio:matrix.org)。 + - Linux 二次元电报交流群:[篝ノ雾枝的咕咕小屋](https://t.me/FSF_Ministry_of_Truth)。 + - 无废话,只给出一套对于大多数人较为合适的路线,不会面面俱到。本书是 tutorial,不是 reference,定位与 wiki.archlinux.org 不同。 + - 本书使用 docsify 以及 gitalk 开发,并且网站源码全部开源,可放心留言讨论。 + - 本书会持续更新。每月随时根据最新 arch linux 动态更新。[鼓励志愿者提交更新](/contribution.md)。 + - 如有必要,相关位置都会贴上 arch linux 相关官方文档作为参考。 -> **本书采用 CC BY-NC-ND 4.0 协议[[1]](https://github.com/ArchLinuxStudio/ArchLinuxTutorial/issues/68)。欢迎提交Pull requests,但是禁止商业用途与演绎。任何"下游文档"都是未经授权且违反协议的。** - -> 请不要在上述群组以外的任何群组反馈本文档相关问题。这会为它们带来困扰以及不愉快的心情。 - -## 为什么使用 Linux? +#### 为什么使用 Linux? 简单来说,现在世界上流行的 PC 操作系统有三个,Windows,Linux 与 macOS。 -如果你是计算机相关专业的学生或者从业者,非常建议你使用 Linux 作为自己的日常系统。在使用 Linux 系统的过程中,可以无形中接触到各个方面的计算机知识,并且在未来的工作中也会为你带来相关方面的优势。 macOS 在一些方面(即大致为 BSD 与 GNU/Linux 各方面的区别 )与 Linux 的操作并不同,并且由于其封闭的特性,我们不建议使用。Windows 在很多编程环境的配制过程中异常痛苦,且会出现各种各样的问题。同时,和 macOS 一样,Windows 也是闭源的系统,强烈不建议使用 Windows 进行编程。 +如果你是计算机相关专业的学生或者从业者,非常建议你使用 Linux 作为自己的日常系统。在使用 Linux 系统的过程中,可以无形中接触到各个方面的计算机知识,并且在未来的工作中也会为你带来相关方面的优势。 macOS 在一些方面(即大致为 BSD 与 GNU/Linux 各方面的区别 )与 Linux 的操作并不同,并且由于其封闭的特性,个人不建议使用。Windows 在很多编程环境的配制过程中异常痛苦,且会出现各种各样的问题,强烈不建议使用 Windows 进行编程(除非你学的就是 Windows 系统编程)。 更重要的是,GNU/Linux 是自由软件运动的相关重要产物。[自由软件运动(free software movement)](https://zh.wikipedia.org/wiki/%E8%87%AA%E7%94%B1%E8%BD%AF%E4%BB%B6%E8%BF%90%E5%8A%A8)拒绝专有软件并推广自由软件,它的终极目标在于解放网络世界中的每个人——即每个电脑用户。每个人都应拥有完全掌控所运行软件的权利。[自由软件](https://www.gnu.org/philosophy/free-sw.zh-cn.html)有如下四项原则: @@ -30,22 +25,36 @@ Arch Linux 安装使用教程,每日实时更新!包含从 Arch Linux 安装 - 自由度 2:用户可以自由地分发该软件的拷贝,这样就可以助人。 - 自由度 3:用户可以自由地分发该软件修改后的拷贝。借此,用户可以把改进后的软件分享给整个社区令他人也从中受益。作为前提,用户必须可以访问到该软件的源代码。 -如果你只是一个普通用户,你一定见识过没有经过你的授权,电脑被装上了成堆的流氓软件的类似经历。专有软件不仅在各个维度强奸着用户,更包含着难以想象的恶意功能。用户的数据,隐私等重要信息会轻而易举被大公司们收集走,并加以滥用,这成为业内公开的秘密已是不争的事实。在专用软件有同类的自由软件替代时,强烈建议你迁移至自由软件。本书会同时记录专有软件与自由软件,因为如果完全摒弃专有软件,一定会直接将很多人阻挡在 linux 之外,这不是我们所希望的,我们希望先将更多人接纳到 GNU/Linux 中,至少这是踏出的第一步。但这并不代表我们支持使用专有软件,我们希望你至少可以先踏入 linux,逐渐使用自由软件替代专有软件。专有软件在本书中仅作简要记录,不会详细描述,因为我们不希望你长期依赖于它。只要某个专有软件有足够优秀的自由软件替代品出现,我们就会移除本教程中的那个专有软件。专有软件在本书中会被角标专有或描述额外标记。如果你是有能力的开发者,更希望你可以开发出替代某些专有软件的自由软件。 +如果你只是一个普通用户,你一定见识过没有经过你的授权,电脑被装上了成堆的流氓软件的类似经历。专有软件不仅在各个维度强奸着用户,更包含着难以想象的恶意功能。用户的数据,隐私等重要信息会轻而易举被大公司们收集走,并加以滥用,这成为业内公开的秘密已是不争的事实。在专用软件有同类的自由软件替代时,强烈建议你迁移至自由软件。本书会同时记录专有软件与自由软件,因为如果完全摒弃专有软件,一定会直接将很多人阻挡在 linux 之外,这不是我们所希望的,我们希望先将更多人接纳到 GNU/Linux 中,至少这是踏出的第一步。但这并不代表我们支持使用专有软件,我们希望你至少可以先踏入 linux,逐渐使用自由软件替代专有软件。专有软件在本书中仅作简要记录,不会详细描述,因为我们不希望你长期依赖于它,我们会逐步移除本教程中的专有软件。专有软件在本书中会被角标专有或描述额外标记。如果你是有能力的开发者,更希望你可以开发出替代某些专有软件的自由软件。 最后,如果你想尝试完全免费的系统,或是喜欢探索充满新鲜与挑战的事物,Linux 也是你不可错过的体验。 -## 为什么使用 Arch Linux? - -最重要的,Arch Linux 的软件包是最新的,这在日常使用中非常必要,你可以第一时间享受到新软件的特性,而不用烦心于升级软件时的过旧依赖的问题。其提供的软件包可以让你轻松安装使用,而不用自行编译。除此之外,用户仓库 AUR 由世界各地的 Arch Linux 用户驱动,提供了海量的非官方软件以供选择。Arch Linux 在灵活与易用两方面达到了几乎完美的平衡。 +#### 为什么使用 Arch Linux? -Arch Linux 可以以超高的自由度来定制自己的系统,并且其拥有最完善的[文档](https://wiki.archlinux.org/index.php/Main_page),使得绝大多数问题都可以通过查看官方文档的方式解决。正是由于其软件更新的策略的激进,如果条件允许,建议使用者经常对 Arch Linux 进行更新。较长时间段内没有升级可能会造成各种问题(俗称 `滚挂了`),虽然大多数问题可以通过救援手段事后补救,但还是常常更新得好。同时,关注 Arch Linux 的[新闻列表](https://archlinux.org/news/)可以帮助你得知最新的升级注意事项。 +最重要的,Arch Linux 的软件包是最新的,这在日常使用中非常必要,你可以第一时间享受到新软件的特性,而不用烦心于升级软件时的过旧依赖的问题。其提供的软件包可以让你轻松安装使用,而不用自行编译。Arch Linux 在灵活与易用两方面达到了完美的平衡。 -## 支持与捐赠 +Arch Linux 可以以超高的自由度来定制自己的系统,并且其拥有最完善的[文档](https://wiki.archlinux.org/index.php/Main_page),使得绝大多数问题都可以通过查看官方文档的方式解决。正是由于其软件更新的策略的激进,就使得用户必须常常对系统进行更新,如果你不能经常照顾系统升级的话,也许你不应该使用 Arch Linux。较长时间段内没有升级可能会造成各种问题(俗称 `滚挂了`),虽然大多数问题可以通过救援手段事后补救,但还是常常更新得好。同时,关注 Arch Linux 的[新闻列表](https://archlinux.org/news/)可以帮助你得知最新的升级注意事项。 -如果本书对你有所帮助,请推荐给你身边有所需要的朋友们,这是对我们最大的支持! +## 配套视频分 P 列表 -如果能接受到加密货币捐赠,我们将非常感谢。有你的支持,ArchLinuxStudio 社区将变得更加充实与活跃。 +有第三方视频作者为本教程制作了讲解视频,欢迎与文档对照收看,效果更好,效率更高。视频可能出现更新不及时的情况,如果遇到分歧,请以文档为准。 -- Donate with Monero: `43KJJZztPtBC7k8ZjJpuw7bThW1mUH6N947TeNxvsSHD7DywRN365WZ7qpSxVopSd7cg4PFjMuUewjfvATUtTKGQLMboU36` +- [1:GNU/Linux 与自由软件运动](https://www.youtube.com/watch?v=oabwNGWRtL0) +- [2:安装前的准备](https://www.youtube.com/watch?v=FzKp-Z_Yn4U) +- [3:ArchLinux 基础安装](https://www.youtube.com/watch?v=TZe8L3fzqZ8) +- [4:安装 KDE 与常用软件](https://www.youtube.com/watch?v=BfqbFrE--Bc) +- [5:魔法学院](https://www.youtube.com/watch?v=HNfT8uz7qEM) +- [6:显卡驱动安装综述](https://www.youtube.com/watch?v=k5KsKLofOHs) +- [7:成为合格的系统管理员](https://www.youtube.com/watch?v=h8sWpIicNt0) +- [8:真理学院](https://www.youtube.com/watch?v=m0ctfPF-2_I) +- [9:功耗控制](https://www.youtube.com/watch?v=N04x1Y51Q2M) +- [10:系统美化](https://www.youtube.com/watch?v=FRN61XPiTyE) +- [11:故障排除](https://www.youtube.com/watch?v=MHm6JMsnVjw) +- [12:办公日常](https://www.youtube.com/watch?v=5Wu4U-trG18) +- [13:视频影音](https://www.youtube.com/watch?v=I8ufGO39NQc) +- [14:游戏娱乐](https://www.youtube.com/watch?v=oakycLgKt54) +- [15:安卓刷机](https://www.youtube.com/watch?v=ek16poKw1MQ) +- [16:直播与多媒体](https://www.youtube.com/watch?v=d2ZLMpdVrkk) +- [17:編程軟件](https://www.youtube.com/watch?v=LOtxFQO82XE) - + diff --git a/docs/_navbar.md b/docs/_navbar.md index 03caeae..594750e 100644 --- a/docs/_navbar.md +++ b/docs/_navbar.md @@ -1,3 +1,3 @@ -- 🌐 Languages / 譯 - - [🇬🇧 English](/uk/) - - [🇹🇼 中文](/) +- Translations + - [:cn: 中文](/) + - [:uk: English](/uk/) diff --git a/docs/_sidebar.md b/docs/_sidebar.md index 43ece4b..d5c290c 100644 --- a/docs/_sidebar.md +++ b/docs/_sidebar.md @@ -6,16 +6,14 @@ - [基础安装](/rookie/basic_install) - [桌面环境与必要应用](/rookie/DE&App) - [魔法学院](/rookie/fxckGFW) - - [全局代理](/rookie/transparentProxy) - [显卡驱动](/rookie/graphic_driver) - 进阶 - - [成为不合格的系统管理员](/advanced/beAdmin) + - [成为合格的系统管理员](/advanced/beAdmin) + - [全局代理](/advanced/transparentProxy) - [功耗控制](/advanced/undervoltage) - [系统美化](/advanced/beauty) - - - [常见问题排除与解决](/advanced/troubleshooting) - 娱乐与办公 @@ -25,9 +23,8 @@ - [游戏娱乐](/play&office/play) - [安卓刷机](/play&office/android) -- 特殊领域 +- 专有领域 - - [加密货币入门](/exclusive/mine) - [直播与多媒体制作](/exclusive/media) - [编程](/exclusive/code) diff --git a/docs/about.md b/docs/about.md index f37b6a9..185427b 100644 --- a/docs/about.md +++ b/docs/about.md @@ -4,22 +4,18 @@ 这里对本书做一些补充解释。 -首先说明一下和官方文档的定位区别。官方中文文档确实很全,但它的定位是官方 Wiki,这样的话已经就需要做到事无巨细。但是这种过于详细的文档,会使得新手在一个又一个链接中迷失方向,他们更需要的是指引,而不是字典。本文的定位是指引,以及我们认为的当前的较好的方案。另外,官方中文文档大多翻译自英文文档,存在翻译不及时的情况。少数还有翻译有误或者含义不清的情况。 +首先说明一下和官方文档的定位区别。官方中文文档确实很全,但它的定位是官方文档,这样的话已经就需要做到事无巨细。但是这种过于详细的文档,会使得新手在一个又一个链接中迷失方向,他们更需要的是指引,而不是字典。本文的定位是指引,以及群主个人认为的当前的较好的方案。另外,官方中文文档大多翻译自英文文档,存在翻译不及时的情况。少数还有翻译有误或者含义不清的情况。 网上类似的文档一大把,为何还要这样一份文档?技术的变更是日新月异的,不论是操作系统本身还是具有价值的软件,网上一些教程大多年久失修,大家都知道互联网知识时效性是很重要的。本书的 Flag 就是只要健在,就一直更新。并且立志做到中文社区中较好的位置。 许多人还在认为 Linux 不适合做日常使用的操作系统。说实在的,在本世纪的前十年,Linux 桌面确实不太堪用。但是现在时间已经是 2021 年后了,Linux 桌面与生态有了长足的进步。不论是办公,轻度娱乐还是编程,基本都可以满足需求。 -关于本书存在的任何问题以及建议,均可以给我们发送邮件,也可以直接在本页下方留言。 +关于本书存在的任何问题以及建议,均可以给群主发送邮件,也可以直接在本页下方留言。 -电子邮件: archlinuxstudio@tutamail.com -Telegram 电报群: [ArchLinuxStudio🇨🇦🏳️‍⚧️🏳️‍🌈](https://t.me/FSF_Ministry_of_Truth) -Matrix 群组: [Matrix Group:ArchLinuxStudio🇨🇦🏳️‍⚧️🏳️‍🌈](https://matrix.to/#/#ArchLinuxStudio:matrix.org) +Telegram 电报群: [篝之雾枝的咕咕小屋](https://t.me/FSF_Ministry_of_Truth) ## 更新日志 -- 0.5.0 添加了加密货币的相关内容 全书增加了英文版翻译 2022.7.9 -- 0.4.0 为处于互联网被封锁地区的读者提供更好的安装流程 优化多个章节。 2021.12.25 - 0.3.0 根据 2021 年的变更做出更新。 2021.5.15 - 0.2.0 全面的完善与修订 作为正式对外发布的首个版本。 2021.4.11 - 0.1.0 初步可用的第一个版本 由于事后重新整理过 commit 时间已不可考。 @@ -27,4 +23,10 @@ Matrix 群组: [Matrix Group:ArchLinuxStudio🇨🇦🏳️‍⚧️🏳️‍ ## 致谢 -向所有自由软件开发者、布道者与先行者致敬。 +最近几年,群主经历了很多事情,基本都不是什么好事。所以有了那么一丁点微小的感悟。 + +最后要感谢的就是各大开源社区所提供的资源,没有大家的一砖一瓦,就不会有 Linux 生态越来越好的今天,感谢大家。 + +## 捐赠 + +USDT: 0xb8916cf64a2e260176d83a62600844f06dffa8dd diff --git a/docs/advanced/beAdmin.md b/docs/advanced/beAdmin.md index 6da3acb..aae09e5 100644 --- a/docs/advanced/beAdmin.md +++ b/docs/advanced/beAdmin.md @@ -2,8 +2,8 @@ 阅读完`新手上路`章节,你的系统已完全可以使用,KDE 桌面环境提供了强大的 [GUI](https://zh.wikipedia.org/wiki/%E5%9B%BE%E5%BD%A2%E7%94%A8%E6%88%B7%E7%95%8C%E9%9D%A2) 以供普通用户使用。按 `Windows` 键(Linux 下也常被叫做 Meta 键)呼出菜单栏,找到`设置`=>`系统设置`,可以找到绝大多数系统设置项。 -但如果想要游刃有余的掌控你的系统,你还需要阅读掌握本文的内容。 -如果你想进一步详细了解本文各部分的详细知识,可以点击在各个小节给出的拓展链接进行学习。 +但如果想要游刃有余的掌控你的系统,你还需要阅读掌握本文的内容。 +如果你想进一步详细了解本文各部分的详细知识,可以点击在各个小节给出的拓展链接进行学习。 如果你不想详细了解,本章介绍的知识也足够你来应付日常的使用。 ## 必须掌握的 Linux 知识 @@ -31,25 +31,14 @@ mkdir new_folder # 新建文件夹new_folder sudo some command # 使普通用户以root权限执行某些命令 ``` -bash 终端设置路径为 `~/.bashrc` - -``` -$include /etc/inputrc # 引入全局bash配置 -set completion-ignore-case on # 补全路径忽略大小写 -set horizontal-scroll-mode Off # 允许提示换行 -set bell-style none # 关闭提示警告音 -``` - -拓展链接:推荐阅读在线进阶书籍 [Linux 命令行与 Shell 脚本教程](https://archlinuxstudio.github.io/ShellTutorial/#/)。 +拓展链接:推荐阅读在线进阶书籍 [Linux 命令行与 Shell 脚本教程](https://archlinuxstudio.github.io/ShellTutorial/#/)。 随后也将提供与此书配套的教学视频 [Linux 命令行与 Shell 教程](https://www.youtube.com/channel/UCVO7lXKucA6z3O37WV7FG5w/videos)TODO。 ## Pacman 包管理 -Pacman 是 Arch Linux 的包管理器,它用于安装、删除、查询软件等。 +在 Arch Linux 上安装的软件都通过 Pacman 来进行管理。你可以把它理解为一个软件管理器,可以进行软件的安装,删除,查询等。 ```bash sudo pacman -S package_name # 安装软件包 -sudo pacman -Syu package_name # 升级系统并安装软件包,Arch Linux 不支持部分升级,建议用此命令先升级再安装 -sudo pacman -Syu # 升级系统 sudo pacman -Syyu # 升级系统 yy标记强制刷新 u标记升级动作 sudo pacman -R package_name # 删除软件包 sudo pacman -Rs package_name # 删除软件包,及其所有没有被其他已安装软件包使用的依赖包 @@ -67,6 +56,32 @@ yay -S octopi #包管理器前端界面 拓展链接: [官方文档](https://wiki.archlinux.org/index.php/Pacman) +## 终端编辑器的使用 + +你需要掌握一个能在终端中进行文本编辑的软件,这里介绍 vim。 + +```bash +vim 1.txt #创建并编辑名为1.txt的文件 +``` + +你可以看到进入了一个空的界面。此时你处在 vim 的`命令模式`。在`命令模式`下,可以用一些快捷指令来对文本进行操作。 +现在我们输入`a`进入 vim 的`编辑模式`,此时输入任意文本,即可进行编辑。 +在输入完成后,我们按下 Esc 键,即可从`编辑模式`退出到`命令模式`。此时输入`:wq`即可保存并退出 vim。 +下面介绍一些在命令模式下常用的命令 + +```bash +:wq # 保存退出 +:q! # 不保存,强制退出 +dd # 删除一行 +2dd # 删除两行 +gg # 回到文本第一行 +shift+g # 转到文本最后一行 +/xxx # 在文中搜索内容'xxx' 回车搜索,按n键转到下一个 +?xxx # 反向搜索 +``` + +拓展链接:需要完整教程的同学可以在终端中输入命令`vimtutor`来学习完整的 vim 教程。 + ## 系统服务的操作与介绍 Linux 系统中运行着各种服务,你需要掌握查询,变更服务状态的方式。同时对创建服务最好也有大致的了解。这里讲述命令`systemctl`的用法。以 dhcpcd 为例 @@ -85,73 +100,16 @@ systemctl daemon-reload dhcpcd # 重新载入 systemd 配置 扫描新增或变 拓展链接: [systemctl 官方文档](https://wiki.archlinux.org/index.php/Systemd#Basic_systemctl_usage) [systemd 配置文件样例解释](https://www.freedesktop.org/software/systemd/man/systemd.service.html#Examples) -## 编辑系统配置文件 - -#### 用 sudoedit 编辑配置文件 - -在前面的“[桌面环境与常用应用](../rookie/DE%26App.md)”一节中,我们已经多次编辑了系统配置文件。它们的特点是对系统中的所有用户生效、归 root 用户所有、并且只有 root 用户才拥有写入的权限,这就需要我们用 sudo 提升到 root 权限才能编辑它们。很容易想到用 sudo 命令去运行文本编辑器,以 vim 为例: - -```shell -sudo vim 你要编辑的文件的路径 -``` - -但是这样却不是最好的方式,因为它违反了“[最小权限原则](https://zh.wikipedia.org/wiki/%E6%9C%80%E5%B0%8F%E6%9D%83%E9%99%90%E5%8E%9F%E5%88%99)”。因为当我们用 sudo 执行一个命令时,整个进程都会获得 root 权限。也就是说,vim 的所有操作、甚至包括所有的 vim 插件都会在 root 权限下运行,这通常来说是非常危险的。有的文本编辑器甚至会在检测到自身以 root 权限运行的时候拒绝运行,以避免做出危险的操作。 - -反过来考虑,只是编辑一个文件不需要那么强大的权限,我们只需要拥有对这一个配置文件的读写权限就足够了。而 `sudoedit`(或 `sudo -e`,二者是完全等效的)是编辑一个系统配置文件的最佳实践。 - -```shell -EDITOR=vim sudoedit 要编辑的文件 -``` - -sudoedit 命令大致是这样工作的:它会先创建一份普通用户有权编辑的临时文件,把要编辑的文件以 root 权限复制到这个临时文件中,接着根据 EDITOR 等环境变量,**以普通用户的权限**运行文本编辑器。在文本编辑器编辑完成并退出后,它会再次以 root 权限用这个编辑好的临时文件去覆盖掉原先的配置文件。 - -关于 sudoedit 的更多信息,详见 [sudo 的手册](https://man.archlinux.org/man/sudo.8.en#e)。 - -#### 配置文件的语法高亮 - -严格来说这不是一个关于 sudoedit 的问题,而是一个关于文本编辑器的问题,但是它经常在用 sudoedit 编辑文件时遇到。 - -因为 sudoedit 会创建一个随机名称的临时文件,文本编辑器可能不认识这个文件名,不知道该启用什么语法的高亮显示。这时候就需要我们主动告诉文本编辑器该使用什么语法,以 vim 为例,可以在命令行模式下用如下设置语法: - -```vim -:set syntax=文件的语法 -``` - -另一个问题是如何知道语法的名称。一方面我们可以用搜索引擎搜索,或者在 vim 的内置插件里寻找,不过对于那些普通用户也能读取的配置文件,可以直接用 vim 去查看它,这时候 vim 会以只读模式打开文件,但是会根据文件名启用语法高亮。这样只需要在命令行模式下运行: - -```vim -:set syntax -``` - -即可查看当前 vim 所使用的高亮语法。 - -#### 编辑 sudoers 配置文件 - -在前面我们编辑过 sudoers 配置文件。sudoers 算是系统配置文件中的一个特例,编辑它的最佳实践不是使用 `sudoedit`,而是 `visudo` 命令。 - -```shell -sudo visudo # visudo 需要使用 root 权限运行。默认编辑 /etc/sudoers -sudo visudo -f 要编辑的sudoers文件的路径 # 也可以指定文件路径 -``` - -visudo 与 sudoedit 类似的是,它也会把要编辑的配置文件先复制到一个临时文件,再调用文本编辑器编辑,而不同的是,在开始编辑之前 visudo 还会锁定正在编辑的 sudoers 文件,以此避免两个人同时对它编辑;并且会在编辑完成之后检查 sudoers 的语法,如果发现错误则会拒绝这次编辑的结果。 - -这是因为,如果在 sudoers 文件中遇到语法错误,sudo 为了安全性,会让整个 sudoers 配置文件都不生效。这样的话,如果普通用户不慎改坏了 sudoers 文件,则有可能失去使用 sudo 命令的权限,就好像“关上了大门并把自己关在了外面”,这时候就需要直接用 root 用户登录甚至需要 live USB 急救才行。而 visudo 检查 sudoers 语法就可以很大程度上避免这种情况发生。 - -另一方面,visudo 需要使用 root 身份运行,这意味着它的文本编辑器实际上也是以 root 身份运行的,这一点与 sudoedit 不同。为了安全,可以配置为只使用某些受限制的“安全的”文本编辑器来编辑 sudoers 文件。详见 [ArchWiki](https://wiki.archlinux.org/title/Sudo#Using_visudo) 以及 [sudoers 手册](https://man.archlinux.org/man/sudoers.5)中的 editor 一节和 [env_editor](https://man.archlinux.org/man/sudoers.5#env_editor) 一节。 - -关于 visudo 的更多内容详见[手册](https://man.archlinux.org/man/visudo.8)。 - ## 文件传输与系统备份 -有一点 Linux 经验读者应该知道[scp]()这个命令。它常被用来在服务器间传输文件。但是目前它应该被更现代的工具[rsync](https://wiki.archlinux.org/index.php/Rsync)替代,其拥有即时压缩,差量传输等新特性。同时,`rsync`也被用来进行备份操作。 +有一点 Linux 经验的同学应该知道[scp]()这个命令。它常被用来在服务器间传输文件。但是目前它应该被更现代的工具[rsync](https://wiki.archlinux.org/index.php/Rsync)替代,其拥有即时压缩,差量传输等新特性。同时,`rsync`也被用来进行备份操作。 ```bash rsync foo.txt me@server:/home/me/ # 最基础的复制文件 与scp的操作完全相同 rsync -a bar/ me@server:/home/me/ # -a 标记实现目录复制等 比scp -r 能更好的处理符号链接等情况 ``` -关于全盘备份,请阅读[官方文档](https://wiki.archlinux.org/index.php/Rsync#Full_system_backup)。 +关于全盘备份,请阅读[官方文档](https://wiki.archlinux.org/index.php/Rsync#Full_system_backup)。如果你寻求一种图形化的操作方式,可以自行尝试[Timeshift](https://aur.archlinux.org/packages/timeshift/)AUR。 ## 文件解压缩 @@ -171,7 +129,7 @@ sudo smartctl -A /dev/sda #硬盘 sudo smartctl -d sat -A /dev/sdc #usb设备 ``` -磁盘空间分析可直接使用 df 命令,也可使用 [Filelight](https://archlinux.org/packages/extra/x86_64/filelight/)图形化界面直观查看磁盘占用情况 +磁盘空间分析可直接使用 dh 命令,也可使用 [Filelight](https://archlinux.org/packages/extra/x86_64/filelight/)图形化界面直观查看磁盘占用情况 ```bash df -h @@ -224,30 +182,3 @@ sudo wimlib-imagex optimize install.wim --solid 最后把全部文件复制到 U 盘中即可。 Ref: [[1]](https://www.dedoimedo.com/computers/windows-10-usb-media-linux.html) - -## 制作 windows11 启动盘 - -从微软下载 Windows 11 ISO 并用 sha256sum验证校验和 - -准备 U 盘: - -制作分区表 (GPT) - -制作一个 1024MiB 的 FAT32 分区,标签为 BOOT - -制作一个 NTFS 分区,标签为 INSTALL - -挂载 Windows 11 ISO 并复制文件: - -将除 sources 文件夹外的所有内容复制到 BOOT 分区。 - -将 boot.wim 从 sources 文件夹复制到 BOOT 分区,但保留目录结构(所以它应该仍然在名为 sources的文件夹中) - -将所有内容复制到 INSTALL 分区 - -卸载所有内容(需要一段时间) - -ref: - -- https://web.archive.org/web/20250705040832/https://nixaid.com/bootable-usb-windows-linux/ -- https://www.reddit.com/r/linux4noobs/comments/1d17crd/guide_to_creating_windows_11_usb_on_linux/?tl=zh-hans diff --git a/docs/advanced/beauty.md b/docs/advanced/beauty.md index f2f290a..34d0918 100644 --- a/docs/advanced/beauty.md +++ b/docs/advanced/beauty.md @@ -17,7 +17,7 @@ proxychains systemsettings5 #通过代理打开系统设置 ## 系统主题 -使用一个高质量的系统主题可以直线提升系统的美观程度。_系统设置_ > _外观_ > _全局主题_ > _获取新的全局主题_ ,搜索主题 layan,进行设置即可。 顺便说一句,这个主题的作者 vinceliuice 是一位中国大佬,是一位设计师,他设计的主题以及图标的质量都很高,你可以去他的[主页](https://www.pling.com/u/vinceliuice/)为他打分和点赞。 +使用一个高质量的系统主题可以直线提升系统的美观程度。_系统设置_ > _外观_ > _全局主题_ > _获取新的全局主题_ ,搜索主题 layan,进行设置即可。 顺便说一句,这个主题的作者 vinceliuice 是一位中国大佬,是一位设计师,他设计的主题以及图标的质量都很高,同学们可以去他的[主页](https://www.pling.com/u/vinceliuice/)为他打分和点赞。 > 如果切换主题后,windows 键不能呼出菜单,可在左下角右键,配置程序启动器,在键盘快捷键中重新设置`windows+F1`键,windows 键会显示为 Meta 键。 @@ -35,13 +35,14 @@ proxychains systemsettings5 #通过代理打开系统设置 ## 欢迎屏幕(splashscreen) -可以对在登录界面后的欢迎屏幕进行美化。 _系统设置_ > _外观_ > _欢迎屏幕_ > _获取新欢迎屏幕_ ,搜索 miku 进行设置即可。这个`Snowy Night Miku`是我们搜索到的最好看的二刺猿属性的初始界面了。另外,还有一个大佬做了一些二次元主题的欢迎屏幕,但是质量一般,这里是他的[主页](https://www.pling.com/u/thevladsoft/)。 +可以对在登录界面后的欢迎屏幕进行美化。 _系统设置_ > _外观_ > _欢迎屏幕_ > _获取新欢迎屏幕_ ,搜索 miku 进行设置即可。这个`Snowy Night Miku`是群主搜索到的最好看的二刺猿属性的初始界面了,强烈建议安装。另外,还有一个大佬做了一些二次元主题的欢迎屏幕,但是质量一般,这里是他的[主页](https://www.pling.com/u/thevladsoft/)。 ## 桌面插件 在任务栏空白处右键,选择编辑面板,添加部件。 - Netspeed widget 网速组件,这个很实用 +- simple monitor 系统信息 - todolist 任务组件 然后把你经常使用的软件固定在任务栏即可。 @@ -61,7 +62,7 @@ _系统设置_ > _显示和监控_ > _混成器_ 开启混成器 主题配合 Kvantum Manager 可以达到更好的效果。 ```bash -sudo pacman -S kvantum +sudo pacman -S kvantum-qt5 ``` 在[这里](https://www.pling.com/p/1325246/)下载 Layan 的 Kvantum 主题,并解压。打开 Kvantum Manager,选择主题并安装,接下来在`Change/Delete Theme`中选择 Layan,Use this theme。最后在系统设置,外观中的应用程序风格中选择 kvantum 即可。 @@ -94,10 +95,6 @@ sudo grub-mkconfig -o /boot/grub/grub.cfg 更新 GRUB ,并重启即可。 -## 开机动画 - -[Plymouth](https://fedoraproject.org/wiki/Releases/FeatureBetterStartup) 是一个来自于 Fedora 社区的提供美化启动图形界面的功能的项目,如有需要,可以参考[官方文档]()进行配置。不建议新手在此项配置上花费太多时间。 - --- 其余 KDE 桌面有很多配置项,大家可以自行探索。 diff --git a/docs/rookie/transparentProxy.md b/docs/advanced/transparentProxy.md similarity index 65% rename from docs/rookie/transparentProxy.md rename to docs/advanced/transparentProxy.md index 25bcfee..362419a 100644 --- a/docs/rookie/transparentProxy.md +++ b/docs/advanced/transparentProxy.md @@ -1,32 +1,28 @@ # 使用 Qv2ray+cgproxy 配置透明代理 -全局代理,也即透明代理。本节所述为真正的,操作系统级别的代理,而不是仅仅针对浏览器中全部网址的"全局代理"。之所以叫做透明代理,是因为这种系统级别的代理对于操作系统中的各个应用相当于是透明的,应用们感知不到代理的存在。之所以叫做全局代理,很明显意为操作系统级别的、全局的代理。这两个词汇在中文环境中经常同时使用,并且全局代理一词容易引起混淆。 +全局代理,也即透明代理。本节所述为真正的系统级别的代理,而不是仅仅针对浏览器中全部网址的"全局代理"。 -本节主体原文收集自 [Qv2ray 用户组](https://t.me/Qv2ray_chat),并非原创,我们仅在其基础上进行更新、完善与修正。[cgproxy 项目地址](https://github.com/springzfx/cgproxy)。 +本文原本收集自 [Qv2ray 用户组](https://t.me/qv2ray),`非群主书写`,群主仅在其基础上进行更新与修正。[项目源地址](https://github.com/springzfx/cgproxy)。 ## 安装与设置 -1. 安装`cgproxy`软件。可直接在 [AUR](https://aur.archlinux.org/packages/cgproxy/) 上安装。由于中国大陆政府封锁 Github 的原因,你很可能没有办法用正常 yay 的方式通过 AUR 安装 cgproxy,所以 ArchLinuxStudio 提供一组可以直接安装的包以供你使用。 - -```bash -wget https://archlinuxstudio.github.io/ArchLinuxTutorial/res/cgproxy-0.19-1-x86_64.pkg.tar.zst -sudo pacman -U cgproxy-0.19-1-x86_64.pkg.tar.zst -``` - -> github.io 也被中国大陆政府封锁,只是封锁力度暂时还没有很大。如你在此过程中卡住,可以尝试 ctrl+c 终止命令后重新尝试下载,也可尝试更换手机热点的网络环境再次进行下载。当你配置好全局代理后,你将不再需要担心任何网络封锁问题。我们将持续为本书读者提供突破互联网审查的可靠流程。 - -2. 在 Qv2ray 的“首选项-入站设置”的下方启用任意门设置选项。 +1. 在 Qv2ray 的“首选项-入站设置”的下方启用任意门设置选项。 - 监听 ipv4 地址可填`127.0.0.1` 或 `0.0.0.0`,建议前者。若需双栈代理,则在监听 ipv6 地址填上`::1`(如果监听 ipv4 填了 0.0.0.0 则可不填)。 - - 嗅探选择 Full,Destination Override 的三项均勾选。 + - 在“网络选项”中勾选需要透明代理的协议。 - 模式选择“tproxy”。 - + - 如果希望在透明代理环境里让 v2ray 的内置 dns 接管本地 dns,则勾选`连接设置`选项卡下的“dns 拦截”。这里建议勾选,因为你的网络环境很大可能性需要正确的 dns 解析,比如 github raw 在多数地区均不可访问。注意,在透明代理环境下,如果系统 dns 或 v2ray 的内置 dns 配置不当,可能导致系统无法解析域名从而无法正常上网。详见后文说明。 如果是复杂配置,则需要手动添加相应的 dokodemo-door 入站。由于目前版本复杂配置并没有提供 tproxy 选项,因此 tproxy 模式需要通过编辑 json 来实现。 +2. 安装`cgproxy`软件 + + - `cgproxy`软件已在 archlinux, fedora 32, ubuntu 18.04, ubuntu 20.04, deepin 15.11, deepin v20 beta 发行版中测试过。 + - Archlinux 用户可直接在 AUR 上安装,deb 或 rpm 系发行版用户可从[github](https://github.com/springzfx/cgproxy/releases)上下载安装包。非以上发行版用户,可自行从[github](https://github.com/springzfx/cgproxy)上获取代码自行编译。 + 3. 配置`cgproxy`,编辑`/etc/cgproxy/config.json`: - - **在`cgroup_proxy`中括号里加上"/"(包含引号)**,`port`改为 Qv2ray 首选项里的透明代理的端口。 + - 在`cgroup_proxy`中括号里加上"/"(包含引号),`port`改为 Qv2ray 首选项里的透明代理的端口。 - `cgproxy`默认配置是代理所有 tcp 和 udp,ipv4 和 ipv6 的流量,如果不希望代理其中的某种(些)流量,则将对应的`enable_xxx`改为 false。注意这里的配置要和 Qv2ray 选项里的配置一致(如,Qv2ray 选项里没有勾选 udp,则这里务必把`enable_udp`改为 false)。 - 如果希望当本机作为网关设备时为连接到本机网关的其他设备(如连接到本机开设的 wifi 热点的设备)也提供透明代理,则把`enable_gateway`改为 true。 @@ -69,44 +65,15 @@ sudo pacman -U cgproxy-0.19-1-x86_64.pkg.tar.zst 因此,在启用了 dns 和 udp 的透明代理时,若系统 dns 或 v2ray 的内置 dns 配置不当,可能导致 dns 请求发不出去,从而影响正常上网。 -由于 qv2ray 常见的路由规则是绕过国内 ip,国外 ip 均走代理。在这个情形中,以下两个配置是典型的有问题的 dns 配置方式: +由于 qv2ray 默认的路由规则是绕过国内 ip,国外 ip 均走代理。在这个情形中,以下两个配置是典型的有问题的 dns 配置方式: - 配置了国外普通 dns 作为首选,但代理本身不支持 udp(此时 dns 查询的 udp 流量出不去,dns 无法查询) -- 配置了使用域名的 doh 作为首选。此时 doh 的域名无法被解析,从而 doh 也无法使用。 +- 配置了使用域名的 doh 作为首选(此时 doh 的域名无法解析,从而 doh 也无法使用) 一般而言,如果并不在意将 dns 查询发给谁,那么,在绕过国内 ip 的情况下,只需要配置一个国内普通 dns 作为首选即可保证不会出问题。若代理本身不支持 udp,又希望使用国外 dns,则可以考虑使用使用 ip 的 doh(如`https://1.1.1.1/dns-query`等)。 如果需要更复杂的 dns 配置,建议参考[上游文档](https://www.v2ray.com/chapter_02/04_dns.html),并选择合适的不会影响正常上网的 dns 配置。 ---- - -在显示的为 firefox 等应用设置代理时,因为这些应用程序知道代理的存在,所以不会发出 DNS 请求。而透明代理的情况下,各应用感知不到代理的存在,所以会发出自己的 dns 请求。 - -这时通过 cgproxy 可将全部 tcp/udp 的流量(包括 DNS 查询)转给 v2ray。由于这种情况下,一定会有 DNS 查询流量的产生,所以为了保证本机不发出任何 DNS 请求(这是为了隐私和安全),需要进行以下设置。此时需要分两种情况讨论。 - -- 如果不进行任何 v2ray 的内置 DNS 设置以及 DNS 拦截,那么 DNS 流量会使用本机的 DNS 设置如 8.8.8.8 发出,这种情况不论如何配置 v2ray(全局或者分流),只要保证对于 8.8.8.8 的请求能够通过代理发出即可。 - -- 如果 v2ray 通过形如如下路由规则,拦截经由 dokodemo-door 接收到的 dns 流量到 dns outbounds,那么 v2ray 是可以导向 DNS 查询流量到"dns-out"的 out bound 的,也即 dns-outbound 进行的"拦截"和"重新转发"。 - - ```json - rules: - { - "inboundTag": [ - "tproxy-in-1", - "tproxy-in-2" - ], - "outboundTag": "dns-out", - "port": "53", - "type": "field" - }, - ``` - - 此时 dns outbound 应该调用内置 DNS 设置进行解析,假如 v2ray 内置 DNS 设置为 1.1.1.1,此时原有对于 8.8.8.8 的 DNS 请求就会转而向 1.1.1.1 请求(随后对 1.1.1.1 的请求还是会遵循你的路由规则的),并将结果返回给应用端。你可以通过开启 qv2ray 更详细的日志级别进行验证。 - -如果只是为了阻止本机发 dns 请求,完全可以不使用 fakedns。fakedns 在透明代理的条件下确实可以减少一次 dns 请求,理论上确实会快一点。但是也在有的文章指出如果所有域名都伪造 dns 返回可能会有问题。 - -题外话:使用 clientIP 可解决使用代理服务器解析 DNS 若返回国外 CDN 的网址时网速慢的情况,但是前提是你信任代理服务器和 DNS 服务器接收你的本地 IP,为了你的安全,不建议使用。 - ## 常见问题 - 启用透明代理后无法访问任何外网,且 v2ray 的 cpu 占用率飙升 @@ -146,7 +113,8 @@ sudo pacman -U cgproxy-0.19-1-x86_64.pkg.tar.zst * soft nofile 8192 #不要落下了最前面的星号 ``` -- 使用 docker/libvirt 时与 cgproxy 不能正常使用。解决方法见[cgproxy issue3](https://github.com/springzfx/cgproxy/issues/3#issuecomment-637309706) +- 终端 wget/curl/npm/yarn 访问被墙的 https 资源(如 github raw)报错 443 + DNS 的问题,打开 Qv2ray 的 DNS 拦截和 cgproxy 的 dns 选项。或者 export https_proxy 环境变量。 --- diff --git a/docs/advanced/troubleshooting.md b/docs/advanced/troubleshooting.md index b838772..3285779 100644 --- a/docs/advanced/troubleshooting.md +++ b/docs/advanced/troubleshooting.md @@ -2,55 +2,9 @@ 本节描述一些在日常使用过程中你有很大概率可能遇到的问题,并提供解决方法。 -### 使用 BIOS+GPT 模式安装 Arch Linux +### 某些笔记本设备安装后没有声音 -虽然使用传统 BIOS 模式安装的场景已经越来越少,但是在某些特殊场景,如在 VPS 上安装 Arch Linux,可能依然需要使用到 BIOS 模式。本小节讲述在使用 BIOS+GPT 模式安装时,与 UEFI+GPT 模式安装的不同点,其中绝大多数步骤是相同的。 - -- 安装前,在主板的 BIOS 设置中,或在 VPS 的启动设置中(如有),将启动模式调整为传统 BIOS 模式启动。 -- 在分区时,需要额外分出一个 2M 大小的 BIOS boot 模式的分区,此分区无需进行格式化与挂载。 -- 在安装引导程序时,对应的命令修改为: `grub-install --target=i386-pc /dev/vda` 以及 `grub-mkconfig -o /boot/grub/grub.cfg`。其中,第一条命令中的`/dev/vda`为安装 GRUB 的磁盘,而非分区。具体的名字根据安装者的实际情况进行更改。 - -### 静态 IP 设置 - -虽然使用可以自动获取 ip 地址的工具可以覆盖绝大多数场景,但是仍有部分特殊场景,如校园网,VPS 等环境下需要进行静态 IP 的设置。本小节给出一个简略的设置静态 IP 的方式。如需要设置静态 IP,需要首先禁用 dhcpcd 或 NetworkManager 等自动获取 ip 的工具。 - -```bash -sudo systemctl stop dhcpcd NetworkManager -sudo systemctl disable dhcpcd NetworkManager -``` - -接下来启用 systemd-networkd - -```bash -sudo systemctl enable --now systemd-networkd -``` - -使用`ip ad`命令查看当前网卡的名字,如这里使用名字 ens3。随后创建配置文件`/etc/systemd/network/10-static-ens3.network`。接下来在其中填入内容。其中的 ip 地址和网关需要从你的网络提供商处获取。其中的 DNS 设置同样需要在`/etc/resolv.conf`中按照前文中的方式进行设置。 - -```conf -[Match] -Name=ens3 - -[Network] -Address=YOUR_IPV4_ADDRESS/MASK -Gateway=YOUR_IPV4_GATEWAY -DNS=8.8.8.8 - -[Network] -Address=YOUR_IPV6_ADDRESS/MASK -Gateway=YOUR_IPV6_GATEWAY -DNS=2001:4860:4860::8888 -``` - -最后,重启服务即可。 - -```bash -sudo systemctl restart systemd-networkd -``` - -### 鼠标出现按键不灵敏或失灵的现象 - -一般来说大多数鼠标都是即插即用的,但 5.14 内核前后更新后可能遇到失灵的情况。根据自身鼠标品牌安装对应的驱动即可解决。[[1]](https://openrazer.github.io/#arch) +安装包`sof-firmware`。 ### 关机时卡住很久才能关机 @@ -90,7 +44,7 @@ sudo pacman -Sc ### 软件的降级 -在 archlinux 上 偶尔会出现某一个包的最新版本有各种问题的情况,如某些软件过新, 而一些依赖并没有支持,比如[virtualbox 在 linux5.18 内核下的崩溃](https://bugs.archlinux.org/task/74900),此时需要降级该包以正常使用。包可以是普通软件,也可以是内核。 +在 archlinux 上 偶尔会出现某一个包的最新版本有各种问题的情况,此时需要降级该包以正常使用,包可以是普通软件,也可以是内核。 ```bash yay -S downgrade @@ -117,17 +71,3 @@ qdbus org.kde.KWin /Compositor resume #开启 ``` - -### 屏幕溢出: overscan - -在连接一些老式的显示设备时,可能与出现[overscan](https://en.wikipedia.org/wiki/Overscan)的现象,简单来说就是电视屏幕四圈会有一圈溢出了,不显示出来。对于英特尔核芯显卡,可以选择 intel panel fitter 的方式[[1]](https://askubuntu.com/questions/508358/overscanning-picture-problem-using-hdmi-with-intel-graphics)。最后就是要加入到一个 service 里开机自动启动,并且是在 DE 加载完成后执行[[2]](https://unix.stackexchange.com/questions/397853/how-to-set-a-systemd-unit-to-start-after-loading-the-desktop)。 - -``` -sudo intel_panel_fitter -p A -x 1230 -y 700 -``` - ---- - -## Ref - -- [[1]GUID 分区表*(GPT)*特殊操作]() diff --git a/docs/advanced/undervoltage.md b/docs/advanced/undervoltage.md index 3f96ac3..6b764b4 100644 --- a/docs/advanced/undervoltage.md +++ b/docs/advanced/undervoltage.md @@ -8,7 +8,7 @@ 如果正常操作,降低电压一般不会损害 cpu,一般建议从 50 毫伏进行尝试,每次降压尝试多增加 10 毫伏。只要确保在降低电压前,系统中任务均被正确保存即可。网络上传言的降低 cpu 电压会"缩肛"是谣言[[1]](https://www.zhihu.com/question/62335676)。 -### 英特尔 四代酷睿 Haswell 及更新的 cpu +### 英特尔 四代酷睿 Haswell 及更新 cpu 如文档中所说,使用 intel-undervolt 即可降压。对于其配置文件中降压部分的五个参数含义如下: @@ -40,7 +40,7 @@ ref: [[1]](https://www.reddit.com/r/intel/comments/8ubdsg/undervolting_intel_i5_ ### AMD -可按照 wiki 中使用 amdctl 尝试降压。 +我没有设备,未能验证。可按照 wiki 中使用 amdctl 尝试降压。 ## 降低功率墙 @@ -62,3 +62,12 @@ grep . /sys/class/powercap/intel-rapl/intel-rapl:0/* Ref: [[1]](https://askubuntu.com/questions/1231091/tee-constraint-0-power-limit-uw-no-data-available),[[2]](https://miloserdov.org/?p=1932),[[3]](https://zhuanlan.zhihu.com/p/25537264) 此外,intel-undervolt 也可直接进行功率墙限制。如看到`package power limit is locked`,则说明这台电脑不可更改功率墙。 + +## 使用 TLP 延长笔记本续航 + +TLP 包是一个开箱即用的,可以为笔记本节省电量的项目。更多细节可以参考 [archWiki](https://wiki.archlinux.org/title/TLP) 进行安装和相关配置。 + +```bash +sudo pacman -S tlp +sudo systemctl enable --now tlp +``` diff --git a/docs/arch_christmas.png b/docs/arch_christmas.png deleted file mode 100644 index 05f827d..0000000 Binary files a/docs/arch_christmas.png and /dev/null differ diff --git a/docs/christmas-hat.png b/docs/christmas-hat.png deleted file mode 100644 index ec4de64..0000000 Binary files a/docs/christmas-hat.png and /dev/null differ diff --git a/docs/contribution.md b/docs/contribution.md index efb170b..7e7dea2 100644 --- a/docs/contribution.md +++ b/docs/contribution.md @@ -2,15 +2,13 @@ 点击本文右上角的 github 图标,即可查看本工程。在每一页的最下方也有`编辑本文`的链接,点击即可跳转到 github 编辑。 -本书的大纲目录由项目组成员把控,文章内容可自由编辑。本书主线内容以实用为主旨,只提供一条我们认为当前较优的、简洁的安装主线。冗余且无意义的内容不被接受。 +本书的大纲目录由群主把控,文章内容可自由编辑。本书主线内容以实用为主旨,只提供一条当前较优的、简洁的安装主线。冗余且无意义的内容不被接受。 -对于项目资源的添加,如图片,非必要 js 文件,非必要 css 文件等均不被接受。因为某些国家对于 github 的封锁和限制,导致直连下如有此类文件会更大的拖慢网页加载速度。 - -本项目最初采用 CC BY-SA 4.0 许可,最终改用 CC BY-NC-ND 4.0 许可,原因参见[Why we changed the license to CC BY-NC-ND 4.0](https://github.com/ArchLinuxStudio/ArchLinuxTutorial/issues/68)。 +所有显示或隐式 fork 派生于本项目的副本,应该遵守本项目的许可证协议。任何副本做出的修改不代表其得到了原项目作者的认可。 ## 文档贡献 -文档贡献非常简单,你只需要拥有一个编辑器,将工程 fork,修改,提交 pull request 即可。注意,如果你提交了一个语言的相关修改,请同时提交另外一种语言对应的修改。 +文档贡献非常简单,你只需要拥有一个编辑器,将工程 fork,修改,提交 pull request 即可。 ## 格式约定 diff --git a/docs/exclusive/code.md b/docs/exclusive/code.md index c7b09b2..88ac8e1 100644 --- a/docs/exclusive/code.md +++ b/docs/exclusive/code.md @@ -1,41 +1,37 @@ # 编程软件 -很多人不清楚的是,Linux 几乎是最适合编程的操作系统,其对于各个方向的编程支持非常到位(微软与苹果的专有系统编程除外),可以为你省去很多痛苦。本文介绍各个编程方向优质的软件介绍。我们建议读者使用自由软件进行编程工作,本节也仅列出自由软件。 +很多人不清楚的是,Linux 几乎是最适合编程的操作系统,其对于各个方向的编程支持非常到位(微软与苹果的专有系统编程除外),可以为你省去很多痛苦。本文介绍各个编程方向优质的软件介绍。 ## 前端编程 -对于前端来说,一般需要浏览器以及 IDE(或编辑器) 即可,附加一些网络工具。 +对于前端来说,一般需要浏览器以及 IDE 即可,附加一些网络工具。 -关于 IDE(或编辑器),可以使用 [OSS code](https://archlinux.org/packages/extra/x86_64/code/),它是由官方仓库的生成的开源构建。[vscodium-bin](https://aur.archlinux.org/packages/vscodium-bin/)AUR是社区驱动的 vs code 版本。 +关于 IDE(或编辑器),可以使用 [OSS code](https://www.archlinux.org/packages/community/x86_64/code/),[vscodium-bin](https://aur.archlinux.org/packages/vscodium-bin/),或者 [atom](https://archlinux.org/packages/community/x86_64/atom/)。 -> 微软公司 Visual Studio Code 的二进制构建实际为专有软件。很多人在此存在误解。如此偷梁换柱的手段越来越被更多公司发掘使用。[[1]](https://carlchenet.com/you-think-the-visual-studio-code-binary-you-use-is-a-free-software-think-again/) +> 微软公司 Visual Studio Code 的二进制构建实际为专有软件。很多人在此存在误解。如此偷梁换柱的手段越来越被更多公司发掘使用。 -浏览器方面有 [firefox](https://archlinux.org/packages/extra/x86_64/firefox/),[chromium](https://archlinux.org/packages/extra/x86_64/chromium/),[firefox-developer-edition](https://archlinux.org/packages/extra/x86_64/firefox-developer-edition/),[brave](https://aur.archlinux.org/packages/brave-dev-bin/)AUR等众多软件可供选择。 +浏览器方面有 [firefox](https://archlinux.org/packages/extra/x86_64/firefox/),[chromium](https://archlinux.org/packages/extra/x86_64/chromium/),[firefox-developer-edition](https://www.archlinux.org/packages/community/x86_64/firefox-developer-edition/),等众多软件可供选择。 -网络工具常使用 [httptoolkit](https://aur.archlinux.org/packages/httptoolkit/)AUR(作为 charles 的代替),以及 [wireshark-qt](https://archlinux.org/packages/extra/x86_64/wireshark-qt/)。 +网络工具常使用 [charles](https://aur.archlinux.org/packages/charles/)AUR,以及 [wireshark-qt](https://archlinux.org/packages/community/x86_64/wireshark-qt/)。 -至于 [yarn](https://archlinux.org/packages/extra/any/yarn/)、[npm](https://archlinux.org/packages/extra/any/npm/) 等前端常用工具,也均可用 pacman 安装。 +至于 [yarn](https://www.archlinux.org/packages/community/any/yarn/)、[npm](https://www.archlinux.org/packages/community/any/npm/) 等前端常用工具,也均可用 pacman 安装。 -## 后端编程 - -Jetbrains 公司开源的 IDE 可在 archlinux 官方仓库中找到,如[IntelliJ Idea](https://archlinux.org/packages/extra/x86_64/intellij-idea-community-edition/),[PyCharm](https://archlinux.org/packages/extra/x86_64/pycharm-community-edition/)等。 -无开源版本的 Jetbrains 产品也可以在 AUR 社区中找到,如[rubymine](https://aur.archlinux.org/packages/rubymine),[webstorm](https://aur.archlinux.org/packages/webstorm)。但可能只提供了安装而未提供卸载,如[jetbrains-toolbox](https://aur.archlinux.org/packages/jetbrains-toolbox) +> OSS code 存在的问题:[官方 wiki](https://wiki.archlinux.org/index.php/Visual_Studio_Code)。一个普遍问题是删文件 UI 会卡住很久,原因是 electron 在 linux 下默认使用 `gio` 删除,但是 KDE 用户一般都不装这个。解决办法是把 `ELECTRON_TRASH=kioclient5` 环境变量加在~/.pam_environment 里。 -> Jetbrains 产品在 linux 下输入法均会产生光标不跟随的现象,Jetbrains 一直未修复该 bug,解决办法为[替换 jbr](https://github.com/RikudouPatrickstar/JetBrainsRuntime-for-Linux-x64) - -较为传统的 IDE 有 [Netbeans](https://archlinux.org/packages/extra/any/netbeans/) 以及 eclipse,eclipse 有多种版本,可在 AUR 中自行搜索。 +## 后端编程 -关于编程语言自身,更是不必多说,除了 c 语言和 c++安装好系统即支持外,java, node,等都可以被轻易安装。 +Jetbrains 家的全家桶基本都有支持可以在源中或 AUR 中自行搜索,如[IntelliJ Idea](https://www.archlinux.org/packages/community/x86_64/intellij-idea-community-edition/),[PyCharm](https://www.archlinux.org/packages/community/x86_64/pycharm-community-edition/),[GoLand](https://aur.archlinux.org/packages/goland/)AUR等。 +较为老式的 IDE 有 [Netbeans](https://www.archlinux.org/packages/community/any/netbeans/) 以及 eclipse,eclipse 有多种版本,可在 AUR 中自行搜索。 -除了默认安装好的 gcc,也可以安装 clang 以及 llvm 以供使用 +关于编程语言自身,更是不必多说,除了 c 语言和 c++自身即支持外,java, node,等都可以被轻易安装。 关于数据库相关软件,也有多种选择。 -- [Mysql Workbench](https://archlinux.org/packages/extra/x86_64/mysql-workbench/) -- [pgadmin4](https://archlinux.org/packages/extra/x86_64/pgadmin4/) -- [dbeaver](https://archlinux.org/packages/extra/x86_64/dbeaver/) +- [Mysql Workbench](https://www.archlinux.org/packages/community/x86_64/mysql-workbench/) +- [pgadmin4](https://www.archlinux.org/packages/community/x86_64/pgadmin4/) +- [dbeaver](https://www.archlinux.org/packages/community/x86_64/dbeaver/) - [robo3t](https://aur.archlinux.org/packages/robo3t-bin/)AUR -- [RESP.app](https://aur.archlinux.org/packages/resp-app/)AUR (原 redis-desktop-manager) +- [redis-desktop-manager](https://aur.archlinux.org/packages/redis-desktop-manager/)AUR - [rdm-bin](https://aur.archlinux.org/packages/rdm-bin/)AUR 如果上面的编译有问题,可用这个 bin 版本 针对大数据方面,可安装[hadoop](https://aur.archlinux.org/packages/hadoop/)AUR等包。如有包长期没有更新或包不存在,如 hbase 和 hive,则只能去官网自行下载并配置。 @@ -44,22 +40,16 @@ Jetbrains 公司开源的 IDE 可在 archlinux 官方仓库中找到,如[Intel ## 安卓客户端编程 -目前来说,安卓开发已经统一到了 [Android Studio](https://aur.archlinux.org/packages/android-studio/)AUR 进行开发。当然传统的 Eclipse 也可以用来使用。常用的安卓模拟器则也可使用[Anbox](https://wiki.archlinux.org/title/Anbox#Installation)或 [Waydriod](https://wiki.archlinux.org/title/Waydroid#Installation)。 +目前来说,安卓开发已经统一到了 [Android Studio](https://aur.archlinux.org/packages/android-studio/)AUR 进行开发。当然老式的 Eclipse 也可以用来使用。常用的安卓模拟器则也可使用[genymotion](https://aur.archlinux.org/packages/genymotion/)AUR。 ## 桌面应用编程 -目前桌面开发较为流行的是 [electron](https://archlinux.org/packages/extra/x86_64/electron/) 和 [Qt](https://archlinux.org/packages/extra/x86_64/qt6-base/) 应用。electron 可直接用 OSS Code 进行开发,Qt 应用使用 [Qt Creator](https://archlinux.org/packages/extra/x86_64/qtcreator/) 进行开发。 +目前桌面开发较为流行的是 [electron](https://archlinux.org/packages/community/x86_64/electron/) 和 [Qt](https://archlinux.org/packages/extra/x86_64/qt6-base/) 应用。electron 可直接用 OSS Code 进行开发,Qt 应用使用 [Qt Creator](https://www.archlinux.org/packages/extra/x86_64/qtcreator/) 进行开发。 ## 机器学习与深度学习 -针对机器学习方面的编程,IDE 可使用同后端编程中一样的软件。机器学习常用的[jupyter-notebook](https://archlinux.org/packages/extra/any/jupyter-notebook/) 以及所需要的相关库如[numpy](https://archlinux.org/packages/extra/x86_64/python-numpy/)、[sklearn](https://archlinux.org/packages/extra/x86_64/python-scikit-learn/)、[pandas](https://archlinux.org/packages/extra/x86_64/python-pandas/)等,也均可在源中找到。同时,[tensorflow](https://archlinux.org/packages/extra/x86_64/tensorflow/)、[pytorch](https://archlinux.org/packages/?sort=&q=python-pytorch&maintainer=&flagged=)以及其相关的 cuda 支持包等深度学习相关的包也均可安装使用。 - -## 科学计算 - -[SageMath](https://www.sagemath.org/)(原名 Sage)是免费的、自由的数学软件,支持代数、几何、数论、密码学、数值计算和相关领域的研究和教学,可作为 MATLAB 的替代。Sage 的开发模式和 Sage 本身的技术都非常强调开放性、社区性、合作性和协作性:我们在制造汽车,而不是重新发明轮子。Sagemath 的总体目标是为"4M"(即 Maple、Mathematica、Magma 和 Matlab)提供一个可行的、免费的、自由的替代品。SageMath 为目前科学计算领域的大多数开源软件/库统一重写了接口,提供了一种类兼容 python 的语法,可以说集开源数学软件之大成。目前已可部分替代"4M"。 - -[Arch Wiki](https://wiki.archlinux.org/title/SageMath) ||| [中文教程及文档](https://www.osgeo.cn/sagemath/index.html) +针对机器学习方面的编程,IDE 可使用同后端编程中一样的软件。机器学习常用的[jupyter-notebook](https://archlinux.org/packages/community/any/jupyter-notebook/) 以及所需要的相关库如[numpy](https://archlinux.org/packages/extra/x86_64/python-numpy/)、[sklearn](https://archlinux.org/packages/community/x86_64/python-scikit-learn/)、[pandas](https://archlinux.org/packages/community/x86_64/python-pandas/)等,也均可在源中找到。同时,[tensorflow](https://archlinux.org/packages/community/x86_64/tensorflow/)、[pytorch](https://archlinux.org/packages/?sort=&q=python-pytorch&maintainer=&flagged=)以及其相关的 cuda 支持包等深度学习相关的包也均可安装使用。 ## 逆向工程 -可安装知名的[ghidra](https://archlinux.org/packages/extra/x86_64/ghidra/)作为 IDA 的替代,更多替代选项可参考[alternativeto](https://alternativeto.net/software/ida/)。除此之外再介绍一个好用的十六进制编辑器[Bless](https://archlinux.org/packages/extra/any/bless/)。 +逆向工程中很知名的软件 IDA 也可安装,分为[免费版](https://aur.archlinux.org/packages/ida-free/)AUR与[收费版](https://aur.archlinux.org/packages/ida-pro/)AUR。另外也可安装知名的[ghidra](https://archlinux.org/packages/community/x86_64/ghidra/)。除此之外再介绍一个好用的十六进制编辑器[Bless](https://archlinux.org/packages/community/any/bless/)。 diff --git a/docs/exclusive/media.md b/docs/exclusive/media.md index a9df9d6..16a17d5 100644 --- a/docs/exclusive/media.md +++ b/docs/exclusive/media.md @@ -18,7 +18,11 @@ b 站直播时的弹幕可以使用[弹幕库](https://www.danmaku.live/),这个 ## 视频制作剪辑与特效 -视频剪辑与制作推荐使用自由软件[shotcut](https://www.archlinux.org/packages/community/x86_64/shotcut/)。它可以满足大多数的视频剪辑制作需求。同类的软件还有[kdenlive](https://www.archlinux.org/packages/extra/x86_64/kdenlive/)以及[mkvtoolnix](https://archlinux.org/packages/extra/x86_64/mkvtoolnix-gui/)。 +视频剪辑与制作推荐使用自由软件[shotcut](https://www.archlinux.org/packages/community/x86_64/shotcut/)。它可以满足大多数的视频剪辑制作需求,可以收看[简明视频教程](https://www.bilibili.com/video/BV1zb411H7J5/)。同类的软件还有[kdenlive](https://www.archlinux.org/packages/extra/x86_64/kdenlive/)以及[mkvtoolnix](https://archlinux.org/packages/extra/x86_64/mkvtoolnix-gui/)。 + +如果你需要功能更加强大的软件,可以尝试免费使用的专有软件[davinci-resolve](https://aur.archlinux.org/packages/davinci-resolve/)AUR或者其收费版[davinci-resolve-studio](https://aur.archlinux.org/packages/davinci-resolve-studio/)AUR。达芬奇是一个特效、剪辑、调色、配音的综合体软件。需要注意的是,Linux 下免费版达芬奇支持的编解码格式有限[[1]](https://documents.blackmagicdesign.com/SupportNotes/DaVinci_Resolve_15_Supported_Codec_List.pdf)。 + +> 因为达芬奇没有编译入 fcitx 模块,所以无法输入中文。正常来说只能等待新版达芬奇加入这个模块。喜欢折腾的可以尝试下老 K 给出的[魔改解决方案](https://www.csslayer.info/wordpress/fcitx-dev/a-case-study-how-to-compile-a-fcitx-platforminputcontext-plugin-for-a-proprietary-software-that-uses-qt-5/) 在视频录制时,一些 KDE 的辅助功能非常实用。在 KDE 的系统设置中,找到工作区行为->桌面特效,在无障碍功能中勾选`鼠标定位`与`鼠标点击动效`两项,并使用。这两项设置在视频制作中可以突出的显示鼠标位置与点击效果,对于视频制作来说相当有用。 @@ -28,46 +32,28 @@ b 站直播时的弹幕可以使用[弹幕库](https://www.danmaku.live/),这个 在 linux 上的修饰图片可用[gimp](https://www.archlinux.org/packages/extra/x86_64/gimp/)。如果你需要配合数位板绘图,可使用[krita](https://www.archlinux.org/packages/extra/x86_64/krita/),krita 同时也提供一定的制图功能。矢量图片操作可使用 [inkscape](https://www.archlinux.org/packages/extra/x86_64/inkscape/) -[Aseprite](https://www.aseprite.org/) 是一款像素艺术绘制工具,可以使用 yay 安装包[aseprite](https://aur.archlinux.org/packages/aseprite/)。 - -[RawTherapee](https://archlinux.org/packages/community/x86_64/rawtherapee/) 是一个自由开源的跨平台 RAW 格式图像处理程序。 - -[hugin](https://archlinux.org/packages/community/x86_64/hugin/)是一个可以对图片进行景深进行合成、对图片进行拼接的开源软件,可以以此替代 PhotoShop 的自动对齐图层和自动合并图层。 - -至于格式转换,可以使用 [imagemagick](https://archlinux.org/packages/extra/x86_64/imagemagick/) 的 convert 功能进行图片格式之间的转换。 - -手绘以及各种手写需求,可以尝试使用[rnote](https://archlinux.org/packages/community/x86_64/rnote/) - ## 建模 -- [blender](https://archlinux.org/packages/community/x86_64/blender/) 强大的 3D 建模软件 -- [Sweet Home 3D](https://archlinux.org/packages/community/x86_64/sweethome3d/) Sweet Home 3D 是一款免费的家装辅助设计软件。它能帮您通过二维的家居平面图来设计和布置您的家具,还可以用三维的视角浏览整个装修布局的全貌。 -- [Synfig Studio](https://archlinux.org/packages/community/x86_64/synfigstudio/) Synfig Studio 是一款免费开源的 2D 动画软件,用于使用矢量和位图图稿创建电影质量的动画。 +可使用强大的 3D 建模软件[blender](https://archlinux.org/packages/community/x86_64/blender/) ## 音频 专业的音频制作可使用如下软件。 -- [Kwave](https://archlinux.org/packages/extra/x86_64/kwave/) Kwave 是 KDE 开发的一款自由开源的音频编辑软件,可以录制、播放、导入和编辑许多音频文件,包括多声道文件。 -- [lmms](https://archlinux.org/packages/community/x86_64/lmms/) LMMS 是免费自由开源并且跨平台的作曲工具。通过制作旋律和节拍,合成和混合音频,安排音频片段等方法创作音乐。 -- [carla](https://archlinux.org/packages/community/x86_64/carla/) Carla 是一个功能齐全的模块化音频插件主机,支持许多音频驱动程序和插件格式。 -- [Ardour](https://archlinux.org/packages/community/x86_64/ardour/) Ardour 是一款自由开源的让你可以在 Linux 上录音、编辑和混音的软件。 -- [vcvrack](https://aur.archlinux.org/packages/vcvrack-bin/) VCV Rack 是一款开源、可视化、模块化的音响合成器。 -- [Mixxx](https://archlinux.org/packages/community/x86_64/mixxx/) Mixxx 集成了 DJ 使用数字音乐文件进行创造性现场混音所需的工具。 -- [MuseScore](https://archlinux.org/packages/community/x86_64/lmms/) MuseScore 是 Muse Group 开发的一个跨平台的自由开源制谱软件。 -- [SoundConverter](https://archlinux.org/packages/community/any/soundconverter/) SoundConverter 是 GNOME 桌面的音频文件转换器(这不影响在 Plasma 桌面环境下使用)。 -- [Reaper](https://archlinux.org/packages/community/x86_64/reaper/) REAPER 是一个完整的计算机数字音频制作软件,提供完整的多轨音频和 MIDI 录音、编辑、处理、混音和母带制作工具集。 +- [Kwave](https://archlinux.org/packages/extra/x86_64/kwave/) +- [audacity](https://archlinux.org/packages/community/x86_64/audacity/) +- [lmms](https://archlinux.org/packages/community/x86_64/lmms/) +- [carla](https://archlinux.org/packages/community/x86_64/carla/) ## UI/UX 设计 -- [figma-linux](https://github.com/Figma-Linux/figma-linux) figma 在线版,或者使用一个非官方的 Linux figma 桌面端软件 -- [Akira](https://aur.archlinux.org/packages/akira/) 使用 Vala 和 GTK 构建的 UI/UX 设计 Linux 原生应用 +可使用 figma 在线版,或者使用一个非官方的 Linux figma 桌面端软件[figma-linux](https://github.com/Figma-Linux/figma-linux) ## 字幕制作 一般情况来讲,一个视频加上外带的 srt 字幕是较为普遍的情况。这里描述如何为 youtube 视频加入字幕。 -首先要进行视频字幕的下载,这里可以使用一个 chrome 拓展:[YouTube™ 双字幕](https://chrome.google.com/webstore/detail/youtube-dual-subtitles/hkbdddpiemdeibjoknnofflfgbgnebcm),即可下载你所需要的字幕文件。如果你有更方便的下载方式,欢迎告诉我们。 -接下来进行字幕与视频的重新烧录。MKVToolNix 只能做那种分离的字幕,但是 如 B 站等某些视频网站需要上传烧录好的,为了更好的兼容性,建议始终将视频和文件重新烧录。使用 ffmpeg 进行操作: +首先要进行视频字幕的下载,这里可以使用一个 chrome 拓展:[YouTube™ 双字幕](https://chrome.google.com/webstore/detail/youtube-dual-subtitles/hkbdddpiemdeibjoknnofflfgbgnebcm),即可下载你所需要的字幕文件。如果你有更方便的下载方式,欢迎告诉群主。 +接下来进行字幕与视频的重新烧录。MKVToolNix 只能做那种分离的字幕,但是 B 站要上传烧录好的,为了更好的兼容性,建议始终将视频和文件重新烧录。使用 ffmpeg 进行操作: ```bash ffmpeg -i input.mp4 -vf subtitles=input.srt output.mp4 @@ -86,7 +72,3 @@ ffmpeg -i hack_with_zh.mp4 -strict -2 -vf subtitles=hack_en.srt:force_style ## 视觉小说的素材提取 目前一般常用的为 [GARbro](https://github.com/morkt/GARbro),但是其在 linux 下通过 wine 无法正常使用。这里提供一个跨平台的 gal game 内容提取工具[arc_unpacker](https://aur.archlinux.org/packages/arc_unpacker-git/)。详细用法可自行查看其 github。 - - diff --git a/docs/exclusive/mine.md b/docs/exclusive/mine.md deleted file mode 100644 index 833315e..0000000 --- a/docs/exclusive/mine.md +++ /dev/null @@ -1,211 +0,0 @@ -# 加密货币入门 - -本节将简述加密货币的一些基本概念,以及我们的解读。同时,将教授读者如何在 Arch Linux 上进入加密货币的世界。一提到加密货币与挖矿,很多中国读者对加密货币与挖矿有着很深的误解与偏见,这实际上与其国家政府及其控制的媒体、自媒体的宣传导向有关。我们不希望我们的读者被蒙蔽,所以在本文中将进行一些解释。 - -## 什么是加密货币 - -加密货币是一种使用密码学原理来确保交易安全及控制交易单位创造的交易介质。这种维基百科式的描述较难懂。我们尝试用更简单的语言进行描述。加密货币的鼻祖是比特币(BTC),其始发与 2009 年。在比特币的创世区块中,嵌入了一句话`The Times 03/Jan/2009 Chancellor on brink of second bailout for banks.`。这对传统金融行业进行了讽刺,同时表明了创始人中本聪的立场。符合比特币理念的加密货币一般都有如下特点。 - -- 去中心化,货币的分布和决策不由中心化的组织,如政府,银行等任何集权形式的组织决定。参与挖矿,就能得到属于自己的一份收益。 -- 在正确使用的前提下,一般都能很大程度的保护使用者的个人隐私。 -- 货币本身**真正**由其拥有者所持有,真正实现了私有财产不可侵犯。货币的拥有者持有私钥,其他没有私钥的人无法扣押、冻结、没收其加密货币资产。 - -## 为什么使用加密货币? - -作为自由软件运动的支持者,我们同时支持使用加密货币,原因如下: - -- 第一,使用加密货币对于无处不在的监视与审计进行反抗。在一些国家中,各种应用广泛的支付手段已经被完全绑定实名,以及进行了全面的监视与审查,个人隐私丝毫没有保障。使用加密货币可以很好的保护你自身的隐私。即使不使用 XMR 等能够高度保证隐私的加密货币,仅仅只使用(正确的使用)普通加密货币也能在很大程度上保障你个人的隐私。 -- 第二,因为一些国家的法定货币没有或几乎没有信用,使用加密货币可以抵御这种风险,作为资产多样化的一种工具。即使很多政府以及各类名流不断的对加密货币进行禁止和否定,加密货币依然安然度过了十余个年头。法币是否稳定?这个问题读者可以自行思考一些国几十年来法币购买力的变化,一些国家全面禁止加密货币起因何在?读者们应该能够有自己的理解。持有在全世界广泛流通的加密货币,能够提升你在抵御法币风险时的能力,保障自身的权益。 -- 第三,即使没有加密货币,恐怖主义、诈骗与洗钱仍然广泛存在于世界,不能因为加密货币可以用于这些用途,就将其归罪与加密货币,这是荒唐的逻辑,提出此类观点的人或组织一般都存在其他的目的。 - -为什么有人反对加密货币? - -- 第一,加密货币在某些极权政府中被视为会威胁其独裁统治的存在,是极其危险与不可控的,所以要进行全面禁止。 -- 第二,加密货币已经形成较为庞大的交易市场,其已经对传统的金融行业产生了一定的影响与冲击,所以以巴菲特为首的部分商界代表公开反对加密货币。 -- 第三,加密货币在恐怖主义、诈骗与洗钱方面的应用,以及加密货币不环保等较为边缘的理由。 - -## 在 Arch Linux 上进入加密货币的世界 - -### 钱包与地址 - -如果要使用加密货币,首先要拥有一个钱包。目前来说使用最广泛的浏览器钱包是[Metamask](https://metamask.io/),在你所使用的浏览器的扩展商店中,安装 Metamask 插件即可使用。浏览器钱包可以使你方便的使用目前海量的去中心化程序,包括很多金融应用以及社区、游戏等,但是一般来说其安全性并不如其他非托管式钱包以及冷钱包。 - -关于在 Arch Linux 上钱包的选择与地址的获取,在[现代隐私保护指南](https://archlinuxstudio.github.io/ModernSecurityProtectionGuide/#/anonymous_pay)的章节中有详细描述,本文不再赘述。 - -如果你需要匿名购买加密货币的渠道,可以考虑使用[localmonero](https://localmonero.co/)提供的购买门罗币的服务。在购买后门罗币地址间的互转是匿名的,对外部不可见的。如需转换门罗币至其他币种,以使用非中国大陆的加密货币兑换平台如[changenow](https://changenow.io/)。 - -### 挖矿 - -挖矿是进入加密货币世界最直接的方式,本节描述如何在 Arch Linux 中进行加密货币挖矿。 - -由于我们的读者大多来自中国,他们通过正规且安全的渠道购买加密货币的手段已经越来越少,从 2022 年目前来看,他们可以获取加密货币的途径只有以下几种: - -- 使用仍允许中国用户进行交易的交易所进行买入 -- 线下交易 -- 通过挖矿获取 - -通过简单的搜索即可发现,目前仍可使用的交易所,某些具有强劲的政府背景,这样的交易所几乎无法保证安全。即使你可以通过此类交易所进行买入与转出,与你实名认证相关的持有、交易、提现到链的记录也可以被轻松获取。实际上,你不应该使用任何中心化交易所。 - -线下交易则是更难,而且风险更高的方式,这一点应该无需赘述。 - -所以综上所述,挖矿是对于处在被压迫的国家或地区的人们**唯一**安全且方便的获取加密货币的方式。 - -如果你对于加密货币一无所知,可以参考[币安学院](https://academy.binance.com/zh/search?page=1)的系列文章入门,数百篇从低阶到高阶的文章可以供你阅读。 - ---- - -在进行挖矿前,在安全方面与使用方面,均有一些重要事项需要提前提醒: - -- 由于个别国家对于加密货币的全面禁止与管制,在进行挖矿的设备上需要使用全局代理,包括代理 DNS。这不仅能够使你连接到矿池等网站,也可以帮助你隐藏自己正在访问加密货币相关网站的动作,从而避开 ISP 或者政府相关部门的监视。这里可以使用 v2rayA,它可以使你通过浏览器远程管理挖矿设备的网络,而不用在挖矿设备上安装任何图形化界面程序。 -- 在添加新设备之后,可能需要移除主板 BIOS 电池来放电,注意在放电后系统时间会重置,这会导致 v2ray 无法使用。这种情况下记得先重新校准系统时间。 -- 控制你进行挖矿场所的电费使用情况在一个合理范围内。如果电费使用情况过于离谱,可能会引起某些政府部门的怀疑和监视。 -- 主板 BIOS 设置中,需要开启`Above 4G Decoding`选项以支持多张(一般为 4 张以上)图形显示卡。此设置一般存在于 PCIE 设置中。此设置启用芯片组 64bit 兼容性硬件物理寻址,在关闭时 BIOS 只能使用 32bit 硬件物理寻址。 -- 主板 BIOS 设置中,将 PCI-E 速率调整为 Gen2 或 Gen1。否则可能发生无法识别显卡的问题。 - ---- - -在获得自己的加密货币地址后,要进行矿池的选择。简单来说,加密货币矿工自行进行挖矿,效率是较为低下的。加入矿池,并进行分成是更具效率的挖矿方式。矿池有非常多,有着各自不同的手续费收取方式以及收取比例。对于新手来讲,选择[unmineable](https://unmineable.com/)矿池是不错的选择,它的界面简单易用。 - -在进入矿池后,可以选择你需要进行挖矿的币种。注意,这里可以选择的一些实际不能挖矿的币种,不是你实际进行此币种的挖矿操作,而是你进行 Ethereum 等可以挖掘币种的挖矿,然后 unmineable 矿池将收益转化成你所选择的币种再支付给你。具体的操作可以参考 unmineable 网站的文章。在达到要求提现的最小限额后,你即可在矿池发起提现。提现有一定等待时间,需要耐心等待。 - ---- - -使用 Nvidia 显卡挖矿时,需要首先安装 [cuda](https://archlinux.org/packages/community/x86_64/cuda/)。 - -在使用 AMD 显卡进行挖矿时,如果你使用 AMD 开源 mesa 驱动则有可能无法运行挖矿软件。解决方案是暂时使用专有 AMD 驱动 [opencl-amd](https://aur.archlinux.org/packages/opencl-amd/)。然而在 AUR 中最新版本的 opencl-amd 驱动仍可能无法作用,如果你遇到此问题,解决方案是使用[旧版的 20.45 版本的驱动程序](https://aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h=opencl-amd&id=99929da87153c0f36a2a9497c38221c12307ecfc)。将 PKGBUILD 下载后使用 makepkg 生成包并安装。使用其他 AMD 挖矿程序时均可能需要此操作。 - -挖矿工具也有很多以供选择,[ethminer](https://github.com/ethereum-mining/ethminer)则是使用 GPL-3.0 协议的自由软件,是一款通用的以太坊挖矿软件。一般来说,使用 GPU 进行 Ethereum 挖矿效率更高。另外还存在一些流行的专有挖矿软件如 LoLMiner 以及 T-Rex。具体的操作可以参考他们的官方文档。 - -[xmrig](https://github.com/xmrig/xmrig) 可用于 XMR 的挖矿。xmrig 是使用 GPL-3.0 许可的自由软件。xmrig-cuda 是 xmrig cuda backends 的插件,你可以根据需要自行选择。 - ---- - -一般来说,挖矿程序需要设置为自动重启与开机自启,对于这点可以使用 supervisor 来实现,首先进行安装与启动 - -```bash -sudo pacman -S supervisor -sudo systemctl enable --now supervisord.service -``` - -随后,在目标目录下建立配置文件,如`/etc/supervisor.d/eth.ini`,随后重启 supervisord 服务使配置生效。这样即可实现自动重启与开机自启的需求。如下是一个样例配置文件。 - -```ini -[program:eth] -directory=/home/testuser -command=YOUR_MINE_COMMAND -autostart=true -autorestart=true -``` - -### Headless 条件下的风扇转速调节 - -在不接入显示器,也即 Headless 的条件下,显卡风扇转速的调节是一件棘手的事情。 - -对 AMD 显卡的风扇风速进行设定。安装软件 amdgpu-fan 并启用服务即可。amdgpu-fan 会根据显卡温度自动调整风扇转速。注意,[AUR 当前的版本](https://github.com/zzkW35/amdgpu-fan/issues/2)存在开机无法自动启动生效的问题,根据[Issue](https://github.com/zzkW35/amdgpu-fan/issues/2)描述,其上游[源仓库](https://github.com/chestm007/amdgpu-fan)不存在此问题。 - -``` -yay -S amdgpu-fan -sudo systemctl enable --now amdgpu-fan -``` - -关于更多 AMD 显卡风扇转速的设置方法可参考 [Arch Wiki](https://wiki.archlinux.org/title/fan_speed_control#AMDGPU_sysfs_fan_control). - ---- - -使用英伟达显卡挖矿也需要额外对风扇转速进行设置,否则风扇不会根据温度来调整转速,即使温度较高,也近会运行在较低的转速,这个问题在进行深度学习等操作时仍然存在。如果你启动了图形化界面,则可通过 nvidia-settings 进行转速设置。英伟达显卡的转速设置依赖 X server 造成的,所以默认情况下,如果不启动 X server 则无法进行风扇调速。此时可以使用工具[coolgpus](https://github.com/andyljones/coolgpus),其工作原理是,它会为每个 GPU 设置一个临时 X server。然后,它每隔几秒钟循环查看一次 GPU,并根据它们的温度设置风扇速度。当脚本终止时,它会将风扇的控制权返回给驱动程序并清理 X server。pip 安装的 coolgpus 位于`~/.local/bin/coolgpus`。 - -- https://ximikang.icu/2021/03/09/ubuntu%E7%B3%BB%E7%BB%9F%E8%B0%83%E8%8A%82GPU%E9%A3%8E%E6%89%87%E8%BD%AC%E9%80%9F - ---- - -coolgpus 在一些显卡无法生效,这种情况下可以使用[set_gpu_fans_public](https://github.com/boris-dimitrov/set_gpu_fans_public)。下载 set_gpu_fans_public 后,需要更改其 cool_gpu 以及 nvscmd 两个脚本中 `nvidia-smi`以及`nvidia-settings` 命令的路径为正确路径,除此之外还需修改 cool_gpu 中 dir 的路径为正确路径。随后需要安装包[xorg-xinit](https://archlinux.org/packages/extra/x86_64/xorg-xinit/)。最后创建符号链接,在位于 /opt 其目录中用 tcsh 启动,详见其代码注释。 - -- https://www.codeleading.com/article/26244997267/ -- https://www.jianshu.com/p/ab956df5e40c - ---- - -Ref: - -- https://forums.developer.nvidia.com/t/set-fan-speed-without-an-x-server-solved/35627 -- https://forums.developer.nvidia.com/t/fan-speed-without-x-headless-powermizer-drops-card-to-p8/37917 -- https://github.com/boris-dimitrov/set_gpu_fans_public -- https://github.com/iaalm/GPUFanSpeed -- https://www.google.com/search?q=TOC-Faking-a-Head-for-a-Headless-X-Server+347 - -### Headless 条件下的显卡超频 - -在启动图形界面的情况下,Nvidia 显卡超频较为简单,具体请参考[arch wiki](https://wiki.archlinux.org/title/NVIDIA/Tips_and_tricks#Overclocking_and_cooling)。本节讲述在不启动图形界面的情况下,也即 headless 环境下 Nvidia 显卡的超频操作。 - -以太坊相关一般的超频思路是:超显存,降/锁核心,有必要的情况下限制最大功率。 - -较为完整的步骤可以参考文章[Linux 透過命令行對顯示卡超頻](https://jybb.me/linux-overclock-graphic-card-via-cli),按照其中的步骤执行即可。这里列出一些需要额外注意的事项: - -- 在编辑`/etc/X11/xorg.conf`时,`ConnectedMonitor`的值需要根据你自身生成文件中的实际值来填写。在 ArchLinux 中其值一般为`Monitor0`而不是`DFP-0`。 -- 在超频时对不同 perf 级别进行设置时,一般[4]的值对应的是当前偏好的最大性能等级。nvidia-smi 中显示的等级似乎并不和此处的数字对应。如果不确定当前等级,可以从 1 到 4 依次尝试。 -- 如果你仍不确定 perf 等级,可以直接使用对应所有等级的调整,如`GPUMemoryTransferRateOffsetAllPerformanceLevels`以及`GPUGraphicsClockOffsetAllPerformanceLevels`。 -- 如果在终端直接执行超频命令,nvidia-settings 的-a 选项后续的参数可以不加单引号包裹,但是如果在脚本中执行,需要用单引号包裹参数。 -- 通过此命令锁定某个显卡的核心频率: `nvidia-smi -i 0 -lgc 1075`。此命令将第零张显卡的核心频率限制为 1075。注意,如将频率限制过高,但是功率或性能不足的情况下,频率会下降,并最终稳定在一个低于所设置的锁定频率的值上。 -- 即使是相同型号的显卡,显存的体质、类型都可能不同。所以你需要根据自己显卡的实际体质来慢慢调整,找到最稳定的超频参数,网络上现有的超频参数仅能做一个大致的参考。 -- 显卡的灯光问题,很多 20,30 系新显卡采用 I2C 控制,而英伟达 linux 驱动不支持,传统的通过`GPULogoBrightness`参数控制已经不能生效。详见[github issue](https://github.com/NVIDIA/nvidia-settings/issues/48) -- 若无法进行超频,可以尝试重新启动 lightdm 服务,再进行超频。 - -Ref: - -- [ethminer overlock guide](https://github.com/ethereum-mining/ethminer/issues/456#issuecomment-370224878) -- [NVIDIA-SMI 系列命令总结](https://blog.csdn.net/handsome_bear/article/details/80903477) -- [nvidia-smi: Control Your GPUs](https://www.microway.com/hpc-tech-tips/nvidia-smi_control-your-gpus/) - ---- - -AMD 显卡 headless 环境下超频相较 Nvidia 显卡则容易很多,参考 wiki 即可,对于超频工具,推荐使用[amdgpu-clocks-git](https://aur.archlinux.org/packages/amdgpu-clocks-git)。 - -Ref: - -- [AMD RX 470(D) Linux 挖矿](https://reimu.moe/2021/03/10/AMD-RX470-D-Linux-Mining/) -- [Arch wiki](https://wiki.archlinux.org/title/AMDGPU#Overclocking) - ---- - -### 防火墙防护 - -如果你在内网环境中启用一些监控面板以便使用,则需要注意开启防火墙防护,因为你的内网中的设备,可能存在恶意软件,对网络中的端口、服务进行扫描、监视并上报。 - -这里采用 ufw 工具进行防火墙防护。第一,因为其使用简单,第二,因为 ufw 与 v2raya 无冲突,可正常使用。firewalld 默认情况下无法与 v2raya 同时正常使用。 - -```bash -sudo pacman -S ufw -sudo systemctl enable --now ufw - -sudo ufw default deny #默认拒绝 - -sudo ufw allow from YOUR_TRUST_LAN_IP #只允许你信任的内网 ip 连接 -sudo ufw allow ssh #允许 ssh 以便内网以及外网通过 nps 的ssh连接 -sudo ufw allow 8024 #允许 nps 的默认网桥通信端口工作 - -sudo ufw enable #设置完成后启用 -sudo ufw status #检查状态 -``` - -Ref: https://wiki.archlinux.org/title/Uncomplicated_Firewall - -### 辅助命令 - -你可用如下命令查看识别到的显卡编号,此命令将列出真正被系统识别可用的显卡编号。 - -```bash -ls /sys/class/drm | grep "^card[[:digit:]]$" -``` - -你可用如下命令查看各个显卡设备的详情 - -```bash -sudo lspci -vnn | grep VGA -A 12 -``` - -你可用[speedtest-cli](https://archlinux.org/packages/community/any/speedtest-cli/)在终端下测试网速情况 - -```bash -sudo pacman -S speedtest-cli -speedtest-cli -``` diff --git a/docs/favicon.ico b/docs/favicon.ico deleted file mode 100644 index cece8d2..0000000 Binary files a/docs/favicon.ico and /dev/null differ diff --git a/docs/index.html b/docs/index.html index 7075d53..4028cf1 100644 --- a/docs/index.html +++ b/docs/index.html @@ -3,11 +3,11 @@ - Arch Linux 安装使用教程 - ArchTutorial - Arch Linux Studio + Arch Linux安装使用教程 - ArchTutorial - Arch Linux Studio @@ -16,10 +16,10 @@ content="I9AUrsDVI86dZZUEJ2wSX4torsBJsq0bihBPHd_Efx4" /> - + - + - + - + - - - - - + /> + - Arch Linux 安装使用教程 - ArchTutorial - Arch Linux Studio -
- Arch Linux 安装使用教程 包含从 - 安装/魔法上网/美化/日常/娱乐/编程的全部...
- 如您无法访问本站,则说明您的网络环境已被当局封锁,请翻墙访问 -
- + Arch Linux安装使用教程 +
加载中...
- - - - - - - - - - - - - - - - - - - + + + + + + +