Compare commits
7 Commits
219ea021e1
...
2f328f3b70
Author | SHA1 | Date | |
---|---|---|---|
2f328f3b70 | |||
fa9c8edb1d | |||
741e988536 | |||
a72e2b117d | |||
cc574d5358 | |||
0d76eb0531 | |||
3bfeacd2d7 |
@ -8,22 +8,21 @@ tags: [ "tar", "backups", ".tgz", "tar.gz" ]
|
||||
|
||||
Combine many files and directories into a single t-archive file.
|
||||
|
||||
```bash
|
||||
```sh
|
||||
tar cf "$ARCHIVE".tar $DIR
|
||||
```
|
||||
You can remember this with the mnemonic '*C*reate *F*ile'.
|
||||
|
||||
Unfortunately, this stores the full file path, so making a tar archive of `/etc/nginx/` will store `etc/nginx` (without the leading `/`.
|
||||
|
||||
Unfortunately, this stores the full file path, so making a tar archive of `/etc/nginx/` will store `etc/nginx` (without the leading `/`).
|
||||
It's often better to tell tar which path to start from using the `-C` flag.
|
||||
|
||||
```bash
|
||||
```sh
|
||||
tar cf "$ARCHIVE".tar -C /etc/ nginx
|
||||
```
|
||||
|
||||
Check the contents of your archive with:
|
||||
|
||||
```bash
|
||||
```sh
|
||||
tar tf "$ARCHIVE".tar
|
||||
```
|
||||
|
||||
@ -31,7 +30,7 @@ If you want to store 'everything in a directory', then using `*` will not work,
|
||||
|
||||
Instead, you can store the target in a variable:
|
||||
|
||||
```bash
|
||||
```sh
|
||||
files=$(ls /etc/nginx)
|
||||
tar cf "$ARCHIVE".tar -C /etc/nginx/ $file
|
||||
```
|
||||
@ -40,7 +39,9 @@ tar cf "$ARCHIVE".tar -C /etc/nginx/ $file
|
||||
|
||||
Extract the tar archive with
|
||||
|
||||
> tar xf "$ARCHIVE".tar
|
||||
```sh
|
||||
tar xf "$ARCHIVE".tar
|
||||
```
|
||||
|
||||
You can remember this with the mnemonic 'e*X*tract *F*ile'.
|
||||
|
||||
@ -48,7 +49,7 @@ You can remember this with the mnemonic 'e*X*tract *F*ile'.
|
||||
|
||||
Create a zip-compressed archive with the `z` flag.
|
||||
|
||||
```bash
|
||||
```sh
|
||||
tar czf "$ARCHIVE".tgz -C /etc/nginx/ $file
|
||||
```
|
||||
|
||||
@ -60,18 +61,16 @@ You can use any file ending you want, but sane people like to use '.tgz' or '.ta
|
||||
|
||||
Make archive:
|
||||
|
||||
```bash
|
||||
PASSWORD=my_password
|
||||
```
|
||||
```bash
|
||||
7za a -tzip -p$PASSWORD -mem=AES256 $ARCHIVE.zip $FILE_1 $FILE_2
|
||||
```sh
|
||||
7za a -tzip -p "$PASSWORD" -mem=AES256 $ARCHIVE.zip $FILE_1 $FILE_2
|
||||
```
|
||||
|
||||
Note that people can still see every filename in your archive, and can change those files.
|
||||
They just can't read the contents.
|
||||
|
||||
Unzip:
|
||||
|
||||
```bash
|
||||
```sh
|
||||
7za x archive.zip
|
||||
```
|
||||
|
||||
|
@ -5,7 +5,7 @@ tags: [ "backups", "synch" ]
|
||||
|
||||
Install unison on both machines, and make sure both have the same version of unison, with the same version of the ocaml compiler (the smallest difference will cause problems).
|
||||
|
||||
```bash
|
||||
```sh
|
||||
unison -version
|
||||
```
|
||||
|
||||
@ -13,14 +13,14 @@ Create the `~/.unison` directory on both machines.
|
||||
|
||||
Make a job called `backup`:
|
||||
|
||||
```bash
|
||||
```sh
|
||||
JOB=backup
|
||||
```
|
||||
|
||||
Here is an example job, which synchronizes the `~/music` directory with a remote machine which has the same username.
|
||||
|
||||
|
||||
```bash
|
||||
```sh
|
||||
echo "
|
||||
auto = true
|
||||
root=$HOME
|
||||
@ -42,7 +42,7 @@ The last command means it will ignore any file with a name ending in `.flac`.
|
||||
The first command means this will run but also confirm which files will be deleted, and which will be transferred, us `batch = true` instead.
|
||||
Or you can deleted that line in the `.prf` file and run it with a flag:
|
||||
|
||||
```bash
|
||||
```sh
|
||||
unison -batch *backup*.prf
|
||||
```
|
||||
|
||||
|
@ -3,6 +3,24 @@ title: "Base 16"
|
||||
tags: [ "data" ]
|
||||
---
|
||||
|
||||
```bash
|
||||
Base 16 numbers often use `0x` at the start, so '10' just means '10', but `0x10` means '10 in base 16' which means '16'.
|
||||
|
||||
For small numbers, use `printf`.
|
||||
|
||||
```sh
|
||||
printf "%x" $NUMBER
|
||||
```
|
||||
|
||||
For any number, use `bc`.
|
||||
|
||||
|
||||
```sh
|
||||
fortune | md5sum | cut -d' ' -f1 | tr [:lower:] [:upper:] | bc
|
||||
```
|
||||
|
||||
- Inputting base 16 uses `ibase=16`.
|
||||
- Outputting base 10 uses `ibase=10`
|
||||
|
||||
```sh
|
||||
echo 'ibase=16;' $(echo cbb478ac825f0dce7671254be035d0bc | tr [:lower:] [:upper:]) | bc
|
||||
```
|
||||
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
title: "radicale and nginx"
|
||||
tags: [ "data", "calendar" ]
|
||||
required: [ "nginx", "certbot" ]
|
||||
requires: [ "nginx", "certbot" ]
|
||||
---
|
||||
|
||||
Check before you start:
|
||||
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
title: "sc-im"
|
||||
tags: [ "TUI", "data", "spreadsheet", ".csv" ]
|
||||
required: [ "vim basics" ]
|
||||
requires: [ "vim basics" ]
|
||||
---
|
||||
|
||||
- [Sample file](sc-im/sample.sc)
|
||||
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
title: "Soft Serve Maintenance"
|
||||
tags: [ "data", "git server", "maintenance" ]
|
||||
required: [ "git", "nginx" ]
|
||||
requires: [ "git", "nginx" ]
|
||||
---
|
||||
|
||||
Over time git repositories become bloated with old data, but never get cleaned.
|
||||
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
title: "Soft Serve through https"
|
||||
tags: [ "data", "git server", "lfs" ]
|
||||
required: [ "git", "nginx" ]
|
||||
requires: [ "git", "nginx" ]
|
||||
---
|
||||
|
||||
## `http` Setup
|
||||
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
title: "Soft-Serve"
|
||||
tags: [ "data", "git server", "lfs", "TUI" ]
|
||||
required: [ "git", "nginx" ]
|
||||
requires: [ "git", "nginx" ]
|
||||
---
|
||||
|
||||
- [Soft-Serve with https](soft-serve/soft_https.md)
|
||||
|
@ -11,6 +11,7 @@ Select a keymap, and create a new custom map.
|
||||
|
||||
```sh
|
||||
su root
|
||||
ls /usr/share/kbd/keymaps/i386/qwerty/
|
||||
|
||||
basemap=/usr/share/kbd/keymaps/i386/qwerty/pl1.map.gz
|
||||
newmap=/usr/share/kbd/keymaps/custom.map.gz
|
||||
|
@ -23,7 +23,8 @@ Using four spaces will not work!
|
||||
|
||||
## Dependency Files
|
||||
|
||||
Now we've made a `README.md` file, we can show how a makefile looks in the README:
|
||||
Now we've made a `README.md` file, we can show how a makefile looks in the README file.
|
||||
Add these lines to the `Makefile`:
|
||||
|
||||
```make
|
||||
README.md: Makefile
|
||||
@ -44,7 +45,7 @@ Note the order:
|
||||
|
||||
Notice that the file above can print into the README by using `echo "" >> $@`.
|
||||
The `$@` stands for 'the file which we want', and `$<` stands for 'the first dependency file'.
|
||||
The `make` program starts by replacing those variables, and the result it:
|
||||
The `make` program starts by replacing those variables, so when you run `make`, the program looks like this:
|
||||
|
||||
```make
|
||||
README.md: Makefile
|
||||
@ -54,7 +55,6 @@ README.md: Makefile
|
||||
cat Makefile >> README.md
|
||||
echo '```' >> README.md
|
||||
|
||||
|
||||
```
|
||||
|
||||
| Sigil | Meaning |
|
||||
@ -71,7 +71,6 @@ README.md: Makefile
|
||||
|
||||
You can assign a variable normally, but must refer to it in brackets.
|
||||
|
||||
|
||||
```make
|
||||
storage_directory = backups
|
||||
|
||||
@ -182,4 +181,3 @@ In this case, the makefile can see that `backup` depends on the current backup f
|
||||
- [File patterns](Makefiles/patterns.md)
|
||||
- [Makefile graphs](Makefiles/graph-easy.md)
|
||||
- [In-build help](Makefiles/help.md)
|
||||
- [Makefile graphs](Makefiles/graph-easy.md)
|
||||
|
32
system/managing_groups.md
Normal file
32
system/managing_groups.md
Normal file
@ -0,0 +1,32 @@
|
||||
---
|
||||
title: "Managing Groups"
|
||||
tags: [ "system" ]
|
||||
---
|
||||
|
||||
Check which groups you are in, and which are available:
|
||||
|
||||
```sh
|
||||
cat /etc/group
|
||||
groups
|
||||
cat /etc/group | grep $USER
|
||||
```
|
||||
|
||||
Remove yourself from all groups, and add yourself back to only `wheel`, `audio`, and your own group:
|
||||
|
||||
```sh
|
||||
sudo usermod --groups wheel,audio,$USER
|
||||
```
|
||||
|
||||
Add yourself to the `wheel` group:
|
||||
|
||||
```sh
|
||||
su root -c "usermod --append --groups wheel $USER"
|
||||
```
|
||||
Add yourself to the `network` group:
|
||||
|
||||
```sh
|
||||
sudo usermod -aG network $USER
|
||||
```
|
||||
|
||||
The changes will not take effect until you log in again, so reboot or log into `localhost` with [ssh](../networking/ssh.md).
|
||||
|
@ -1,21 +1,16 @@
|
||||
---
|
||||
title: "virtualbox"
|
||||
tags: [ "system" ]
|
||||
requires: [ "Managing Groups" ]
|
||||
---
|
||||
# Setup
|
||||
|
||||
## Arch Linux
|
||||
Load the modules (or just reboot):
|
||||
|
||||
```sh
|
||||
sudo pacman -S virtualbox-host-modules-arch virtualbox-guest-iso
|
||||
```
|
||||
|
||||
```sh
|
||||
sudo modprobe vboxdrv
|
||||
```
|
||||
|
||||
```sh
|
||||
# vboxreload
|
||||
su root
|
||||
modprobe vboxdrv
|
||||
vboxreload
|
||||
```
|
||||
|
||||
Make dd image into vdi
|
||||
@ -30,7 +25,13 @@ If this doesn't work, try to make a new bite size with just
|
||||
sudo dd if=image.dd of=image2.dd bs=512 conv=sync
|
||||
```
|
||||
|
||||
## CLI Management
|
||||
## Arch Linux
|
||||
|
||||
```sh
|
||||
pacman -S virtualbox-host-modules-arch virtualbox-guest-iso
|
||||
```
|
||||
|
||||
# CLI Management
|
||||
|
||||
List boxes:
|
||||
|
||||
@ -50,22 +51,19 @@ To pause the machine:
|
||||
VBoxManage controlvm "rata" pause --type headless
|
||||
```
|
||||
|
||||
You can do a number of things to virtualboxes this way:
|
||||
You can do a number of things to the 'virtual boxes' this way:
|
||||
|
||||
- startvm
|
||||
|
||||
- pause
|
||||
|
||||
- resume
|
||||
|
||||
- poweroff
|
||||
- `startvm`
|
||||
- `pause`
|
||||
- `resume`
|
||||
- `poweroff`
|
||||
|
||||
## Creating Disks
|
||||
|
||||
Creating a VM requires registering it:
|
||||
|
||||
```sh
|
||||
VBoxManage createvm --name Ubuntu19.04 --register --ostype Ubuntu
|
||||
VBoxManage createvm --name Ubuntu19.04 --register --ostype Ubuntu
|
||||
```
|
||||
|
||||
```sh
|
||||
@ -78,6 +76,7 @@ VBoxManage storagectl Ubuntu19.04 -name IDE --add ide --controller PIIX4 --boot
|
||||
|
||||
Create just a disk with:
|
||||
|
||||
VBoxManageg createhd --filename Ubuntu16.04 --size 5120
|
||||
|
||||
```sh
|
||||
VBoxManage createhd --filename "$diskname" --size 5120
|
||||
```
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user