├── .gitattributes ├── .github └── workflows │ └── github_pages.yml ├── .gitignore ├── .gitmodules ├── .nojekyll ├── .reuse └── dep5 ├── CNAME ├── LICENSE ├── LICENSES └── MIT.txt ├── README.md ├── docs ├── .pages ├── CNAME ├── archive │ ├── .pages │ └── index.md ├── assets │ ├── grub_ex.png │ ├── grub_ex_fedora.png │ ├── logo.png │ ├── proton.png │ ├── silent_hill.png │ ├── silent_hill_16.png │ ├── silent_hill_32.png │ └── statusline.png ├── el │ ├── builds.md │ ├── freeipa.md │ ├── freeipa.old │ ├── index.md │ ├── nat.md │ ├── openldap.md │ ├── pxeboot.md │ ├── sysadmin.md │ └── unbound.md ├── index.md ├── misc │ ├── euphemism.md │ ├── ipv6he.md │ ├── mingw.md │ └── port465.md └── training │ └── ex362.md ├── mkdocs.yml ├── overrides └── partials │ └── comments.html ├── requirements.txt └── source ├── _static ├── css │ ├── nojs.css │ ├── prism-gruvbox-dark.css │ └── style.css ├── favicon.ico ├── img │ ├── grub_ex.png │ ├── grub_ex_fedora.png │ ├── logo.png │ ├── proton.png │ ├── silent_hill.png │ ├── silent_hill_16.png │ ├── silent_hill_32.png │ └── statusline.png └── js │ └── prism-freeipa.js ├── about └── contributors.rst ├── conf.py ├── el ├── builds.rst ├── freeipa.rst ├── nat.rst ├── openldap.rst ├── pxeboot.rst ├── sysadmin.rst └── unbound.rst ├── errata ├── removed.rst └── upcoming.rst ├── exts └── customwriter.py ├── fedora ├── backups.rst ├── btrfs.rst ├── cipc.rst ├── clang.rst ├── copr.rst ├── dnf.rst ├── dns.rst ├── docker.rst ├── emulators.rst ├── firefox.rst ├── gcc.rst ├── git.rst ├── gnometips.rst ├── grub.rst ├── iphone.rst ├── mcafee.rst ├── misc.rst ├── mpv.rst ├── nvidia.rst ├── pip.rst ├── powerline.rst ├── tmux.rst ├── vim.rst ├── winetips.rst └── xscreensaver.rst ├── index.rst ├── macos └── image.rst ├── misc ├── euphemism.rst ├── ipv6he.rst ├── mingw.rst ├── port465.rst └── vnc.rst ├── security ├── antipatterns.rst ├── myths.rst └── passwords.rst ├── themes └── sphinx_rtd_theme │ ├── __init__.py │ ├── breadcrumbs.html │ ├── footer.html │ ├── layout.html │ ├── layout_old.html │ ├── locale │ ├── de │ │ └── LC_MESSAGES │ │ │ ├── sphinx.mo │ │ │ └── sphinx.po │ ├── en │ │ └── LC_MESSAGES │ │ │ ├── sphinx.mo │ │ │ └── sphinx.po │ ├── es │ │ └── LC_MESSAGES │ │ │ ├── sphinx.mo │ │ │ └── sphinx.po │ ├── et │ │ └── LC_MESSAGES │ │ │ ├── sphinx.mo │ │ │ └── sphinx.po │ ├── fa_IR │ │ └── LC_MESSAGES │ │ │ ├── sphinx.mo │ │ │ └── sphinx.po │ ├── fr │ │ └── LC_MESSAGES │ │ │ ├── sphinx.mo │ │ │ └── sphinx.po │ ├── it │ │ └── LC_MESSAGES │ │ │ ├── sphinx.mo │ │ │ └── sphinx.po │ ├── lt │ │ └── LC_MESSAGES │ │ │ ├── sphinx.mo │ │ │ └── sphinx.po │ ├── nl │ │ └── LC_MESSAGES │ │ │ ├── sphinx.mo │ │ │ └── sphinx.po │ ├── pl │ │ └── LC_MESSAGES │ │ │ ├── sphinx.mo │ │ │ └── sphinx.po │ ├── pt │ │ └── LC_MESSAGES │ │ │ ├── sphinx.mo │ │ │ └── sphinx.po │ ├── pt_BR │ │ └── LC_MESSAGES │ │ │ ├── sphinx.mo │ │ │ └── sphinx.po │ ├── ru │ │ └── LC_MESSAGES │ │ │ ├── sphinx.mo │ │ │ └── sphinx.po │ ├── sphinx.pot │ ├── sv │ │ └── LC_MESSAGES │ │ │ ├── sphinx.mo │ │ │ └── sphinx.po │ ├── tr │ │ └── LC_MESSAGES │ │ │ ├── sphinx.mo │ │ │ └── sphinx.po │ └── zh_CN │ │ └── LC_MESSAGES │ │ ├── sphinx.mo │ │ └── sphinx.po │ ├── searchbox.html │ ├── static │ └── css │ │ └── theme.css │ ├── theme.conf │ └── versions.html └── training ├── ex362.rst ├── ex407.rst └── ex415.rst /.gitattributes: -------------------------------------------------------------------------------- 1 | source/themes/sphinx_rtd_theme/* linguist-vendored 2 | source/_static/css/prism.css linguist-vendored 3 | source/_static/js/prism.js linguist-vendored 4 | source/exts/sphinx_sitemap/* linguist-vendored 5 | Makefile linguist-vendored 6 | source/conf.py linguist-vendored 7 | *.rst linguist-detectable 8 | -------------------------------------------------------------------------------- /.github/workflows/github_pages.yml: -------------------------------------------------------------------------------- 1 | 2 | name: mkdocs build 3 | on: 4 | push: 5 | branches: 6 | - master 7 | 8 | jobs: 9 | build: 10 | runs-on: ubuntu-latest 11 | strategy: 12 | matrix: 13 | python-version: [3.12] 14 | 15 | steps: 16 | - uses: actions/checkout@v2 17 | 18 | - name: Set up Python ${{ matrix.python-version }} 19 | uses: actions/setup-python@v2 20 | with: 21 | python-version: ${{ matrix.python-version }} 22 | architecture: x64 23 | 24 | - name: Install requirements 25 | run: python3 -m pip install -r requirements.txt 26 | 27 | - name: Deploy 28 | run: python3 -m mkdocs gh-deploy --force 29 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | build/ 2 | /sphinx_rtd_theme/ 3 | *.pyc 4 | cert/ 5 | node_modules/ 6 | source/themes/sphinx_theme/.git 7 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nazunalika/linux-guide-and-hints/f75bf7297d94b1442eb74aa59120498d483bce95/.gitmodules -------------------------------------------------------------------------------- /.nojekyll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nazunalika/linux-guide-and-hints/f75bf7297d94b1442eb74aa59120498d483bce95/.nojekyll -------------------------------------------------------------------------------- /.reuse/dep5: -------------------------------------------------------------------------------- 1 | Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ 2 | Upstream-Name: sphinx-rtd-theme 3 | Upstream-Contact: Dave Snider, Read the Docs, Inc. & contributors <> 4 | Source: https://github.com/readthedocs/sphinx_rtd_theme 5 | 6 | # Sample paragraph, commented out: 7 | # 8 | # Files: src/* 9 | # Copyright: $YEAR $NAME <$CONTACT> 10 | # License: ... 11 | -------------------------------------------------------------------------------- /CNAME: -------------------------------------------------------------------------------- 1 | linuxguideandhints.com 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2019-2024 Louis Abel, Tommy Nguyen 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /LICENSES/MIT.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Linux Guide and Hints 2 | 3 | The website is live at https://linuxguideandhints.com - We are in the process of making some changes and moving things around. 4 | 5 | ### Contributions 6 | 7 | If you would like to contribute or you find an error, please open an issue/PR as necessary. 8 | 9 | This wiki relies on mkdocs. 10 | -------------------------------------------------------------------------------- /docs/.pages: -------------------------------------------------------------------------------- 1 | --- 2 | nav: 3 | - ... | index.md 4 | - Enterprise Linux: el 5 | - Training Resources: training 6 | - Misc: misc 7 | - Archives: archive 8 | -------------------------------------------------------------------------------- /docs/CNAME: -------------------------------------------------------------------------------- 1 | linuxguideandhints.com 2 | -------------------------------------------------------------------------------- /docs/archive/.pages: -------------------------------------------------------------------------------- 1 | --- 2 | nav: 3 | - ... | index.md 4 | - Security: security 5 | - Fedora: fedora 6 | -------------------------------------------------------------------------------- /docs/archive/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Archives 3 | --- 4 | 5 | This section is for archives. Most of these pages were created by one of our late 6 | contributors and have not been updated since his passing. As such, we have moved 7 | most of them here as clean up. 8 | -------------------------------------------------------------------------------- /docs/assets/grub_ex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nazunalika/linux-guide-and-hints/f75bf7297d94b1442eb74aa59120498d483bce95/docs/assets/grub_ex.png -------------------------------------------------------------------------------- /docs/assets/grub_ex_fedora.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nazunalika/linux-guide-and-hints/f75bf7297d94b1442eb74aa59120498d483bce95/docs/assets/grub_ex_fedora.png -------------------------------------------------------------------------------- /docs/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nazunalika/linux-guide-and-hints/f75bf7297d94b1442eb74aa59120498d483bce95/docs/assets/logo.png -------------------------------------------------------------------------------- /docs/assets/proton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nazunalika/linux-guide-and-hints/f75bf7297d94b1442eb74aa59120498d483bce95/docs/assets/proton.png -------------------------------------------------------------------------------- /docs/assets/silent_hill.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nazunalika/linux-guide-and-hints/f75bf7297d94b1442eb74aa59120498d483bce95/docs/assets/silent_hill.png -------------------------------------------------------------------------------- /docs/assets/silent_hill_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nazunalika/linux-guide-and-hints/f75bf7297d94b1442eb74aa59120498d483bce95/docs/assets/silent_hill_16.png -------------------------------------------------------------------------------- /docs/assets/silent_hill_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nazunalika/linux-guide-and-hints/f75bf7297d94b1442eb74aa59120498d483bce95/docs/assets/silent_hill_32.png -------------------------------------------------------------------------------- /docs/assets/statusline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nazunalika/linux-guide-and-hints/f75bf7297d94b1442eb74aa59120498d483bce95/docs/assets/statusline.png -------------------------------------------------------------------------------- /docs/el/builds.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Auto-Provisioning 3 | --- 4 | 5 | This page goes over various ways that installs can be automated without the use of PXE. Instead, we can use templated scripts with pre-configured commands, boot images, and mirrors for builds. We cover the following here: 6 | 7 | * CentOS Stream 9 8 | * Enterprise Linux 8, 9 9 | * Fedora 10 | * openSUSE 15+ 11 | * Windows Server 12 | -------------------------------------------------------------------------------- /docs/el/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Enterprise Linux 3 | --- 4 | 5 | This section contains various articles on setups for Enterprise Linux and Fedora systems. 6 | -------------------------------------------------------------------------------- /docs/el/nat.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'NAT/Router' 3 | --- 4 | 5 | This page goes over setting up a router or a simple NAT service for 6 | Enterprise Linux. 7 | 8 | ## Requirements 9 | 10 | Here are the list of requirements below. 11 | 12 | * Enterprise Linux 8, 9 or Fedora 13 | * An active internet connection to install the packages required or available internal mirrors 14 | * A system with at least two (2) network interfaces 15 | 16 | ## Tutorial 17 | 18 | ### Interface Setup 19 | 20 | To properly setup the system, a few things have to be done. 21 | 22 | 1. One interface must be the WAN interface, in most cases this is set 23 | to DHCP. 24 | 2. Another interface must be the LAN interface or a group of interfaces 25 | must become a bridge with a static address 26 | 3. `ip_forward` must be turned on - optionally if you have ipv6, turn on 27 | that forwarding as well 28 | 29 | !!! note "IPv6 and NAT" 30 | If you have an IPv6 prefix, whether it's from your ISP or it's a 31 | brokered prefix from he.net, NAT is generally not needed. Instead of 32 | using NAT for IPv6, you can just do simple forwarding. This is covered 33 | in a later section. 34 | 35 | ### FirewallD 36 | 37 | When using firewalld, Enterprise Linux 7+ and all Fedora\'s can setup a 38 | simple NAT with masquerade without having to know iptables or nftables 39 | syntax. This may be more or less ideal for some users who want to 40 | quickly get a NAT and router going. The drawback is that the syntax and 41 | knowing how the rules work are hidden behind a frontend. To setup a NAT: 42 | 43 | ``` 44 | # Tell eth0 to be our WAN 45 | % nmcli con mod eth0 connection.zone external 46 | # Tell eth1 to be our LAN (or a bridge if you have one) 47 | % nmcli con mod eth1 connection.zone internal 48 | # Doesn't hurt to re-up 49 | % nmcli con up eth0 ; nmcli con up eth1 50 | 51 | # The external zone already has masquerade on, but just in case 52 | % firewall-cmd --zone=external --add-masquerade --permanent 53 | % firewall-cmd --complete-reload 54 | % firewall-cmd --get-active-zones 55 | external 56 | interfaces: eth0 57 | internal 58 | interfaces: eth1 59 | ``` 60 | 61 | ### nftables 62 | 63 | This is for Enterprise Linux 8/9 or Fedora where nftables is the default. 64 | While iptables exists for Enterprise Linux 8 still, it is being 65 | superseded by nftables. It is recommended to stick with nftables. 66 | 67 | The syntax for nftables is a little tricky and quite different from what 68 | we may be used to with iptables. This may be an oversimplification and 69 | may or may not work. For ideas, you can view the files in /etc/nftables. 70 | This is a rough example of what I tried on migration to Enterprise Linux 71 | 8. 72 | 73 | ``` 74 | # Disable firewalld, we'll enable nftables later 75 | % systemctl disable firewalld --now 76 | % systemctl mask firewalld 77 | # Flush all rules 78 | % nft flush ruleset 79 | ``` 80 | 81 | Rest coming soon. 82 | 83 | ## IPv6 Forwarding 84 | 85 | Coming soon. 86 | 87 | ## DHCP 88 | 89 | Optional. Coming soon 90 | -------------------------------------------------------------------------------- /docs/el/unbound.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Unbound 3 | --- 4 | 5 | ## Requirements 6 | 7 | ## Setup 8 | 9 | ### Installation 10 | 11 | ``` 12 | % yum install unbound -y 13 | % systemctl enable unbound 14 | ``` 15 | 16 | ### DNS over TLS (DoT) 17 | 18 | Setting up DoT with unbound is straight forward, whether you already have a DNS server already or not. Let's go over the most basic configuration. 19 | 20 | ``` 21 | % vi /etc/unbound/unbound.conf 22 | server: 23 | . . . 24 | # Set the below to an IP address if you wish - as I have multiple VLAN's 25 | # it is just easier for me to listen everywhere 26 | interface: 0.0.0.0 27 | interface: :: 28 | # Optionally set a port - I have bind already running, so port 9053 works 29 | interface-automatic: no 30 | port: 9053 31 | . . . 32 | # Set access control rules here. I'll show a few examples with just two of 33 | # my networks 34 | # REFUSE everything 35 | access-control: 0.0.0.0/0 refuse 36 | access-control: ::0/0 refuse 37 | # Allow localhost to snoop 38 | access-control: 127.0.0.1/32 allow_snoop 39 | access-control: ::1 allow_snoop 40 | # Allow the entire localhost subnet 41 | access-control: 127.0.0.0/8 allow 42 | access-control: ::ffff:127.0.0.1 allow 43 | # Allow my main network and sandbox network 44 | access-control: 10.100.0.0/24 allow 45 | access-control: 10.100.1.0/24 allow 46 | . . . 47 | # Ensure tls-cert-bundle is set 48 | tls-cert-bundle: /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem 49 | . . . 50 | # Create the forward zone for DoT queries 51 | forward-zone: 52 | name: "." 53 | forward-tls-upstream: yes 54 | # Cloudflare 55 | forward-addr: 1.1.1.1@853#cloudflare-dns.com 56 | forward-addr: 1.0.0.1@853#cloudflare-dns.com 57 | forward-addr: 2606:4700:4700::1111@853#cloudflare-dns.com 58 | forward-addr: 2606:4700:4700::1001@853#cloudflare-dns.com 59 | # Quad9 60 | forward-addr: 9.9.9.9@853#dns.quad9.net 61 | forward-addr: 149.112.112.112@853#dns.quad9.net 62 | 63 | % systemctl enable unbound --now 64 | # If you are using bind already with forwarders, you should edit it. Example. 65 | % vi /etc/named.conf 66 | options { 67 | . . . 68 | forwarders { 69 | # This assumes your bind server and unbound server are on 70 | # the same server like I did. 71 | 127.0.0.1 port 9053; 72 | }; 73 | forward only; 74 | . . . 75 | ``` 76 | -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Linux Guide and Hints 3 | --- 4 | 5 | The source code for this page can be found on [github](https://github.com/nazunalika/linux-guide-and-hints). This page contains tutorials and generally useful information regarding packages and system administration in Fedora and Enterprise Linux (Rocky Linux, CentOS Stream). 6 | 7 | Use the navigation to the left. 8 | 9 | ## Quick Links 10 | 11 | Here are some quick links to solid documentation: 12 | 13 | * [Fedora Quick Docs](https://docs.fedoraproject.org/en-US/quick-docs/) 14 | * [Fedora Latest Release Docs](https://docs.fedoraproject.org/en-US/fedora/latest/) 15 | 16 | ## Notes 17 | 18 | Due to the number of articles out there about disabling SELinux, we felt this note was important. 19 | 20 | **Disabling SELinux is and almost always will be a terrible idea.** See our antipatterns page as well as the Red Hat Enterprise Linux documentation, Fedora Docs, and Rocky Linux documentation. 21 | -------------------------------------------------------------------------------- /docs/misc/euphemism.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: The Euphemism Review 3 | --- 4 | 5 | !!! warning 6 | This is a humorous article by contributor Louis Abel. The following content 7 | does not necessarily represent the viewpoints or opinions held by other 8 | authors on this website. 9 | 10 | Welcome to the ported edition of the "The Euphemism Review" the journal for imprecise speech in the corporate environment. 11 | 12 | Please don't say "timeframe" 13 | ---------------------------- 14 | 15 | The Eskimos have over a hundred words for what we simply call... "snow". The reason is that *snow* is important to them. It is vital to know if the snow is the kind that can be walked on without sinking, the kind that a sled runs on easily, the kind that igloos can be built from, and so on. If you ask a Eskimo for a bucket of "snow" they will have no idea what you are talking about and will, without a doubt, consider you to be an ignorant savage. 16 | 17 | Here in modern western society we have many words that relate to time, this is because time is important to us. Whether that is a blessing or a curse is is debatable, but it's normally the latter. We need to know when things will happen and how long they will take. Some of these words are: 18 | 19 | * Schedule 20 | * Calendar 21 | * Frequency, or "how often" 22 | * Daily 23 | * Monthly 24 | * Yearly 25 | * Deadline 26 | * Time 27 | * Period 28 | * Periodically 29 | 30 | Not only is "timeframe" not a word, you certainly can't use it in place of all of the above and expect to be understood even by a fluent speaker. And yes, we know that Microsoft Word seems to accept it as a word, but given their reputation... Don't be fooled. 31 | 32 | Below, here's a handy dandy table you can use to practice. 33 | 34 | | Instead of... | Use.. | 35 | |----------------------------------------------|-------------------------------------| 36 | | It has to be done in the June 1st timeframe. | The deadline is June 1st | 37 | | What timeframe do you need that by. | When do you need it. | 38 | | Let's figure the timeframes for that. | Let's make a schedule. | 39 | | What timeframe did that happen in? | When did that happen? | 40 | | Can we do that in the timeframe? | Can we do that in time? | 41 | | What's going on in your October timeframe? | What's on your calendar in October? | 42 | | Group them by timeframe. | What? | 43 | 44 | Look how clear and understandable it is. It's also shorter. Who would've thought. 45 | -------------------------------------------------------------------------------- /docs/misc/ipv6he.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Hurricane Electric IPv6 Tunnel 3 | --- 4 | 5 | On distributions that use Network Manager, you can setup an IPv6 tunnel with Hurricane Electric. Make sure you have done the following. 6 | 7 | 1. Create an account at [Hurricane Electric](https://tunnelbroker.net) 8 | 2. Click "Create Regular Tunnel" on the left hand side 9 | 3. Enter your IPv4 public IP address in the first box 10 | 4. Choose the closest tunnel server to you (in my case, it's Phoenix) - Note the IP Address (eg. 66.220.7.82) 11 | 5. Click "create tunnel" 12 | 6. Note all the information in your "tunnel details" 13 | 14 | ``` 15 | % nmcli con add type ip-tunnel \ 16 | # Name of the interface 17 | ifname sit0 \ 18 | # Tunnel protocol with the endpoint 19 | mode sit remote 66.220.7.82 -- \ 20 | # Disabling IPv4 on this interface 21 | ipv4.method disabled \ 22 | # Manual IPv6 configuration 23 | ipv6.method manual \ 24 | # IPv6 endpoint addresses (not your subnet) 25 | ipv6.address 2001:470:1f18:96::2/64 \ 26 | ipv6.gateway 2001:470:1f18:96::1/64 27 | ``` 28 | 29 | You will also need to open some parts of your firewall to allow communication. In particular, ICMP (at least type 8) should be allowed from the tunnel server for the heartbeat. 30 | 31 | After this, you should be able to assign addresses from your routed /64 on your current machine or machines in your network and be able to ping out. You can also create a /48 and make multiple /64's if you wish. 32 | 33 | It is possible to update the tunnel automatically with your IPv4 address in the event it changes. 34 | 35 | ``` 36 | % vi /etc/NetworkManager/dispatcher.d/pre-up.d/00-tunnelfix.sh 37 | #!/bin/sh 38 | user=USERNAME 39 | pass=PASSWORD 40 | tunnel=TUNNEL_ID 41 | 42 | if [ "$1" = sit0 ]; then 43 | wget -O /dev/null https://$user:$pass@ipv4.tunnelbroker.net/ipv4_end.php?tid=$tunnel 44 | fi 45 | ``` 46 | -------------------------------------------------------------------------------- /docs/misc/mingw.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: MinGW 3 | --- 4 | 5 | Original author: Tommy Nguyen 6 | 7 | To my knowledge, the best MinGW distribution is provided by Stephan T. Lavavej 8 | (a Microsoft employee who works on the C++ team) and is available on [his site](https://nuwen.net/mingw.html). 9 | It contains mingw-w64, GCC and binutils, coreutils and several other libraries 10 | and command line utilities (including git). Installation simply requires 11 | extracting to any location and using the provided bat files to open a command 12 | prompt with a preset PATH. 13 | 14 | ## Why not use WSL? 15 | 16 | They serve different purposes. The MinGW distribution contains Windows 17 | **ports** of GCC, coreutils, etc. that run natively on Windows. On the other 18 | hand, WSL attempts to allow you to run native Linux binaries on Windows. WSL2 19 | supposedly uses Hyper-V for virtualization. 20 | -------------------------------------------------------------------------------- /docs/misc/port465.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Is port 465 deprecated? 3 | --- 4 | 5 | Original author: Tommy Nguyen 6 | 7 | Last modified: Mon Aug 1 17:02 8 | 9 | !!! Note 10 | For a guide on how to setup Exim4 with Gmail and implicit TLS, see [How To Secure A Linux Server](https://github.com/imthenachoman/How-To-Secure-A-Linux-Server#the-miscellaneous). 11 | 12 | No. Some sources like [Debian's guide on Gmail and Exim4](https://wiki.debian.org/GmailAndExim4) 13 | and the StackOverflow question 14 | [What is the difference between ports 465 and 587?](https://stackoverflow.com/questions/15796530/what-is-the-difference-between-ports-465-and-587/19942206#19942206) 15 | claim that port 465 is deprecated. RFC 8314 entitled 16 | [Cleartext Considered Obsolete: Use of Transport Layer Security (TLS) for Email Submission and Access](https://tools.ietf.org/html/rfc8314) 17 | recommends that you use port 465 with implicit TLS instead of STARTTLS 18 | on port 587: 19 | 20 | In brief, this memo now recommends that: 21 | 22 | - TLS version 1.2 or greater be used for all traffic between MUAs and 23 | Mail Submission Servers, and also between MUAs and Mail Access 24 | Servers. 25 | - MUAs and Mail Service Providers (MSPs) (a) discourage the use of 26 | cleartext protocols for mail access and mail submission and 27 | (b) deprecate the use of cleartext protocols for these purposes as 28 | soon as practicable. 29 | - Connections to Mail Submission Servers and Mail Access Servers be 30 | made using "Implicit TLS" (as defined below), in preference to 31 | connecting to the "cleartext" port and negotiating TLS using the 32 | STARTTLS command or a similar command. 33 | 34 | More specifically: 35 | 36 | The STARTTLS mechanism on port 587 is relatively widely deployed due to 37 | the situation with port 465 (discussed in Section 7.3). This differs 38 | from IMAP and POP services where Implicit TLS is more widely deployed on 39 | servers than STARTTLS. It is desirable to migrate core protocols used by 40 | MUA software to Implicit TLS over time, for consistency as well as for 41 | the additional reasons discussed in Appendix A. 42 | 43 | However, some have conflated 44 | [SMTPS](https://en.wikipedia.org/wiki/SMTPS) with implicit TLS on 45 | port 465, which is not the same thing. In particular, section 7.3 of RFC 46 | 8314 explains that SMTPS was briefly assigned to port 465 and 47 | subsequently revoked: 48 | 49 | > ... 50 | > Unfortunately, some widely deployed mail software interpreted "smtps" 51 | > as "submissions" \[RFC6409\] and used that port for email submission 52 | > by default when an end user requested security during account setup. 53 | 54 | > ... 55 | > Although STARTTLS on port 587 has been deployed, it has not replaced the 56 | > deployed use of Implicit TLS submission on port 465. 57 | 58 | To reiterate, "Implicit TLS submission" which is defined in section 3 59 | is not the same as SMTPS and you should use port 465 over port 587 if 60 | possible. Another point of confusion is the use of SSL on port 465. As a 61 | result, you\'ll find many resources on the Internet claiming not to use 62 | port 465. It is true that you should prefer TLS over SSL, but port 465 63 | is not deprecated. 64 | 65 | !!! note 66 | The RFC also states: 67 | 68 | > Note that there is no significant difference between the security 69 | > properties of STARTTLS on port 587 and Implicit TLS on port 465 if the 70 | > implementations are correct and if both the client and the server are 71 | > configured to require successful negotiation of TLS prior to Message 72 | > Submission. 73 | 74 | The key phrase here being "require successful negotation". If STARTTLS 75 | is not configured this way, then it is less secure than Implicit TLS. 76 | -------------------------------------------------------------------------------- /mkdocs.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Project information 3 | site_name: Linux Guide and Hints 4 | site_url: https://linuxguideandhints.com 5 | site_description: >- 6 | Linux Guide and Hints Documentation 7 | 8 | # Repository 9 | repo_url: https://github.com/nazunalika/linux-guide-and-hints 10 | repo_name: nazunalika/linux-guide-and-hints 11 | edit_uri: edit/master/docs/ 12 | 13 | # Copyright 14 | copyright: Copyright 2025, remyabel, nazunalika 15 | 16 | # Configuration 17 | theme: 18 | name: material 19 | highlightjs: true 20 | nav_style: dark 21 | hljs_languages: 22 | - bash 23 | - perl 24 | - python 25 | - yaml 26 | - ini 27 | features: 28 | - navigation.expand 29 | - navigation.indexes 30 | - navigation.instant 31 | - navigation.top 32 | - navigation.tracking 33 | - search.highlight 34 | - search.suggest 35 | - toc.integrate 36 | logo: assets/logo.png 37 | palette: 38 | scheme: slate 39 | primary: indigo 40 | accent: blue 41 | custom_dir: overrides 42 | 43 | # Plugins 44 | plugins: 45 | - autolinks 46 | - awesome-pages 47 | - git-revision-date 48 | - search 49 | # - macros: 50 | # include_dir: docs/include 51 | 52 | # Extensions 53 | markdown_extensions: 54 | - abbr 55 | - admonition 56 | - attr_list 57 | - def_list 58 | - footnotes 59 | - meta 60 | - pymdownx.details # this allows collapsible attributions 61 | - pymdownx.emoji: 62 | emoji_index: !!python/name:materialx.emoji.twemoji 63 | emoji_generator: !!python/name:materialx.emoji.to_svg 64 | - pymdownx.superfences 65 | - pymdownx.tabbed: 66 | alternate_style: true 67 | - toc: 68 | permalink: true 69 | -------------------------------------------------------------------------------- /overrides/partials/comments.html: -------------------------------------------------------------------------------- 1 | {% if page.meta.comments %} 2 |

{{ lang.t("meta.comments") }}

3 | 4 | 20 | 21 | 22 | 56 | {% endif %} 57 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | mkdocs 2 | mkdocs-autolinks-plugin 3 | mkdocs-awesome-pages-plugin 4 | mkdocs-git-revision-date-plugin 5 | mkdocs-macros-plugin 6 | mkdocs-material 7 | mkdocs-bootswatch 8 | -------------------------------------------------------------------------------- /source/_static/css/nojs.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nazunalika/linux-guide-and-hints/f75bf7297d94b1442eb74aa59120498d483bce95/source/_static/css/nojs.css -------------------------------------------------------------------------------- /source/_static/css/prism-gruvbox-dark.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Gruvbox dark theme 3 | * 4 | * Adapted from a theme based on: 5 | * Vim Gruvbox dark Theme (https://github.com/morhetz/gruvbox) 6 | * 7 | * @author Azat S. 8 | * @version 1.0 9 | */ 10 | 11 | code[class*="language-"], 12 | pre[class*="language-"] { 13 | color: #ebdbb2; 14 | font-family: Consolas, Monaco, "Andale Mono", monospace; 15 | direction: ltr; 16 | text-align: left; 17 | white-space: pre; 18 | word-spacing: normal; 19 | word-break: normal; 20 | line-height: 1.5; 21 | 22 | -moz-tab-size: 4; 23 | -o-tab-size: 4; 24 | tab-size: 4; 25 | 26 | -webkit-hyphens: none; 27 | -moz-hyphens: none; 28 | -ms-hyphens: none; 29 | hyphens: none; 30 | } 31 | 32 | pre[class*="language-"]::-moz-selection, 33 | pre[class*="language-"] ::-moz-selection, 34 | code[class*="language-"]::-moz-selection, 35 | code[class*="language-"] ::-moz-selection { 36 | color: #fff; 37 | background: #f05e23; 38 | } 39 | 40 | pre[class*="language-"]::selection, 41 | pre[class*="language-"] ::selection, 42 | code[class*="language-"]::selection, 43 | code[class*="language-"] ::selection { 44 | color: #fff; 45 | background: #f05e23; 46 | } 47 | 48 | /* Code blocks */ 49 | pre[class*="language-"] { 50 | padding: 1em; 51 | margin: 0.5em 0; 52 | overflow: auto; 53 | } 54 | 55 | :not(pre) > code[class*="language-"], 56 | pre[class*="language-"] { 57 | background: #1d2021; 58 | } 59 | 60 | /* Inline code */ 61 | :not(pre) > code[class*="language-"] { 62 | padding: 0.1em; 63 | border-radius: 0.3em; 64 | } 65 | 66 | .token.comment, 67 | .token.prolog, 68 | .token.cdata { 69 | color: #a89984; 70 | } 71 | 72 | .token.delimiter, 73 | .token.boolean, 74 | .token.keyword, 75 | .token.selector, 76 | .token.important, 77 | .token.atrule { 78 | color: #fb4934; 79 | } 80 | 81 | .token.operator, 82 | .token.punctuation, 83 | .token.attr-name { 84 | color: #a89984; 85 | } 86 | 87 | .token.tag, 88 | .token.tag .punctuation, 89 | .token.doctype, 90 | .token.builtin { 91 | color: #fabd2f; 92 | } 93 | 94 | .token.entity, 95 | .token.number, 96 | .token.symbol { 97 | color: #d3869b; 98 | } 99 | 100 | .token.property, 101 | .token.constant, 102 | .token.variable { 103 | color: #fb4934; 104 | } 105 | 106 | .token.string, 107 | .token.char { 108 | color: #b8bb26; 109 | } 110 | 111 | .token.attr-value, 112 | .token.attr-value .punctuation { 113 | color: #a89984; 114 | } 115 | 116 | .token.url { 117 | color: #b8bb26; 118 | text-decoration: underline; 119 | } 120 | 121 | .token.function { 122 | color: #fabd2f; 123 | } 124 | 125 | .token.regex { 126 | background: #b8bb26; 127 | } 128 | 129 | .token.bold { 130 | font-weight: bold; 131 | } 132 | 133 | .token.italic { 134 | font-style: italic; 135 | } 136 | 137 | .token.inserted { 138 | background: #a89984; 139 | } 140 | 141 | .token.deleted { 142 | background: #fb4934; 143 | } 144 | -------------------------------------------------------------------------------- /source/_static/css/style.css: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 3 | * 4 | * SPDX-License-Identifier: MIT 5 | */ 6 | 7 | /* general 8 | * ------- 9 | */ 10 | 11 | a { 12 | color: #dff0ff; 13 | } 14 | 15 | a:hover { 16 | color: #01aee6; 17 | } 18 | 19 | a:visited { 20 | color: #d9eaf9; 21 | } 22 | 23 | a:visited:hover { 24 | color: #00c0ff; 25 | } 26 | 27 | h1 { 28 | color: #e7d1fd; 29 | } 30 | 31 | h2 { 32 | color: #d6b0fb; 33 | } 34 | 35 | /** 36 | * Override font-stack from RTD theme. 37 | */ 38 | body, 39 | .btn, 40 | figure[data-type=quote], 41 | h1, h2, h3, h4, h5, h6, legend, 42 | header, 43 | input[type], 44 | nav.wy-docs-nav h3, 45 | .redactor-dropdown, 46 | .redactor-editor, 47 | .rst-content .toctree-wrapper > p.caption, 48 | .sidebar .sidebar-title, 49 | textarea, 50 | th, 51 | thead, 52 | .wy-figure-controls, 53 | .wy-modal header 54 | .wy-tag-input-group 55 | { 56 | font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', 'Segoe UI Emoji', 'Apple Color Emoji', 'Noto Color Emoji', sans-serif !important; 57 | } 58 | 59 | body, html, .wy-nav-content { 60 | background: #0e1317; 61 | color: #93cbfb; 62 | } 63 | 64 | /* sidebar 65 | * ------ 66 | */ 67 | 68 | /* The original style uses data: 69 | * which violates the CSP policy 70 | */ 71 | .wy-nav-side { 72 | background-color: #151d24; 73 | } 74 | 75 | .wy-body-for-nav { 76 | background-image: none !important; 77 | } 78 | 79 | .wy-menu-vertical { 80 | position: relative; 81 | overflow-x: hidden; 82 | overflow-y: scroll; 83 | height: 100%; 84 | } 85 | 86 | .wy-nav-top { 87 | background: rgb(29, 91, 134); 88 | } 89 | 90 | .wy-nav-top i { 91 | font-size: 17.3333px; 92 | margin-top: 9px; 93 | margin-left: 15px; 94 | } 95 | 96 | .wy-menu-vertical header, .wy-menu-vertical p.caption { 97 | font-size: inherit; 98 | } 99 | 100 | .wy-menu-vertical a { 101 | font-size: inherit; 102 | color: #dff0ff !important; 103 | } 104 | 105 | .wy-menu-vertical a:hover, 106 | .wy-menu-vertical a:focus { 107 | background-color: inherit; 108 | color: #ffc000 !important; 109 | } 110 | 111 | .wy-side-nav-search > a { 112 | font-size: 120%; 113 | } 114 | 115 | .wy-side-nav-search > a:hover { 116 | color: #FFFFFF; 117 | } 118 | 119 | .wy-menu-vertical li ul { 120 | display: block; 121 | } 122 | 123 | .wy-menu-vertical ul li ul li a { 124 | padding: 0.4045em 2.427em; 125 | } 126 | 127 | .wy-menu-vertical li > a { 128 | font-weight: 700; 129 | padding: 0.4045em 1.618em; 130 | } 131 | 132 | /* content 133 | * ------- 134 | */ 135 | 136 | .btn-neutral, .btn-neutral:visited { 137 | background: #282828 !important; 138 | color: #ffc000 !important; 139 | } 140 | 141 | .btn-neutral:hover { 142 | background: #6a5000 !important; 143 | } 144 | 145 | .wy-nav-content { 146 | max-width: unset; 147 | } 148 | 149 | .rst-content code, .rst-content .important { 150 | all: unset; 151 | } 152 | 153 | .rst-content :not(pre) > code { 154 | padding: 2px 4px; 155 | font-size: 90%; 156 | color: #aaffe3; 157 | background-color: #0e1317; 158 | border-radius: 4px; 159 | } 160 | 161 | .rst-content tt.literal, .rst-content tt.literal, .rst-content code.literal { 162 | color: #aaffe3; 163 | } 164 | 165 | .breadcrumb { 166 | background-color: #e3f2fd; 167 | } 168 | 169 | .wy-side-nav-search { 170 | color: initial; 171 | background-color: rgb(29, 91, 134); 172 | } 173 | 174 | pre[class*="language-"] { 175 | border: 0; 176 | border-radius: 4px; 177 | } 178 | 179 | pre { 180 | border: 0; 181 | } 182 | 183 | footer { 184 | color: #FFF; 185 | } 186 | 187 | .rst-content .section ol li > ol, .rst-content .section ol li > ul, .rst-content .section ul li > ol, .rst-content .section ul li > ul { 188 | margin-bottom: 0px !important; 189 | } 190 | 191 | .rst-content .section ol li > *, .rst-content .section ul li > * { 192 | margin-top: 0px !important; 193 | } 194 | 195 | .rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td, .wy-table-backed, .wy-table-odd td, .wy-table-striped tr:nth-child(2n-1) td { 196 | background-color: #121517; 197 | } 198 | 199 | .rst-content table.docutils thead, .rst-content table.field-list thead, .wy-table thead { 200 | color: inherit; 201 | } 202 | 203 | .admonition *:not(.first) { 204 | color: #060f17; 205 | } 206 | 207 | .admonition *:not(.first) .pre { 208 | color: #aaffe3; 209 | } 210 | 211 | .rst-content .toc-backref { 212 | color: inherit; 213 | } 214 | 215 | .rst-content table.docutils.footnote, html.writer-html4 .rst-content table.docutils.citation, html.writer-html5 .rst-content dl.footnote { 216 | color: #FFF; 217 | } 218 | -------------------------------------------------------------------------------- /source/_static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nazunalika/linux-guide-and-hints/f75bf7297d94b1442eb74aa59120498d483bce95/source/_static/favicon.ico -------------------------------------------------------------------------------- /source/_static/img/grub_ex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nazunalika/linux-guide-and-hints/f75bf7297d94b1442eb74aa59120498d483bce95/source/_static/img/grub_ex.png -------------------------------------------------------------------------------- /source/_static/img/grub_ex_fedora.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nazunalika/linux-guide-and-hints/f75bf7297d94b1442eb74aa59120498d483bce95/source/_static/img/grub_ex_fedora.png -------------------------------------------------------------------------------- /source/_static/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nazunalika/linux-guide-and-hints/f75bf7297d94b1442eb74aa59120498d483bce95/source/_static/img/logo.png -------------------------------------------------------------------------------- /source/_static/img/proton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nazunalika/linux-guide-and-hints/f75bf7297d94b1442eb74aa59120498d483bce95/source/_static/img/proton.png -------------------------------------------------------------------------------- /source/_static/img/silent_hill.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nazunalika/linux-guide-and-hints/f75bf7297d94b1442eb74aa59120498d483bce95/source/_static/img/silent_hill.png -------------------------------------------------------------------------------- /source/_static/img/silent_hill_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nazunalika/linux-guide-and-hints/f75bf7297d94b1442eb74aa59120498d483bce95/source/_static/img/silent_hill_16.png -------------------------------------------------------------------------------- /source/_static/img/silent_hill_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nazunalika/linux-guide-and-hints/f75bf7297d94b1442eb74aa59120498d483bce95/source/_static/img/silent_hill_32.png -------------------------------------------------------------------------------- /source/_static/img/statusline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nazunalika/linux-guide-and-hints/f75bf7297d94b1442eb74aa59120498d483bce95/source/_static/img/statusline.png -------------------------------------------------------------------------------- /source/about/contributors.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | Contributors 6 | ============ 7 | 8 | `nazunalika `__ - Linux System Engineer 9 | 10 | `remyabel `__ - I am not affiliated with Rocky 11 | Linux in any capacity. 12 | 13 | `xamiel `__ - Security engineer 14 | 15 | -------------------------------------------------------------------------------- /source/el/builds.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | Auto-Provisioning 6 | ^^^^^^^^^^^^^^^^^ 7 | 8 | Original author: nazunalika 9 | 10 | Last modified: Mon Aug 1 17:02 11 | 12 | This page goes over various ways that installs can be automated without the use of PXE. Instead, we can use templated scripts with pre-configured commands, boot images, and mirrors for builds. We cover the following here: 13 | 14 | * CentOS Stream 9 15 | * Enterprise Linux 8, 9 16 | * Fedora 17 | * openSUSE 15+ 18 | * Windows Server 19 | 20 | -------------------------------------------------------------------------------- /source/el/nat.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | NAT/Router 6 | ^^^^^^^^^^ 7 | 8 | Original author: nazunalika 9 | 10 | Last modified: Mon Aug 1 17:02 11 | 12 | .. meta:: 13 | :description: How to setup and configure a router and/or a simple NAT service in Enterprise Linux 14 | 15 | This page goes over setting up a router or a simple NAT service for Enterprise Linux. 16 | 17 | .. contents:: 18 | 19 | Requirements 20 | ------------ 21 | 22 | Here are the list of requirements below. 23 | 24 | * Enterprise Linux 8, 9 or Fedora 25 | * An active internet connection to install the packages required or available internal mirrors 26 | * A system with at least two (2) network interfaces 27 | 28 | Tutorial 29 | -------- 30 | 31 | Interface Setup 32 | +++++++++++++++ 33 | 34 | To properly setup the system, a few things have to be done. 35 | 36 | #. One interface must be the WAN interface, in most cases this is set to DHCP. 37 | #. Another interface must be the LAN interface or a group of interfaces must become a bridge with a static address 38 | #. ip_forward must be turned on - optionally if you have ipv6, turn on that forwarding as well 39 | 40 | .. note:: IPv6 and NAT 41 | 42 | If you have an IPv6 prefix, whether it's from your ISP or it's a brokered prefix from he.net, NAT is generally not needed. Instead of using NAT for IPv6, you can just do simple forwarding. This is covered in a later section. 43 | 44 | FirewallD 45 | +++++++++ 46 | 47 | When using firewalld, Enterprise Linux 7+ and all Fedora's can setup a simple NAT with masquerade without having to know iptables or nftables syntax. This may be more or less ideal for some users who want to quickly get a NAT and router going. The drawback is that the syntax and knowing how the rules work are hidden behind a frontend. To setup a NAT: 48 | 49 | .. code-block:: shell 50 | 51 | # Tell eth0 to be our WAN 52 | % nmcli con mod eth0 connection.zone external 53 | # Tell eth1 to be our LAN (or a bridge if you have one) 54 | % nmcli con mod eth1 connection.zone internal 55 | # Doesn't hurt to re-up 56 | % nmcli con up eth0 ; nmcli con up eth1 57 | 58 | # The external zone already has masquerade on, but just in case 59 | % firewall-cmd --zone=external --add-masquerade --permanent 60 | % firewall-cmd --complete-reload 61 | % firewall-cmd --get-active-zones 62 | external 63 | interfaces: eth0 64 | internal 65 | interfaces: eth1 66 | 67 | iptables 68 | ++++++++ 69 | 70 | iptables was replaced by nftables. 71 | 72 | nftables 73 | ++++++++ 74 | 75 | .. warning:: Enterprise Linux 8 or Fedora Only 76 | 77 | This is for Enterprise Linux 8 or Fedora where nftables is the default. While iptables exists for Enterprise Linux 8 still, it is being superseded by nftables. It is recommended to stick with nftables. 78 | 79 | The syntax for nftables is a little tricky and quite different from what we may be used to with iptables. This may be an oversimplification and may or may not work. For ideas, you can view the files in /etc/nftables. This is a rough example of what I tried on migration to Enterprise Linux 8. 80 | 81 | .. code-block:: shell 82 | 83 | # Disable firewalld, we'll enable nftables later 84 | % systemctl disable firewalld --now 85 | % systemctl mask firewalld 86 | # Flush all rules 87 | % nft flush ruleset 88 | 89 | Rest coming soon. 90 | 91 | IPv6 Forwarding 92 | +++++++++++++++ 93 | 94 | Coming soon. 95 | 96 | DHCP 97 | ++++ 98 | 99 | Optional. Coming soon 100 | -------------------------------------------------------------------------------- /source/el/unbound.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | Unbound 6 | ^^^^^^^ 7 | 8 | Original author: nazunalika 9 | 10 | Last modified: Mon Aug 1 17:02 11 | 12 | .. meta:: 13 | :description: How to install/configure Unbound on Enterprise Linux for DNS forwarding for a network or a standalone machine. 14 | 15 | Requirements 16 | ------------ 17 | 18 | Setup 19 | ----- 20 | 21 | Installation 22 | ++++++++++++ 23 | 24 | .. code:: shell 25 | 26 | % yum install unbound -y 27 | % systemctl enable unbound 28 | 29 | DNS over TLS (DoT) 30 | ++++++++++++++++++ 31 | 32 | Setting up DoT with unbound is straight forward, whether you already have a DNS server already or not. Let's go over the most basic configuration. 33 | 34 | .. code:: shell 35 | 36 | % vi /etc/unbound/unbound.conf 37 | server: 38 | . . . 39 | # Set the below to an IP address if you wish - as I have multiple VLAN's 40 | # it is just easier for me to listen everywhere 41 | interface: 0.0.0.0 42 | interface: :: 43 | # Optionally set a port - I have bind already running, so port 9053 works 44 | interface-automatic: no 45 | port: 9053 46 | . . . 47 | # Set access control rules here. I'll show a few examples with just two of 48 | # my networks 49 | # REFUSE everything 50 | access-control: 0.0.0.0/0 refuse 51 | access-control: ::0/0 refuse 52 | # Allow localhost to snoop 53 | access-control: 127.0.0.1/32 allow_snoop 54 | access-control: ::1 allow_snoop 55 | # Allow the entire localhost subnet 56 | access-control: 127.0.0.0/8 allow 57 | access-control: ::ffff:127.0.0.1 allow 58 | # Allow my main network and sandbox network 59 | access-control: 10.100.0.0/24 allow 60 | access-control: 10.100.1.0/24 allow 61 | . . . 62 | # Ensure tls-cert-bundle is set 63 | tls-cert-bundle: /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem 64 | . . . 65 | # Create the forward zone for DoT queries 66 | forward-zone: 67 | name: "." 68 | forward-tls-upstream: yes 69 | # Cloudflare 70 | forward-addr: 1.1.1.1@853#cloudflare-dns.com 71 | forward-addr: 1.0.0.1@853#cloudflare-dns.com 72 | forward-addr: 2606:4700:4700::1111@853#cloudflare-dns.com 73 | forward-addr: 2606:4700:4700::1001@853#cloudflare-dns.com 74 | # Quad9 75 | forward-addr: 9.9.9.9@853#dns.quad9.net 76 | forward-addr: 149.112.112.112@853#dns.quad9.net 77 | 78 | % systemctl enable unbound --now 79 | # If you are using bind already with forwarders, you should edit it. Example. 80 | % vi /etc/named.conf 81 | options { 82 | . . . 83 | forwarders { 84 | # This assumes your bind server and unbound server are on 85 | # the same server like I did. 86 | 127.0.0.1 port 9053; 87 | }; 88 | forward only; 89 | . . . 90 | 91 | 92 | -------------------------------------------------------------------------------- /source/errata/removed.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | Errata 6 | ^^^^^^ 7 | 8 | Original author: Tommy Nguyen 9 | 10 | Last modified: Thu Sep 29 03:59 11 | 12 | Wondering what happened to a removed article or information? This section will 13 | explain what went missing and why. 14 | 15 | Removed articles 16 | ---------------- 17 | 18 | 09-29-2022 19 | 20 | - dnscrypt has been moved to dns 21 | 22 | 07-31-2022 23 | 24 | - Remove packaging and kubernetes for being outdated. 25 | 26 | 07-26-2022 27 | 28 | - negativo was renamed to nvidia. 29 | 30 | 07-24-2022 31 | 32 | - Wayland article contains outdated information, so removed. 33 | 34 | 02-13-2022 35 | 36 | - Removed outdated information from fedora/emulators, slated to be rewritten. 37 | 38 | 11-04-2021 39 | 40 | - Removed gitlab page because GitLab sucks. 41 | 42 | 07-08-2021 43 | 44 | - Removed gettingstarted because it contains outdated information. 45 | 46 | 06-28-2021 47 | 48 | - Removed fedora/virtualbox and fedora/vmware. We recommend using KVM and 49 | virt-manager instead. Also, I don't use either so I wouldn't be able to keep 50 | the articles up to date anyway. 51 | 52 | 06-06-2021 53 | 54 | - Removed fedora/pulseaudio because Pipewire is now used by default. 55 | - Removed fedora/bup article because it contains outdated information. The 56 | README for the project is outdated, so I have no motivation to provide info 57 | for it currently. I may revisit this later. 58 | 59 | 05-18-2021 60 | 61 | - The centos pages were renamed to el to be more general and include Rocky 62 | Linux information. 63 | 64 | 12-17-2020 65 | 66 | - training/ex294 was removed, as it was not a fit for this website and was 67 | missing credit to the original author nor could it be modified in a manner to 68 | suit us. people who are training for the ex294 are encouraged to look for the 69 | EX407 article on `lisenet `__ 70 | as it will be sufficient enough to train for the exam. I personally highly 71 | recommend using this as a resource instead. 72 | 73 | 12-01-2019 74 | 75 | - misc/security was renamed to security/antipatterns. 76 | 77 | 11-17-2019 78 | 79 | - Removed Blockify article because it is no longer maintained. Spotify prohibits 80 | ad blockers. 81 | 82 | - Removed gentoo/gdm article because the bug is now fixed. 83 | 84 | Removed information 85 | ------------------- 86 | 87 | 07-17-2021 88 | 89 | - Removed information on running Proton manually as it is not supported and 90 | doesn't seem to work reliably with the latest version of Proton-GE. 91 | 92 | 02-24-2021 93 | 94 | - Remove ESNI info which seems to be broken/vaporware at the moment. 95 | 96 | 02-02-2021 97 | 98 | - Remove manual Wine installation tips for New Vegas and outdated modding 99 | instructions. Prefer Proton and the Viva New Vegas installation guide. 100 | 101 | 12-06-2019 102 | 103 | - Remove PCSX2 instructions since the RPMFusion package no longer exists. You 104 | should install it via Flatpak instead. 105 | 106 | 11-29-2019 107 | 108 | - Removed Git workflow section 109 | 110 | 11-17-2019 111 | 112 | - Removed COPR links that no longer exist. 113 | -------------------------------------------------------------------------------- /source/errata/upcoming.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | Upcoming 6 | ^^^^^^^^ 7 | 8 | Original author: nazunalika 9 | 10 | Last modified: Mon Aug 1 17:02 11 | 12 | Wondering what we'll be doing next? This section will explain. 13 | 14 | Annoucements 15 | ------------ 16 | 17 | 05-01-2021 18 | 19 | Rocky Linux 8 RC1 has been released. Most guides should be eventually changed to point to Rocky Linux instead of CentOS. 20 | -------------------------------------------------------------------------------- /source/exts/customwriter.py: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | # 3 | # SPDX-License-Identifier: MIT 4 | 5 | from docutils import nodes 6 | from docutils.parsers.rst import roles 7 | 8 | from sphinx import addnodes 9 | from sphinx.writers.html import Writer, HTMLTranslator as BaseTranslator 10 | 11 | 12 | def setup(app): 13 | app.set_translator("html", HTMLTranslator) 14 | 15 | return {"version": "latest"} 16 | 17 | 18 | class HTMLWriter(Writer): 19 | def __init__(self, builder): 20 | Writer.__init__(self) 21 | self.builder = builder 22 | 23 | 24 | class HTMLTranslator(BaseTranslator): 25 | def __init__(self, builder, *args, **kwds): 26 | BaseTranslator.__init__(self, builder, *args, **kwds) 27 | 28 | def visit_literal_block(self, node): 29 | if node.rawsource != node.astext(): 30 | # most probably a parsed-literal block -- don't highlight 31 | return BaseTranslator.visit_literal_block(self, node) 32 | lang = self.builder.config.highlight_language 33 | if "language" in node: 34 | lang = node["language"] 35 | highlighted = node[0] 36 | 37 | html = '
%s
' % (lang, highlighted) 38 | 39 | self.body.append(html) 40 | 41 | raise nodes.SkipNode 42 | -------------------------------------------------------------------------------- /source/fedora/btrfs.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | BTRFS 6 | ^^^^^ 7 | 8 | Original author: Tommy Nguyen 9 | 10 | Last modified: Mon Aug 1 17:02 11 | 12 | By default Fedora now uses BTRFS instead of EXT4. While you can convert your 13 | system from EXT4 to BTRFS, we recommend doing a clean install instead. 14 | 15 | At the time of writing, Fedora does not provide any services for automatic 16 | scrubs. Doing so is simple however: 17 | 18 | .. code-block:: bash 19 | 20 | sudo btrfs scrub start -B (df --output=source / | tail -n 1) 21 | 22 | And you can stick it in a crontab or systemd timer if you want. 23 | 24 | If you need to run a check, the filesystem should be unmounted. It is not 25 | recommended to use ``btrfs check --repair`` without consulting someone else 26 | first. If running from a live CD, the commands will probably look something 27 | like: 28 | 29 | .. code-block:: bash 30 | 31 | sudo cryptsetup luksOpen /dev/sdaX myvolume 32 | sudo btrfs check -p /dev/mapper/myvolume 33 | 34 | If you see diagnostics about the free space cache, then you can run: 35 | 36 | .. code-block:: bash 37 | 38 | sudo btrfs check --clear-space-cache v1 /dev/mapper/myvolume 39 | 40 | v1 is currently the default, however, replace with v2 if necessary. 41 | -------------------------------------------------------------------------------- /source/fedora/cipc.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | Cisco IP Communicator 6 | ^^^^^^^^^^^^^^^^^^^^^ 7 | 8 | Original author: Tommy Nguyen 9 | 10 | Last modified: Mon Aug 1 17:02 11 | 12 | Cisco IP Communicator is a SoftPhone for VOIP communications. Mainly 13 | used for Corporations that have Cisco desk phones or users who are 14 | remote. The issue is that Cisco Jabber, a SIP client, nor the IP 15 | Communicator have Linux versions. Wine will work, but it's normally 16 | troublesome to setup or get it working correctly. There were various 17 | issues: 18 | 19 | .. note:: Issues 20 | 21 | * Moving the Window would crash the application 22 | * After a crash, it was near impossible to get it to open back up 23 | * There was a horrendous noise crackling issue (much like with Skype) 24 | * (VPN/Network) Calls would result in no sound 25 | 26 | Installing via PlayOnLinux 27 | -------------------------- 28 | 29 | 1. Install PlayOnLinux 30 | 31 | 2. Open PlayOnLinux, install a non-listed program 32 | 33 | 3. Select all boxes: Use another version of Wine (only if you want to try another version), Configure Wine, Install some libraries 34 | 35 | 4. Use the system wine first. You can try another version if you'd like. 36 | 37 | 5. Configure Wine -> Override libraries for crypt32, run as Windows XP 38 | 39 | 6. Install some libraries -> POL_Function_OverrideDLL, POL_Install_corefonts, POL_Install_crypt32, POL_Internal_InstallFonts 40 | 41 | 7. Install the application normally by selecting the msi. 42 | 43 | 8. It will crash at the end. This is normal. 44 | 45 | 9. Make a shortcut for communicatork9. 46 | 47 | 10. Run the program normally. It will try a audio tuning wizard. This should succeed. If you hear crackling, this is OK. 48 | 49 | 11. Configure your phone as necessary. 50 | 51 | Installing via Regular Wine 52 | --------------------------- 53 | 54 | Most of the steps used for PlayOnLinux can be done in a regular wineprefix. Ensure corefonts is at least done. 55 | 56 | Pulse Audio 57 | ----------- 58 | 59 | Many VOIP applications have a sound crackling issue. Skype is no exception. 60 | In a different part of this guide, there is a trick to making Skype be OK. 61 | However, that's for Skype. To fix it system wide, we can do this. 62 | 63 | .. code-block:: bash 64 | 65 | # sed -i.bak ’/load-module module-udev-detect/ s/$/ tsched=0/’ /etc/pulse/default.pa 66 | 67 | Killing pulseaudio or restarting your system will allow this to take affect. 68 | 69 | The result. 70 | 71 | .. code-block:: none 72 | 73 | ### Automatically load driver modules depending on the hardware available 74 | .ifexists module-udev-detect.so 75 | load-module module-udev-detect tsched=0 76 | .else 77 | 78 | -------------------------------------------------------------------------------- /source/fedora/clang.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | Clang 6 | ^^^^^ 7 | 8 | Original author: Tommy Nguyen 9 | 10 | Last modified: Mon Aug 1 17:02 11 | 12 | MSan line numbers 13 | ----------------- 14 | 15 | Install the ``llvm`` package, not just ``clang``. MemorySanitizer requires the ``llvm-symbolizer`` binary to display files/line numbers. 16 | 17 | clang-format 18 | ------------ 19 | 20 | Installing ``clang`` via the package manager only grabs the ``clang-format`` binary, which doesn't have vim integration. Grab the python script from llvm directly, i.e their `github page `_. Put it somewhere then add the following to your ``.vimrc``: 21 | 22 | .. code-block:: bash 23 | 24 | map <C-K> :py3f /home/tom/Test/C++/clang-format.py<cr> 25 | imap <C-K> <c-o>:py3f /home/tom/Test/C++/clang-format.py<cr> 26 | 27 | This script requires the ``clang-format`` binary to be installed. Note that I'm deliberately using ``py3f`` instead of ``pyf`` under the assumption that you are running at least one Python 3 plugin. Otherwise stick with ``pyf``. 28 | -------------------------------------------------------------------------------- /source/fedora/copr.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | COPR 6 | ^^^^ 7 | 8 | Original author: Tommy Nguyen 9 | 10 | Last modified: Mon Aug 1 17:02 11 | 12 | We provide up-to-date RPM's for some packages located at our copr. They are typically updated at release time of the software. 13 | 14 | * `gzdoom `__ 15 | * `atheme `__ 16 | * `solanum (ircd) `__ 17 | 18 | The sources can be found `on Github `__. 19 | 20 | Additionally, until Firejail and libimobiledevice get newer versions in the 21 | repos, we have `copr versions available 22 | `_. 23 | 24 | gzdoom 25 | ------ 26 | 27 | The gzdoom RPM package provides the following: 28 | 29 | * A proper desktop file 30 | * Compatibility with FluidSynth 2.x 31 | * Fallback soundfont to prevent gzdoom crashes when none are available 32 | * Static linking (as pushed by the source code by default) 33 | 34 | It currently recommends freedoom, but it can safely be ignored or removed after installation. 35 | 36 | ircd 37 | ---- 38 | 39 | The irc repo provides atheme (a services daemon) and charybdis (an irc daemon). At one point, we packaged inspircd, but it was removed as the developers decided to keep reinventing the wheel with how it gets built. 40 | 41 | * `solanum `__ 42 | * `atheme `__ 43 | 44 | The packages provide the following: 45 | 46 | * Standardized directories (to comply with FHS) 47 | * PPC64LE support where possible 48 | * AARCH64 support where possible 49 | * No code modifications (with the exception of specific packages that may never make it upstream) 50 | * Default configurations with examples 51 | 52 | -------------------------------------------------------------------------------- /source/fedora/dnf.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | dnf 6 | ^^^ 7 | 8 | Original author: Tommy Nguyen 9 | 10 | Last modified: Mon Aug 1 17:02 11 | 12 | dnf comes with `plugins 13 | `_ that some 14 | people are not aware of. Tracer allows you to see what applications need 15 | restarting after upgrading packages. This is necessary to ensure stability of 16 | your system. Otherwise you may experience weird behavior or crashing overtime. 17 | Sometimes if there's too many applications or critical applications to restart 18 | you should just reboot your system, otherwise tracer can tell you which 19 | applications to restart. 20 | 21 | First, install ``dnf-plugins-extras-tracer``. Then the next time you upgrade your 22 | packages you should see output like: 23 | 24 | .. code-block:: none 25 | 26 | You should restart: 27 | * Some applications using: 28 | sudo systemctl restart NetworkManager 29 | 30 | * These applications manually: 31 | dnf 32 | firefox 33 | pipewire-media-session 34 | 35 | For more information run: 36 | sudo tracer -iat 1624024025.9470344 37 | 38 | You can run the command shown above to ensure nothing else needs to be 39 | restarted. 40 | 41 | Note that running ``dnf upgrade`` inside a desktop environment is technically 42 | unsupported. It is recommended that you either run it from a tty or by using 43 | ``dnf offline-upgrade`` like so: 44 | 45 | .. code-block:: bash 46 | 47 | dnf offline-upgrade download 48 | dnf offline-upgrade reboot 49 | 50 | If you want dnf to automatically download and install upgrades in the 51 | background, you can use `dnf-automatic 52 | `_. 53 | -------------------------------------------------------------------------------- /source/fedora/dns.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | DNS 6 | ^^^ 7 | 8 | Original author: Tommy Nguyen 9 | 10 | There are various DNS solutions available on Fedora, including but not limited 11 | to dnsmasq, BIND, Unbound, etc. systemd-resolved has some overlapping 12 | functionality with Unbound and other solutions, but is known to be buggy and 13 | feature incomplete. dnscrypt-proxy is not that widely used, but contains 14 | blocking and a built-in DNS-over-HTTPS server. Unbound can be combined with 15 | dnscrypt-proxy for example by forwarding requests, however, they overlap with 16 | blocking capabilities and caching. Generally speaking, you would use 17 | dnscrypt-proxy for DNS-over-HTTPS and other solutions for DNS-over-TLS. 18 | 19 | 20 | Interoperability with systemd-resolved 21 | -------------------------------------- 22 | 23 | A lot of guides suggest disabling ``systemd-resolved`` when using dnscrypt. 24 | However, it is relatively straight forward to get it working. A couple of things to note: 25 | 26 | - ``systemd-resolved`` will not do any caching when it detects another resolver running 27 | on localhost (i.e, dnscrypt), so ``resolvectl`` statistics will be misleading 28 | - it will claim no DNSSEC support, although we can test this later 29 | 30 | One footgun is that ``systemd-resolved`` will use a fallback resolver if DNS 31 | resolution doesn't work for some reason. This is obviously undesirable because 32 | it might result in traffic being sent unencrypted. The solution is to ensure 33 | that traffic is only sent to ``dnscrypt-proxy`` and that there are no fallback 34 | resolvers. 35 | 36 | First, in Network Manager, ensure that your DNS server points to ``127.0.0.1``. 37 | Then, we're going to create a config file in 38 | ``/etc/systemd/resolved.conf.d/dns_servers.conf`` with the following contents: 39 | 40 | .. code-block:: none 41 | 42 | [Resolve] 43 | DNS=127.0.0.1 44 | Domains=~. 45 | 46 | If everything worked correctly, running ``resolvectl status`` should show something similar to: 47 | 48 | .. code-block:: none 49 | 50 | Global 51 | Protocols: LLMNR=resolve -mDNS -DNSOverTLS DNSSEC=no/unsupported 52 | resolv.conf mode: stub 53 | Current DNS Server: 127.0.0.1 54 | DNS Servers: 127.0.0.1 55 | DNS Domain: ~. 56 | 57 | Now how do we actually test if everything is working properly? 58 | 59 | - For DNSSEC, use https://wander.science/projects/dns/dnssec-resolver-test/ 60 | - For QNAME minimization, run ``dig qnamemintest.internet.nl txt`` 61 | - For blocking, you can either enable logging in dnscrypt or run ``resolvectl 62 | query`` for a domain you expect to be blocked. ``dig`` should also show a 63 | message saying the query was blocked locally by your resolver 64 | - For leaking, https://dnsleaktest.com/ 65 | -------------------------------------------------------------------------------- /source/fedora/docker.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | Docker 6 | ^^^^^^ 7 | 8 | Original author: Tommy Nguyen 9 | 10 | Last modified: Mon Aug 1 17:02 11 | 12 | Changing the data directory 13 | --------------------------- 14 | 15 | By default on Fedora, the directory Docker stores data in (images, etc.) is ``/var/lib/docker``. 16 | Rather than changing the systemd service file, you can simply create ``/etc/docker/daemon.json``:: 17 | 18 | { 19 | "graph": "/mnt" 20 | } 21 | 22 | .. note:: 23 | 24 | This page previously recommended setting the storage driver. If it's specified in both the config file 25 | and as a flag (as it is in recent versions of Fedora), Docker will fail to start. 26 | 27 | ``/mnt`` should point to the root directory. For example, if you specify ``/mnt/docker``, the final 28 | path is ``/mnt/docker/docker``. 29 | 30 | To ensure that the directory has the proper selinux contexts (not doing so will result in obscure errors), 31 | you can copy over the directory structure by doing: 32 | 33 | .. code-block:: bash 34 | 35 | cp -aR /var/lib/docker /path/to/new/directory 36 | 37 | After that, reload the changes (it may be a good idea to delete or backup the old directory): 38 | 39 | .. code-block:: bash 40 | 41 | systemctl daemon-reload 42 | systemctl restart docker 43 | 44 | After that, you can view ``docker info`` to verify your changes. 45 | 46 | Credit goes to `Piotr Król's StackOverflow answer `_. 47 | 48 | Podman 49 | ------ 50 | 51 | Although it is difficult to move away from Docker due to many projects relying 52 | on it, we generally recommend using `podman `_ instead. It 53 | has a Docker compatible CLI, is daemonless and allows running the containers 54 | without root privileges. While Docker has a rootless mode now, it is 55 | experimental and a hacky workaround. For a ``docker-compose`` alternative, see 56 | `podman-compose `_. 57 | 58 | Why does it matter? Docker's security model is inherently flawed. Anyone in the 59 | docker group for all intents and purposes has "root" privileges and complete 60 | access to the socket. Many tools also recommend you mount the docker socket 61 | within a container (which is terribly insecure), but developers are willing to 62 | take this security risk to make their lives a little easier. [#f1]_ 63 | 64 | There is a podman wrapper called `Toolbox 65 | `_ that 66 | allows you to transparently spin up containers as a scratch space. For example, 67 | you might want to build a project from source without polluting your system 68 | with ``devel`` packages. 69 | 70 | .. rubric:: Footnotes 71 | 72 | .. [#f1] See 73 | https://cheatsheetseries.owasp.org/cheatsheets/Docker_Security_Cheat_Sheet.html 74 | and https://github.com/containrrr/watchtower. 75 | -------------------------------------------------------------------------------- /source/fedora/emulators.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | Emulators 6 | ^^^^^^^^^ 7 | 8 | Original author: Tommy Nguyen 9 | 10 | Last modified: Mon Aug 1 17:02 11 | 12 | Kega Fusion 13 | ----------- 14 | 15 | Dependencies 16 | ************ 17 | 18 | To get Kega to run on Fedora, install the following dependencies: 19 | 20 | .. code-block:: bash 21 | 22 | dnf install alsa-plugins-pulseaudio.i686 mesa-dri-drivers.i686 mesa-libGLU.i686 gtk2.i686 alsa-lib.i686 libSM.i686 23 | 24 | Configuration 25 | ************* 26 | 27 | The following assumes a new install. 28 | 29 | .. code-block:: bash 30 | 31 | # Fresh configuration, skip if you already have one 32 | % mkdir ~/.Kega\ Fusion 33 | % cat > ~/.Kega\ Fusion/Fusion.ini <<EOF 34 | ALSADeviceName=default 35 | libmpg123path=/usr/lib/libmpg123.so.0 36 | EOF 37 | # Make a desktop file 38 | % mkdir -p ~/.local/share/icons/hicolor/256x256 39 | % wget -q -O ~/.local/share/icons/hicolor/256x256/kega-fusion.png http://trya.alwaysdata.net/linux/icons/kega-fusion.png 40 | % cat > ~/.local/share/applications/Fusion.desktop <<EOF 41 | [Desktop Entry] 42 | Version=1.0 43 | Type=Application 44 | Exec=/home/username/Games/Fusion/Fusion 45 | Name=Kega Fusion 46 | GenericName=Sega Emulator 47 | Comment=Sega Emulator 48 | Icon=kega-fusion 49 | Categories=Game;Emulator; 50 | 51 | 52 | No Sound? 53 | ********* 54 | 55 | Make sure all dependencies are met above. If you've already installed them and still have no sound and you already have a Fusion.ini file (meaning you've ran it once before), change ALSADeviceName to 'default' in Fusion.ini, open Kega, click 'Sound' and click 'Disable Sound' and ensure the checkmark goes away. 56 | -------------------------------------------------------------------------------- /source/fedora/firefox.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | Firefox 6 | ^^^^^^^ 7 | 8 | Original author: Tommy Nguyen 9 | 10 | Last modified: Mon Aug 1 17:02 11 | 12 | arkenfox/user.js 13 | ---------------- 14 | 15 | The recommended way of managing config settings nowadays is `arkenfox 16 | `_. Help can be found in the `wiki 17 | `_. 18 | 19 | For historical purposes, advice on individual settings can be found below. Note 20 | however that these settings may be deprecated or inactive in the future. 21 | 22 | Disable automatic redirect to a website if typing an invalid URL 23 | ---------------------------------------------------------------- 24 | 25 | Example, you type ``firefox build/html/fedora/gcc.rst`` (where gcc.rst doesn't exist) and it opens up ``build.com/...``. Go to ``about:config`` and set ``browser.fixup.alternate.enabled`` to ``false``. 26 | 27 | Glitchy UI when using custom GTK theme 28 | -------------------------------------- 29 | 30 | If you are using a custom GTK theme for your window manager, you need to instruct Firefox to use the default theme. On XFCE, this will be something like: 31 | 32 | .. code-block:: bash 33 | 34 | env GTK_THEME=Adwaita:light firefox 35 | 36 | If that's inconvenient, you can add the change to Firefox directly. Go to ``about:config`` and add a new key called ``widget.content.gtk-theme-override``. Set the value to ``Adwaita:light`` or whatever you prefer. 37 | 38 | Forcing dark theme 39 | ------------------ 40 | 41 | By default, Firefox will use your system preference to determine whether or not 42 | to use a dark theme, but does not expose this option. In ``about:config``, 43 | create a new entry called ``ui.systemUsesDarkTheme`` and set it to ``1``. 44 | 45 | If you experience a "flashing" white background when loading a new tab, then 46 | you need a custom ``userContent.css`` file. First, enable 47 | ``toolkit.legacyUserProfileCustomizations.stylesheets``. Then create a 48 | ``chrome`` folder in your user profile and populate ``userContent.css`` with 49 | the following contents: 50 | 51 | .. code-block:: css 52 | 53 | /* 54 | dark background in new tabs without a white flash (with tridactyl newtab) 55 | @see: https://github.com/tridactyl/tridactyl/issues/2510 56 | */ 57 | :root { 58 | --tridactyl-bg: #1d1b19 !important; 59 | --tridactyl-fg: white !important; 60 | } 61 | 62 | /* 63 | set the background color of the new tab page (without tridactyl or with tridactyl without newtab) 64 | */ 65 | @-moz-document url-prefix(about:home), url-prefix(about:newtab) { 66 | body { 67 | background: #1d1b19; 68 | } 69 | } 70 | 71 | /* 72 | if you set it straight to body element, it will be applied to the random web pages 73 | that don't explicitly set the background color of their body element 74 | (there's many of those online) 75 | */ 76 | /* body { */ 77 | /* background-color: #1d1b19; */ 78 | /* } */ 79 | 80 | Credit goes to `@maricn `_ for the CSS. 81 | 82 | Disable ``network.http.referer.spoofSource`` 83 | -------------------------------------------- 84 | 85 | Some privacy guides or tools suggest you enable this setting. However, it can 86 | break websites. This `article 87 | `_ 88 | suggests using setting ``network.http.referer.XOriginPolicy`` and 89 | ``network.http.referer.XOriginTrimmingPolicy`` to ``2`` instead. 90 | 91 | Minimizing ram usage 92 | -------------------- 93 | 94 | Firefox uses multiple processes for tabs which can lead to increased RAM usage 95 | over time. While you can go to ``about:memory`` and run the garbage collector, 96 | it has a marginal effect. Restarting the browser is needed to keep RAM usage 97 | down. However, there are two things you can do to mitigate high RAM usage: 98 | 99 | * in ``about:config``, set ``browser.newtab.preload`` to false. This will 100 | prevent tabs from loading until you click on them 101 | * Install `Auto Tab Discard `_ which will 102 | put tabs to sleep automatically if not in use 103 | 104 | Alternative to Stylus 105 | --------------------- 106 | 107 | If you wish not to have Stylus installed but want to replicate its 108 | functionality, here's what you can do. First, go to each style you have 109 | installed and export it. It will look something like: 110 | 111 | .. code-block:: css 112 | 113 | @-moz-document domain("example.com") { 114 | /* insert style here */ 115 | } 116 | 117 | You can use ``url-prefix``, etc. Put it in a folder somewhere. We want to now 118 | append this to ``userContent.css`` which is going to be located in the 119 | ``chrome`` folder in your Firefox profile. 120 | 121 | .. code-block:: bash 122 | 123 | for file in *.css 124 | do 125 | cat "$file" >> $HOME/.mozilla/firefox/some-profile.default/chrome/userContent.css 126 | done 127 | -------------------------------------------------------------------------------- /source/fedora/gcc.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | GCC 6 | ^^^ 7 | 8 | Original author: Tommy Nguyen 9 | 10 | Last modified: Mon Aug 1 17:02 11 | 12 | This is a short summary of the `Installing GCC 13 | `_ page from the GCC wiki. The 14 | article was written by a GCC maintainer, Johnathan Wakely. There are 15 | tutorials on the Internet that either get it wrong or describe an obtuse 16 | way of installing it. This page simplifies things quite a bit. This does 17 | *not* replace reading the actual wiki page, so please visit it. 18 | 19 | If you don't actually need to build an application, but instead want a 20 | platform for testing scripts or sharing snippets then consider `godbolt 21 | `_ or `coliru `_. 22 | Godbolt is an online disassembler and has a plethora of compilers on various 23 | architectures and even comes with support for some well-known libraries. 24 | 25 | A more complete list of online compilers can be found in the `StackOverflow C++ 26 | tag wiki description `_. 27 | 28 | Installing prerequisites: GMP, MPFR, MPC 29 | ---------------------------------------- 30 | 31 | Generally, you should prefer to install these through your package 32 | manager first. On Fedora: 33 | 34 | .. code-block:: bash 35 | 36 | dnf install gmp-devel mpfr-devel libmpc-devel 37 | 38 | Otherwise, GCC provides a script that will download and build the dependencies. 39 | When you build GCC, these will be linked against automatically. In the GCC 40 | source directory: 41 | 42 | .. code-block:: bash 43 | 44 | ./contrib/download_prerequisites 45 | 46 | Seriously, that's it. You don't need to do anything else. 47 | 48 | Building 49 | -------- 50 | 51 | It's ill-advised to run ``./configure`` (that is from the source 52 | directory.) It's better to run it out-of-source by doing the following: 53 | 54 | .. code-block:: bash 55 | 56 | tar xzf gcc-4.6.2.tar.gz 57 | cd gcc-4.6.2 58 | ./contrib/download_prerequisites 59 | cd .. 60 | mkdir objdir 61 | cd objdir 62 | $PWD/../gcc-4.6.2/configure --prefix=$HOME/gcc-4.6.2 63 | make 64 | make install 65 | 66 | Some options you may consider passing to ``configure`` may be 67 | ``--enable-languages=c,c++``, ``--disable-nls`` and ``--enable-multilib``. 68 | 69 | Docker 70 | ------ 71 | 72 | If you don't need a cross compiler or customized toolchain, then it may be 73 | easier to just use the official `Docker image 74 | `_: 75 | 76 | .. code-block:: bash 77 | 78 | docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp gcc:4.9 gcc -o myapp myapp.c 79 | 80 | "invalid instruction suffix for" 81 | -------------------------------- 82 | 83 | If you are building a cross-compiler (i.e, following along with the `osdev 84 | article `_) and come across this 85 | error, you simply need to set the install prefix for Binutils and GCC to the 86 | same directory. For some strange reason, GCC will fallback to the system 87 | assembler even if Binutils binaries are in the path. 88 | 89 | .. note:: 90 | 91 | TODO: Additional research needed. 92 | -------------------------------------------------------------------------------- /source/fedora/git.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | Git 6 | ^^^ 7 | 8 | Original author: Tommy Nguyen 9 | 10 | Last modified: Mon Aug 1 17:02 11 | 12 | Setting up Cloudflare and Github pages 13 | -------------------------------------- 14 | 15 | Because Github has rolled out official support for HTTPS for custom domains, configuring it in tandem with Cloudflare has become 16 | slightly trickier. Ensure that your Cloudflare settings look like the following. The latest Github IPs can be found in their 17 | `documentation `_. 18 | 19 | +-------+-------------+----------------------------+--------------------------+ 20 | | Type | Name | Value | Status | 21 | +-------+-------------+----------------------------+--------------------------+ 22 | | CNAME | www | is an alias of example.com | DNS and HTTP Proxy (CDN) | 23 | +-------+-------------+----------------------------+--------------------------+ 24 | | A | example.com | points to | DNS only | 25 | +-------+-------------+----------------------------+--------------------------+ 26 | | A | example.com | points to | DNS only | 27 | +-------+-------------+----------------------------+--------------------------+ 28 | | A | example.com | points to | DNS only | 29 | +-------+-------------+----------------------------+--------------------------+ 30 | | A | example.com | points to | DNS only | 31 | +-------+-------------+----------------------------+--------------------------+ 32 | 33 | The reason you enable the HTTP proxy for the CNAME is to allow Cloudflare's page rules to work. Without it, ``example.com`` (without 34 | the www subdomain) does not resolve correctly and the HTTP -> HTTPS redirect does not work. 35 | 36 | GPG 37 | --- 38 | 39 | This summarizes the information from `Github Help `_. 40 | 41 | * List your keys with ``gpg2 --list-keys``. 42 | * Configure your git signing key with ``git config --global user.signingkey ``. 43 | * Run ``gpg2 --armor --export `` and add the key to your Github account. 44 | * Sign commits with ``git commit -S <...>`` 45 | * ``git-bump`` will sign tags automatically. 46 | 47 | Note that ``gpg2`` and ``gpg`` are not interchangeable. If you decide to use ``gpg2``, you can tell git to use it with 48 | ``git config --global gpg.program gpg2``. 49 | 50 | Ensure that your name and e-mail address match the Github account you're adding the key to. 51 | 52 | `gpg-agent` requires that you set `GPG_TTY`. For bash, this would look like: 53 | 54 | .. code-block:: bash 55 | 56 | GPG_TTY=$(tty) 57 | export GPG_TTY 58 | 59 | For fish: 60 | 61 | .. code-block:: bash 62 | 63 | set -gx GPG_TTY (tty) 64 | -------------------------------------------------------------------------------- /source/fedora/gnometips.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | GNOME Tips 6 | ^^^^^^^^^^ 7 | 8 | Original author: nazunalika 9 | 10 | Last modified: Mon Aug 1 17:02 11 | 12 | System Tray 13 | ----------- 14 | 15 | GNOME does not come with a system tray. The extension TopIcons Plus used to be the goto for adding a tray back into GNOME. However, the developer has ceased development. GNOME and KDE have both gone to libappindicator instead of the legacy system tray. Quite a few applications now support this, such as Pidgin, Clementine, Discord, Dropbox, Telegram, and potentially many others. 16 | 17 | The extension needed is `(K)StatusNotifierItem/AppIndicator `__. 18 | 19 | Add minimize/maximize 20 | --------------------- 21 | 22 | GNOME Developers seem to think minimize/maximize is not a useful feature of a desktop environment. To enable it, run the following as your user: 23 | 24 | .. code-block:: bash 25 | 26 | % gsettings set org.gnome.desktop.wm.preferences button-layout 'appmenu:minimize,maximize,close' 27 | 28 | Pidgin 29 | ------ 30 | 31 | When using Pidgin in GNOME, there's no default tray for it to live in. You will need to install the (K)StatusNotiferItem/AppIndicator extension from the `gnome extension website `__. And then install this package: 32 | 33 | .. code-block:: bash 34 | 35 | % dnf install pidgin-indicator -y 36 | 37 | In pidgin, click tools -> plugins, enable Ubuntu Indicator and restart pidgin. 38 | 39 | Use curses dialog for password input 40 | ------------------------------------ 41 | 42 | GNOME uses a modal GUI dialog for password input and they refuse to change this behavior. It makes it inconvenient to copy/paste passwords from a password manager. You can force it to use a curses-based dialog (for GPG at least) by doing: 43 | 44 | .. code-block:: bash 45 | 46 | echo "pinentry-program /usr/bin/pinentry-curses" >> ~/.gnupg/gpg-agent.conf 47 | 48 | Disable emoji input 49 | ------------------- 50 | 51 | I was not able to find where to disable this in the GUI, but when you press ``CTRL+SHIFT+E``, GNOME uses this for emoji input. Disable this with: 52 | 53 | .. code-block:: bash 54 | 55 | gsettings set org.freedesktop.ibus.panel.emoji hotkey [] 56 | 57 | Swap caps lock and escape 58 | ------------------------- 59 | 60 | Either look under Additional Layouts in Gnome Tweaks, or run: 61 | 62 | .. code-block:: bash 63 | 64 | dconf write /org/gnome/desktop/input-sources/xkb-options "['caps:swapescape']" 65 | 66 | Changing "Program not responding" check timeout 67 | ----------------------------------------------- 68 | 69 | Often times when programs stall for a brief period, Mutter will pop up a dialog 70 | asking whether you want to "Force quit" or "Wait" for a program which can be 71 | annoying. The default check timeout is 5 seconds. You can change this to 60 72 | seconds by doing: 73 | 74 | .. code-block:: bash 75 | 76 | gsettings set org.gnome.mutter check-alive-timeout 60000 77 | 78 | -------------------------------------------------------------------------------- /source/fedora/grub.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | GRUB 6 | ^^^^ 7 | 8 | Original author: nazunalika 9 | 10 | Last modified: Mon Aug 1 17:02 11 | 12 | Grub is the default bootloader for Fedora, CentOS/RHEL, and many other distributions. 13 | 14 | Fedora Grub Menu Missing 15 | ------------------------ 16 | 17 | On default installs of Fedora, the grub menu is now hidden from view and Fedora is automatically booted. For users who need to select a different kernel or need to boot to Windows (in dual boot situations), they have two ways of accessing the menu. 18 | 19 | #. Hold shift before the system begins to boot from the hard drive 20 | #. Run `grub2-editenv - unset menu_auto_hide` as root 21 | 22 | -------------------------------------------------------------------------------- /source/fedora/iphone.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | iPhone 6 | ^^^^^^ 7 | 8 | Original author: Tommy Nguyen 9 | 10 | Last modified: Mon Aug 1 17:02 11 | 12 | In order to mount your iPhone for tethering or viewing photos, you need: 13 | 14 | - fuse 15 | - ifuse 16 | - libimobiledevice 17 | - usbmuxd 18 | - libusbmuxd 19 | 20 | Some of these packages may be pulled as dependencies of each other, but I listed them 21 | for completion. 22 | 23 | Then you can do: 24 | 25 | .. code-block:: bash 26 | 27 | # mount as regular user, NOT root 28 | ifuse /mnt/iphone 29 | 30 | # unmount 31 | fusermount -u /mnt/iphone 32 | 33 | Make sure that you said yes to "Allow this device..." on your phone. Then you can simply 34 | navigate to the directory and view the DCIM folder, etc. 35 | 36 | You do not need the ``fuse`` group on Fedora. If you mount the directory as root, you will 37 | not be able to navigate to the folder as your user. Easiest way to check if you mounted as 38 | the wrong user is if you see question marks with ``ls``. 39 | 40 | For tethering, you need the ``ipheth`` module, which you can load with ``modprobe``. 41 | 42 | Make sure that you chose to tether via USB and not Bluetooth. Then the iphone should appear 43 | as a network connection in Network Manager. 44 | -------------------------------------------------------------------------------- /source/fedora/mcafee.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | McAfee 6 | ^^^^^^ 7 | 8 | Original author: nazunalika 9 | 10 | Last modified: Mon Aug 1 17:02 11 | 12 | Depending on the environment you're in, you might need to have McAfee installed on your workstation. We are of the opinion that antivirus for Linux is pointless and ridiculous. We are also of the opinion that the auditors and "security professionals" just want to check a box to say they're compliant. To make them happy, this is how to install McAfee without destroying your host system. 13 | 14 | It will still report to the ePO server and everything, and as far as the managers of the application are concerned, it reports just fine, including hardware information. 15 | 16 | .. code-block:: bash 17 | 18 | % dnf --nogpg --installroot=/var/lib/machines/lazybox install @core anacron dmidecode --releasever=30 initscripts -y 19 | % setenforce 0 20 | % systemd-nspawn -M lazybox 21 | lazybox% passwd # Set your root password 22 | # Press CTRL + ] three times to exit 23 | # Copy the agent and antivirus packages to somewhere like /var/lib/machines/lazybox/opt/av 24 | % setenforce 1 25 | % systemd-nspawn -M lazybox -b 26 | # You will see a login prompt, login as root 27 | lazybox% unzip agentPackages.zip 28 | lazybox% tar xzf ISecTP-10.6.1-115-Release-standalone.tar.gz 29 | lazybox% chmod +x *.sh 30 | lazybox% ./install.sh -i 31 | lazybox% ./install-isectp.sh 32 | lazybox% cd /opt/isec/ens/threatprevention/bin 33 | lazybox% ./isecav --usefanotify 34 | lazybox% exit 35 | # Press CTRL + ] three times 36 | % vi /etc/systemd/system/mcafee.service 37 | [Unit] 38 | Description=McAfee Container 39 | 40 | [Service] 41 | Type=notify 42 | RestartForceExitStatus=133 43 | SuccessExitStatus=133 44 | LimitNOFILE=100000 45 | ExecStart=/usr/bin/systemd-nspawn -M lazybox -b --capability=CAP_IPC_LOCK,CAP_AUDIT_WRITE,CAP_AUDIT_CONTROL,CAP_SYS_MODULE,CAP_SYSLOG,CAP_NET_ADMIN --link-journal=try-guest 46 | WatchdogSec=3min 47 | Slice=machine.slice 48 | Delegate=yes 49 | TasksMax=16384 50 | 51 | # Enforce a strict device policy, similar to the one nspawn configures when it 52 | # allocates its own scope unit. Make sure to keep these policies in sync if you 53 | # change them! 54 | DevicePolicy=closed 55 | DeviceAllow=/dev/net/tun rwm 56 | DeviceAllow=char-pts rw 57 | 58 | # nspawn itself needs access to /dev/loop-control and /dev/loop, to implement 59 | # the --image= option. Add these here, too. 60 | DeviceAllow=/dev/loop-control rw 61 | DeviceAllow=block-loop rw 62 | DeviceAllow=block-blkext rw 63 | 64 | # nspawn can set up LUKS encrypted loopback files, in which case it needs 65 | # access to /dev/mapper/control and the block devices /dev/mapper/*. 66 | DeviceAllow=/dev/mapper/control rw 67 | DeviceAllow=block-device-mapper rw 68 | 69 | KillMode=mixed 70 | 71 | [Install] 72 | WantedBy=multi-user.target 73 | 74 | % systemctl daemon-reload 75 | % systemctl enable mcafee.service --now 76 | % systemctl status mcafee.service 77 | ● mcafee.service - McAfee Container 78 | Loaded: loaded (/etc/systemd/system/mcafee.service; enabled; vendor preset: disabled) 79 | Active: active (running) since Tue 2019-05-14 09:09:42 MST; 1h 29min ago 80 | Main PID: 1084 (systemd-nspawn) 81 | Status: "Container running: Startup finished in 10.280s." 82 | Tasks: 1 (limit: 16384) 83 | Memory: 3.3M 84 | CGroup: /machine.slice/mcafee.service 85 | └─1084 /usr/bin/systemd-nspawn -M lazybox -b --capability=CAP_IPC_LOCK,CAP_AUDIT_WRITE,CAP_AUDIT_CONTROL,CAP_SYS_MODULE,CAP_SYSLOG,CAP_NET_ADMIN --link-journal=try-guest 86 | 87 | May 14 09:09:46 diurne.chotel.com systemd-nspawn[1084]: [ OK ] Started Network Manager Script Dispatcher Service. 88 | May 14 09:09:46 diurne.chotel.com systemd-nspawn[1084]: [ OK ] Started McAfee Endpoint Security Platform for Linux. 89 | May 14 09:09:46 diurne.chotel.com systemd-nspawn[1084]: Starting Network Name Resolution... 90 | May 14 09:09:47 diurne.chotel.com systemd-nspawn[1084]: [ OK ] Started Network Name Resolution. 91 | May 14 09:09:47 diurne.chotel.com systemd-nspawn[1084]: [ OK ] Reached target Host and Network Name Lookups. 92 | May 14 09:09:47 diurne.chotel.com systemd-nspawn[1084]: [ OK ] Started Session c2 of user mfe. 93 | May 14 09:09:51 diurne.chotel.com systemd-nspawn[1084]: [2B blob data] 94 | May 14 09:09:51 diurne.chotel.com systemd-nspawn[1084]: Fedora 30 (Thirty) 95 | May 14 09:09:51 diurne.chotel.com systemd-nspawn[1084]: Kernel 5.0.13-300.fc30.x86_64 on an x86_64 (console) 96 | May 14 09:09:51 diurne.chotel.com systemd-nspawn[1084]: [1B blob data] 97 | 98 | % ps -ef | grep McAfee 99 | root 1909 1187 0 09:09 ? 00:00:02 /opt/McAfee/agent/bin/masvc self_start 100 | root 2432 1187 0 09:09 ? 00:00:00 /opt/McAfee/agent/bin/macompatsvc self_start 101 | root 2434 2432 0 09:09 ? 00:00:00 /opt/McAfee/agent/bin/macompatsvc self_start 102 | root 2435 2434 0 09:09 ? 00:00:00 /opt/McAfee/agent/bin/macompatsvc self_start 103 | root 2436 2434 0 09:09 ? 00:00:00 /opt/McAfee/agent/bin/macompatsvc self_start 104 | root 2437 2434 0 09:09 ? 00:00:00 /opt/McAfee/agent/bin/macompatsvc self_start 105 | root 2438 2434 0 09:09 ? 00:00:00 /opt/McAfee/agent/bin/macompatsvc self_start 106 | root 2439 2434 0 09:09 ? 00:00:00 /opt/McAfee/agent/bin/macompatsvc self_start 107 | root 2440 2434 0 09:09 ? 00:00:00 /opt/McAfee/agent/bin/macompatsvc self_start 108 | 109 | 110 | Optionally, you can modify the nspawn container to run on a private network, which requires additional configuration. 111 | -------------------------------------------------------------------------------- /source/fedora/mpv.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | mpv 6 | ^^^ 7 | 8 | Original author: Tommy Nguyen 9 | 10 | Last modified: Mon Aug 1 17:02 11 | 12 | If VLC does not perform well enough for you, you may prefer mpv instead. First, install mpv: 13 | 14 | .. code-block:: bash 15 | 16 | dnf install mpv mpv-libs 17 | 18 | Then for mpv to actually utilize cuda, you need the appropriate libraries: 19 | 20 | .. code-block:: bash 21 | 22 | dnf install nvidia-driver-cuda nvidia-driver-cuda-libs cuda 23 | 24 | With that being said, mpv does *not* recommend using hardware decoding by default AND hardware acceleration (with Nvidia) is not supposed on Wayland. If you do, I recommend the following settings: 25 | 26 | .. code-block:: bash 27 | 28 | profile=gpu-hq 29 | hwdec=auto-copy-safe 30 | # Only if you're using Wayland; hardware acceleration will not work 31 | gpu-context=wayland 32 | -------------------------------------------------------------------------------- /source/fedora/nvidia.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | Nvidia drivers 6 | ^^^^^^^^^^^^^^ 7 | 8 | Original author: Tommy Nguyen 9 | 10 | Last modified: Mon Aug 1 17:02 11 | 12 | Negativo17 13 | ---------- 14 | 15 | This section serves as a summary of the repositories located at 16 | `https://negativo17.org/ `_ to save the reader the 17 | trouble of sifting through the blog posts. 18 | 19 | The source RPMs, repos and other files can be found `here `_. 20 | 21 | Negativo17 is NOT compatible with RPMFusion and has a much more limited 22 | selection of packages, but follows a different packaging philosophy. 23 | 24 | Multimedia 25 | ++++++++++ 26 | 27 | .. code-block:: bash 28 | 29 | dnf config-manager --add-repo=http://negativo17.org/repos/fedora-multimedia.repo 30 | 31 | This is incompatible with and not a replacement for RPMFusion. However, the epoch is set to override RPMFusion packages whenever possible. 32 | 33 | Packages of interest: 34 | 35 | - Nvidia drivers 36 | - ``gstreamer1-plugins-bad``, ``gstreamer1-plugins-ugly``, ``gstreamer1-libav``, ``gstreamer1-plugins-bad-fluidsynth`` 37 | - ``mozilla-openh264`` 38 | - ``mpv`` 39 | 40 | Nvidia 41 | ++++++ 42 | 43 | The multimedia repo contains the Nvidia packages. Before using it, make sure you remove all previous Nvidia packages (i.e, from RPMFusion): 44 | 45 | .. code-block:: bash 46 | 47 | sudo dnf remove \*nvidia\* 48 | 49 | Packages of interest: 50 | 51 | - ``vulkan-loader`` 52 | - ``nvidia-settings``, ``nvidia-driver-libs`` 53 | - ``dkms-nvidia`` or ``akmod-nvidia`` 54 | 55 | Both ``vulkan-loader`` and ``nvidia-driver-libs`` have ``i686`` versions when you need 32-bit (i.e, Wine). 56 | 57 | You need to also explicitly install ``kernel-devel`` to avoid pulling in the debug package. 58 | 59 | DKMS 60 | ---- 61 | 62 | Run ``dkms status``. If the output is empty, then you'll need to manually run the build and install: 63 | 64 | .. code-block:: bash 65 | 66 | dkms add nvidia/<version> 67 | dkms build nvidia/<version> 68 | dkms install nvidia/<version> 69 | 70 | Where ```` is something like ``390.25``. You may prefer to do this before rebooting. In that case, append the ``-k`` switch and specify 71 | the kernel version. 72 | 73 | If you receive an error like the following: 74 | 75 | .. code-block:: bash 76 | 77 | Error! Could not locate dkms.conf file 78 | 79 | You will need to remove the previous driver version you have installed. i.e, if you previously had 415.18 installed and upgraded to 415.22, 80 | then remove the 415.18 directory. 81 | 82 | .. code-block:: bash 83 | 84 | rm -r /var/lib/dkms/nvidia/415.18 85 | 86 | Suspend doesn't work 87 | -------------------- 88 | 89 | If your computer immediately wakes up upon suspending and you see an error message like the following: 90 | 91 | .. code-block:: none 92 | 93 | PreserveVideoMemoryAllocations module parameter is set. System Power 94 | Management attempted without driver procfs suspend interface. Please refer 95 | to the 'Configuring Power Management Support' section in the driver README. 96 | 97 | Then you need to enable the systemd services for Nvidia: 98 | 99 | .. code-block:: bash 100 | 101 | systemctl enable nvidia-suspend.service 102 | systemctl enable nvidia-resume.service 103 | 104 | See `the Nvidia forums `_ for more details. 105 | 106 | Module doesn't load upon upgrade to Fedora 35 107 | --------------------------------------------- 108 | 109 | It is unclear why this is happening, however the following workaround works: 110 | 111 | .. code-block:: bash 112 | 113 | grubby --update-kernel=ALL --args "modprobe.blacklist=nouveau" 114 | 115 | Automatically signing modules for secure boot 116 | --------------------------------------------- 117 | 118 | .. note:: 119 | 120 | For RPMFusion this is fixed in Fedora 36, the manual instructions are still 121 | required for negativo17. 122 | 123 | Neither negativo nor rpmfusion automatically sign the kernel modules. This is 124 | because it requires manual intervention by the user where a key has to be 125 | created and enrolled into MOK. After that, you can use a script that will sign 126 | the modules after they are built automatically. See `akmod-sign-modules 127 | `_ for akmods. There is a DKMS 128 | version available on the Internet. Note that it does not appear to work unless 129 | you run it manually. That is: 130 | 131 | .. code-block:: bash 132 | 133 | systemctl start akmods@$(uname -r) 134 | systemctl status akmods@$(uname -r) 135 | 136 | There is a COPR for changes slated to appear in Fedora 36. Namely 137 | `akmods-secureboot 138 | `_ and 139 | `kmodtool-secureboot 140 | `_ by 141 | egeretto. Either generate the key using the provided `akmods-keygen` service 142 | file or by following the `RedHat guide 143 | `_. 144 | 145 | There are a few ways to verify that you enrolled your key correctly. 146 | 147 | .. code-block:: bash 148 | 149 | mokutil --list-enrolled 150 | mokutil --test-key /etc/pki/akmods/certs/public_key.der 151 | -------------------------------------------------------------------------------- /source/fedora/pip.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | pip 6 | ^^^ 7 | 8 | Original author: Tommy Nguyen 9 | 10 | Last modified: Mon Aug 1 17:02 11 | 12 | pip already comes with your Python installation from your distribution's 13 | package manager. It is not recommended to run pip as root because it can 14 | interfere with your system packages and screw up your installation. While Fedora 15 | has manage attempts to make ``sudo pip`` safer, it is still `not completely safe 16 | `_ and you should 17 | use ``--user`` whenever possible. 18 | 19 | Another thing to take into consideration is that due to pip historically 20 | lacking a dependency resolver, there is no safe way to upgrade all of your 21 | packages at once. pip is more geared towards developers rather than end user 22 | package management. pip recently obtained a dependency resolver in 20.3.x, 23 | however many are recommending using `Poetry `_ for 24 | developers and `pipx `_ if you need to install 25 | CLI programs. 26 | 27 | One last caveat is that if your python interpreter is upgraded, your packages 28 | may be orphaned. You can simply copy over the files in 29 | ``.local/lib/python3.x/site-packages`` to the newer version. pipx takes care of 30 | this automatically. 31 | -------------------------------------------------------------------------------- /source/fedora/powerline.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | Powerline 6 | ^^^^^^^^^ 7 | 8 | Original author: Tommy Nguyen 9 | 10 | Last modified: Mon Aug 1 17:02 11 | 12 | `Powerline `_ is a 13 | statusline plugin that will work for both vim and terminal emulators. It 14 | makes your statusline look like this: 15 | 16 | .. image:: /_static/img/statusline.png 17 | 18 | Installing via ``dnf`` 19 | ---------------------- 20 | 21 | Just do: 22 | 23 | .. code-block:: bash 24 | 25 | dnf install powerline 26 | 27 | The RPM will also install the Powerline fonts. 28 | 29 | Then consult the `powerline documentation 30 | `_ for using it 31 | with your program of choice. For vim and tmux, RPMs are available that 32 | already handle the configuration. 33 | 34 | Enabling powerline (installed via ``dnf``) 35 | ------------------------------------------ 36 | 37 | Fish 38 | **** 39 | 40 | Add this to ``~/.config/fish/config.fish``: 41 | 42 | .. code-block:: bash 43 | 44 | set fish_function_path $fish_function_path "{repository_root}/powerline/fish" 45 | powerline-setup 46 | 47 | If you used the ``dnf`` method, ``{repository_root}`` will be 48 | ``/usr/share/``. 49 | 50 | oh-my-fish 51 | ++++++++++ 52 | 53 | Alternatively, you can use another powerline-enabled theme provided by 54 | `oh-my-fish `_. 55 | 56 | .. code-block:: bash 57 | 58 | curl -L https://get.oh-my.fish > install 59 | curl -L https://raw.githubusercontent.com/oh-my-fish/oh-my-fish/master/bin/install.sha256 > install.256 60 | sha256sum -c install.256 61 | fish install --path=~/.local/share/omf --config=~/.config/omf 62 | omf install bobthefish 63 | omf theme bobthefish 64 | 65 | If present, remove ``powerline-setup`` from your Fish config. 66 | 67 | vim 68 | *** 69 | 70 | The package is called ``vim-powerline``. Once you install the RPM, no 71 | extra configuration or steps are necessary. Again, all of the files are 72 | installed to ``/usr/share/``. 73 | 74 | .. note:: 75 | 76 | Because Fedora is trying to go full python 3, the powerline package is only 77 | compiled with python 3 support. In order to force vim to use python 3, 78 | place this at the top of your ``~/.vimrc``: 79 | 80 | .. code-block:: vim 81 | 82 | if has('python3') 83 | endif 84 | 85 | Note you risk breaking any vim plugins that require python 2. 86 | 87 | Credit goes to https://robertbasic.com/blog/force-python-version-in-vim/ 88 | 89 | tmux 90 | **** 91 | 92 | The package is called ``tmux-powerline``. 93 | -------------------------------------------------------------------------------- /source/fedora/tmux.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | tmux 6 | ^^^^ 7 | 8 | Original author: Tommy Nguyen 9 | 10 | Last modified: Mon Aug 1 17:02 11 | 12 | If you start vim within a tmux session, you might notice that your 13 | terminal's color scheme "bleeds" into vim's. This is a result of tmux 14 | not using a 256 color terminal. It is covered in the tmux FAQ `"How do I 15 | use a 256 colour terminal?" 16 | `_. The following 17 | is a complete excerpt but edited for formatting purposes. 18 | 19 | .. pull-quote:: 20 | 21 | If you attach to your tmux session and ``echo $TERM`` says something 22 | like ``screen``, then you know something's wrong. Before attaching to 23 | your tmux session, do ``echo $TERM`` (it may be something like 24 | ``xterm-256color``). This is what you want to put for 25 | ``default-terminal.`` 26 | 27 | Provided the underlying terminal supports 256 colours, it is usually sufficient 28 | to add the following to ``~/.tmux.conf``: 29 | 30 | .. code-block:: bash 31 | 32 | set -g default-terminal "screen-256color" 33 | 34 | Note that some platforms do not support "screen-256color" (``infocmp 35 | screen-256color`` will return an error) - in this case see the next entry in 36 | this FAQ. 37 | 38 | tmux attempts to detect a 256 colour terminal both by looking at the colors 39 | terminfo entry and by looking for the string "256col" in the TERM environment 40 | variable. 41 | 42 | If both these methods fail, the -2 flag may be passed to tmux when attaching 43 | to a session to indicate the terminal supports 256 colours. 44 | 45 | .. code-block:: bash 46 | 47 | tmux -2 attach 48 | -------------------------------------------------------------------------------- /source/fedora/vim.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | vim 6 | ^^^ 7 | 8 | Original author: Tommy Nguyen 9 | 10 | Last modified: Mon Aug 1 17:02 11 | 12 | Plugins 13 | ------- 14 | 15 | There are a couple of Vim plugin managers, but a popular one is 16 | `Pathogen `_. Installation is as 17 | simple as: 18 | 19 | .. code-block:: bash 20 | 21 | mkdir -p ~/.vim/autoload ~/.vim/bundle && \ 22 | curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim 23 | 24 | And to install a plugin: 25 | 26 | .. code-block:: bash 27 | 28 | cd ~/.vim/bundle 29 | git clone https://github.com/someuser/vim-plugin 30 | # or 31 | git clone https://github.com/someuser/vim-plugin ~/.vim/bundle/vim-plugin 32 | 33 | Typically, you'd want to run ``:Helptags`` afterwards to get the new 34 | documentation. 35 | -------------------------------------------------------------------------------- /source/fedora/xscreensaver.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | XScreenSaver 6 | ^^^^^^^^^^^^ 7 | 8 | Original author: Tommy Nguyen 9 | 10 | Last modified: Mon Aug 1 17:02 11 | 12 | Gamma or brightness is too high when unlocking 13 | ---------------------------------------------- 14 | 15 | It's possible that this is caused by XScreenSaver `changing the hardware gamma `_ 16 | for its fade to black effect. Although ``xgamma`` is deprecated, it seems to address the issue. Observe: 17 | 18 | .. code-block:: bash 19 | 20 | ~ xrandr --verbose | grep -i gamma 21 | Gamma: 1.0:1.0:1.0 22 | Gamma: 1.0:1.0:1.0 23 | ~ xgamma 24 | -> Red 1.664, Green 1.664, Blue 1.664 25 | 26 | Simply run ``xgamma -gamma 1.0``. 27 | 28 | Press :kbd:`Ctrl+Shift+L` to lock the screen. Unlock the screen by entering your password. The brightness should be normal. 29 | 30 | Disable fade to black effect 31 | ---------------------------- 32 | 33 | Disabling fade to black will not address the gamma issue as any program that touches the hardware gamma 34 | will exhibit the same symptoms. However if you find the effect annoying, do: 35 | 36 | * Open up "Screensaver" 37 | 38 | * Click the "Advanced tab" 39 | 40 | * Under "Fading and Colormaps", uncheck "Fade to Black when Blanking" 41 | 42 | 43 | Conflict with xfce-screensaver 44 | ------------------------------ 45 | 46 | XFCE now ships its own screensaver application which is known to conflict with 47 | xscreensaver. In **Settings**, click on the **Screensaver** icon (the one with 48 | a starry background) then uncheck both the **Enable Screensaver** and **Enable 49 | Lock Screen** options. In **Session and Startup** under **Application 50 | Autostart** make sure to disable xfce-screensaver as well. 51 | -------------------------------------------------------------------------------- /source/index.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | .. Fedora Linux Guide and Hints documentation master file, created by 6 | sphinx-quickstart on Tue Aug 4 00:41:39 2015. 7 | You can adapt this file completely to your liking, but it should at least 8 | contain the root `toctree` directive. 9 | 10 | Linux Guide and Hints 11 | ===================== 12 | 13 | The source code for this page can be found on `Github 14 | `_. This page contains 15 | tutorials and generally useful information regarding packages and system 16 | administration in |Fedora|, |Rocky| and |CentOS|. 17 | 18 | Here are some quick links to solid documentation: 19 | 20 | - `Fedora Quick Docs `_ 21 | - `Fedora Latest Release Docs `_ 22 | 23 | .. warning:: 24 | 25 | Due to the number of articles out there about disabling SELinux, we felt 26 | this notice is important. Disabling SELinux is a terrible idea. See our 27 | `antipatterns 28 | `_ 29 | page as well as the `Rocky Linux documentation 30 | `_. 31 | 32 | .. |Fedora| replace:: Fedora\ :sup:`®` 33 | .. |CentOS| replace:: CentOS\ :sup:`®` 34 | .. |Rocky| replace:: Rocky\ :sup:`®` 35 | 36 | .. toctree:: 37 | :maxdepth: 1 38 | :caption: Errata 39 | :glob: 40 | 41 | errata/* 42 | 43 | .. toctree:: 44 | :maxdepth: 1 45 | :caption: Training Resources 46 | :glob: 47 | 48 | training/* 49 | 50 | .. toctree:: 51 | :maxdepth: 1 52 | :caption: Enterprise Linux 53 | :glob: 54 | 55 | el/* 56 | 57 | .. toctree:: 58 | :maxdepth: 1 59 | :caption: Security 60 | :glob: 61 | 62 | security/* 63 | 64 | .. toctree:: 65 | :maxdepth: 1 66 | :caption: Miscellaneous 67 | :glob: 68 | 69 | misc/* 70 | 71 | .. toctree:: 72 | :maxdepth: 1 73 | :caption: Fedora 74 | :glob: 75 | 76 | fedora/* 77 | 78 | .. toctree:: 79 | :maxdepth: 1 80 | :caption: MacOS 81 | :glob: 82 | 83 | macos/* 84 | 85 | .. toctree:: 86 | :maxdepth: 1 87 | :caption: About Us 88 | :glob: 89 | 90 | about/* 91 | -------------------------------------------------------------------------------- /source/macos/image.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | Create macOS ISO Images 6 | ^^^^^^^^^^^^^^^^^^^^^^^ 7 | 8 | Original author: nazunalika 9 | 10 | Last modified: Mon Aug 1 17:02 11 | 12 | To create macOS ISO images for use for a VirtualBox VM or otherwise, you will need access to a mac machine to perform the download. There are scripts and other methods out there to assist you with this, but if you want to do it yourself, you can follow the steps below. 13 | 14 | This is currently for macOS Catalina 10.15.x 15 | 16 | .. code:: shell 17 | 18 | % softwareupdate --fetch-full-installer --full-installer-version 10.15.6 19 | % hdiutil create -o /tmp/catalina.cdr -size 7516m -layout SPUD -fs HFS+J 20 | % hdiutil attach /tmp/catalina.cdr.dmg -noverify -nobrowse -mountpoint /Volumes/installer 21 | % asr restore -source /Applications/Install\ macOS\ Catalina.app/Contents/SharedSupport/BaseSystem.dmg -target /Volumes/installer -noprompt -noverify -erase 22 | % hdiutil detach /Volumes/macOS\ Base\ System 23 | % hdiutil convert /tmp/catalina.cdr.dmg -format UDTO -o /tmp/Catalina.iso 24 | 25 | You can now copy the ISO to anywhere you'd like. 26 | -------------------------------------------------------------------------------- /source/misc/euphemism.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | The Euphemism Review 6 | ^^^^^^^^^^^^^^^^^^^^ 7 | 8 | Original author: nazunalika 9 | 10 | Last modified: Mon Aug 1 17:02 11 | 12 | .. warning:: 13 | 14 | This is a humorous article by contributor Louis Abel. The following content 15 | does not necessarily represent the viewpoints or opinions held by other 16 | authors on this website. 17 | 18 | Welcome to the ported edition of the "The Euphemism Review" the journal for imprecise speech in the corporate environment. 19 | 20 | Please don't say "timeframe" 21 | ---------------------------- 22 | 23 | The Eskimos have over a hundred words for what we simply call... "snow". The reason is that *snow* is important to them. It is vital to know if the snow is the kind that can be walked on without sinking, the kind that a sled runs on easily, the kind that igloos can be built from, and so on. If you ask a Eskimo for a bucket of "snow" they will have no idea what you are talking about and will, without a doubt, consider you to be an ignorant savage. 24 | 25 | Here in modern western society we have many words that relate to time, this is because time is important to us. Whether that is a blessing or a curse is is debatable, but it's normally the latter. We need to know when things will happen and how long they will take. Some of these words are: 26 | 27 | * Schedule 28 | * Calendar 29 | * Frequency, or "how often" 30 | * Daily 31 | * Monthly 32 | * Yearly 33 | * Deadline 34 | * Time 35 | * Period 36 | * Periodically 37 | 38 | Not only is "timeframe" not a word, you certainly can't use it in place of all of the above and expect to be understood even by a fluent speaker. And yes, we know that Microsoft Word seems to accept it as a word, but given their reputation... Don't be fooled. 39 | 40 | Below, here's a handy dandy table you can use to practice. 41 | 42 | +----------------------------------------------+-------------------------------------+ 43 | | Instead of... | Use... | 44 | +==============================================+=====================================+ 45 | | It has to be done in the June 1st timeframe. | The deadline is June 1st | 46 | +----------------------------------------------+-------------------------------------+ 47 | | What timeframe do you need that by. | When do you need it. | 48 | +----------------------------------------------+-------------------------------------+ 49 | | Let's figure the timeframes for that. | Let's make a schedule. | 50 | +----------------------------------------------+-------------------------------------+ 51 | | What timeframe did that happen in? | When did that happen? | 52 | +----------------------------------------------+-------------------------------------+ 53 | | Can we do that in the timeframe? | Can we do that in time? | 54 | +----------------------------------------------+-------------------------------------+ 55 | | What's going on in your October timeframe? | What's on your calendar in October? | 56 | +----------------------------------------------+-------------------------------------+ 57 | | Group them by timeframe. | What? | 58 | +----------------------------------------------+-------------------------------------+ 59 | 60 | Look how clear and understandable it is. It's also shorter. Who would've thought. 61 | -------------------------------------------------------------------------------- /source/misc/ipv6he.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | Hurricane Electric IPv6 Tunnel 6 | ============================== 7 | 8 | On distributions that use Network Manager, you can setup an IPv6 tunnel with Hurricane Electric. Make sure you have done the following. 9 | 10 | #. Create an account at `Hurricane Electric `__ 11 | #. Click "Create Regular Tunnel" on the left hand side 12 | #. Enter your IPv4 public IP address in the first box 13 | #. Choose the closest tunnel server to you (in my case, it's Phoenix) - Note the IP Address (eg. 66.220.7.82) 14 | #. Click "create tunnel" 15 | #. Note all the information in your "tunnel details" 16 | 17 | .. code:: shell 18 | 19 | % nmcli con add type ip-tunnel \ 20 | # Name of the interface 21 | ifname sit0 \ 22 | # Tunnel protocol with the endpoint 23 | mode sit remote 66.220.7.82 -- \ 24 | # Disabling IPv4 on this interface 25 | ipv4.method disabled \ 26 | # Manual IPv6 configuration 27 | ipv6.method manual \ 28 | # IPv6 endpoint addresses (not your subnet) 29 | ipv6.address 2001:470:1f18:96::2/64 \ 30 | ipv6.gateway 2001:470:1f18:96::1/64 31 | 32 | You will also need to open some parts of your firewall to allow communication. In particular, ICMP (at least type 8) should be allowed from the tunnel server for the heartbeat. 33 | 34 | After this, you should be able to assign addresses from your routed /64 on your current machine or machines in your network and be able to ping out. You can also create a /48 and make multiple /64's if you wish. 35 | 36 | It is possible to update the tunnel automatically with your IPv4 address in the event it changes. 37 | 38 | .. code:: shell 39 | 40 | % vi /etc/NetworkManager/dispatcher.d/pre-up.d/00-tunnelfix.sh 41 | #!/bin/sh 42 | user=USERNAME 43 | pass=PASSWORD 44 | tunnel=TUNNEL_ID 45 | 46 | if [ "$1" = sit0 ]; then 47 | wget -O /dev/null https://$user:$pass@ipv4.tunnelbroker.net/ipv4_end.php?tid=$tunnel 48 | fi 49 | -------------------------------------------------------------------------------- /source/misc/mingw.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | MinGW 6 | ^^^^^ 7 | 8 | Original author: Tommy Nguyen 9 | 10 | Last modified: Mon Aug 1 17:02 11 | 12 | To my knowledge, the best MinGW distribution is provided by Stephan T. Lavavej 13 | (a Microsoft employee who works on the C++ team) and is available on `his site 14 | `_. It contains mingw-w64, GCC and binutils, 15 | coreutils and several other libraries and command line utilities (including 16 | git). Installation simply requires extracting to any location and using the 17 | provided bat files to open a command prompt with a preset PATH. 18 | 19 | Why not use WSL? 20 | ---------------- 21 | 22 | They serve different purposes. The MinGW distribution contains Windows 23 | **ports** of GCC, coreutils, etc. that run natively on Windows. On the other 24 | hand, WSL attempts to allow you to run native Linux binaries on Windows. WSL2 25 | supposedly uses Hyper-V for virtualization. 26 | -------------------------------------------------------------------------------- /source/misc/port465.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | Is port 465 deprecated? 6 | ^^^^^^^^^^^^^^^^^^^^^^^ 7 | 8 | Original author: Tommy Nguyen 9 | 10 | Last modified: Mon Aug 1 17:02 11 | 12 | .. note:: 13 | 14 | For a guide on how to setup Exim4 with Gmail and implicit TLS, see `How To 15 | Secure A Linux Server 16 | `_. 17 | 18 | No. Some sources like `Debian's guide on Gmail and Exim4 19 | `_ and the StackOverflow question `What 20 | is the difference between ports 465 and 587? 21 | `_ 22 | claim that port 465 is deprecated. RFC 8314 entitled `Cleartext Considered 23 | Obsolete: Use of Transport Layer Security (TLS) for Email Submission and Access 24 | `_ recommends that you use port 465 with 25 | implicit TLS instead of STARTTLS on port 587: 26 | 27 | In brief, this memo now recommends that: 28 | 29 | - TLS version 1.2 or greater be used for all traffic between MUAs 30 | and Mail Submission Servers, and also between MUAs and Mail Access 31 | Servers. 32 | 33 | - MUAs and Mail Service Providers (MSPs) (a) discourage the use of 34 | cleartext protocols for mail access and mail submission and 35 | (b) deprecate the use of cleartext protocols for these purposes as 36 | soon as practicable. 37 | 38 | - Connections to Mail Submission Servers and Mail Access Servers be 39 | made using "Implicit TLS" (as defined below), in preference to 40 | connecting to the "cleartext" port and negotiating TLS using the 41 | STARTTLS command or a similar command. 42 | 43 | More specifically: 44 | 45 | The STARTTLS mechanism on port 587 is relatively widely deployed due 46 | to the situation with port 465 (discussed in Section 7.3). This 47 | differs from IMAP and POP services where Implicit TLS is more widely 48 | deployed on servers than STARTTLS. It is desirable to migrate core 49 | protocols used by MUA software to Implicit TLS over time, for 50 | consistency as well as for the additional reasons discussed in 51 | Appendix A. 52 | 53 | However, some have conflated `SMTPS `_ 54 | with implicit TLS on port 465, which is not the same thing. In particular, 55 | section 7.3 of RFC 8314 explains that SMTPS was briefly assigned to port 465 56 | and subsequently revoked: 57 | 58 | ... 59 | 60 | Unfortunately, some widely deployed mail software interpreted "smtps" as 61 | "submissions" [RFC6409] and used that port for email submission by default when 62 | an end user requested security during account setup. 63 | 64 | ... 65 | 66 | Although STARTTLS on port 587 has been deployed, it has not replaced the 67 | deployed use of Implicit TLS submission on port 465. 68 | 69 | To reiterate, "Implicit TLS submission" which is defined in section 3 is not 70 | the same as SMTPS and you should use port 465 over port 587 if possible. 71 | Another point of confusion is the use of SSL on port 465. As a result, you'll 72 | find many resources on the Internet claiming not to use port 465. It is true 73 | that you should prefer TLS over SSL, but port 465 is not deprecated. 74 | 75 | .. note:: 76 | 77 | The RFC also states: 78 | 79 | Note that there is no significant difference between the security 80 | properties of STARTTLS on port 587 and Implicit TLS on port 465 if 81 | the implementations are correct and if both the client and the server 82 | are configured to require successful negotiation of TLS prior to 83 | Message Submission. 84 | 85 | The key phrase here being "require successful negotation". If STARTTLS is not 86 | configured this way, then it is less secure than Implicit TLS. 87 | -------------------------------------------------------------------------------- /source/misc/vnc.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | VNC 6 | ^^^ 7 | 8 | Original author: nazunalika 9 | 10 | Last modified: Mon Aug 1 17:02 11 | 12 | This was written because this seems to be a common question on IRC, which could easily be researched every single time. That and despite "research", there's a lot of tutorials that get it wrong or do some ridiculous nonsense (such as copying Xresources to your home directory, which is unnecessary). 13 | 14 | .. note:: VNC is abyssmal 15 | 16 | We frown upon the use of VNC, regardless of CentOS or Fedora. It's security is considered pathetic and there are much better options. 17 | 18 | Also note that wayland is **not** supported in VNC whatsoever. You are heavily encouraged to use gnome's built in remote desktop instead which uses vino and wayland should work. 19 | 20 | Setup 21 | ----- 22 | 23 | .. code:: shell 24 | 25 | # Install the packages 26 | root% yum install tigervnc-server -y 27 | root% cp /usr/lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@.service 28 | root% vi /etc/systemd/system/vncserver@.service 29 | # modify to username 30 | root% systemctl enable vncserver@:1.service 31 | root% firewall-cmd --add-service=vnc-server 32 | root% firewall-cmd --runtime-to-permanent 33 | root% su - username 34 | username% vncpasswd 35 | . . . 36 | username% vi ~/.vnc/xstartup 37 | export XDG_SESSION_TYPE=x11 38 | export GDK_BACKEND=x11 39 | # Modify --session to be gnome-classic or otherwise that you need 40 | # If you are using XFCE, you could put exec xfce4-session instead 41 | exec gnome-session --session=gnome 42 | username% chmod +x ~/.vnc/xstartup 43 | # At this point, you can start the service, logout, and call it a day. 44 | # You can also reboot, since the service is enabled. Your choice. 45 | username% sudo systemctl start vncserver@:1.service 46 | 47 | -------------------------------------------------------------------------------- /source/security/myths.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | Myths 6 | ^^^^^ 7 | 8 | Original author: Tommy Nguyen 9 | 10 | Last modified: Mon Aug 1 17:02 11 | 12 | Linux security is a rather contentious topic. While this article isn't about 13 | whether Linux is secure overall, it tackles some widely spread myths and 14 | misconceptions about the ecosystem. 15 | 16 | Most package maintainers can't code 17 | ----------------------------------- 18 | 19 | This myth is based on the assumption that a package maintainer's skillset 20 | extends as far as packaging, no more, no less. The reality is that package 21 | maintainers often have a modicum of coding skill in order to analyze security 22 | flaws of applications and write patches that cannot or have not been merged 23 | upstream yet. 24 | 25 | Some packages like Firefox or PipeWire are maintained by those who have 26 | software engineering experience (both are RedHat employees, but Martin Stransky 27 | for example contributes directly to the Firefox codebase). 28 | 29 | Package managers are an unnecessary and insecure middleman 30 | ---------------------------------------------------------- 31 | 32 | The perception by many users is that package managers simply are wrappers 33 | around applications and are unnecessary when you could get it directly from the 34 | developer instead. However, I think this description fits more for download 35 | sites (which simply distribute and repackage executables) but package 36 | maintainers do more than simply redistribute binaries. 37 | 38 | Fedora for example requires first-party packages to be built on Fedora 39 | infrastructure. The source code is taken, any necessary patches applied, distro 40 | specific configure flags are passed and the subsequent binary is built on the 41 | infrastructure. On the other hand, binaries from developers are typically 42 | either built on the developer machine or on some third party infrastructure 43 | (like GitHub, Azure and so forth). While the general idea is that users tend to 44 | trust downloading directly from the developers instead of a middleman, the 45 | middleman is simply a different party. 46 | 47 | There have been many instances of supply chain compromises from careless 48 | developers not enabling 2FA, committing API secrets to their repository or 49 | GitHub vulnerabilities for example, but by building the code on Fedora's 50 | infrastructure, this is bypassed entirely. 51 | 52 | Michał Górny has blog posts tackling this topic in `The modern packager’s 53 | security nightmare 54 | `_ 55 | and `Why not rely on app developer to handle security? 56 | `_. 57 | 58 | Is Flatpak a good compromise? 59 | ----------------------------- 60 | 61 | Flatpak apps are built against a common runtime rather than arbitrary 62 | dependencies so this is similar to traditional package management. Similarly, 63 | Flatpaks are built using the distro's infrastructure (Fedora in the case of 64 | their registry, Flathub in the case of a third party registry). However, there 65 | is one downside. 66 | 67 | App developers are essentially given control over what permissions their app 68 | does or doesn't need. In theory this makes sense, as the app developer may 69 | know what works best for their app. In practice, many weaken the sandbox to 70 | avoid bug reports or due to lack of understanding of the Linux ecosystem in 71 | general may use the broadest permissions available. 72 | 73 | Flatpaks that are simply wrappers around proprietary apps (like Discord) cannot 74 | for example prevent telemetry or would require weakening the sandbox for 75 | essential features. Ironically, it is more secure to run Discord in a browser 76 | where you have a full spectrum blocker (like UBlock Origin) and the website 77 | sandboxing features of your browser. 78 | -------------------------------------------------------------------------------- /source/security/passwords.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | Password management 6 | ^^^^^^^^^^^^^^^^^^^ 7 | 8 | Original author: Tommy Nguyen 9 | 10 | Last modified: Mon Aug 1 17:02 11 | 12 | Our `antipatterns `_ article discusses some insecure things 13 | that can be done w.r.t. password from a system administrator or developer point 14 | of view. This article is aimed towards users. 15 | 16 | There is a wealth of information about there about how to choose a secure 17 | password. Often this involves multiple character classes (such as lowercase, 18 | uppercase, punctuation etc.) or passphrases (strings of randomly chosen 19 | dictionary words, ala `Diceware `_). 20 | However, what's often skipped is the discussion of two other important 21 | elements: length and entropy of the password. Without dwelving into a deep 22 | discussion, a complex password which is short is weak. And a password with low 23 | entropy (that is, the password is generated using a poor random number 24 | generator or manually by a human) is also bad. The rule of thumb to remember is 25 | that **how a password is generated** is more important than heuristic measures 26 | of the complexity of a password. Furthermore, you should avoid reusing passwords 27 | due to `credential stuffing attacks `_. 28 | 29 | Regardless of what your password ends up being or how complex your password is, 30 | you should be using password manager software to store your passwords. For the 31 | desktop, I highly recommend `KeePassXC `_ and for 32 | mobile `Strongbox `_ as KeePassXC does 33 | not have a mobile client. You can also use `Pass 34 | `_, which is a commandline password store that 35 | uses GPG to encrypt your passwords and has a plethora of third party 36 | integrations. 37 | 38 | Backing your databases up to your phone 39 | --------------------------------------- 40 | 41 | We assume you've read our `iPhone <../fedora/iphone.html>`_ article. A typical mechanism for 42 | transferring files to your phone is to either use iTunes or the cloud. However, in addition 43 | to iTunes working poorly on Linux, I consider it to be user unfriendly bloatware. I also do not 44 | like using iCloud to avoid exposing myself to unnecessary risk. 45 | 46 | Transferring your files to your iphone using ``ifuse`` is very straightforward: 47 | 48 | .. code-block:: shell 49 | 50 | #!/bin/bash 51 | 52 | if ifuse --documents com.markmcguill.strongbox "$HOME"/strongbox/; 53 | then 54 | cp "$HOME"/NewDatabase* "$HOME"/strongbox || fail 55 | sleep 1 56 | fusermount -u "$HOME"/strongbox || fail 57 | fi 58 | 59 | It is a quick operation and you can start using the database on your phone instantly. 60 | 61 | Checking your passwords against a HIBP dump 62 | ------------------------------------------- 63 | 64 | haveibeenpwned.com provides `password hashes 65 | `_ that you can use to compare against 66 | your password database to see if your passwords have appeared in any breaches. 67 | You can either use 1Password's watchtower feature (read: online, paid service) 68 | or compare it offline using KeepassXC. With KeepassXC the command is simple: 69 | 70 | .. code-block:: bash 71 | 72 | keepassxc-cli analyze -H pwned-passwords-sha1-ordered-by-count-v7.txt ~/NewDatabase.kdbx -k ~/NewDatabase.key 73 | 74 | Warning: the password file is HUGE and it will take a long time to finish the 75 | comparisons. 76 | 77 | FAQ 78 | --- 79 | 80 | Isn't using a single password bad? 81 | ********************************** 82 | 83 | Using a single, complex password stored only in your brain is more secure than 84 | multiple insecure passwords that you have to remember. Writing those passwords 85 | down, storing them in a plaintext file or some other mechanism is not as secure 86 | as an encrypted database. It goes without saying that the master password you 87 | choose should be long and generated in a cryptographically secure manner. 88 | 89 | But your master password can be stolen by a keylogger 90 | ***************************************************** 91 | 92 | The same could be said about any other password, password manager or not. 93 | Furthermore, if an attacker has physical access to your computer, it's 94 | generally considered game over. Password managers like KeePassXC do have 95 | features like autotype which can autofill passwords in an obfuscated manner to 96 | defeat software keyloggers. However, you should be making sure your computer is 97 | free of malware anyway. 98 | -------------------------------------------------------------------------------- /source/themes/sphinx_rtd_theme/__init__.py: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2013-2018 Dave Snider, Read the Docs, Inc. & contributors 2 | # 3 | # SPDX-License-Identifier: MIT 4 | 5 | """ 6 | Sphinx Read the Docs theme. 7 | 8 | From https://github.com/ryan-roemer/sphinx-bootstrap-theme. 9 | """ 10 | 11 | from os import path 12 | from sys import version_info as python_version 13 | 14 | from sphinx import version_info as sphinx_version 15 | from sphinx.locale import _ 16 | from sphinx.util.logging import getLogger 17 | 18 | 19 | __version__ = '1.0.0' 20 | __version_full__ = __version__ 21 | 22 | logger = getLogger(__name__) 23 | 24 | 25 | def get_html_theme_path(): 26 | """Return list of HTML theme paths.""" 27 | cur_dir = path.abspath(path.dirname(path.dirname(__file__))) 28 | return cur_dir 29 | 30 | 31 | def config_initiated(app, config): 32 | theme_options = config.html_theme_options or {} 33 | if theme_options.get('canonical_url'): 34 | logger.warning( 35 | _('The canonical_url option is deprecated, use the html_baseurl option from Sphinx instead.') 36 | ) 37 | 38 | # See http://www.sphinx-doc.org/en/stable/theming.html#distribute-your-theme-as-a-python-package 39 | def setup(app): 40 | if python_version[0] < 3: 41 | logger.warning("Python 2 is deprecated with sphinx_rtd_theme, update to Python 3") 42 | app.require_sphinx('1.6') 43 | if sphinx_version <= (2, 0, 0): 44 | logger.warning("Sphinx 1.x is deprecated with sphinx_rtd_theme, update to Sphinx 2.x or greater") 45 | if not app.config.html_experimental_html5_writer: 46 | logger.warning("'html4_writer' is deprecated with sphinx_rtd_theme") 47 | else: 48 | if app.config.html4_writer: 49 | logger.warning("'html4_writer' is deprecated with sphinx_rtd_theme") 50 | 51 | # Register the theme that can be referenced without adding a theme path 52 | app.add_html_theme('sphinx_rtd_theme', path.abspath(path.dirname(__file__))) 53 | 54 | if sphinx_version >= (1, 8, 0): 55 | # Add Sphinx message catalog for newer versions of Sphinx 56 | # See http://www.sphinx-doc.org/en/master/extdev/appapi.html#sphinx.application.Sphinx.add_message_catalog 57 | rtd_locale_path = path.join(path.abspath(path.dirname(__file__)), 'locale') 58 | app.add_message_catalog('sphinx', rtd_locale_path) 59 | app.connect('config-inited', config_initiated) 60 | 61 | # sphinx emits the permalink icon for headers, so choose one more in keeping with our theme 62 | if sphinx_version >= (3, 5, 0): 63 | app.config.html_permalinks_icon = "\uf0c1" 64 | else: 65 | app.config.html_add_permalinks = "\uf0c1" 66 | 67 | return {'parallel_read_safe': True, 'parallel_write_safe': True} 68 | -------------------------------------------------------------------------------- /source/themes/sphinx_rtd_theme/breadcrumbs.html: -------------------------------------------------------------------------------- 1 | 6 | 7 | {%- if meta is defined and meta is not none %} 8 | {%- set check_meta = True %} 9 | {%- else %} 10 | {%- set check_meta = False %} 11 | {%- endif %} 12 | 13 | {%- if check_meta and 'github_url' in meta %} 14 | {%- set display_github = True %} 15 | {%- endif %} 16 | 17 | {%- set display_vcs_links = display_vcs_links if display_vcs_links is defined else True %} 18 | 19 | {#- Translators: This is an ARIA section label for page links, including previous/next page link and links to GitHub/GitLab/etc. -#} 20 |
21 |
    22 | {%- block breadcrumbs %} 23 |
  • Home »
  • 24 | {%- for doc in parents %} 25 |
  • {{ doc.title }} »
  • 26 | {%- endfor %} 27 |
  • {{ title }}
  • 28 | {%- endblock %} 29 | {%- block breadcrumbs_aside %} 30 |
  • 31 | {%- if hasdoc(pagename) and display_vcs_links %} 32 | {%- if display_github %} 33 | {%- if check_meta and 'github_url' in meta %} 34 | 35 | {{ _('Edit on GitHub') }} 36 | {%- else %} 37 | {{ _('Edit on GitHub') }} 38 | {%- endif %} 39 | {%- elif show_source and source_url_prefix %} 40 | {{ _('View page source') }} 41 | {%- elif show_source and has_source and sourcename %} 42 | {{ _('View page source') }} 43 | {%- endif %} 44 | {%- endif %} 45 |
  • 46 | {%- endblock %} 47 |
48 |
49 |
50 | -------------------------------------------------------------------------------- /source/themes/sphinx_rtd_theme/footer.html: -------------------------------------------------------------------------------- 1 | 6 | 7 |
8 | {%- if (theme_prev_next_buttons_location == 'bottom' or theme_prev_next_buttons_location == 'both') and (next or prev) %} 9 | {#- Translators: This is an ARIA section label for the footer section of the page. -#} 10 | 18 | {%- endif %} 19 | 20 |
21 | 22 |
23 | {%- block contentinfo %} 24 |

25 | {%- if show_copyright %} 26 | {%- if hasdoc('copyright') %} 27 | {%- trans path=pathto('copyright'), copyright=copyright|e %}© Copyright {{ copyright }}.{% endtrans %} 28 | {%- else %} 29 | {%- trans copyright=copyright|e %}© Copyright {{ copyright }}.{% endtrans %} 30 | {%- endif %} 31 | {%- endif %} 32 | 33 | {%- if build_id and build_url %} 34 | 35 | {#- Translators: Build is a noun, not a verb -#} 36 | {%- trans %}Build{% endtrans -%} 37 | {{ build_id }}. 38 | 39 | {%- elif commit %} 40 | 41 | {#- Translators: the phrase "revision" comes from Git, referring to a commit #} 42 | {%- trans %}Revision{% endtrans %} {{ commit }}. 43 | 44 | {%- endif %} 45 | {%- if last_updated %} 46 | 47 | {%- trans last_updated=last_updated|e %}Last updated on {{ last_updated }}.{% endtrans %} 48 | 49 | {%- endif -%} 50 | 51 |

52 |

We are not affiliated with Red Hat®, Fedora®, Rocky Linux® or CentOS®. Red Hat®, Fedora® and CentOS® are registered trademarks of Red Hat, Inc. in the United States and other countries. Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries. Rocky Linux® is a registered trademark of the Rocky Enterprise Software Foundation. Inc. in the United States.

53 | {%- endblock %} 54 |
55 | 56 | {% if show_sphinx %} 57 | {%- set sphinx_web = 'Sphinx' %} 58 | {%- set readthedocs_web = 'Read the Docs' %} 59 | {#- Translators: the variable "sphinx_web" is a link to the Sphinx project documentation with the text "Sphinx" #} 60 | {%- trans sphinx_web=sphinx_web, readthedocs_web=readthedocs_web %}Built with {{ sphinx_web }} using a{% endtrans %} 61 | {#- Translators: "theme" refers to a theme for Sphinx, which alters the appearance of the generated documenation #} 62 | {% trans %}theme{% endtrans %} 63 | {#- Translators: this is always used as "provided by Read the Docs", and should not imply Read the Docs is an author of the generated documentation. #} 64 | {% trans %}provided by {{ readthedocs_web }}{% endtrans %}. 65 | {% endif %} 66 | 67 | {%- block extrafooter %} {% endblock %} 68 | 69 |
70 | -------------------------------------------------------------------------------- /source/themes/sphinx_rtd_theme/locale/de/LC_MESSAGES/sphinx.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nazunalika/linux-guide-and-hints/f75bf7297d94b1442eb74aa59120498d483bce95/source/themes/sphinx_rtd_theme/locale/de/LC_MESSAGES/sphinx.mo -------------------------------------------------------------------------------- /source/themes/sphinx_rtd_theme/locale/de/LC_MESSAGES/sphinx.po: -------------------------------------------------------------------------------- 1 | # English translations for sphinx_rtd_theme. 2 | # Copyright (C) 2019 ORGANIZATION 3 | # This file is distributed under the same license as the sphinx_rtd_theme 4 | # project. 5 | # FIRST AUTHOR , 2019. 6 | # 7 | # Translators: 8 | # Tom Kunze , 2019 9 | # 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n" 13 | "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" 14 | "POT-Creation-Date: 2021-09-13 13:35-0600\n" 15 | "PO-Revision-Date: 2019-07-16 21:44+0000\n" 16 | "Last-Translator: Tom Kunze , 2019\n" 17 | "Language-Team: German (https://www.transifex.com/readthedocs/teams/101354/de/)\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Generated-By: Babel 2.8.0\n" 22 | "Language: de\n" 23 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 24 | 25 | #: sphinx_rtd_theme/breadcrumbs.html:37 sphinx_rtd_theme/breadcrumbs.html:39 26 | msgid "Edit on GitHub" 27 | msgstr "Auf GitHub bearbeiten" 28 | 29 | #: sphinx_rtd_theme/breadcrumbs.html:44 sphinx_rtd_theme/breadcrumbs.html:46 30 | msgid "Edit on Bitbucket" 31 | msgstr "Auf Bitbucket bearbeiten" 32 | 33 | #: sphinx_rtd_theme/breadcrumbs.html:51 sphinx_rtd_theme/breadcrumbs.html:53 34 | msgid "Edit on GitLab" 35 | msgstr "Auf GitLab bearbeiten" 36 | 37 | #: sphinx_rtd_theme/breadcrumbs.html:56 sphinx_rtd_theme/breadcrumbs.html:58 38 | msgid "View page source" 39 | msgstr "Quelltext anzeigen" 40 | 41 | #: sphinx_rtd_theme/breadcrumbs.html:69 sphinx_rtd_theme/footer.html:6 42 | msgid "Previous" 43 | msgstr "Zurück" 44 | 45 | #: sphinx_rtd_theme/breadcrumbs.html:72 sphinx_rtd_theme/footer.html:9 46 | msgid "Next" 47 | msgstr "Weiter" 48 | 49 | #. Build is a noun, not a verb 50 | #: sphinx_rtd_theme/footer.html:30 51 | msgid "Build" 52 | msgstr "Build" 53 | 54 | #: sphinx_rtd_theme/footer.html:41 55 | #, python-format 56 | msgid "Last updated on %(last_updated)s." 57 | msgstr "Zuletzt aktualisiert am %(last_updated)s." 58 | 59 | #. the variable "sphinx_web" is a link to the Sphinx project documentation 60 | #. with 61 | #. the text "Sphinx" 62 | #: sphinx_rtd_theme/footer.html:53 63 | #, python-format 64 | msgid "Built with %(sphinx_web)s using a" 65 | msgstr "Erstellt mit %(sphinx_web)s mit einem" 66 | 67 | #. this is always used as "provided by Read the Docs", and should not imply 68 | #. Read the Docs is an author of the generated documentation. 69 | #: sphinx_rtd_theme/footer.html:57 70 | #, python-format 71 | msgid "provided by %(readthedocs_web)s" 72 | msgstr "bereitgestellt von %(readthedocs_web)s" 73 | 74 | #: sphinx_rtd_theme/layout.html:97 75 | #, python-format 76 | msgid "Search within %(docstitle)s" 77 | msgstr "%(docstitle)s durchsuchen" 78 | 79 | #: sphinx_rtd_theme/layout.html:105 80 | msgid "About these documents" 81 | msgstr "Über diese Dokumentation" 82 | 83 | #: sphinx_rtd_theme/layout.html:108 84 | msgid "Index" 85 | msgstr "Index" 86 | 87 | #: sphinx_rtd_theme/layout.html:111 sphinx_rtd_theme/search.html:11 88 | msgid "Search" 89 | msgstr "Suche" 90 | 91 | #: sphinx_rtd_theme/layout.html:114 92 | msgid "Copyright" 93 | msgstr "Copyright" 94 | 95 | #: sphinx_rtd_theme/layout.html:147 sphinx_rtd_theme/layout.html:149 96 | msgid "Logo" 97 | msgstr "Logo" 98 | 99 | #: sphinx_rtd_theme/search.html:31 100 | msgid "Please activate JavaScript to enable the search functionality." 101 | msgstr "Bitte aktiviere JavaScript, um die Suchfunktion zu nutzen." 102 | 103 | #. Search is a noun, not a verb 104 | #: sphinx_rtd_theme/search.html:39 105 | msgid "Search Results" 106 | msgstr "Suchergebnisse" 107 | 108 | #: sphinx_rtd_theme/search.html:41 109 | msgid "" 110 | "Your search did not match any documents. Please make sure that all words are" 111 | " spelled correctly and that you've selected enough categories." 112 | msgstr "" 113 | "Es wurden keine mit deiner Suchanfrage übereinstimmenden Dokumente gefunden." 114 | " Achte darauf, dass alle Wörter richtig geschrieben sind und dass genug " 115 | "Kategorien ausgewählt sind." 116 | 117 | #: sphinx_rtd_theme/searchbox.html:4 118 | msgid "Search docs" 119 | msgstr "Dokumentation durchsuchen" 120 | 121 | #: sphinx_rtd_theme/versions.html:3 sphinx_rtd_theme/versions.html:11 122 | msgid "Versions" 123 | msgstr "Versionen" 124 | 125 | #. The phrase "Read the Docs" is not translated 126 | #: sphinx_rtd_theme/versions.html:24 127 | msgid "On Read the Docs" 128 | msgstr "Auf Read the Docs" 129 | 130 | #: sphinx_rtd_theme/versions.html:26 131 | msgid "Project Home" 132 | msgstr "Projektübersicht" 133 | 134 | #: sphinx_rtd_theme/versions.html:29 135 | msgid "Builds" 136 | msgstr "Builds" 137 | -------------------------------------------------------------------------------- /source/themes/sphinx_rtd_theme/locale/en/LC_MESSAGES/sphinx.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nazunalika/linux-guide-and-hints/f75bf7297d94b1442eb74aa59120498d483bce95/source/themes/sphinx_rtd_theme/locale/en/LC_MESSAGES/sphinx.mo -------------------------------------------------------------------------------- /source/themes/sphinx_rtd_theme/locale/en/LC_MESSAGES/sphinx.po: -------------------------------------------------------------------------------- 1 | # English translations for sphinx_rtd_theme. 2 | # Copyright (C) 2019 ORGANIZATION 3 | # This file is distributed under the same license as the sphinx_rtd_theme 4 | # project. 5 | # FIRST AUTHOR , 2019. 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n" 10 | "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" 11 | "POT-Creation-Date: 2021-09-13 13:35-0600\n" 12 | "PO-Revision-Date: 2019-07-16 15:43-0600\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language: en\n" 15 | "Language-Team: en \n" 16 | "Plural-Forms: nplurals=2; plural=(n != 1)\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=utf-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Generated-By: Babel 2.8.0\n" 21 | 22 | #. This is an ARIA section label for page links, including previous/next page 23 | #. link and links to GitHub/GitLab/etc. 24 | #: sphinx_rtd_theme/breadcrumbs.html:22 25 | msgid "Page navigation" 26 | msgstr "" 27 | 28 | #: sphinx_rtd_theme/breadcrumbs.html:37 sphinx_rtd_theme/breadcrumbs.html:39 29 | msgid "Edit on GitHub" 30 | msgstr "" 31 | 32 | #: sphinx_rtd_theme/breadcrumbs.html:44 sphinx_rtd_theme/breadcrumbs.html:46 33 | msgid "Edit on Bitbucket" 34 | msgstr "" 35 | 36 | #: sphinx_rtd_theme/breadcrumbs.html:51 sphinx_rtd_theme/breadcrumbs.html:53 37 | msgid "Edit on GitLab" 38 | msgstr "" 39 | 40 | #: sphinx_rtd_theme/breadcrumbs.html:56 sphinx_rtd_theme/breadcrumbs.html:58 41 | msgid "View page source" 42 | msgstr "" 43 | 44 | #. This is an ARIA section label for sequential page links, such as previous 45 | #. and next page links. 46 | #: sphinx_rtd_theme/breadcrumbs.html:67 47 | msgid "Sequential page navigation" 48 | msgstr "" 49 | 50 | #: sphinx_rtd_theme/breadcrumbs.html:69 sphinx_rtd_theme/footer.html:6 51 | msgid "Previous" 52 | msgstr "" 53 | 54 | #: sphinx_rtd_theme/breadcrumbs.html:72 sphinx_rtd_theme/footer.html:9 55 | msgid "Next" 56 | msgstr "" 57 | 58 | #. This is an ARIA section label for the footer section of the page. 59 | #: sphinx_rtd_theme/footer.html:4 60 | msgid "Footer" 61 | msgstr "" 62 | 63 | #: sphinx_rtd_theme/footer.html:21 64 | #, python-format 65 | msgid "© Copyright %(copyright)s." 66 | msgstr "" 67 | 68 | #: sphinx_rtd_theme/footer.html:23 69 | #, python-format 70 | msgid "© Copyright %(copyright)s." 71 | msgstr "" 72 | 73 | #. Build is a noun, not a verb 74 | #: sphinx_rtd_theme/footer.html:30 75 | msgid "Build" 76 | msgstr "" 77 | 78 | #. the phrase "revision" comes from Git, referring to a commit 79 | #: sphinx_rtd_theme/footer.html:36 80 | msgid "Revision" 81 | msgstr "" 82 | 83 | #: sphinx_rtd_theme/footer.html:41 84 | #, python-format 85 | msgid "Last updated on %(last_updated)s." 86 | msgstr "" 87 | 88 | #. the variable "sphinx_web" is a link to the Sphinx project documentation with 89 | #. the text "Sphinx" 90 | #: sphinx_rtd_theme/footer.html:53 91 | #, python-format 92 | msgid "Built with %(sphinx_web)s using a" 93 | msgstr "" 94 | 95 | #. "theme" refers to a theme for Sphinx, which alters the appearance of the 96 | #. generated documenation 97 | #: sphinx_rtd_theme/footer.html:55 98 | msgid "theme" 99 | msgstr "" 100 | 101 | #. this is always used as "provided by Read the Docs", and should not imply 102 | #. Read the Docs is an author of the generated documentation. 103 | #: sphinx_rtd_theme/footer.html:57 104 | #, python-format 105 | msgid "provided by %(readthedocs_web)s" 106 | msgstr "" 107 | 108 | #: sphinx_rtd_theme/layout.html:97 109 | #, python-format 110 | msgid "Search within %(docstitle)s" 111 | msgstr "" 112 | 113 | #: sphinx_rtd_theme/layout.html:105 114 | msgid "About these documents" 115 | msgstr "" 116 | 117 | #: sphinx_rtd_theme/layout.html:108 118 | msgid "Index" 119 | msgstr "" 120 | 121 | #: sphinx_rtd_theme/layout.html:111 sphinx_rtd_theme/search.html:11 122 | msgid "Search" 123 | msgstr "" 124 | 125 | #: sphinx_rtd_theme/layout.html:114 126 | msgid "Copyright" 127 | msgstr "" 128 | 129 | #: sphinx_rtd_theme/layout.html:147 sphinx_rtd_theme/layout.html:149 130 | msgid "Logo" 131 | msgstr "" 132 | 133 | #. This is an ARIA section label for the main navigation menu 134 | #: sphinx_rtd_theme/layout.html:173 135 | msgid "Navigation menu" 136 | msgstr "" 137 | 138 | #. This is an ARIA section label for the navigation menu that is visible when 139 | #. viewing the page on mobile devices 140 | #: sphinx_rtd_theme/layout.html:195 141 | msgid "Mobile navigation menu" 142 | msgstr "" 143 | 144 | #: sphinx_rtd_theme/search.html:31 145 | msgid "Please activate JavaScript to enable the search functionality." 146 | msgstr "" 147 | 148 | #. Search is a noun, not a verb 149 | #: sphinx_rtd_theme/search.html:39 150 | msgid "Search Results" 151 | msgstr "" 152 | 153 | #: sphinx_rtd_theme/search.html:41 154 | msgid "" 155 | "Your search did not match any documents. Please make sure that all words " 156 | "are spelled correctly and that you've selected enough categories." 157 | msgstr "" 158 | 159 | #: sphinx_rtd_theme/searchbox.html:4 160 | msgid "Search docs" 161 | msgstr "" 162 | 163 | #: sphinx_rtd_theme/versions.html:3 sphinx_rtd_theme/versions.html:11 164 | msgid "Versions" 165 | msgstr "" 166 | 167 | #: sphinx_rtd_theme/versions.html:17 168 | msgid "Downloads" 169 | msgstr "" 170 | 171 | #. The phrase "Read the Docs" is not translated 172 | #: sphinx_rtd_theme/versions.html:24 173 | msgid "On Read the Docs" 174 | msgstr "" 175 | 176 | #: sphinx_rtd_theme/versions.html:26 177 | msgid "Project Home" 178 | msgstr "" 179 | 180 | #: sphinx_rtd_theme/versions.html:29 181 | msgid "Builds" 182 | msgstr "" 183 | 184 | #~ msgid "Docs" 185 | #~ msgstr "" 186 | 187 | #~ msgid "Free document hosting provided by" 188 | #~ msgstr "" 189 | 190 | #~ msgid "Documentation Home" 191 | #~ msgstr "" 192 | 193 | #~ msgid "Breadcrumbs" 194 | #~ msgstr "" 195 | 196 | #~ msgid "Main" 197 | #~ msgstr "" 198 | 199 | #~ msgid "Top" 200 | #~ msgstr "" 201 | 202 | -------------------------------------------------------------------------------- /source/themes/sphinx_rtd_theme/locale/es/LC_MESSAGES/sphinx.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nazunalika/linux-guide-and-hints/f75bf7297d94b1442eb74aa59120498d483bce95/source/themes/sphinx_rtd_theme/locale/es/LC_MESSAGES/sphinx.mo -------------------------------------------------------------------------------- /source/themes/sphinx_rtd_theme/locale/es/LC_MESSAGES/sphinx.po: -------------------------------------------------------------------------------- 1 | # English translations for sphinx_rtd_theme. 2 | # Copyright (C) 2019 ORGANIZATION 3 | # This file is distributed under the same license as the sphinx_rtd_theme 4 | # project. 5 | # FIRST AUTHOR , 2019. 6 | # 7 | # Translators: 8 | # Anthony , 2019 9 | # Radina Matic , 2021 10 | # 11 | msgid "" 12 | msgstr "" 13 | "Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n" 14 | "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" 15 | "POT-Creation-Date: 2021-09-13 13:35-0600\n" 16 | "PO-Revision-Date: 2019-07-16 21:44+0000\n" 17 | "Last-Translator: Radina Matic , 2021\n" 18 | "Language-Team: Spanish (https://www.transifex.com/readthedocs/teams/101354/es/)\n" 19 | "MIME-Version: 1.0\n" 20 | "Content-Type: text/plain; charset=UTF-8\n" 21 | "Content-Transfer-Encoding: 8bit\n" 22 | "Generated-By: Babel 2.8.0\n" 23 | "Language: es\n" 24 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 25 | 26 | #: sphinx_rtd_theme/breadcrumbs.html:37 sphinx_rtd_theme/breadcrumbs.html:39 27 | msgid "Edit on GitHub" 28 | msgstr "Editar en GitHub" 29 | 30 | #: sphinx_rtd_theme/breadcrumbs.html:44 sphinx_rtd_theme/breadcrumbs.html:46 31 | msgid "Edit on Bitbucket" 32 | msgstr "Editar en Bitbucket" 33 | 34 | #: sphinx_rtd_theme/breadcrumbs.html:51 sphinx_rtd_theme/breadcrumbs.html:53 35 | msgid "Edit on GitLab" 36 | msgstr "Editar en GitLab" 37 | 38 | #: sphinx_rtd_theme/breadcrumbs.html:56 sphinx_rtd_theme/breadcrumbs.html:58 39 | msgid "View page source" 40 | msgstr "Ver código fuente de la página" 41 | 42 | #: sphinx_rtd_theme/breadcrumbs.html:69 sphinx_rtd_theme/footer.html:6 43 | msgid "Previous" 44 | msgstr "Anterior" 45 | 46 | #: sphinx_rtd_theme/breadcrumbs.html:72 sphinx_rtd_theme/footer.html:9 47 | msgid "Next" 48 | msgstr "Siguiente" 49 | 50 | #. This is an ARIA section label for the footer section of the page. 51 | #: sphinx_rtd_theme/footer.html:4 52 | msgid "Footer" 53 | msgstr "Pie de página" 54 | 55 | #: sphinx_rtd_theme/footer.html:21 56 | #, python-format 57 | msgid "© Copyright %(copyright)s." 58 | msgstr "© Derechos de autor %(copyright)s." 59 | 60 | #: sphinx_rtd_theme/footer.html:23 61 | #, python-format 62 | msgid "© Copyright %(copyright)s." 63 | msgstr "© Derechos de autor %(copyright)s." 64 | 65 | #. Build is a noun, not a verb 66 | #: sphinx_rtd_theme/footer.html:30 67 | msgid "Build" 68 | msgstr "Compilación" 69 | 70 | #. the phrase "revision" comes from Git, referring to a commit 71 | #: sphinx_rtd_theme/footer.html:36 72 | msgid "Revision" 73 | msgstr "Revisión" 74 | 75 | #: sphinx_rtd_theme/footer.html:41 76 | #, python-format 77 | msgid "Last updated on %(last_updated)s." 78 | msgstr "Actualizado por última vez el %(last_updated)s." 79 | 80 | #. the variable "sphinx_web" is a link to the Sphinx project documentation 81 | #. with 82 | #. the text "Sphinx" 83 | #: sphinx_rtd_theme/footer.html:53 84 | #, python-format 85 | msgid "Built with %(sphinx_web)s using a" 86 | msgstr "Compilado con %(sphinx_web)s usando un" 87 | 88 | #. "theme" refers to a theme for Sphinx, which alters the appearance of the 89 | #. generated documenation 90 | #: sphinx_rtd_theme/footer.html:55 91 | msgid "theme" 92 | msgstr "tema" 93 | 94 | #. this is always used as "provided by Read the Docs", and should not imply 95 | #. Read the Docs is an author of the generated documentation. 96 | #: sphinx_rtd_theme/footer.html:57 97 | #, python-format 98 | msgid "provided by %(readthedocs_web)s" 99 | msgstr "proporcionado por %(readthedocs_web)s" 100 | 101 | #: sphinx_rtd_theme/layout.html:97 102 | #, python-format 103 | msgid "Search within %(docstitle)s" 104 | msgstr "Buscar en %(docstitle)s" 105 | 106 | #: sphinx_rtd_theme/layout.html:105 107 | msgid "About these documents" 108 | msgstr "Sobre esta documentación" 109 | 110 | #: sphinx_rtd_theme/layout.html:108 111 | msgid "Index" 112 | msgstr "Índice" 113 | 114 | #: sphinx_rtd_theme/layout.html:111 sphinx_rtd_theme/search.html:11 115 | msgid "Search" 116 | msgstr "Búsqueda" 117 | 118 | #: sphinx_rtd_theme/layout.html:114 119 | msgid "Copyright" 120 | msgstr "Derechos de autor" 121 | 122 | #: sphinx_rtd_theme/layout.html:147 sphinx_rtd_theme/layout.html:149 123 | msgid "Logo" 124 | msgstr "Logotipo" 125 | 126 | #: sphinx_rtd_theme/search.html:31 127 | msgid "Please activate JavaScript to enable the search functionality." 128 | msgstr "" 129 | "Por favor, active JavaScript para habilitar la funcionalidad de búsqueda." 130 | 131 | #. Search is a noun, not a verb 132 | #: sphinx_rtd_theme/search.html:39 133 | msgid "Search Results" 134 | msgstr "Resultados de la búsqueda" 135 | 136 | #: sphinx_rtd_theme/search.html:41 137 | msgid "" 138 | "Your search did not match any documents. Please make sure that all words are" 139 | " spelled correctly and that you've selected enough categories." 140 | msgstr "" 141 | "Su búsqueda no coincide con ningún documento. Por favor, asegúrese de que " 142 | "todas las palabras estén correctamente escritas y que usted haya " 143 | "seleccionado las suficientes categorías." 144 | 145 | #: sphinx_rtd_theme/searchbox.html:4 146 | msgid "Search docs" 147 | msgstr "Buscar documentos" 148 | 149 | #: sphinx_rtd_theme/versions.html:3 sphinx_rtd_theme/versions.html:11 150 | msgid "Versions" 151 | msgstr "Versiones" 152 | 153 | #: sphinx_rtd_theme/versions.html:17 154 | msgid "Downloads" 155 | msgstr "Descargas" 156 | 157 | #. The phrase "Read the Docs" is not translated 158 | #: sphinx_rtd_theme/versions.html:24 159 | msgid "On Read the Docs" 160 | msgstr "En Read the Docs" 161 | 162 | #: sphinx_rtd_theme/versions.html:26 163 | msgid "Project Home" 164 | msgstr "Página de Proyecto" 165 | 166 | #: sphinx_rtd_theme/versions.html:29 167 | msgid "Builds" 168 | msgstr "Compilaciones" 169 | -------------------------------------------------------------------------------- /source/themes/sphinx_rtd_theme/locale/et/LC_MESSAGES/sphinx.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nazunalika/linux-guide-and-hints/f75bf7297d94b1442eb74aa59120498d483bce95/source/themes/sphinx_rtd_theme/locale/et/LC_MESSAGES/sphinx.mo -------------------------------------------------------------------------------- /source/themes/sphinx_rtd_theme/locale/et/LC_MESSAGES/sphinx.po: -------------------------------------------------------------------------------- 1 | # English translations for sphinx_rtd_theme. 2 | # Copyright (C) 2019 ORGANIZATION 3 | # This file is distributed under the same license as the sphinx_rtd_theme 4 | # project. 5 | # FIRST AUTHOR , 2019. 6 | # 7 | # Translators: 8 | # Anthony , 2020 9 | # Ivar Smolin , 2021 10 | # 11 | msgid "" 12 | msgstr "" 13 | "Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n" 14 | "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" 15 | "POT-Creation-Date: 2021-09-13 13:35-0600\n" 16 | "PO-Revision-Date: 2019-07-16 21:44+0000\n" 17 | "Last-Translator: Ivar Smolin , 2021\n" 18 | "Language-Team: Estonian (https://www.transifex.com/readthedocs/teams/101354/et/)\n" 19 | "MIME-Version: 1.0\n" 20 | "Content-Type: text/plain; charset=UTF-8\n" 21 | "Content-Transfer-Encoding: 8bit\n" 22 | "Generated-By: Babel 2.8.0\n" 23 | "Language: et\n" 24 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 25 | 26 | #: sphinx_rtd_theme/breadcrumbs.html:37 sphinx_rtd_theme/breadcrumbs.html:39 27 | msgid "Edit on GitHub" 28 | msgstr "Muuda GitHubis" 29 | 30 | #: sphinx_rtd_theme/breadcrumbs.html:44 sphinx_rtd_theme/breadcrumbs.html:46 31 | msgid "Edit on Bitbucket" 32 | msgstr "Muuda Bitbucketis" 33 | 34 | #: sphinx_rtd_theme/breadcrumbs.html:51 sphinx_rtd_theme/breadcrumbs.html:53 35 | msgid "Edit on GitLab" 36 | msgstr "Muuda GitLabis" 37 | 38 | #: sphinx_rtd_theme/breadcrumbs.html:56 sphinx_rtd_theme/breadcrumbs.html:58 39 | msgid "View page source" 40 | msgstr "Vaata lehe lähtekoodi" 41 | 42 | #: sphinx_rtd_theme/breadcrumbs.html:69 sphinx_rtd_theme/footer.html:6 43 | msgid "Previous" 44 | msgstr "Eelmine" 45 | 46 | #: sphinx_rtd_theme/breadcrumbs.html:72 sphinx_rtd_theme/footer.html:9 47 | msgid "Next" 48 | msgstr "Järgmine" 49 | 50 | #. This is an ARIA section label for the footer section of the page. 51 | #: sphinx_rtd_theme/footer.html:4 52 | msgid "Footer" 53 | msgstr "Jalus" 54 | 55 | #: sphinx_rtd_theme/footer.html:21 56 | #, python-format 57 | msgid "© Copyright %(copyright)s." 58 | msgstr "© Autoriõigus %(copyright)s." 59 | 60 | #: sphinx_rtd_theme/footer.html:23 61 | #, python-format 62 | msgid "© Copyright %(copyright)s." 63 | msgstr "© Autoriõigus %(copyright)s." 64 | 65 | #. Build is a noun, not a verb 66 | #: sphinx_rtd_theme/footer.html:30 67 | msgid "Build" 68 | msgstr "Ehitus" 69 | 70 | #. the phrase "revision" comes from Git, referring to a commit 71 | #: sphinx_rtd_theme/footer.html:36 72 | msgid "Revision" 73 | msgstr "Redaktsioon" 74 | 75 | #: sphinx_rtd_theme/footer.html:41 76 | #, python-format 77 | msgid "Last updated on %(last_updated)s." 78 | msgstr "Viimati uuendatud %(last_updated)s." 79 | 80 | #. the variable "sphinx_web" is a link to the Sphinx project documentation 81 | #. with 82 | #. the text "Sphinx" 83 | #: sphinx_rtd_theme/footer.html:53 84 | #, python-format 85 | msgid "Built with %(sphinx_web)s using a" 86 | msgstr "Ehitatud %(sphinx_web)s'iga," 87 | 88 | #. "theme" refers to a theme for Sphinx, which alters the appearance of the 89 | #. generated documenation 90 | #: sphinx_rtd_theme/footer.html:55 91 | msgid "theme" 92 | msgstr "kujundusteema" 93 | 94 | #. this is always used as "provided by Read the Docs", and should not imply 95 | #. Read the Docs is an author of the generated documentation. 96 | #: sphinx_rtd_theme/footer.html:57 97 | #, python-format 98 | msgid "provided by %(readthedocs_web)s" 99 | msgstr "on loonud %(readthedocs_web)s" 100 | 101 | #: sphinx_rtd_theme/layout.html:97 102 | #, python-format 103 | msgid "Search within %(docstitle)s" 104 | msgstr "Otsi dokumendist %(docstitle)s" 105 | 106 | #: sphinx_rtd_theme/layout.html:105 107 | msgid "About these documents" 108 | msgstr "Nende dokumentide kirjeldused" 109 | 110 | #: sphinx_rtd_theme/layout.html:108 111 | msgid "Index" 112 | msgstr "Indeks" 113 | 114 | #: sphinx_rtd_theme/layout.html:111 sphinx_rtd_theme/search.html:11 115 | msgid "Search" 116 | msgstr "Otsing" 117 | 118 | #: sphinx_rtd_theme/layout.html:114 119 | msgid "Copyright" 120 | msgstr "Autoriõigus" 121 | 122 | #: sphinx_rtd_theme/layout.html:147 sphinx_rtd_theme/layout.html:149 123 | msgid "Logo" 124 | msgstr "Logo" 125 | 126 | #: sphinx_rtd_theme/search.html:31 127 | msgid "Please activate JavaScript to enable the search functionality." 128 | msgstr "Otsimisfunktsiooni lubamiseks aktiveeri palun JavaScript" 129 | 130 | #. Search is a noun, not a verb 131 | #: sphinx_rtd_theme/search.html:39 132 | msgid "Search Results" 133 | msgstr "Otsingu tulemused" 134 | 135 | #: sphinx_rtd_theme/search.html:41 136 | msgid "" 137 | "Your search did not match any documents. Please make sure that all words are" 138 | " spelled correctly and that you've selected enough categories." 139 | msgstr "" 140 | "Sinu otsingule ei vastanud ükski dokument. Palun veendu, et kõik sisestatud " 141 | "sõnad on õigesti kirjutatud ja sa oled valikud piisaval hulgal kategooriaid." 142 | 143 | #: sphinx_rtd_theme/searchbox.html:4 144 | msgid "Search docs" 145 | msgstr "Otsi dokumente" 146 | 147 | #: sphinx_rtd_theme/versions.html:3 sphinx_rtd_theme/versions.html:11 148 | msgid "Versions" 149 | msgstr "Versioonid" 150 | 151 | #: sphinx_rtd_theme/versions.html:17 152 | msgid "Downloads" 153 | msgstr "Allalaadimised" 154 | 155 | #. The phrase "Read the Docs" is not translated 156 | #: sphinx_rtd_theme/versions.html:24 157 | msgid "On Read the Docs" 158 | msgstr "Saidil Read the Docs" 159 | 160 | #: sphinx_rtd_theme/versions.html:26 161 | msgid "Project Home" 162 | msgstr "Projekti kodu" 163 | 164 | #: sphinx_rtd_theme/versions.html:29 165 | msgid "Builds" 166 | msgstr "Ehitused" 167 | -------------------------------------------------------------------------------- /source/themes/sphinx_rtd_theme/locale/fa_IR/LC_MESSAGES/sphinx.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nazunalika/linux-guide-and-hints/f75bf7297d94b1442eb74aa59120498d483bce95/source/themes/sphinx_rtd_theme/locale/fa_IR/LC_MESSAGES/sphinx.mo -------------------------------------------------------------------------------- /source/themes/sphinx_rtd_theme/locale/fa_IR/LC_MESSAGES/sphinx.po: -------------------------------------------------------------------------------- 1 | # English translations for sphinx_rtd_theme. 2 | # Copyright (C) 2019 ORGANIZATION 3 | # This file is distributed under the same license as the sphinx_rtd_theme 4 | # project. 5 | # FIRST AUTHOR , 2019. 6 | # 7 | # Translators: 8 | # Anthony , 2021 9 | # 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n" 13 | "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" 14 | "POT-Creation-Date: 2021-09-13 13:35-0600\n" 15 | "PO-Revision-Date: 2019-07-16 21:44+0000\n" 16 | "Last-Translator: Anthony , 2021\n" 17 | "Language-Team: Persian (Iran) (https://www.transifex.com/readthedocs/teams/101354/fa_IR/)\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Generated-By: Babel 2.8.0\n" 22 | "Language: fa_IR\n" 23 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 24 | 25 | #: sphinx_rtd_theme/breadcrumbs.html:37 sphinx_rtd_theme/breadcrumbs.html:39 26 | msgid "Edit on GitHub" 27 | msgstr "ویرایش در GitHub" 28 | 29 | #: sphinx_rtd_theme/breadcrumbs.html:44 sphinx_rtd_theme/breadcrumbs.html:46 30 | msgid "Edit on Bitbucket" 31 | msgstr "ویرایش در Bitbucket" 32 | 33 | #: sphinx_rtd_theme/breadcrumbs.html:51 sphinx_rtd_theme/breadcrumbs.html:53 34 | msgid "Edit on GitLab" 35 | msgstr "ویرایش در GitLab" 36 | 37 | #: sphinx_rtd_theme/breadcrumbs.html:56 sphinx_rtd_theme/breadcrumbs.html:58 38 | msgid "View page source" 39 | msgstr "نمایش متن منبع صفحه" 40 | 41 | #: sphinx_rtd_theme/breadcrumbs.html:69 sphinx_rtd_theme/footer.html:6 42 | msgid "Previous" 43 | msgstr "پیشین" 44 | 45 | #: sphinx_rtd_theme/breadcrumbs.html:72 sphinx_rtd_theme/footer.html:9 46 | msgid "Next" 47 | msgstr "بعدی" 48 | 49 | #: sphinx_rtd_theme/footer.html:21 50 | #, python-format 51 | msgid "© Copyright %(copyright)s." 52 | msgstr "© حق انتشار %(copyright)s." 53 | 54 | #: sphinx_rtd_theme/footer.html:23 55 | #, python-format 56 | msgid "© Copyright %(copyright)s." 57 | msgstr "© حق انتشار%(copyright)s." 58 | 59 | #. Build is a noun, not a verb 60 | #: sphinx_rtd_theme/footer.html:30 61 | msgid "Build" 62 | msgstr "ساخت" 63 | 64 | #. the phrase "revision" comes from Git, referring to a commit 65 | #: sphinx_rtd_theme/footer.html:36 66 | msgid "Revision" 67 | msgstr "بازبینی" 68 | 69 | #: sphinx_rtd_theme/footer.html:41 70 | #, python-format 71 | msgid "Last updated on %(last_updated)s." 72 | msgstr "آخرین بروز رسانی در %(last_updated)s ." 73 | 74 | #. the variable "sphinx_web" is a link to the Sphinx project documentation 75 | #. with 76 | #. the text "Sphinx" 77 | #: sphinx_rtd_theme/footer.html:53 78 | #, python-format 79 | msgid "Built with %(sphinx_web)s using a" 80 | msgstr "ساخته شده با %(sphinx_web)s" 81 | 82 | #. "theme" refers to a theme for Sphinx, which alters the appearance of the 83 | #. generated documenation 84 | #: sphinx_rtd_theme/footer.html:55 85 | msgid "theme" 86 | msgstr "پوسته" 87 | 88 | #. this is always used as "provided by Read the Docs", and should not imply 89 | #. Read the Docs is an author of the generated documentation. 90 | #: sphinx_rtd_theme/footer.html:57 91 | #, python-format 92 | msgid "provided by %(readthedocs_web)s" 93 | msgstr "تهیّه شده با %(readthedocs_web)s" 94 | 95 | #: sphinx_rtd_theme/layout.html:97 96 | #, python-format 97 | msgid "Search within %(docstitle)s" 98 | msgstr "جستجو در %(docstitle)s" 99 | 100 | #: sphinx_rtd_theme/layout.html:105 101 | msgid "About these documents" 102 | msgstr "درباره این مستندات" 103 | 104 | #: sphinx_rtd_theme/layout.html:108 105 | msgid "Index" 106 | msgstr "فهرست" 107 | 108 | #: sphinx_rtd_theme/layout.html:111 sphinx_rtd_theme/search.html:11 109 | msgid "Search" 110 | msgstr "جستجوی" 111 | 112 | #: sphinx_rtd_theme/layout.html:114 113 | msgid "Copyright" 114 | msgstr "کپی رایت" 115 | 116 | #: sphinx_rtd_theme/layout.html:147 sphinx_rtd_theme/layout.html:149 117 | msgid "Logo" 118 | msgstr "آرم" 119 | 120 | #: sphinx_rtd_theme/search.html:31 121 | msgid "Please activate JavaScript to enable the search functionality." 122 | msgstr "لطفاً جاوا اسکریپت را فعّال کنید تا قابلیّت جستجو فعّال شود." 123 | 124 | #. Search is a noun, not a verb 125 | #: sphinx_rtd_theme/search.html:39 126 | msgid "Search Results" 127 | msgstr "نتایج جستجو" 128 | 129 | #: sphinx_rtd_theme/search.html:41 130 | msgid "" 131 | "Your search did not match any documents. Please make sure that all words are" 132 | " spelled correctly and that you've selected enough categories." 133 | msgstr "" 134 | "جستجوی شما با هیچ سندی مطابقت نداشت. لطفاً از درستی املای واژگان مطمئن شوید." 135 | " هم‌چنین بررسی کنید آیا به اندازه کافی دسته بندی انتخاب کرده‌اید." 136 | 137 | #: sphinx_rtd_theme/searchbox.html:4 138 | msgid "Search docs" 139 | msgstr "جستجوی مستندات" 140 | 141 | #: sphinx_rtd_theme/versions.html:3 sphinx_rtd_theme/versions.html:11 142 | msgid "Versions" 143 | msgstr "نگارش‌ها" 144 | 145 | #: sphinx_rtd_theme/versions.html:17 146 | msgid "Downloads" 147 | msgstr "بارگیری‌ها" 148 | 149 | #. The phrase "Read the Docs" is not translated 150 | #: sphinx_rtd_theme/versions.html:24 151 | msgid "On Read the Docs" 152 | msgstr "درباره‌ی خواندن مستندات" 153 | 154 | #: sphinx_rtd_theme/versions.html:26 155 | msgid "Project Home" 156 | msgstr "صفحه خانگی پروژه" 157 | 158 | #: sphinx_rtd_theme/versions.html:29 159 | msgid "Builds" 160 | msgstr "ساخت‌ها" 161 | -------------------------------------------------------------------------------- /source/themes/sphinx_rtd_theme/locale/fr/LC_MESSAGES/sphinx.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nazunalika/linux-guide-and-hints/f75bf7297d94b1442eb74aa59120498d483bce95/source/themes/sphinx_rtd_theme/locale/fr/LC_MESSAGES/sphinx.mo -------------------------------------------------------------------------------- /source/themes/sphinx_rtd_theme/locale/fr/LC_MESSAGES/sphinx.po: -------------------------------------------------------------------------------- 1 | # English translations for sphinx_rtd_theme. 2 | # Copyright (C) 2019 ORGANIZATION 3 | # This file is distributed under the same license as the sphinx_rtd_theme 4 | # project. 5 | # FIRST AUTHOR , 2019. 6 | # 7 | # Translators: 8 | # Anthony , 2020 9 | # Radina Matic , 2021 10 | # 11 | msgid "" 12 | msgstr "" 13 | "Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n" 14 | "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" 15 | "POT-Creation-Date: 2021-09-13 13:35-0600\n" 16 | "PO-Revision-Date: 2019-07-16 21:44+0000\n" 17 | "Last-Translator: Radina Matic , 2021\n" 18 | "Language-Team: French (https://www.transifex.com/readthedocs/teams/101354/fr/)\n" 19 | "MIME-Version: 1.0\n" 20 | "Content-Type: text/plain; charset=UTF-8\n" 21 | "Content-Transfer-Encoding: 8bit\n" 22 | "Generated-By: Babel 2.8.0\n" 23 | "Language: fr\n" 24 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 25 | 26 | #: sphinx_rtd_theme/breadcrumbs.html:37 sphinx_rtd_theme/breadcrumbs.html:39 27 | msgid "Edit on GitHub" 28 | msgstr "Éditer sur GitHub" 29 | 30 | #: sphinx_rtd_theme/breadcrumbs.html:44 sphinx_rtd_theme/breadcrumbs.html:46 31 | msgid "Edit on Bitbucket" 32 | msgstr "Éditer sur Bitbucket" 33 | 34 | #: sphinx_rtd_theme/breadcrumbs.html:51 sphinx_rtd_theme/breadcrumbs.html:53 35 | msgid "Edit on GitLab" 36 | msgstr "Éditer sur GitLab" 37 | 38 | #: sphinx_rtd_theme/breadcrumbs.html:56 sphinx_rtd_theme/breadcrumbs.html:58 39 | msgid "View page source" 40 | msgstr "Afficher la source de la page" 41 | 42 | #: sphinx_rtd_theme/breadcrumbs.html:69 sphinx_rtd_theme/footer.html:6 43 | msgid "Previous" 44 | msgstr "Précédent" 45 | 46 | #: sphinx_rtd_theme/breadcrumbs.html:72 sphinx_rtd_theme/footer.html:9 47 | msgid "Next" 48 | msgstr "Suivant" 49 | 50 | #. This is an ARIA section label for the footer section of the page. 51 | #: sphinx_rtd_theme/footer.html:4 52 | msgid "Footer" 53 | msgstr "Pied de page" 54 | 55 | #: sphinx_rtd_theme/footer.html:21 56 | #, python-format 57 | msgid "© Copyright %(copyright)s." 58 | msgstr "© Droits d'auteur %(copyright)s." 59 | 60 | #: sphinx_rtd_theme/footer.html:23 61 | #, python-format 62 | msgid "© Copyright %(copyright)s." 63 | msgstr "© Droits d'auteur %(copyright)s." 64 | 65 | #. Build is a noun, not a verb 66 | #: sphinx_rtd_theme/footer.html:30 67 | msgid "Build" 68 | msgstr "Compilation" 69 | 70 | #. the phrase "revision" comes from Git, referring to a commit 71 | #: sphinx_rtd_theme/footer.html:36 72 | msgid "Revision" 73 | msgstr "Révision" 74 | 75 | #: sphinx_rtd_theme/footer.html:41 76 | #, python-format 77 | msgid "Last updated on %(last_updated)s." 78 | msgstr "Dernière mise à jour le %(last_updated)s." 79 | 80 | #. the variable "sphinx_web" is a link to the Sphinx project documentation 81 | #. with 82 | #. the text "Sphinx" 83 | #: sphinx_rtd_theme/footer.html:53 84 | #, python-format 85 | msgid "Built with %(sphinx_web)s using a" 86 | msgstr "Compilé avec %(sphinx_web)s en utilisant un" 87 | 88 | #. "theme" refers to a theme for Sphinx, which alters the appearance of the 89 | #. generated documenation 90 | #: sphinx_rtd_theme/footer.html:55 91 | msgid "theme" 92 | msgstr "thème" 93 | 94 | #. this is always used as "provided by Read the Docs", and should not imply 95 | #. Read the Docs is an author of the generated documentation. 96 | #: sphinx_rtd_theme/footer.html:57 97 | #, python-format 98 | msgid "provided by %(readthedocs_web)s" 99 | msgstr "fourni par %(readthedocs_web)s" 100 | 101 | #: sphinx_rtd_theme/layout.html:97 102 | #, python-format 103 | msgid "Search within %(docstitle)s" 104 | msgstr "Rechercher dans %(docstitle)s" 105 | 106 | #: sphinx_rtd_theme/layout.html:105 107 | msgid "About these documents" 108 | msgstr "À propos de cette documentation" 109 | 110 | #: sphinx_rtd_theme/layout.html:108 111 | msgid "Index" 112 | msgstr "Index" 113 | 114 | #: sphinx_rtd_theme/layout.html:111 sphinx_rtd_theme/search.html:11 115 | msgid "Search" 116 | msgstr "Rechercher" 117 | 118 | #: sphinx_rtd_theme/layout.html:114 119 | msgid "Copyright" 120 | msgstr "Droits d'auteur" 121 | 122 | #: sphinx_rtd_theme/layout.html:147 sphinx_rtd_theme/layout.html:149 123 | msgid "Logo" 124 | msgstr "Logo" 125 | 126 | #: sphinx_rtd_theme/search.html:31 127 | msgid "Please activate JavaScript to enable the search functionality." 128 | msgstr "Activez JavaScript pour accéder à la fonction de recherche." 129 | 130 | #. Search is a noun, not a verb 131 | #: sphinx_rtd_theme/search.html:39 132 | msgid "Search Results" 133 | msgstr "Résultats de la recherche" 134 | 135 | #: sphinx_rtd_theme/search.html:41 136 | msgid "" 137 | "Your search did not match any documents. Please make sure that all words are" 138 | " spelled correctly and that you've selected enough categories." 139 | msgstr "" 140 | "Votre recherche ne correspond à aucun document. Assurez-vous que tous les " 141 | "mots sont correctement orthographiés et que vous avez sélectionné " 142 | "suffisamment de catégories." 143 | 144 | #: sphinx_rtd_theme/searchbox.html:4 145 | msgid "Search docs" 146 | msgstr "Rechercher docs" 147 | 148 | #: sphinx_rtd_theme/versions.html:3 sphinx_rtd_theme/versions.html:11 149 | msgid "Versions" 150 | msgstr "Versions" 151 | 152 | #: sphinx_rtd_theme/versions.html:17 153 | msgid "Downloads" 154 | msgstr "Téléchargements" 155 | 156 | #. The phrase "Read the Docs" is not translated 157 | #: sphinx_rtd_theme/versions.html:24 158 | msgid "On Read the Docs" 159 | msgstr "À propos de Read the Docs" 160 | 161 | #: sphinx_rtd_theme/versions.html:26 162 | msgid "Project Home" 163 | msgstr "Accueil du projet" 164 | 165 | #: sphinx_rtd_theme/versions.html:29 166 | msgid "Builds" 167 | msgstr "Compilations" 168 | -------------------------------------------------------------------------------- /source/themes/sphinx_rtd_theme/locale/it/LC_MESSAGES/sphinx.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nazunalika/linux-guide-and-hints/f75bf7297d94b1442eb74aa59120498d483bce95/source/themes/sphinx_rtd_theme/locale/it/LC_MESSAGES/sphinx.mo -------------------------------------------------------------------------------- /source/themes/sphinx_rtd_theme/locale/lt/LC_MESSAGES/sphinx.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nazunalika/linux-guide-and-hints/f75bf7297d94b1442eb74aa59120498d483bce95/source/themes/sphinx_rtd_theme/locale/lt/LC_MESSAGES/sphinx.mo -------------------------------------------------------------------------------- /source/themes/sphinx_rtd_theme/locale/nl/LC_MESSAGES/sphinx.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nazunalika/linux-guide-and-hints/f75bf7297d94b1442eb74aa59120498d483bce95/source/themes/sphinx_rtd_theme/locale/nl/LC_MESSAGES/sphinx.mo -------------------------------------------------------------------------------- /source/themes/sphinx_rtd_theme/locale/nl/LC_MESSAGES/sphinx.po: -------------------------------------------------------------------------------- 1 | # English translations for sphinx_rtd_theme. 2 | # Copyright (C) 2019 ORGANIZATION 3 | # This file is distributed under the same license as the sphinx_rtd_theme 4 | # project. 5 | # FIRST AUTHOR , 2019. 6 | # 7 | # Translators: 8 | # Jesse Tan, 2021 9 | # 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n" 13 | "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" 14 | "POT-Creation-Date: 2021-09-13 13:35-0600\n" 15 | "PO-Revision-Date: 2019-07-16 21:44+0000\n" 16 | "Last-Translator: Jesse Tan, 2021\n" 17 | "Language-Team: Dutch (https://www.transifex.com/readthedocs/teams/101354/nl/)\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Generated-By: Babel 2.8.0\n" 22 | "Language: nl\n" 23 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 24 | 25 | #. This is an ARIA section label for page links, including previous/next page 26 | #. link and links to GitHub/GitLab/etc. 27 | #: sphinx_rtd_theme/breadcrumbs.html:22 28 | msgid "Page navigation" 29 | msgstr "Paginanavigatie" 30 | 31 | #: sphinx_rtd_theme/breadcrumbs.html:37 sphinx_rtd_theme/breadcrumbs.html:39 32 | msgid "Edit on GitHub" 33 | msgstr "Bewerk op GitHub" 34 | 35 | #: sphinx_rtd_theme/breadcrumbs.html:44 sphinx_rtd_theme/breadcrumbs.html:46 36 | msgid "Edit on Bitbucket" 37 | msgstr "Bewerk op BitBucket" 38 | 39 | #: sphinx_rtd_theme/breadcrumbs.html:51 sphinx_rtd_theme/breadcrumbs.html:53 40 | msgid "Edit on GitLab" 41 | msgstr "Bewerk op GitLab" 42 | 43 | #: sphinx_rtd_theme/breadcrumbs.html:56 sphinx_rtd_theme/breadcrumbs.html:58 44 | msgid "View page source" 45 | msgstr "Bekijk paginabron" 46 | 47 | #. This is an ARIA section label for sequential page links, such as previous 48 | #. and next page links. 49 | #: sphinx_rtd_theme/breadcrumbs.html:67 50 | msgid "Sequential page navigation" 51 | msgstr "Navigatie voor gerelateerde pagina's" 52 | 53 | #: sphinx_rtd_theme/breadcrumbs.html:69 sphinx_rtd_theme/footer.html:6 54 | msgid "Previous" 55 | msgstr "Vorige" 56 | 57 | #: sphinx_rtd_theme/breadcrumbs.html:72 sphinx_rtd_theme/footer.html:9 58 | msgid "Next" 59 | msgstr "Volgende" 60 | 61 | #. This is an ARIA section label for the footer section of the page. 62 | #: sphinx_rtd_theme/footer.html:4 63 | msgid "Footer" 64 | msgstr "Voettekst" 65 | 66 | #: sphinx_rtd_theme/footer.html:21 67 | #, python-format 68 | msgid "© Copyright %(copyright)s." 69 | msgstr "© Copyright %(copyright)s." 70 | 71 | #: sphinx_rtd_theme/footer.html:23 72 | #, python-format 73 | msgid "© Copyright %(copyright)s." 74 | msgstr "© Copyright %(copyright)s." 75 | 76 | #. Build is a noun, not a verb 77 | #: sphinx_rtd_theme/footer.html:30 78 | msgid "Build" 79 | msgstr "Bouwresultaat" 80 | 81 | #. the phrase "revision" comes from Git, referring to a commit 82 | #: sphinx_rtd_theme/footer.html:36 83 | msgid "Revision" 84 | msgstr "Revisie" 85 | 86 | #: sphinx_rtd_theme/footer.html:41 87 | #, python-format 88 | msgid "Last updated on %(last_updated)s." 89 | msgstr "Laatste update op %(last_updated)s." 90 | 91 | #. the variable "sphinx_web" is a link to the Sphinx project documentation 92 | #. with 93 | #. the text "Sphinx" 94 | #: sphinx_rtd_theme/footer.html:53 95 | #, python-format 96 | msgid "Built with %(sphinx_web)s using a" 97 | msgstr "Gebouwd met %(sphinx_web)s met een" 98 | 99 | #. "theme" refers to a theme for Sphinx, which alters the appearance of the 100 | #. generated documenation 101 | #: sphinx_rtd_theme/footer.html:55 102 | msgid "theme" 103 | msgstr "thema" 104 | 105 | #. this is always used as "provided by Read the Docs", and should not imply 106 | #. Read the Docs is an author of the generated documentation. 107 | #: sphinx_rtd_theme/footer.html:57 108 | #, python-format 109 | msgid "provided by %(readthedocs_web)s" 110 | msgstr "geleverd door %(readthedocs_web)s" 111 | 112 | #: sphinx_rtd_theme/layout.html:97 113 | #, python-format 114 | msgid "Search within %(docstitle)s" 115 | msgstr "Zoek binnen %(docstitle)s" 116 | 117 | #: sphinx_rtd_theme/layout.html:105 118 | msgid "About these documents" 119 | msgstr "Over deze documenten" 120 | 121 | #: sphinx_rtd_theme/layout.html:108 122 | msgid "Index" 123 | msgstr "Index" 124 | 125 | #: sphinx_rtd_theme/layout.html:111 sphinx_rtd_theme/search.html:11 126 | msgid "Search" 127 | msgstr "Zoek" 128 | 129 | #: sphinx_rtd_theme/layout.html:114 130 | msgid "Copyright" 131 | msgstr "Copyright" 132 | 133 | #: sphinx_rtd_theme/layout.html:147 sphinx_rtd_theme/layout.html:149 134 | msgid "Logo" 135 | msgstr "Logo" 136 | 137 | #. This is an ARIA section label for the main navigation menu 138 | #: sphinx_rtd_theme/layout.html:173 139 | msgid "Navigation menu" 140 | msgstr "Navigatiemenu" 141 | 142 | #. This is an ARIA section label for the navigation menu that is visible when 143 | #. viewing the page on mobile devices 144 | #: sphinx_rtd_theme/layout.html:195 145 | msgid "Mobile navigation menu" 146 | msgstr "Navigatiemenu voor mobiel" 147 | 148 | #: sphinx_rtd_theme/search.html:31 149 | msgid "Please activate JavaScript to enable the search functionality." 150 | msgstr "Zet JavaScript aan om de zoekfunctie mogelijk te maken." 151 | 152 | #. Search is a noun, not a verb 153 | #: sphinx_rtd_theme/search.html:39 154 | msgid "Search Results" 155 | msgstr "Zoekresultaten" 156 | 157 | #: sphinx_rtd_theme/search.html:41 158 | msgid "" 159 | "Your search did not match any documents. Please make sure that all words are" 160 | " spelled correctly and that you've selected enough categories." 161 | msgstr "" 162 | "Zoekpoging vond geen documenten. Zorg ervoor dat alle woorden correct zijn " 163 | "gespeld en dat voldoende categorieën zijn geselecteerd." 164 | 165 | #: sphinx_rtd_theme/searchbox.html:4 166 | msgid "Search docs" 167 | msgstr "Zoek in documentatie" 168 | 169 | #: sphinx_rtd_theme/versions.html:3 sphinx_rtd_theme/versions.html:11 170 | msgid "Versions" 171 | msgstr "Versies" 172 | 173 | #: sphinx_rtd_theme/versions.html:17 174 | msgid "Downloads" 175 | msgstr "Downloads" 176 | 177 | #. The phrase "Read the Docs" is not translated 178 | #: sphinx_rtd_theme/versions.html:24 179 | msgid "On Read the Docs" 180 | msgstr "Op Read the Docs" 181 | 182 | #: sphinx_rtd_theme/versions.html:26 183 | msgid "Project Home" 184 | msgstr "Project Home" 185 | 186 | #: sphinx_rtd_theme/versions.html:29 187 | msgid "Builds" 188 | msgstr "Bouwresultaten" 189 | -------------------------------------------------------------------------------- /source/themes/sphinx_rtd_theme/locale/pl/LC_MESSAGES/sphinx.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nazunalika/linux-guide-and-hints/f75bf7297d94b1442eb74aa59120498d483bce95/source/themes/sphinx_rtd_theme/locale/pl/LC_MESSAGES/sphinx.mo -------------------------------------------------------------------------------- /source/themes/sphinx_rtd_theme/locale/pl/LC_MESSAGES/sphinx.po: -------------------------------------------------------------------------------- 1 | # English translations for sphinx_rtd_theme. 2 | # Copyright (C) 2019 ORGANIZATION 3 | # This file is distributed under the same license as the sphinx_rtd_theme 4 | # project. 5 | # FIRST AUTHOR , 2019. 6 | # 7 | # Translators: 8 | # Michal Sniatala, 2021 9 | # 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n" 13 | "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" 14 | "POT-Creation-Date: 2021-09-13 13:35-0600\n" 15 | "PO-Revision-Date: 2019-07-16 21:44+0000\n" 16 | "Last-Translator: Michal Sniatala, 2021\n" 17 | "Language-Team: Polish (https://www.transifex.com/readthedocs/teams/101354/pl/)\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Generated-By: Babel 2.8.0\n" 22 | "Language: pl\n" 23 | "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" 24 | 25 | #: sphinx_rtd_theme/breadcrumbs.html:37 sphinx_rtd_theme/breadcrumbs.html:39 26 | msgid "Edit on GitHub" 27 | msgstr "Edytuj na GitHub" 28 | 29 | #: sphinx_rtd_theme/breadcrumbs.html:44 sphinx_rtd_theme/breadcrumbs.html:46 30 | msgid "Edit on Bitbucket" 31 | msgstr "Edytuj na Bitbucket" 32 | 33 | #: sphinx_rtd_theme/breadcrumbs.html:51 sphinx_rtd_theme/breadcrumbs.html:53 34 | msgid "Edit on GitLab" 35 | msgstr "Edytuj na GitLab" 36 | 37 | #: sphinx_rtd_theme/breadcrumbs.html:56 sphinx_rtd_theme/breadcrumbs.html:58 38 | msgid "View page source" 39 | msgstr "Zobacz źródło strony" 40 | 41 | #: sphinx_rtd_theme/breadcrumbs.html:69 sphinx_rtd_theme/footer.html:6 42 | msgid "Previous" 43 | msgstr "Poprzedni" 44 | 45 | #: sphinx_rtd_theme/breadcrumbs.html:72 sphinx_rtd_theme/footer.html:9 46 | msgid "Next" 47 | msgstr "Następny" 48 | 49 | #: sphinx_rtd_theme/footer.html:21 50 | #, python-format 51 | msgid "© Copyright %(copyright)s." 52 | msgstr "© Prawa zastrzeżone %(copyright)s." 53 | 54 | #: sphinx_rtd_theme/footer.html:23 55 | #, python-format 56 | msgid "© Copyright %(copyright)s." 57 | msgstr "© Prawa zastrzeżone %(copyright)s." 58 | 59 | #: sphinx_rtd_theme/footer.html:41 60 | #, python-format 61 | msgid "Last updated on %(last_updated)s." 62 | msgstr "Ostatnia aktualizacja %(last_updated)s." 63 | 64 | #. the variable "sphinx_web" is a link to the Sphinx project documentation 65 | #. with 66 | #. the text "Sphinx" 67 | #: sphinx_rtd_theme/footer.html:53 68 | #, python-format 69 | msgid "Built with %(sphinx_web)s using a" 70 | msgstr "Zbudowano w %(sphinx_web)s używając" 71 | 72 | #. this is always used as "provided by Read the Docs", and should not imply 73 | #. Read the Docs is an author of the generated documentation. 74 | #: sphinx_rtd_theme/footer.html:57 75 | #, python-format 76 | msgid "provided by %(readthedocs_web)s" 77 | msgstr "dostarczone przez %(readthedocs_web)s" 78 | 79 | #: sphinx_rtd_theme/layout.html:97 80 | #, python-format 81 | msgid "Search within %(docstitle)s" 82 | msgstr "Szukaj w %(docstitle)s" 83 | 84 | #: sphinx_rtd_theme/layout.html:105 85 | msgid "About these documents" 86 | msgstr "O tych dokumentach" 87 | 88 | #: sphinx_rtd_theme/layout.html:108 89 | msgid "Index" 90 | msgstr "Indeks" 91 | 92 | #: sphinx_rtd_theme/layout.html:111 sphinx_rtd_theme/search.html:11 93 | msgid "Search" 94 | msgstr "Szukaj" 95 | 96 | #: sphinx_rtd_theme/layout.html:114 97 | msgid "Copyright" 98 | msgstr "Prawa zastrzeżone" 99 | 100 | #: sphinx_rtd_theme/search.html:31 101 | msgid "Please activate JavaScript to enable the search functionality." 102 | msgstr "" 103 | "Proszę aktywować obsługę JavaScript, aby włączyć funkcję wyszukiwania." 104 | 105 | #. Search is a noun, not a verb 106 | #: sphinx_rtd_theme/search.html:39 107 | msgid "Search Results" 108 | msgstr "Wyniki wyszukiwania" 109 | 110 | #: sphinx_rtd_theme/search.html:41 111 | msgid "" 112 | "Your search did not match any documents. Please make sure that all words are" 113 | " spelled correctly and that you've selected enough categories." 114 | msgstr "" 115 | "Nie znaleziono szukanej frazy. Upewnij się, że wszystkie słowa są napisane " 116 | "poprawnie i że wybrałeś wystarczającą liczbę kategorii." 117 | 118 | #: sphinx_rtd_theme/searchbox.html:4 119 | msgid "Search docs" 120 | msgstr "Szukaj" 121 | 122 | #: sphinx_rtd_theme/versions.html:3 sphinx_rtd_theme/versions.html:11 123 | msgid "Versions" 124 | msgstr "Wersje" 125 | 126 | #: sphinx_rtd_theme/versions.html:17 127 | msgid "Downloads" 128 | msgstr "Pobrania" 129 | 130 | #. The phrase "Read the Docs" is not translated 131 | #: sphinx_rtd_theme/versions.html:24 132 | msgid "On Read the Docs" 133 | msgstr "Na Read the Docs" 134 | 135 | #: sphinx_rtd_theme/versions.html:26 136 | msgid "Project Home" 137 | msgstr "Strona projektu" 138 | -------------------------------------------------------------------------------- /source/themes/sphinx_rtd_theme/locale/pt/LC_MESSAGES/sphinx.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nazunalika/linux-guide-and-hints/f75bf7297d94b1442eb74aa59120498d483bce95/source/themes/sphinx_rtd_theme/locale/pt/LC_MESSAGES/sphinx.mo -------------------------------------------------------------------------------- /source/themes/sphinx_rtd_theme/locale/pt/LC_MESSAGES/sphinx.po: -------------------------------------------------------------------------------- 1 | # English translations for sphinx_rtd_theme. 2 | # Copyright (C) 2019 ORGANIZATION 3 | # This file is distributed under the same license as the sphinx_rtd_theme 4 | # project. 5 | # FIRST AUTHOR , 2019. 6 | # 7 | # Translators: 8 | # Ana Costa , 2021 9 | # 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n" 13 | "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" 14 | "POT-Creation-Date: 2021-09-13 13:35-0600\n" 15 | "PO-Revision-Date: 2019-07-16 21:44+0000\n" 16 | "Last-Translator: Ana Costa , 2021\n" 17 | "Language-Team: Portuguese (https://www.transifex.com/readthedocs/teams/101354/pt/)\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Generated-By: Babel 2.8.0\n" 22 | "Language: pt\n" 23 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 24 | 25 | #. This is an ARIA section label for page links, including previous/next page 26 | #. link and links to GitHub/GitLab/etc. 27 | #: sphinx_rtd_theme/breadcrumbs.html:22 28 | msgid "Page navigation" 29 | msgstr "Navegação da página" 30 | 31 | #: sphinx_rtd_theme/breadcrumbs.html:37 sphinx_rtd_theme/breadcrumbs.html:39 32 | msgid "Edit on GitHub" 33 | msgstr "Editar no GitHub" 34 | 35 | #: sphinx_rtd_theme/breadcrumbs.html:44 sphinx_rtd_theme/breadcrumbs.html:46 36 | msgid "Edit on Bitbucket" 37 | msgstr "Editar no Bitbucket" 38 | 39 | #: sphinx_rtd_theme/breadcrumbs.html:51 sphinx_rtd_theme/breadcrumbs.html:53 40 | msgid "Edit on GitLab" 41 | msgstr "Editar no GitLab" 42 | 43 | #: sphinx_rtd_theme/breadcrumbs.html:56 sphinx_rtd_theme/breadcrumbs.html:58 44 | msgid "View page source" 45 | msgstr "Ver código-fonte da página" 46 | 47 | #. This is an ARIA section label for sequential page links, such as previous 48 | #. and next page links. 49 | #: sphinx_rtd_theme/breadcrumbs.html:67 50 | msgid "Sequential page navigation" 51 | msgstr "Navegação sequencial da página" 52 | 53 | #: sphinx_rtd_theme/breadcrumbs.html:69 sphinx_rtd_theme/footer.html:6 54 | msgid "Previous" 55 | msgstr "Anterior" 56 | 57 | #: sphinx_rtd_theme/breadcrumbs.html:72 sphinx_rtd_theme/footer.html:9 58 | msgid "Next" 59 | msgstr "Seguinte" 60 | 61 | #. This is an ARIA section label for the footer section of the page. 62 | #: sphinx_rtd_theme/footer.html:4 63 | msgid "Footer" 64 | msgstr "Rodapé" 65 | 66 | #. the phrase "revision" comes from Git, referring to a commit 67 | #: sphinx_rtd_theme/footer.html:36 68 | msgid "Revision" 69 | msgstr "Revisão" 70 | 71 | #: sphinx_rtd_theme/footer.html:41 72 | #, python-format 73 | msgid "Last updated on %(last_updated)s." 74 | msgstr "Última actualização em %(last_updated)s." 75 | 76 | #. the variable "sphinx_web" is a link to the Sphinx project documentation 77 | #. with 78 | #. the text "Sphinx" 79 | #: sphinx_rtd_theme/footer.html:53 80 | #, python-format 81 | msgid "Built with %(sphinx_web)s using a" 82 | msgstr "Compilado com %(sphinx_web)s usando um" 83 | 84 | #. "theme" refers to a theme for Sphinx, which alters the appearance of the 85 | #. generated documenation 86 | #: sphinx_rtd_theme/footer.html:55 87 | msgid "theme" 88 | msgstr "tema" 89 | 90 | #. this is always used as "provided by Read the Docs", and should not imply 91 | #. Read the Docs is an author of the generated documentation. 92 | #: sphinx_rtd_theme/footer.html:57 93 | #, python-format 94 | msgid "provided by %(readthedocs_web)s" 95 | msgstr "fornecido por %(readthedocs_web)s" 96 | 97 | #: sphinx_rtd_theme/layout.html:97 98 | #, python-format 99 | msgid "Search within %(docstitle)s" 100 | msgstr "Procurar em %(docstitle)s" 101 | 102 | #: sphinx_rtd_theme/layout.html:105 103 | msgid "About these documents" 104 | msgstr "Sobre estes documentos" 105 | 106 | #: sphinx_rtd_theme/layout.html:108 107 | msgid "Index" 108 | msgstr "Índice" 109 | 110 | #: sphinx_rtd_theme/layout.html:111 sphinx_rtd_theme/search.html:11 111 | msgid "Search" 112 | msgstr "Pesquisar" 113 | 114 | #: sphinx_rtd_theme/layout.html:147 sphinx_rtd_theme/layout.html:149 115 | msgid "Logo" 116 | msgstr "Logo" 117 | 118 | #. This is an ARIA section label for the main navigation menu 119 | #: sphinx_rtd_theme/layout.html:173 120 | msgid "Navigation menu" 121 | msgstr "Menu de navegação" 122 | 123 | #. This is an ARIA section label for the navigation menu that is visible when 124 | #. viewing the page on mobile devices 125 | #: sphinx_rtd_theme/layout.html:195 126 | msgid "Mobile navigation menu" 127 | msgstr "Menu de navegação móvel" 128 | 129 | #: sphinx_rtd_theme/search.html:31 130 | msgid "Please activate JavaScript to enable the search functionality." 131 | msgstr "Por favor, active o JavaScript para permitir a função de pesquisa." 132 | 133 | #. Search is a noun, not a verb 134 | #: sphinx_rtd_theme/search.html:39 135 | msgid "Search Results" 136 | msgstr "Resultados de Pesquisa" 137 | 138 | #: sphinx_rtd_theme/search.html:41 139 | msgid "" 140 | "Your search did not match any documents. Please make sure that all words are" 141 | " spelled correctly and that you've selected enough categories." 142 | msgstr "" 143 | "A sua pesquisa não encontrou nenhum documento. Por favor confirme que todas " 144 | "as palavras estão bem escritas e que selecionou categorias suficientes." 145 | 146 | #: sphinx_rtd_theme/searchbox.html:4 147 | msgid "Search docs" 148 | msgstr "Pesquisar docs" 149 | 150 | #: sphinx_rtd_theme/versions.html:3 sphinx_rtd_theme/versions.html:11 151 | msgid "Versions" 152 | msgstr "Versões" 153 | 154 | #: sphinx_rtd_theme/versions.html:17 155 | msgid "Downloads" 156 | msgstr "Transferências" 157 | 158 | #. The phrase "Read the Docs" is not translated 159 | #: sphinx_rtd_theme/versions.html:24 160 | msgid "On Read the Docs" 161 | msgstr "No Read the Docs" 162 | -------------------------------------------------------------------------------- /source/themes/sphinx_rtd_theme/locale/pt_BR/LC_MESSAGES/sphinx.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nazunalika/linux-guide-and-hints/f75bf7297d94b1442eb74aa59120498d483bce95/source/themes/sphinx_rtd_theme/locale/pt_BR/LC_MESSAGES/sphinx.mo -------------------------------------------------------------------------------- /source/themes/sphinx_rtd_theme/locale/ru/LC_MESSAGES/sphinx.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nazunalika/linux-guide-and-hints/f75bf7297d94b1442eb74aa59120498d483bce95/source/themes/sphinx_rtd_theme/locale/ru/LC_MESSAGES/sphinx.mo -------------------------------------------------------------------------------- /source/themes/sphinx_rtd_theme/locale/sphinx.pot: -------------------------------------------------------------------------------- 1 | # Translations template for sphinx_rtd_theme. 2 | # Copyright (C) 2021 ORGANIZATION 3 | # This file is distributed under the same license as the sphinx_rtd_theme 4 | # project. 5 | # FIRST AUTHOR , 2021. 6 | # 7 | #, fuzzy 8 | msgid "" 9 | msgstr "" 10 | "Project-Id-Version: sphinx_rtd_theme 1.0.0\n" 11 | "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" 12 | "POT-Creation-Date: 2021-09-13 13:35-0600\n" 13 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 14 | "Last-Translator: FULL NAME \n" 15 | "Language-Team: LANGUAGE \n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=utf-8\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | "Generated-By: Babel 2.8.0\n" 20 | 21 | #. This is an ARIA section label for page links, including previous/next page 22 | #. link and links to GitHub/GitLab/etc. 23 | #: sphinx_rtd_theme/breadcrumbs.html:22 24 | msgid "Page navigation" 25 | msgstr "" 26 | 27 | #: sphinx_rtd_theme/breadcrumbs.html:37 sphinx_rtd_theme/breadcrumbs.html:39 28 | msgid "Edit on GitHub" 29 | msgstr "" 30 | 31 | #: sphinx_rtd_theme/breadcrumbs.html:44 sphinx_rtd_theme/breadcrumbs.html:46 32 | msgid "Edit on Bitbucket" 33 | msgstr "" 34 | 35 | #: sphinx_rtd_theme/breadcrumbs.html:51 sphinx_rtd_theme/breadcrumbs.html:53 36 | msgid "Edit on GitLab" 37 | msgstr "" 38 | 39 | #: sphinx_rtd_theme/breadcrumbs.html:56 sphinx_rtd_theme/breadcrumbs.html:58 40 | msgid "View page source" 41 | msgstr "" 42 | 43 | #. This is an ARIA section label for sequential page links, such as previous 44 | #. and next page links. 45 | #: sphinx_rtd_theme/breadcrumbs.html:67 46 | msgid "Sequential page navigation" 47 | msgstr "" 48 | 49 | #: sphinx_rtd_theme/breadcrumbs.html:69 sphinx_rtd_theme/footer.html:6 50 | msgid "Previous" 51 | msgstr "" 52 | 53 | #: sphinx_rtd_theme/breadcrumbs.html:72 sphinx_rtd_theme/footer.html:9 54 | msgid "Next" 55 | msgstr "" 56 | 57 | #. This is an ARIA section label for the footer section of the page. 58 | #: sphinx_rtd_theme/footer.html:4 59 | msgid "Footer" 60 | msgstr "" 61 | 62 | #: sphinx_rtd_theme/footer.html:21 63 | #, python-format 64 | msgid "© Copyright %(copyright)s." 65 | msgstr "" 66 | 67 | #: sphinx_rtd_theme/footer.html:23 68 | #, python-format 69 | msgid "© Copyright %(copyright)s." 70 | msgstr "" 71 | 72 | #. Build is a noun, not a verb 73 | #: sphinx_rtd_theme/footer.html:30 74 | msgid "Build" 75 | msgstr "" 76 | 77 | #. the phrase "revision" comes from Git, referring to a commit 78 | #: sphinx_rtd_theme/footer.html:36 79 | msgid "Revision" 80 | msgstr "" 81 | 82 | #: sphinx_rtd_theme/footer.html:41 83 | #, python-format 84 | msgid "Last updated on %(last_updated)s." 85 | msgstr "" 86 | 87 | #. the variable "sphinx_web" is a link to the Sphinx project documentation with 88 | #. the text "Sphinx" 89 | #: sphinx_rtd_theme/footer.html:53 90 | #, python-format 91 | msgid "Built with %(sphinx_web)s using a" 92 | msgstr "" 93 | 94 | #. "theme" refers to a theme for Sphinx, which alters the appearance of the 95 | #. generated documenation 96 | #: sphinx_rtd_theme/footer.html:55 97 | msgid "theme" 98 | msgstr "" 99 | 100 | #. this is always used as "provided by Read the Docs", and should not imply 101 | #. Read the Docs is an author of the generated documentation. 102 | #: sphinx_rtd_theme/footer.html:57 103 | #, python-format 104 | msgid "provided by %(readthedocs_web)s" 105 | msgstr "" 106 | 107 | #: sphinx_rtd_theme/layout.html:97 108 | #, python-format 109 | msgid "Search within %(docstitle)s" 110 | msgstr "" 111 | 112 | #: sphinx_rtd_theme/layout.html:105 113 | msgid "About these documents" 114 | msgstr "" 115 | 116 | #: sphinx_rtd_theme/layout.html:108 117 | msgid "Index" 118 | msgstr "" 119 | 120 | #: sphinx_rtd_theme/layout.html:111 sphinx_rtd_theme/search.html:11 121 | msgid "Search" 122 | msgstr "" 123 | 124 | #: sphinx_rtd_theme/layout.html:114 125 | msgid "Copyright" 126 | msgstr "" 127 | 128 | #: sphinx_rtd_theme/layout.html:147 sphinx_rtd_theme/layout.html:149 129 | msgid "Logo" 130 | msgstr "" 131 | 132 | #. This is an ARIA section label for the main navigation menu 133 | #: sphinx_rtd_theme/layout.html:173 134 | msgid "Navigation menu" 135 | msgstr "" 136 | 137 | #. This is an ARIA section label for the navigation menu that is visible when 138 | #. viewing the page on mobile devices 139 | #: sphinx_rtd_theme/layout.html:195 140 | msgid "Mobile navigation menu" 141 | msgstr "" 142 | 143 | #: sphinx_rtd_theme/search.html:31 144 | msgid "Please activate JavaScript to enable the search functionality." 145 | msgstr "" 146 | 147 | #. Search is a noun, not a verb 148 | #: sphinx_rtd_theme/search.html:39 149 | msgid "Search Results" 150 | msgstr "" 151 | 152 | #: sphinx_rtd_theme/search.html:41 153 | msgid "" 154 | "Your search did not match any documents. Please make sure that all words " 155 | "are spelled correctly and that you've selected enough categories." 156 | msgstr "" 157 | 158 | #: sphinx_rtd_theme/searchbox.html:4 159 | msgid "Search docs" 160 | msgstr "" 161 | 162 | #: sphinx_rtd_theme/versions.html:3 sphinx_rtd_theme/versions.html:11 163 | msgid "Versions" 164 | msgstr "" 165 | 166 | #: sphinx_rtd_theme/versions.html:17 167 | msgid "Downloads" 168 | msgstr "" 169 | 170 | #. The phrase "Read the Docs" is not translated 171 | #: sphinx_rtd_theme/versions.html:24 172 | msgid "On Read the Docs" 173 | msgstr "" 174 | 175 | #: sphinx_rtd_theme/versions.html:26 176 | msgid "Project Home" 177 | msgstr "" 178 | 179 | #: sphinx_rtd_theme/versions.html:29 180 | msgid "Builds" 181 | msgstr "" 182 | 183 | -------------------------------------------------------------------------------- /source/themes/sphinx_rtd_theme/locale/sv/LC_MESSAGES/sphinx.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nazunalika/linux-guide-and-hints/f75bf7297d94b1442eb74aa59120498d483bce95/source/themes/sphinx_rtd_theme/locale/sv/LC_MESSAGES/sphinx.mo -------------------------------------------------------------------------------- /source/themes/sphinx_rtd_theme/locale/sv/LC_MESSAGES/sphinx.po: -------------------------------------------------------------------------------- 1 | # English translations for sphinx_rtd_theme. 2 | # Copyright (C) 2019 ORGANIZATION 3 | # This file is distributed under the same license as the sphinx_rtd_theme 4 | # project. 5 | # FIRST AUTHOR , 2019. 6 | # 7 | # Translators: 8 | # Daniel Holmberg , 2020 9 | # 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n" 13 | "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" 14 | "POT-Creation-Date: 2021-09-13 13:35-0600\n" 15 | "PO-Revision-Date: 2019-07-16 21:44+0000\n" 16 | "Last-Translator: Daniel Holmberg , 2020\n" 17 | "Language-Team: Swedish (https://www.transifex.com/readthedocs/teams/101354/sv/)\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Generated-By: Babel 2.8.0\n" 22 | "Language: sv\n" 23 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 24 | 25 | #: sphinx_rtd_theme/breadcrumbs.html:37 sphinx_rtd_theme/breadcrumbs.html:39 26 | msgid "Edit on GitHub" 27 | msgstr "Editera på GitHub" 28 | 29 | #: sphinx_rtd_theme/breadcrumbs.html:44 sphinx_rtd_theme/breadcrumbs.html:46 30 | msgid "Edit on Bitbucket" 31 | msgstr "Editera på Bitbucket" 32 | 33 | #: sphinx_rtd_theme/breadcrumbs.html:51 sphinx_rtd_theme/breadcrumbs.html:53 34 | msgid "Edit on GitLab" 35 | msgstr "Editera på GitLab" 36 | 37 | #: sphinx_rtd_theme/breadcrumbs.html:56 sphinx_rtd_theme/breadcrumbs.html:58 38 | msgid "View page source" 39 | msgstr "Visa sidkälla" 40 | 41 | #: sphinx_rtd_theme/breadcrumbs.html:69 sphinx_rtd_theme/footer.html:6 42 | msgid "Previous" 43 | msgstr "Tillbaka" 44 | 45 | #: sphinx_rtd_theme/breadcrumbs.html:72 sphinx_rtd_theme/footer.html:9 46 | msgid "Next" 47 | msgstr "Nästa" 48 | 49 | #. Build is a noun, not a verb 50 | #: sphinx_rtd_theme/footer.html:30 51 | msgid "Build" 52 | msgstr "Bygg" 53 | 54 | #. the phrase "revision" comes from Git, referring to a commit 55 | #: sphinx_rtd_theme/footer.html:36 56 | msgid "Revision" 57 | msgstr "Ändra" 58 | 59 | #: sphinx_rtd_theme/footer.html:41 60 | #, python-format 61 | msgid "Last updated on %(last_updated)s." 62 | msgstr "Senast uppdaterad %(last_updated)s." 63 | 64 | #. the variable "sphinx_web" is a link to the Sphinx project documentation 65 | #. with 66 | #. the text "Sphinx" 67 | #: sphinx_rtd_theme/footer.html:53 68 | #, python-format 69 | msgid "Built with %(sphinx_web)s using a" 70 | msgstr "Gjord med %(sphinx_web)s med hjälp av" 71 | 72 | #. "theme" refers to a theme for Sphinx, which alters the appearance of the 73 | #. generated documenation 74 | #: sphinx_rtd_theme/footer.html:55 75 | msgid "theme" 76 | msgstr "tema" 77 | 78 | #. this is always used as "provided by Read the Docs", and should not imply 79 | #. Read the Docs is an author of the generated documentation. 80 | #: sphinx_rtd_theme/footer.html:57 81 | #, python-format 82 | msgid "provided by %(readthedocs_web)s" 83 | msgstr "erhållet av %(readthedocs_web)s" 84 | 85 | #: sphinx_rtd_theme/layout.html:97 86 | #, python-format 87 | msgid "Search within %(docstitle)s" 88 | msgstr "Sök i %(docstitle)s" 89 | 90 | #: sphinx_rtd_theme/layout.html:105 91 | msgid "About these documents" 92 | msgstr "Om dessa dokument" 93 | 94 | #: sphinx_rtd_theme/layout.html:108 95 | msgid "Index" 96 | msgstr "Index" 97 | 98 | #: sphinx_rtd_theme/layout.html:111 sphinx_rtd_theme/search.html:11 99 | msgid "Search" 100 | msgstr "Sök" 101 | 102 | #: sphinx_rtd_theme/layout.html:114 103 | msgid "Copyright" 104 | msgstr "Upphovsrätt" 105 | 106 | #: sphinx_rtd_theme/layout.html:147 sphinx_rtd_theme/layout.html:149 107 | msgid "Logo" 108 | msgstr "Logo" 109 | 110 | #: sphinx_rtd_theme/search.html:31 111 | msgid "Please activate JavaScript to enable the search functionality." 112 | msgstr "" 113 | "Var vänlig och aktivera JavaScript för att möjliggöra sökfunktionaliteten." 114 | 115 | #. Search is a noun, not a verb 116 | #: sphinx_rtd_theme/search.html:39 117 | msgid "Search Results" 118 | msgstr "Sökresultat" 119 | 120 | #: sphinx_rtd_theme/search.html:41 121 | msgid "" 122 | "Your search did not match any documents. Please make sure that all words are" 123 | " spelled correctly and that you've selected enough categories." 124 | msgstr "" 125 | "Din sökning gav inga träffar. Var vänlig och se till att alla ord är rätt " 126 | "stavade och att du har valt tillräckligt många kategorier." 127 | 128 | #: sphinx_rtd_theme/searchbox.html:4 129 | msgid "Search docs" 130 | msgstr "Sök i dokumentationen" 131 | 132 | #: sphinx_rtd_theme/versions.html:3 sphinx_rtd_theme/versions.html:11 133 | msgid "Versions" 134 | msgstr "Versioner" 135 | 136 | #: sphinx_rtd_theme/versions.html:17 137 | msgid "Downloads" 138 | msgstr "Nerladdningar" 139 | 140 | #. The phrase "Read the Docs" is not translated 141 | #: sphinx_rtd_theme/versions.html:24 142 | msgid "On Read the Docs" 143 | msgstr "På Read the Docs" 144 | 145 | #: sphinx_rtd_theme/versions.html:26 146 | msgid "Project Home" 147 | msgstr "Projekt Hem" 148 | 149 | #: sphinx_rtd_theme/versions.html:29 150 | msgid "Builds" 151 | msgstr "Versioner" 152 | -------------------------------------------------------------------------------- /source/themes/sphinx_rtd_theme/locale/tr/LC_MESSAGES/sphinx.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nazunalika/linux-guide-and-hints/f75bf7297d94b1442eb74aa59120498d483bce95/source/themes/sphinx_rtd_theme/locale/tr/LC_MESSAGES/sphinx.mo -------------------------------------------------------------------------------- /source/themes/sphinx_rtd_theme/locale/tr/LC_MESSAGES/sphinx.po: -------------------------------------------------------------------------------- 1 | # English translations for sphinx_rtd_theme. 2 | # Copyright (C) 2019 ORGANIZATION 3 | # This file is distributed under the same license as the sphinx_rtd_theme 4 | # project. 5 | # FIRST AUTHOR , 2019. 6 | # 7 | # Translators: 8 | # BouRock, 2020 9 | # 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n" 13 | "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" 14 | "POT-Creation-Date: 2021-09-13 13:35-0600\n" 15 | "PO-Revision-Date: 2019-07-16 21:44+0000\n" 16 | "Last-Translator: BouRock, 2020\n" 17 | "Language-Team: Turkish (https://www.transifex.com/readthedocs/teams/101354/tr/)\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Generated-By: Babel 2.8.0\n" 22 | "Language: tr\n" 23 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 24 | 25 | #: sphinx_rtd_theme/breadcrumbs.html:37 sphinx_rtd_theme/breadcrumbs.html:39 26 | msgid "Edit on GitHub" 27 | msgstr "GitHub'da Düzenle" 28 | 29 | #: sphinx_rtd_theme/breadcrumbs.html:44 sphinx_rtd_theme/breadcrumbs.html:46 30 | msgid "Edit on Bitbucket" 31 | msgstr "Bitbucket'ta Düzenle" 32 | 33 | #: sphinx_rtd_theme/breadcrumbs.html:51 sphinx_rtd_theme/breadcrumbs.html:53 34 | msgid "Edit on GitLab" 35 | msgstr "GitLab'ta Düzenle" 36 | 37 | #: sphinx_rtd_theme/breadcrumbs.html:56 sphinx_rtd_theme/breadcrumbs.html:58 38 | msgid "View page source" 39 | msgstr "Sayfa kaynağını görüntüle" 40 | 41 | #: sphinx_rtd_theme/breadcrumbs.html:69 sphinx_rtd_theme/footer.html:6 42 | msgid "Previous" 43 | msgstr "Önceki" 44 | 45 | #: sphinx_rtd_theme/breadcrumbs.html:72 sphinx_rtd_theme/footer.html:9 46 | msgid "Next" 47 | msgstr "Sonraki" 48 | 49 | #. Build is a noun, not a verb 50 | #: sphinx_rtd_theme/footer.html:30 51 | msgid "Build" 52 | msgstr "Oluşturma" 53 | 54 | #. the phrase "revision" comes from Git, referring to a commit 55 | #: sphinx_rtd_theme/footer.html:36 56 | msgid "Revision" 57 | msgstr "Gözden geçirme" 58 | 59 | #: sphinx_rtd_theme/footer.html:41 60 | #, python-format 61 | msgid "Last updated on %(last_updated)s." 62 | msgstr "Son olarak %(last_updated)s tarihinde güncellendi." 63 | 64 | #. "theme" refers to a theme for Sphinx, which alters the appearance of the 65 | #. generated documenation 66 | #: sphinx_rtd_theme/footer.html:55 67 | msgid "theme" 68 | msgstr "tema" 69 | 70 | #. this is always used as "provided by Read the Docs", and should not imply 71 | #. Read the Docs is an author of the generated documentation. 72 | #: sphinx_rtd_theme/footer.html:57 73 | #, python-format 74 | msgid "provided by %(readthedocs_web)s" 75 | msgstr "kullanılarak %(readthedocs_web)s tarafından sağlanmasıyla oluşturuldu" 76 | 77 | #: sphinx_rtd_theme/layout.html:97 78 | #, python-format 79 | msgid "Search within %(docstitle)s" 80 | msgstr "%(docstitle)s içinde ara" 81 | 82 | #: sphinx_rtd_theme/layout.html:105 83 | msgid "About these documents" 84 | msgstr "Bu belgeler hakkında" 85 | 86 | #: sphinx_rtd_theme/layout.html:108 87 | msgid "Index" 88 | msgstr "Dizin" 89 | 90 | #: sphinx_rtd_theme/layout.html:111 sphinx_rtd_theme/search.html:11 91 | msgid "Search" 92 | msgstr "Arama" 93 | 94 | #: sphinx_rtd_theme/layout.html:114 95 | msgid "Copyright" 96 | msgstr "Telif hakkı" 97 | 98 | #: sphinx_rtd_theme/layout.html:147 sphinx_rtd_theme/layout.html:149 99 | msgid "Logo" 100 | msgstr "Logo" 101 | 102 | #: sphinx_rtd_theme/search.html:31 103 | msgid "Please activate JavaScript to enable the search functionality." 104 | msgstr "" 105 | "Arama işlevselliğini etkinleştirmek için lütfen JavaScript'i etkinleştirin." 106 | 107 | #. Search is a noun, not a verb 108 | #: sphinx_rtd_theme/search.html:39 109 | msgid "Search Results" 110 | msgstr "Arama Sonuçları" 111 | 112 | #: sphinx_rtd_theme/search.html:41 113 | msgid "" 114 | "Your search did not match any documents. Please make sure that all words are" 115 | " spelled correctly and that you've selected enough categories." 116 | msgstr "" 117 | "Aramanız hiçbir belgeyle eşleşmedi. Lütfen tüm kelimelerin doğru " 118 | "yazıldığından ve yeterli kategori seçtiğinizden emin olun." 119 | 120 | #: sphinx_rtd_theme/searchbox.html:4 121 | msgid "Search docs" 122 | msgstr "Belgeleri arayın" 123 | 124 | #: sphinx_rtd_theme/versions.html:3 sphinx_rtd_theme/versions.html:11 125 | msgid "Versions" 126 | msgstr "Sürümler" 127 | 128 | #: sphinx_rtd_theme/versions.html:17 129 | msgid "Downloads" 130 | msgstr "İndirmeler" 131 | 132 | #. The phrase "Read the Docs" is not translated 133 | #: sphinx_rtd_theme/versions.html:24 134 | msgid "On Read the Docs" 135 | msgstr "Read the Docs Üzerinde" 136 | 137 | #: sphinx_rtd_theme/versions.html:26 138 | msgid "Project Home" 139 | msgstr "Proje Ana Sayfa" 140 | 141 | #: sphinx_rtd_theme/versions.html:29 142 | msgid "Builds" 143 | msgstr "Oluşturmalar" 144 | -------------------------------------------------------------------------------- /source/themes/sphinx_rtd_theme/locale/zh_CN/LC_MESSAGES/sphinx.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nazunalika/linux-guide-and-hints/f75bf7297d94b1442eb74aa59120498d483bce95/source/themes/sphinx_rtd_theme/locale/zh_CN/LC_MESSAGES/sphinx.mo -------------------------------------------------------------------------------- /source/themes/sphinx_rtd_theme/locale/zh_CN/LC_MESSAGES/sphinx.po: -------------------------------------------------------------------------------- 1 | # English translations for sphinx_rtd_theme. 2 | # Copyright (C) 2019 ORGANIZATION 3 | # This file is distributed under the same license as the sphinx_rtd_theme 4 | # project. 5 | # FIRST AUTHOR , 2019. 6 | # 7 | # Translators: 8 | # 王赛 , 2019 9 | # Anthony , 2020 10 | # 11 | msgid "" 12 | msgstr "" 13 | "Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n" 14 | "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" 15 | "POT-Creation-Date: 2021-09-13 13:35-0600\n" 16 | "PO-Revision-Date: 2019-07-16 21:44+0000\n" 17 | "Last-Translator: Anthony , 2020\n" 18 | "Language-Team: Chinese (China) (https://www.transifex.com/readthedocs/teams/101354/zh_CN/)\n" 19 | "MIME-Version: 1.0\n" 20 | "Content-Type: text/plain; charset=UTF-8\n" 21 | "Content-Transfer-Encoding: 8bit\n" 22 | "Generated-By: Babel 2.8.0\n" 23 | "Language: zh_CN\n" 24 | "Plural-Forms: nplurals=1; plural=0;\n" 25 | 26 | #: sphinx_rtd_theme/breadcrumbs.html:37 sphinx_rtd_theme/breadcrumbs.html:39 27 | msgid "Edit on GitHub" 28 | msgstr "在 GitHub 上修改" 29 | 30 | #: sphinx_rtd_theme/breadcrumbs.html:44 sphinx_rtd_theme/breadcrumbs.html:46 31 | msgid "Edit on Bitbucket" 32 | msgstr "在 Bitbucket 上修改" 33 | 34 | #: sphinx_rtd_theme/breadcrumbs.html:51 sphinx_rtd_theme/breadcrumbs.html:53 35 | msgid "Edit on GitLab" 36 | msgstr "在 GitLab 上修改" 37 | 38 | #: sphinx_rtd_theme/breadcrumbs.html:56 sphinx_rtd_theme/breadcrumbs.html:58 39 | msgid "View page source" 40 | msgstr "查看页面源码" 41 | 42 | #: sphinx_rtd_theme/breadcrumbs.html:69 sphinx_rtd_theme/footer.html:6 43 | msgid "Previous" 44 | msgstr "上一页" 45 | 46 | #: sphinx_rtd_theme/breadcrumbs.html:72 sphinx_rtd_theme/footer.html:9 47 | msgid "Next" 48 | msgstr "下一页" 49 | 50 | #. Build is a noun, not a verb 51 | #: sphinx_rtd_theme/footer.html:30 52 | msgid "Build" 53 | msgstr "构建" 54 | 55 | #. the phrase "revision" comes from Git, referring to a commit 56 | #: sphinx_rtd_theme/footer.html:36 57 | msgid "Revision" 58 | msgstr "修订" 59 | 60 | #: sphinx_rtd_theme/footer.html:41 61 | #, python-format 62 | msgid "Last updated on %(last_updated)s." 63 | msgstr "最后更新时间 %(last_updated)s。" 64 | 65 | #. the variable "sphinx_web" is a link to the Sphinx project documentation 66 | #. with 67 | #. the text "Sphinx" 68 | #: sphinx_rtd_theme/footer.html:53 69 | #, python-format 70 | msgid "Built with %(sphinx_web)s using a" 71 | msgstr "利用 %(sphinx_web)s 构建,使用了 " 72 | 73 | #. "theme" refers to a theme for Sphinx, which alters the appearance of the 74 | #. generated documenation 75 | #: sphinx_rtd_theme/footer.html:55 76 | msgid "theme" 77 | msgstr "主题" 78 | 79 | #. this is always used as "provided by Read the Docs", and should not imply 80 | #. Read the Docs is an author of the generated documentation. 81 | #: sphinx_rtd_theme/footer.html:57 82 | #, python-format 83 | msgid "provided by %(readthedocs_web)s" 84 | msgstr "由 %(readthedocs_web)s开发" 85 | 86 | #: sphinx_rtd_theme/layout.html:97 87 | #, python-format 88 | msgid "Search within %(docstitle)s" 89 | msgstr "在 %(docstitle)s中搜索" 90 | 91 | #: sphinx_rtd_theme/layout.html:105 92 | msgid "About these documents" 93 | msgstr "关于此文档" 94 | 95 | #: sphinx_rtd_theme/layout.html:108 96 | msgid "Index" 97 | msgstr "索引" 98 | 99 | #: sphinx_rtd_theme/layout.html:111 sphinx_rtd_theme/search.html:11 100 | msgid "Search" 101 | msgstr "搜索" 102 | 103 | #: sphinx_rtd_theme/layout.html:114 104 | msgid "Copyright" 105 | msgstr "版权所有" 106 | 107 | #: sphinx_rtd_theme/layout.html:147 sphinx_rtd_theme/layout.html:149 108 | msgid "Logo" 109 | msgstr "Logo" 110 | 111 | #: sphinx_rtd_theme/search.html:31 112 | msgid "Please activate JavaScript to enable the search functionality." 113 | msgstr "请启用 JavaScript 以便使用搜索功能" 114 | 115 | #. Search is a noun, not a verb 116 | #: sphinx_rtd_theme/search.html:39 117 | msgid "Search Results" 118 | msgstr "搜索结果" 119 | 120 | #: sphinx_rtd_theme/search.html:41 121 | msgid "" 122 | "Your search did not match any documents. Please make sure that all words are" 123 | " spelled correctly and that you've selected enough categories." 124 | msgstr "您的搜索没有匹配到任何文档。请确保所有单词拼写正确,并选择了足够多的类别。" 125 | 126 | #: sphinx_rtd_theme/searchbox.html:4 127 | msgid "Search docs" 128 | msgstr "在文档中搜索" 129 | 130 | #: sphinx_rtd_theme/versions.html:3 sphinx_rtd_theme/versions.html:11 131 | msgid "Versions" 132 | msgstr "版本列表" 133 | 134 | #: sphinx_rtd_theme/versions.html:17 135 | msgid "Downloads" 136 | msgstr "下载链接" 137 | 138 | #. The phrase "Read the Docs" is not translated 139 | #: sphinx_rtd_theme/versions.html:24 140 | msgid "On Read the Docs" 141 | msgstr "托管于 Read the Docs" 142 | 143 | #: sphinx_rtd_theme/versions.html:26 144 | msgid "Project Home" 145 | msgstr "项目首页" 146 | 147 | #: sphinx_rtd_theme/versions.html:29 148 | msgid "Builds" 149 | msgstr "构建" 150 | -------------------------------------------------------------------------------- /source/themes/sphinx_rtd_theme/searchbox.html: -------------------------------------------------------------------------------- 1 | 6 | 7 | {%- if 'singlehtml' not in builder %} 8 |
9 |
10 | 11 | 12 | 13 | 14 |
15 |
16 | {%- endif %} 17 | -------------------------------------------------------------------------------- /source/themes/sphinx_rtd_theme/theme.conf: -------------------------------------------------------------------------------- 1 | [theme] 2 | inherit = basic 3 | stylesheet = css/bundle.min.css 4 | 5 | [options] 6 | analytics_id = 7 | sticky_navigation = False 8 | collapse_navigation = False 9 | analytics_anonymize_ip = True 10 | navigation_depth = 4 11 | includehidden = True 12 | titles_only = 13 | logo_only = 14 | display_version = False 15 | canonical_url = https://linuxguideandhints.com/ 16 | prev_next_buttons_location = bottom 17 | style_external_links = False 18 | style_nav_header_background = 19 | vcs_pageview_mode = 20 | -------------------------------------------------------------------------------- /source/themes/sphinx_rtd_theme/versions.html: -------------------------------------------------------------------------------- 1 | 6 | 7 | {% if READTHEDOCS %} 8 | {# Add rst-badge after rst-versions for small badge style. #} 9 |
10 | 11 | Read the Docs 12 | v: {{ current_version }} 13 | 14 | 15 |
16 |
17 |
{{ _('Versions') }}
18 | {% for slug, url in versions %} 19 |
{{ slug }}
20 | {% endfor %} 21 |
22 |
23 |
{{ _('Downloads') }}
24 | {% for type, url in downloads %} 25 |
{{ type }}
26 | {% endfor %} 27 |
28 |
29 | {# Translators: The phrase "Read the Docs" is not translated #} 30 |
{{ _('On Read the Docs') }}
31 |
32 | {{ _('Project Home') }} 33 |
34 |
35 | {{ _('Builds') }} 36 |
37 |
38 |
39 |
40 | {% endif %} 41 | -------------------------------------------------------------------------------- /source/training/ex407.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2019-2022 Louis Abel, Tommy Nguyen 2 | .. 3 | .. SPDX-License-Identifier: MIT 4 | 5 | EX407 Exam Prep 6 | ^^^^^^^^^^^^^^^ 7 | 8 | Original author: nazunalika 9 | 10 | Last modified: Mon Aug 1 17:02 11 | 12 | .. meta:: 13 | :description: Materials to prepare for the Red Hat Certified Specialist in Ansible Automation exam. 14 | 15 | This page contains the necessary resources to help you prepare for the Red Hat Certified Specialist in Ansible Automation exam, EX407. This follows loosely the youtube playlist as much as possible with various examples and ideas. At the bottom, you will also find our own example practice exam for you to try your hand at to test your knowledge. 16 | 17 | The list of objectives can be found `here `__. Note that the exam objectives can change at any time. It is the responsibility of the reader to always review the objectives prior to studying and taking the exam to ensure success. 18 | 19 | .. note:: 20 | 21 | Affiliation and Exam Information 22 | 23 | Please note that we are not affiliated with Red Hat. The materials and examples used are our own and do not reflect the training programs provided by Red Hat and are educational only. We do not disclose any of the tasks, questions, or material on the exam as it would violate the NDA. Any questions sent to us about anything directly related to the exam will not be answered. We also do not provide any one-on-one tutoring or online teaching courses. 24 | 25 | If exam objectives have changed to where the videos and this material are missing information, we can add on at any time upon request. If exam objectives have not changed but operational tasks have, we will note them as we find them. If there are things about FreeIPA that you'd like to see in the videos that may fit into objective, we can add it also upon request. However, it is likely those extra things would be better suited in the separate FreeIPA section on this site. 26 | 27 | .. contents:: 28 | 29 | Overview 30 | -------- 31 | 32 | This page once went over some ideas for passing this exam. However, the EX294 (RHCE 8) exam does handle a lot of this stuff already, as is. If you study and pass the EX294, you are very likely ready to take the EX407 and pass it as well. 33 | 34 | --------------------------------------------------------------------------------