Merge branch 'master' into dev
This commit is contained in:
commit
0734836ea9
43
LICENCE.md
43
LICENCE.md
@ -1,43 +0,0 @@
|
||||
## creative commons
|
||||
|
||||
# CC0 1.0 Universal
|
||||
|
||||
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER.
|
||||
|
||||
### Statement of Purpose
|
||||
|
||||
The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work").
|
||||
|
||||
Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others.
|
||||
|
||||
For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights.
|
||||
|
||||
1. __Copyright and Related Rights.__ A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following:
|
||||
|
||||
i. the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work;
|
||||
|
||||
ii. moral rights retained by the original author(s) and/or performer(s);
|
||||
|
||||
iii. publicity and privacy rights pertaining to a person's image or likeness depicted in a Work;
|
||||
|
||||
iv. rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below;
|
||||
|
||||
v. rights protecting the extraction, dissemination, use and reuse of data in a Work;
|
||||
|
||||
vi. database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and
|
||||
|
||||
vii. other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof.
|
||||
|
||||
2. __Waiver.__ To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose.
|
||||
|
||||
3. __Public License Fallback.__ Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose.
|
||||
|
||||
4. __Limitations and Disclaimers.__
|
||||
|
||||
a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document.
|
||||
|
||||
b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law.
|
||||
|
||||
c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work.
|
||||
|
||||
d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work.
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "Knowledge Base"
|
||||
---
|
||||
|
||||
# Linux Knowledgebase
|
||||
|
||||
This is a list of quickstart guides for Linux programs, designed to get the user up and running as fast as possible.
|
||||
|
6
_index.md
Normal file
6
_index.md
Normal file
@ -0,0 +1,6 @@
|
||||
---
|
||||
title: "Linux Knowledge Base"
|
||||
---
|
||||
|
||||
{{< ticks >}}
|
||||
{{< /ticks >}}
|
@ -1,60 +0,0 @@
|
||||
# Tar Archives
|
||||
|
||||
To create an archive file, just remember:
|
||||
|
||||
*C*reate *z*e *f*ile!
|
||||
|
||||
> tar czf file.tar.gz file1 file2
|
||||
|
||||
E*x*tract *z*e *f*iles:
|
||||
|
||||
> tar xzf file.tar.gz
|
||||
|
||||
The .tar extension means two or more files are bundled together into a single file. The .tar.gz means compression.
|
||||
|
||||
Tarballs come with a number of arguments.
|
||||
|
||||
## More Compression
|
||||
|
||||
Extremely compressed files take longer to compress, but take up less disk space.
|
||||
|
||||
> tar cfj super-compressed.tar.bz2 file1 file2
|
||||
|
||||
# ssh backup of partitions
|
||||
|
||||
Back up an unmounted partition with ssh:
|
||||
|
||||
> sudo dd if=/dev/sda1 | ssh -C ghost@192.168.0.10 "dd of=/home/ghost/backup.img" status=progress
|
||||
|
||||
# `xz`
|
||||
|
||||
Install `xz`.
|
||||
|
||||
Unzip the image with:
|
||||
|
||||
> unxz void.img.xz
|
||||
|
||||
This then deletes the .xz file. To keep it:
|
||||
|
||||
> unxz --keep void.img.xz
|
||||
|
||||
# `zip`
|
||||
|
||||
Zip file1-3, into a zip file called 'newzip.zip'.
|
||||
|
||||
> zip newsip file1 file2 file3
|
||||
|
||||
# Automatic Backups with `find`
|
||||
|
||||
## `tar`
|
||||
|
||||
Compressing all Latex Files in /home/.
|
||||
|
||||
> sudo find ~ -maxdepth 4 -name "*.txt" | xargs tar cvf latex-bundle.tar.gz
|
||||
|
||||
## `zip`
|
||||
|
||||
Install `zip`.
|
||||
|
||||
> find /home/"$(whoami)" -type f -size -2M | xargs zip -u backup
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "at"
|
||||
tags: [ "Documentation", "basics" ]
|
||||
---
|
||||
Install with:
|
||||
|
||||
> sudo apt install at
|
||||
|
@ -1,10 +1,17 @@
|
||||
# Absolute Bloody Basics
|
||||
---
|
||||
title: "basics"
|
||||
tags: [ "Documentation", "basics" ]
|
||||
---
|
||||
|
||||
You need about a dozen commands to move around Linux.
|
||||
After that, you look up the rest as you go.
|
||||
Don't worry about understanding any of it, just type it in and the habit forms pretty quickly.
|
||||
|
||||
You start in a dark room. You have a 'look-see' what's in front of you:
|
||||
You start in a dark room. You want to know where you are by **p**rinting out your **w**orking '**d**irectory' (i.e. 'location'):
|
||||
|
||||
> pwd
|
||||
|
||||
Have a look at what is here:
|
||||
|
||||
> ls
|
||||
|
||||
@ -18,10 +25,6 @@ Have a look at **a**ll the files:
|
||||
|
||||
So `.` means 'here' and `..` means 'you see stairs leading downwards' (e.g. 'the directory behind you').
|
||||
|
||||
Find out where you are by **p**rinting out your **w**orking '**d**irectory' (i.e. 'location'):
|
||||
|
||||
> pwd
|
||||
|
||||
Change directory (`cd`) down one level:
|
||||
|
||||
> cd ..
|
||||
|
@ -1,4 +1,7 @@
|
||||
# `date`
|
||||
---
|
||||
title: "clock"
|
||||
tags: [ "Documentation", "basics" ]
|
||||
---
|
||||
|
||||
Show system time:
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "conditionals"
|
||||
tags: [ "Documentation", "basics" ]
|
||||
---
|
||||
# If statements
|
||||
|
||||
Test statement equality as so:
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "cron"
|
||||
tags: [ "Documentation", "basics" ]
|
||||
---
|
||||
# Cron
|
||||
|
||||
Various services from cron exist, e.g.
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "kernel"
|
||||
tags: [ "Documentation", "basics" ]
|
||||
---
|
||||
# Living Space
|
||||
|
||||
Kernel modules live in lib/modules/$(uname -r)
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "kill"
|
||||
tags: [ "Documentation", "basics" ]
|
||||
---
|
||||
If you want to kill a program in a graphical environment, open a terminal and typeL
|
||||
|
||||
## Graphical Programs
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "links"
|
||||
tags: [ "Documentation", "basics" ]
|
||||
---
|
||||
Link from X to Y.
|
||||
|
||||
> ln -s X ../otherdir/Y
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "locale"
|
||||
tags: [ "Documentation", "basics" ]
|
||||
---
|
||||
|
||||
A list of supported locales is available at /usr/share/i18n/SUPPORTED
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "locating"
|
||||
tags: [ "Documentation", "basics" ]
|
||||
---
|
||||
# Whereis the Program
|
||||
|
||||
Ask where the `angband` program is, along with all its configuration files:
|
||||
|
@ -1,57 +0,0 @@
|
||||
# Syslog Management Protocols
|
||||
|
||||
Let's look at the programs filling in things on our /var/log/ directory.
|
||||
|
||||
* rsyslog (common)
|
||||
|
||||
* syslog (old)
|
||||
|
||||
* syslog-ng (lots of content-based filtering)
|
||||
|
||||
* klogd (kernel-focussed)
|
||||
|
||||
# `rsyslog`
|
||||
|
||||
The config rests in /etc/rsyslog.conf, which then references /etc/rsyslog.d/.
|
||||
|
||||
# Systemd
|
||||
This thing makes its own logs with journald, and the journal's own logging system writes to /var/log/journal/ directory, which is then filled with nonsense.
|
||||
|
||||
You can obtain nonsense in systemd's own format by entering:
|
||||
|
||||
journalctl -e
|
||||
|
||||
This thing generates so much nonsense it can crash your system, but can at least be checked with:
|
||||
|
||||
> journalctl --disk-usage
|
||||
|
||||
... in case you can't remember the `du` command.
|
||||
|
||||
You can limit the nonsense by editing the /etc/systemd/journald.conf file, and finding `#SystemMaxFileSize=`
|
||||
|
||||
# Logger
|
||||
|
||||
You can log things at any time with the logger:
|
||||
|
||||
> logger Server is being a dick!
|
||||
|
||||
Put things into a specific log with `-p`. They can enter into, e.g., lpr (printer) log file with a priority of "critical", with:
|
||||
|
||||
> logger -p lpr.crit Help!
|
||||
|
||||
Logfiles rotate around and eventually get deleted. Rotation means they get compressed.
|
||||
|
||||
Edit the config in /etc/logrotate.conf.
|
||||
|
||||
A few apps have their own special log rotation rules, kept in /etc/logrotate.d/.
|
||||
|
||||
The major variables to change are `weekly`, which compresses log files weekly, and `rotate 4`, which keeps 4 weeks worth of backlogs before deletion.
|
||||
|
||||
# Force Log Rotation
|
||||
|
||||
> sudo systemctl kill --kill-who=main --signal=SIGUSR2 systemd-journald.service
|
||||
|
||||
or just
|
||||
|
||||
> sudo systemctl restart systemd-journald.service
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "packages"
|
||||
tags: [ "Documentation", "basics" ]
|
||||
---
|
||||
# Looking
|
||||
|
||||
Your package has something to do with unzipping. Find out more:
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "processes"
|
||||
tags: [ "Documentation", "basics" ]
|
||||
---
|
||||
# Free
|
||||
|
||||
See free space with:
|
||||
|
@ -1,8 +1,11 @@
|
||||
# Shells
|
||||
---
|
||||
title: "shell"
|
||||
tags: [ "Documentation", "basics" ]
|
||||
---
|
||||
|
||||
Dash - fast but limited funcionality, great for scripts.
|
||||
Dash - fast but limited funcionality, great for scripts
|
||||
|
||||
sh - primitive and ubiquitous.
|
||||
sh - a simple link to whatever your default shell is
|
||||
|
||||
bash - the standard
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "time"
|
||||
tags: [ "Documentation", "basics" ]
|
||||
---
|
||||
# systemd
|
||||
|
||||
Set time to synchronize with an ntp server:
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "users"
|
||||
tags: [ "Documentation", "basics" ]
|
||||
---
|
||||
# Basic Information
|
||||
|
||||
Let's get some entries with 'getent', e.g. passwd or group.
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "email"
|
||||
tags: [ "Documentation", "chat" ]
|
||||
---
|
||||
# Sendmail
|
||||
|
||||
Compose a message like this:
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "irssi"
|
||||
tags: [ "Documentation", "chat" ]
|
||||
---
|
||||
In program:
|
||||
|
||||
> /NETWORK LIST
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "profanity"
|
||||
tags: [ "Documentation", "chat" ]
|
||||
---
|
||||
|
||||
# Pre Setup
|
||||
|
||||
@ -51,7 +55,7 @@ Or if you already havea conversation windows open, switch to otr using:
|
||||
|
||||
Finally, verify!
|
||||
|
||||
/otr question "Who the fuck are you?" bob
|
||||
/otr question "Who are you?" bob
|
||||
|
||||
Bob is verified upon the answer, 'bob'.
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "signal"
|
||||
tags: [ "Documentation", "distros" ]
|
||||
---
|
||||
|
||||
> yay -S signal-cli
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "wgetpaste"
|
||||
tags: [ "Documentation", "chat" ]
|
||||
---
|
||||
|
||||
See available pastebins:
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "archives"
|
||||
tags: [ "Documentation", "data" ]
|
||||
---
|
||||
# GPG Archives
|
||||
|
||||
Create an encrypted archive with `gpg`:
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "git"
|
||||
tags: [ "Documentation", "data" ]
|
||||
---
|
||||
# Starting
|
||||
|
||||
## New Machines
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "gpg"
|
||||
tags: [ "Documentation", "data" ]
|
||||
---
|
||||
# Making keys
|
||||
|
||||
Generate keys:
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "groff"
|
||||
tags: [ "Documentation", "data" ]
|
||||
---
|
||||
# Basic Documents
|
||||
|
||||
Great a file called `name.ms`, with the following content:
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "khard"
|
||||
tags: [ "Documentation", "data" ]
|
||||
---
|
||||
Get the basic config:
|
||||
|
||||
> mkdir ~/.config/khard
|
||||
|
33
data/mdadm.md
Normal file
33
data/mdadm.md
Normal file
@ -0,0 +1,33 @@
|
||||
---
|
||||
title: "mdadm"
|
||||
tags: [ "Documentation", "RAID" ]
|
||||
---
|
||||
# RAID5
|
||||
|
||||
You will need 4 disks and the `mdadm` package.
|
||||
The total size will be equal to the disks x 3, because one will be used for redundancy.
|
||||
|
||||
> sudo mdadm --create --verbose /dev/*md127* --level=5 --raid-devices=*4* */dev/sdb /dev/sdc /dev/sdd /dev/sde*
|
||||
|
||||
Note the variable parts:
|
||||
|
||||
- The name of the device could be `/dev/md12` or whatever
|
||||
- The number of devices could be larger, but must be at least 4 for raid 5
|
||||
- We end by listing all devices in the new `md` device.
|
||||
|
||||
Now look at how the raid status:
|
||||
|
||||
> cat /proc/mdstat
|
||||
|
||||
This will increase until the entire thing is fine.
|
||||
|
||||
Check the health of your `mdadm` array:
|
||||
|
||||
> sudo mdadm --detail /dev/md127
|
||||
|
||||
You should see `State : clean`. If you see it is `degraded`, then a disk has broken.
|
||||
|
||||
## Replacing a Disk
|
||||
|
||||
> sudo mdadm --add /dev/md127 /dev/sdb1
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "pass"
|
||||
tags: [ "Documentation", "data" ]
|
||||
---
|
||||
[Video instructions](https://www.hooktube.com/watch?v=hlRQTj1D9LA)
|
||||
|
||||
Setup [gpg](./gpg.md) keys.
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "sc-im"
|
||||
tags: [ "Documentation", "data" ]
|
||||
---
|
||||
# Basic Commands
|
||||
|
||||
> H = highest part
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "sdcv"
|
||||
tags: [ "Documentation", "data" ]
|
||||
---
|
||||
# Install New Dictionaries
|
||||
|
||||
If the path doesn't exist then:
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "postgresql"
|
||||
tags: [ "Documentation", "data" ]
|
||||
---
|
||||
# Setup
|
||||
|
||||
Install postgres and start it as a service, then start with:
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "sql"
|
||||
tags: [ "Documentation", "data" ]
|
||||
---
|
||||
MySQL, Aurora and the Maria Database work similarly, and mostly with the same commands.
|
||||
|
||||
MySQL requires 160 Megs of disk space.
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "tricks"
|
||||
tags: [ "Documentation", "data" ]
|
||||
---
|
||||
|
||||
# Find data from any table
|
||||
|
||||
|
@ -1,30 +0,0 @@
|
||||
setting up with:
|
||||
|
||||
- data at /var/taskd
|
||||
- user: root
|
||||
- host=localhost
|
||||
- port=53589
|
||||
|
||||
- Organization=Andonome
|
||||
- Name="Malin Freeborn"
|
||||
|
||||
## Next
|
||||
Copy files to ~/.task
|
||||
/usr/share/doc/taskd/pki/{ca.cert.pem,Malin_Freeborn.cert.pem,Malin_Freeborn.key.pem}
|
||||
|
||||
And run these commands:
|
||||
|
||||
```
|
||||
Malin Freeborn must run these commands:
|
||||
task config taskd.server localhost:53589
|
||||
task config taskd.credentials 'Andonome/Malin Freeborn/36faa2a9-de12-4410-99d5-0bcaa5a4887a'
|
||||
task config taskd.certificate ~/.task/Malin_Freeborn.cert.pem
|
||||
task config taskd.key ~/.task/Malin_Freeborn.key.pem
|
||||
task config taskd.ca ~/.task/ca.cert.pem
|
||||
task config taskd.trust strict
|
||||
task config taskd.ciphers NORMAL
|
||||
|
||||
|
||||
```
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "task"
|
||||
tags: [ "Documentation", "data" ]
|
||||
---
|
||||
# Contexts
|
||||
|
||||
Set three contexts by their tags:
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "taskd"
|
||||
tags: [ "Documentation", "data" ]
|
||||
---
|
||||
(instructions currently not working)
|
||||
|
||||
Switch to root to make things easier.
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "timew"
|
||||
tags: [ "Documentation", "data" ]
|
||||
---
|
||||
# Setup
|
||||
|
||||
Below commands mostly deal with timew alone. With taskwarrior installed as well, `locate on-modify-time`, then add it to ~/.task/hooks and make it executable.
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "w3m"
|
||||
tags: [ "Documentation", "data" ]
|
||||
---
|
||||
'H' for help.
|
||||
|
||||
Ctrl+u to go to new url.
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "arch_pi_install"
|
||||
tags: [ "Documentation", "distros" ]
|
||||
---
|
||||
# Initial Setup
|
||||
<!-- modified since testing
|
||||
-->
|
||||
@ -32,28 +36,28 @@ Move boot files to the first partition:
|
||||
> Unmount the two partitions:
|
||||
> umount boot root
|
||||
|
||||
echo belgradecats > /etc/hostname
|
||||
echo "# /etc/hosts: static lookup table for host names
|
||||
> echo [ hostname ] > /etc/hostname
|
||||
|
||||
Then edit the `/etc/hosts` file.
|
||||
|
||||
```
|
||||
|
||||
<ip-address> <hostname.domain.org> <hostname>
|
||||
127.0.0.1 belgradecats.localdomain belgradecats
|
||||
::1 belgradecats.localdomain belgradecats ip6-localhost
|
||||
127.0.0.1 localhost.localdomain localhost
|
||||
::1 localhost.localdomain localhost ip6-localhost
|
||||
|
||||
```
|
||||
|
||||
# End of file" > /etc/hosts
|
||||
|
||||
# Get audio on
|
||||
|
||||
echo dtparam=audio=on >> /boot/config.txt
|
||||
> echo dtparam=audio=on >> /boot/config.txt
|
||||
|
||||
pacman-key --init
|
||||
pacman-key --populate archlinuxarm
|
||||
Start pacman keyring.
|
||||
|
||||
pacman -Syyu base-devel git alsa-utils xf86-video-fbdev
|
||||
> pacman-key --init
|
||||
> pacman-key --populate archlinuxarm
|
||||
|
||||
timedatectl set-timezone Europe/Belgrade
|
||||
> pacman -Syyu base-devel git alsa-utils xf86-video-fbdev
|
||||
|
||||
> timedatectl set-timezone Europe/Belgrade
|
||||
|
||||
|
@ -1,25 +1,29 @@
|
||||
---
|
||||
title: "autologin"
|
||||
tags: [ "Documentation", "Distros", "Arch" ]
|
||||
---
|
||||
|
||||
# Automatic Login
|
||||
|
||||
Edit /etc/systemd/system/getty@tty1.service.d/override.conf by typing:
|
||||
Edit `/etc/systemd/system/getty@tty1.service.d/override.conf` by typing:
|
||||
|
||||
> sudo systemctl edit getty@tty1
|
||||
|
||||
The put in the following, changing $USER to your username.
|
||||
The put in the following, changing `[ USER ]` to your username.
|
||||
|
||||
```
|
||||
|
||||
[Service]
|
||||
ExecStart=
|
||||
ExecStart=-/usr/bin/agetty --autologin $USER -s %I 115200,38400,9600 vt102
|
||||
ExecStart=-/usr/bin/agetty --autologin [ USER ] -s %I 115200,38400,9600 vt102
|
||||
|
||||
```
|
||||
|
||||
# Automatically Start X
|
||||
|
||||
In `bashrc`.
|
||||
In `.bashrc`.
|
||||
|
||||
```
|
||||
|
||||
if [ -z "$DISPLAY" ] && [ "$(fgconsole)" -eq 1 ]; then
|
||||
exec startx
|
||||
fi
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "basic-install"
|
||||
tags: [ "Documentation", "distros" ]
|
||||
---
|
||||
Keyboard layout changed.
|
||||
|
||||
> ls /usr/share/kbd/keymaps/**/*.map.gz
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "blackarch"
|
||||
tags: [ "Documentation", "distros" ]
|
||||
---
|
||||
|
||||
## Basics
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "encrypted"
|
||||
tags: [ "Documentation", "distros" ]
|
||||
---
|
||||
> # taken from https://0x00sec.org/t/arch-linux-with-lvm-on-luks-dm-crypt-disk-encryption-installation-guide-legacy-bios-system/1479
|
||||
|
||||
> # if you need wifi
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "fonts"
|
||||
tags: [ "Documentation", "distros" ]
|
||||
---
|
||||
# Basics
|
||||
|
||||
Update font-cache:
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "lxc"
|
||||
tags: [ "Documentation", "distros" ]
|
||||
---
|
||||
# Distro Specifics
|
||||
|
||||
Arch dependencies: `arch-install-scripts` `dnsmasq`
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "pacman"
|
||||
tags: [ "Documentation", "distros" ]
|
||||
---
|
||||
|
||||
Packages are kept in /var/cache/pacman/pkg.
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "pi-hole-server"
|
||||
tags: [ "Documentation", "distros" ]
|
||||
---
|
||||
|
||||
> yay -S pi-hole-server
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "problems"
|
||||
tags: [ "Documentation", "distros" ]
|
||||
---
|
||||
|
||||
Broken Xorg
|
||||
|
||||
|
@ -1,8 +1,12 @@
|
||||
---
|
||||
title: "apt"
|
||||
tags: [ "Documentation", "distros" ]
|
||||
---
|
||||
## apt
|
||||
|
||||
### Configurations?
|
||||
|
||||
Fucked up a package's configuration files?
|
||||
Messed up a package's configuration files?
|
||||
|
||||
> sudo apt-get purge [thing]
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "lubuntu"
|
||||
tags: [ "Documentation", "distros" ]
|
||||
---
|
||||
|
||||
# Videos not working
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "metasploit"
|
||||
tags: [ "Documentation", "distros" ]
|
||||
---
|
||||
> service postgresql start
|
||||
|
||||
> systemctl status postgresql
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "basics"
|
||||
tags: [ "Documentation", "distros" ]
|
||||
---
|
||||
|
||||
> cd /etc/yum.repos.d/
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "npm"
|
||||
tags: [ "Documentation", "distros" ]
|
||||
---
|
||||
package.json is the basic configuration file.
|
||||
|
||||
Everything is per-directory.
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "yum"
|
||||
tags: [ "Documentation", "distros" ]
|
||||
---
|
||||
# Overview
|
||||
|
||||
Forks include CentOS, scientific Linux, Oracle, and Fedora.
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "http_server"
|
||||
tags: [ "Documentation", "distros" ]
|
||||
---
|
||||
Nothing interesting.
|
||||
|
||||
1. Install
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "Void Autologin"
|
||||
tags: [ "Documentation", "Distros", "Void" ]
|
||||
---
|
||||
|
||||
Make the autologin service:
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "basics"
|
||||
tags: [ "Documentation", "distros" ]
|
||||
---
|
||||
|
||||
# vkpurge
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "extrace"
|
||||
tags: [ "Documentation", "distros" ]
|
||||
---
|
||||
Monitor all processes:
|
||||
|
||||
> extrace
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "kernels"
|
||||
tags: [ "Documentation", "distros" ]
|
||||
---
|
||||
|
||||
# vkpurge
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "keyboard"
|
||||
tags: [ "Documentation", "distros" ]
|
||||
---
|
||||
|
||||
To list keyboard specs:
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "lxc"
|
||||
tags: [ "Documentation", "distros" ]
|
||||
---
|
||||
# Intro
|
||||
|
||||
Taken from [this](https://r4nd0m6uy.ch/unpriviledged-containers-in-void-linux.html)
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "networking"
|
||||
tags: [ "Documentation", "distros" ]
|
||||
---
|
||||
# Bridged adapters
|
||||
|
||||
Virtual machines can use a bridge to connect to the internet. Access the manual with
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "sv"
|
||||
tags: [ "Documentation", "distros" ]
|
||||
---
|
||||
# List Services
|
||||
|
||||
All possible services are in:
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "lxc"
|
||||
tags: [ "Documentation", "distros" ]
|
||||
---
|
||||
|
||||
LXC creates miniature virtual machines to play with.
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "xbps"
|
||||
tags: [ "Documentation", "distros" ]
|
||||
---
|
||||
Install cowsay
|
||||
|
||||
> xbps-install cowsay
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "basics"
|
||||
tags: [ "Documentation", "hardware" ]
|
||||
---
|
||||
# Motherboard Information
|
||||
|
||||
> sudo dmidecode
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "brightness"
|
||||
tags: [ "Documentation", "hardware" ]
|
||||
---
|
||||
# Brightness
|
||||
/sys/class/backlight/*/brightness
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "keyboard"
|
||||
tags: [ "Documentation", "basics" ]
|
||||
---
|
||||
# Set Layout
|
||||
|
||||
Set layout to British English.
|
@ -1,12 +0,0 @@
|
||||
Find easy-to-read keymapping lists in `/usr/share/X11/xkb/keycodes/symbols/pc`.
|
||||
|
||||
If this doesn't work, try keymaps.
|
||||
|
||||
Keymaps codes can be found in `/usr/share/X11/xkb/keycodes/evdev`.
|
||||
Swap the numbers to swap symbols.
|
||||
|
||||
Check keymap with:
|
||||
|
||||
> setxkbmap -print -verbose 10
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "xmodmap"
|
||||
tags: [ "Documentation", "hardware" ]
|
||||
---
|
||||
Ensure you're not stuck in CAPS on mode:
|
||||
|
||||
> xmodmap -e 'clear Lock'
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "monitor"
|
||||
tags: [ "Documentation", "hardware" ]
|
||||
---
|
||||
See screen size
|
||||
|
||||
> xrandr -q
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "printers"
|
||||
tags: [ "Documentation", "hardware" ]
|
||||
---
|
||||
# Cups: The Common Unix Printing System
|
||||
|
||||
Configure cups at /etc/cups/supsd.conf, or visit the local webpage at http://localhost:631 if you want to use the Apple interface, otherwise, it's the printing daemon.
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "basics"
|
||||
tags: [ "Documentation", "networking" ]
|
||||
---
|
||||
# You
|
||||
|
||||
Check how your computer connects to the net:
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "dns"
|
||||
tags: [ "Documentation", "networking" ]
|
||||
---
|
||||
# Designate DNS
|
||||
|
||||
On Debian, a file might gain DNS services by adding the following to /etc/network/interfaces:
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "fail2ban"
|
||||
tags: [ "Documentation", "networking" ]
|
||||
---
|
||||
# SSH Daemon Jail
|
||||
|
||||
> sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.d/ssh.local
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "iptables"
|
||||
tags: [ "Documentation", "networking" ]
|
||||
---
|
||||
# Intro
|
||||
|
||||
This is a basic Linux firewall program.
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "iptables"
|
||||
tags: [ "Documentation", "networking" ]
|
||||
---
|
||||
# Intro
|
||||
|
||||
This is a basic Linux firewall program.
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "nmap"
|
||||
tags: [ "Documentation", "networking" ]
|
||||
---
|
||||
|
||||
Example:
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "pihole"
|
||||
tags: [ "Documentation", "networking" ]
|
||||
---
|
||||
View DNS traffic
|
||||
|
||||
> pihole -t
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "pip"
|
||||
tags: [ "Documentation", "networking" ]
|
||||
---
|
||||
|
||||
Upgrade all packages
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "protocols"
|
||||
tags: [ "Documentation", "networking" ]
|
||||
---
|
||||
# Protocols
|
||||
|
||||
| TCP | UDP | ICMP |
|
||||
|
@ -1,3 +0,0 @@
|
||||
Install ` gqrx` and `rtl-sdr`
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "rclone"
|
||||
tags: [ "Documentation", "networking" ]
|
||||
---
|
||||
The manpage's 'Synopsis' provides a fast reference.
|
||||
|
||||
We'll assume a folder in Google Drive called 'test', and local folder called 'foo'.
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "screen"
|
||||
tags: [ "Documentation", "networking" ]
|
||||
---
|
||||
|
||||
start session: screen
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "agate"
|
||||
tags: [ "Documentation", "networking" ]
|
||||
---
|
||||
Make sure your dns is in order.
|
||||
My domain name is `belgradecats.tk`, so put your own in there.
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "sshfs"
|
||||
tags: [ "Documentation", "networking" ]
|
||||
---
|
||||
# Mount
|
||||
|
||||
> sshfs alfred@192.168.0.14:Sync/Alfred
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "tricks"
|
||||
tags: [ "Documentation", "networking" ]
|
||||
---
|
||||
|
||||
Mount a remote filesystem locally with fuse-sshfs:
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "tor"
|
||||
tags: [ "Documentation", "networking" ]
|
||||
---
|
||||
|
||||
# Get a hostname
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "transmission"
|
||||
tags: [ "Documentation", "networking" ]
|
||||
---
|
||||
# Torrench
|
||||
|
||||
Torrench searches for torrents.
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "troubleshooting"
|
||||
tags: [ "Documentation", "networking" ]
|
||||
---
|
||||
|
||||
# Do you have an IP?
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "unison"
|
||||
tags: [ "Documentation", "networking" ]
|
||||
---
|
||||
|
||||
# Local Sync
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "nginx"
|
||||
tags: [ "Documentation", "networking" ]
|
||||
---
|
||||
Install nginx:
|
||||
|
||||
> sudo apt-get install nginx
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "wifi"
|
||||
tags: [ "Documentation", "networking" ]
|
||||
---
|
||||
# Netstat Stuff
|
||||
|
||||
Stats on local net usage within domain.
|
||||
|
@ -1,67 +1,46 @@
|
||||
|
||||
# Check wifi's working
|
||||
> lspci -k
|
||||
|
||||
Or for usb wifi:
|
||||
|
||||
> dmesg | grep usbcore
|
||||
|
||||
... and hopefully it'll say the new interface is registered.
|
||||
|
||||
# Check if a wifi interface has been created
|
||||
|
||||
> ip link
|
||||
|
||||
or
|
||||
|
||||
> iw dev
|
||||
|
||||
Assuming it's wlan0, bring it up with
|
||||
|
||||
> ip link set wlan0 up
|
||||
|
||||
Error messages probably means your wireless chipset requires a firmware to function. In this case, check the kernel messages for firmware being loaded
|
||||
|
||||
> dmesg | grep firmware
|
||||
|
||||
# Utilities
|
||||
|
||||
iw doesn't do wpa/wpa2. wpa_supplicant does everything. iwd does everything except WEXT encryption.
|
||||
|
||||
# Connecting
|
||||
|
||||
Get the link status:
|
||||
|
||||
> iw dev wlan0 link
|
||||
|
||||
Scan for available points:
|
||||
|
||||
> iw dev wlan0 scan
|
||||
|
||||
The connecting commands do not cover wpa2.
|
||||
|
||||
# Fucking Hell
|
||||
|
||||
I really need to script this. Something like:
|
||||
|
||||
1. Auto-check wireless device.
|
||||
|
||||
2. Auto-check scan for devices and grab names
|
||||
|
||||
3. Display names
|
||||
|
||||
4. Prompt for name selection (e.g. '1').
|
||||
|
||||
5. Auto-connect to wireless associated with selection n.
|
||||
|
||||
6. Prompt for password.
|
||||
|
||||
7. Try to connect.
|
||||
|
||||
8. Ask if user wants a password copy stored in /tmp/.
|
||||
|
||||
|
||||
# Connection
|
||||
This is a shitshow. Focus: netctl is the Arch project to get this going.
|
||||
|
||||
Okay - can't be fucked. Most of this is systemd based.
|
||||
---
|
||||
title: "wireless"
|
||||
tags: [ "Documentation", "networking" ]
|
||||
---
|
||||
|
||||
# Check wifi's working
|
||||
> lspci -k
|
||||
|
||||
Or for usb wifi:
|
||||
|
||||
> dmesg | grep usbcore
|
||||
|
||||
... and hopefully it'll say the new interface is registered.
|
||||
|
||||
# Check if a wifi interface has been created
|
||||
|
||||
> ip link
|
||||
|
||||
or
|
||||
|
||||
> iw dev
|
||||
|
||||
Assuming it's wlan0, bring it up with
|
||||
|
||||
> ip link set wlan0 up
|
||||
|
||||
Error messages probably means your wireless chipset requires a firmware to function. In this case, check the kernel messages for firmware being loaded
|
||||
|
||||
> dmesg | grep firmware
|
||||
|
||||
# Utilities
|
||||
|
||||
iw doesn't do wpa/wpa2. wpa_supplicant does everything. iwd does everything except WEXT encryption.
|
||||
|
||||
# Connecting
|
||||
|
||||
Get the link status:
|
||||
|
||||
> iw dev wlan0 link
|
||||
|
||||
Scan for available points:
|
||||
|
||||
> iw dev wlan0 scan
|
||||
|
||||
The connecting commands do not cover wpa2.
|
||||
|
||||
|
@ -1,4 +1,7 @@
|
||||
# Intro
|
||||
---
|
||||
title: "wpa_supplicant"
|
||||
tags: [ "Documentation", "networking" ]
|
||||
---
|
||||
|
||||
wpa_supplicant configurations are stored in /etc/wpa_supplicant/wpa_supplicant-wlan0 (or equivalent).
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
---
|
||||
title: "basics"
|
||||
tags: [ "Documentation", "sound" ]
|
||||
---
|
||||
# Pulse
|
||||
If you have pulse, use pulse.
|
||||
Check with `which pulseaudio`. No output means you need to use alsa (below).
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user