diff options
author | luxagraf <sng@luxagraf.net> | 2024-09-20 15:42:06 -0500 |
---|---|---|
committer | luxagraf <sng@luxagraf.net> | 2024-09-20 15:42:06 -0500 |
commit | 725f58e222b52169fa28e48680230a647335c706 (patch) | |
tree | fa8ab652a4095d1bb053b97e531ccc0c40834d62 /tech | |
parent | 278b8b82f352a1731e22f9840e6789410ce199f1 (diff) |
haven't used git in a while, bringing up to date
Diffstat (limited to 'tech')
-rw-r--r-- | tech/arch-postgres-django-setup.txt | 16 | ||||
-rw-r--r-- | tech/arch-server-setup.txt | 54 | ||||
-rw-r--r-- | tech/bash-vi-editing-mode-cheat-sheet.txt | 165 | ||||
-rw-r--r-- | tech/git-annex-photo-workflow.txt | 36 | ||||
-rw-r--r-- | tech/miniflux.txt | 46 | ||||
-rw-r--r-- | tech/psql dump and restore.txt | 11 |
6 files changed, 328 insertions, 0 deletions
diff --git a/tech/arch-postgres-django-setup.txt b/tech/arch-postgres-django-setup.txt new file mode 100644 index 0000000..44e941f --- /dev/null +++ b/tech/arch-postgres-django-setup.txt @@ -0,0 +1,16 @@ +pacman -S postgresql postgis +[postgres]$ initdb --locale=C.UTF-8 --encoding=UTF8 -D /var/lib/postgres/data --data-checksums +sudo systemctl start postgresql.service + +sudo su - postgres: +psql +> CREATE USER luxagraf WITH PASSWORD 'jw8s0F4' CREATEDB; +> ALTER ROLE luxagraf SUPERUSER; +> exit + +createdb luxagraf +psql luxagraf +> CREATE EXTENSION postgis; +> exit +exit +psql -U luxagraf -hlocalhost -d luxagraf < luxagraf.20240821.sql diff --git a/tech/arch-server-setup.txt b/tech/arch-server-setup.txt new file mode 100644 index 0000000..cb06e27 --- /dev/null +++ b/tech/arch-server-setup.txt @@ -0,0 +1,54 @@ +Arch on a Server? Madness. + +https://wiki.archlinux.org/title/installation_guide +https://www.linuxbabe.com/linux-server/install-arch-linux-on-kvm-vps + +Boot ISO and follow install instructions to get it working. + +verify bootmode: cat /sys/firmware/efi/fw_platform_size + +ip link + +ping archlinux.org + +timedatectl + +fdisk -l + +make a 1M partition for grub + +then install grub: pacman -S grub + +then: + +grub-install --target=i386-pc /dev/vda +then config: +grub-mkconfig -o /boot/grub/grub.cfg + +https://wiki.archlinux.org/title/GRUB + +## Networking +https://www.reddit.com/r/archlinux/comments/3yaw2x/network_failure_trying_to_set_static_ip/?rdt=35416 +https://wiki.archlinux.org/title/Systemd-networkd + + +then start systemd-networkd, create file: + +/etc/systemd/network/20-wired.network +[Match] +Name=enp0s3 # or whatever the interface is named + +[Network] +Address=10.1.10.9/24 +Gateway=10.1.10.1 +DNS=10.1.10.1 + +Then link in resov files + +ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf +systemctl --now enable systemd-resolved + +Then turn on networkd: +systemctl --now enable systemd-networkd + + diff --git a/tech/bash-vi-editing-mode-cheat-sheet.txt b/tech/bash-vi-editing-mode-cheat-sheet.txt new file mode 100644 index 0000000..8466cff --- /dev/null +++ b/tech/bash-vi-editing-mode-cheat-sheet.txt @@ -0,0 +1,165 @@ +.--------------.------------------------------------------------------------.
+| | |
+| Shortcut | Description |
+| | |
+'--------------'------------------------------------------------------------'
+| Switching to COMMAND Mode: |
+'--------------.------------------------------------------------------------'
+| ESC | Switch to command mode. |
+'--------------'------------------------------------------------------------'
+| Commands for Entering INPUT Mode: |
+'--------------.------------------------------------------------------------'
+| i | Insert before cursor. |
+'--------------+------------------------------------------------------------'
+| a | Insert after cursor. |
+'--------------+------------------------------------------------------------'
+| I | Insert at the beginning of line. |
+'--------------+------------------------------------------------------------'
+| A | Insert at the end of line. |
+'--------------+------------------------------------------------------------'
+| c<mov. comm> | Change text of a movement command <mov. comm> (see below). |
+'--------------+------------------------------------------------------------'
+| C | Change text to the end of line (equivalent to c$). |
+'--------------+------------------------------------------------------------'
+| cc or S | Change current line (equivalent to 0c$). |
+'--------------+------------------------------------------------------------'
+| s | Delete a single character under the cursor and enter input |
+| | mode (equivalent to c[SPACE]). |
+'--------------+------------------------------------------------------------'
+| r | Replaces a single character under the cursor (without |
+| | leaving command mode). |
+'--------------+------------------------------------------------------------'
+| R | Replaces characters under cursor. |
+'--------------+------------------------------------------------------------'
+| v | Edit (and execute) the current command in the text editor. |
+| | (an editor defined in $VISUAL or $EDITOR variables, or vi |
+'--------------'------------------------------------------------------------'
+| Basic Movement Commands (in command mode): |
+'--------------.------------------------------------------------------------'
+| h | Move one character right. |
+'--------------+------------------------------------------------------------'
+| l | Move one character left. |
+'--------------+------------------------------------------------------------'
+| w | Move one word or token right. |
+'--------------+------------------------------------------------------------'
+| b | Move one word or token left. |
+'--------------+------------------------------------------------------------'
+| W | Move one non-blank word right. |
+'--------------+------------------------------------------------------------'
+| B | Move one non-blank word left. |
+'--------------+------------------------------------------------------------'
+| e | Move to the end of the current word. |
+'--------------+------------------------------------------------------------'
+| E | Move to the end of the current non-blank word. |
+'--------------+------------------------------------------------------------'
+| 0 | Move to the beginning of line |
+'--------------+------------------------------------------------------------'
+| ^ | Move to the first non-blank character of line. |
+'--------------+------------------------------------------------------------'
+| $ | Move to the end of line. |
+'--------------+------------------------------------------------------------'
+| % | Move to the corresponding opening/closing bracket. |
+'--------------'------------------------------------------------------------'
+| Character Finding Commands (these are also Movement Commands): |
+'--------------.------------------------------------------------------------'
+| fc | Move right to the next occurance of char c. |
+'--------------+------------------------------------------------------------'
+| Fc | Move left to the previous occurance of c. |
+'--------------+------------------------------------------------------------'
+| tc | Move right to the next occurance of c, then one char |
+| | backward. |
+'--------------+------------------------------------------------------------'
+| Tc | Move left to the previous occurance of c, then one char |
+| | forward. |
+'--------------+------------------------------------------------------------'
+| ; | Redo the last character finding command. |
+'--------------+------------------------------------------------------------'
+| , | Redo the last character finding command in opposite |
+| | direction. |
+'--------------+------------------------------------------------------------'
+| | | Move to the n-th column (you may specify the argument n by |
+| | typing it on number keys, for example, 20|) |
+'--------------'------------------------------------------------------------'
+| Deletion Commands: |
+'--------------.------------------------------------------------------------'
+| x | Delete a single character under the cursor. |
+'--------------+------------------------------------------------------------'
+| X | Delete a character before the cursor. |
+'--------------+------------------------------------------------------------'
+| d<mov. comm> | Delete text of a movement command <mov. comm> (see above). |
+'--------------+------------------------------------------------------------'
+| D | Delete to the end of the line (equivalent to d$). |
+'--------------+------------------------------------------------------------'
+| dd | Delete current line (equivalent to 0d$). |
+'--------------+------------------------------------------------------------'
+| CTRL-w | Delete the previous word. |
+'--------------+------------------------------------------------------------'
+| CTRL-u | Delete from the cursor to the beginning of line. |
+'--------------'------------------------------------------------------------'
+| Undo, Redo and Copy/Paste Commands: |
+'--------------.------------------------------------------------------------'
+| u | Undo previous text modification. |
+'--------------+------------------------------------------------------------'
+| U | Undo all previous text modifications. |
+'--------------+------------------------------------------------------------'
+| . | Redo the last text modification. |
+'--------------+------------------------------------------------------------'
+| y<mov. comm> | Yank a movement into buffer (copy). |
+'--------------+------------------------------------------------------------'
+| yy | Yank the whole line. |
+'--------------+------------------------------------------------------------'
+| p | Insert the yanked text at the cursor. |
+'--------------+------------------------------------------------------------'
+| P | Insert the yanked text before the cursor. |
+'--------------'------------------------------------------------------------'
+| Commands for Command History: |
+'--------------.------------------------------------------------------------'
+| k | Insert the yanked text before the cursor. |
+'--------------+------------------------------------------------------------'
+| j | Insert the yanked text before the cursor. |
+'--------------+------------------------------------------------------------'
+| G | Insert the yanked text before the cursor. |
+'--------------+------------------------------------------------------------'
+| /string or | Search history backward for a command matching string. |
+| CTRL-r | |
+'--------------+------------------------------------------------------------'
+| ?string or | Search history forward for a command matching string. |
+| CTRL-s | (Note that on most machines Ctrl-s STOPS the terminal |
+| | output, change it with `stty' (Ctrl-q to resume)). |
+'--------------+------------------------------------------------------------'
+| n | Repeat search in the same direction as previous. |
+'--------------+------------------------------------------------------------'
+| N | Repeat search in the opposite direction as previous. |
+'--------------'------------------------------------------------------------'
+| Completion commands: |
+'--------------.------------------------------------------------------------'
+| TAB or = or | List all possible completions. |
+| CTRL-i | |
+'--------------+------------------------------------------------------------'
+| * | Insert all possible completions. |
+'--------------'------------------------------------------------------------'
+| Miscellaneous commands: |
+'--------------.------------------------------------------------------------'
+| ~ | Invert case of the character under cursor and move a |
+| | character right. |
+'--------------+------------------------------------------------------------'
+| # | Prepend '#' (comment character) to the line and send it to |
+| | the history. |
+'--------------+------------------------------------------------------------'
+| _ | Inserts the n-th word of the previous command in the |
+| | current line. |
+'--------------+------------------------------------------------------------'
+| 0, 1, 2, ... | Sets the numeric argument. |
+'--------------+------------------------------------------------------------'
+| CTRL-v | Insert a character literally (quoted insert). |
+'--------------+------------------------------------------------------------'
+| CTRL-r | Transpose (exchange) two characters. |
+'--------------'------------------------------------------------------------'
+
+
+ ===========================================================================
+
+.---------------------------------------------------------------------------.
+| Created by Peter Krumins (peter@catonmat.net, @pkrumins on twitter) |
+| www.catonmat.net -- good coders code, great coders reuse |
+'---------------------------------------------------------------------------'
diff --git a/tech/git-annex-photo-workflow.txt b/tech/git-annex-photo-workflow.txt new file mode 100644 index 0000000..d429541 --- /dev/null +++ b/tech/git-annex-photo-workflow.txt @@ -0,0 +1,36 @@ +Git annex use in workflow - Software - discuss.pixls.us + +Setting up git-annex + +Create the repository and initialize it. +~$ cd ~/ +~$ mkdir Photographs +~$ cd Photographs +~$ git init +~$ git-annex init "My beautiful photographs" +Create a backup repository and initialize it. +~$ cd /media/external/ +~$ mkdir Photographs-backup +~$ cd Photographs-backup +~$ git init +~$ git-annex init "A backup of my beautiful photographs" +Let the repositories know about one another: +From ~/Photographs: +~$ git remote add backup /media/external/Photographs-backup +From /media/external/Photographs-backup: +~$ git remote add homedir ~/Photographs +Tell git-annex to keep multiple copies of your files. +~$ echo "*.nef annex.numcopies=2" >> .gitattributes +Tell git-annex to ignore XMP files so you can check them into git (requires git annex version 6.20160126). +~$ echo "*.xmp annex.largefiles=nothing" >> .gitattributes +Add some content. +~$ rsync -rvP --progress /media/camera/DCIM/ ~/Photographs/ +~$ cd ~/Photographs/ +~$ git-annex add . # note it isn't git add . +~$ git commit -m "Added photos from today's walk." +Sync the content between the repositories. +~$ cd ~/Photographs +~$ git-annex sync --content + + +visit site:https://discuss.pixls.us/t/git-annex-use-in-workflow/2028/7 diff --git a/tech/miniflux.txt b/tech/miniflux.txt new file mode 100644 index 0000000..91fd386 --- /dev/null +++ b/tech/miniflux.txt @@ -0,0 +1,46 @@ +Server based RSS Reader. + +Available via AUR. + +Config file at: /etc/miniflux.conf + +''' +DATABASE_URL=postgres://miniflux:tryptaminevfr$32@localhost/miniflux?sslmode=disable +RUN_MIGRATIONS=1 +HTTPS=1 +BASE_URL=https://rss.luxagraf.net/ +LISTEN_ADDR=/run/miniflux/miniflux.sock +DISABLE_HSTS=1 +''' + +More at: https://miniflux.app/docs/configuration.html + +Setup postgres user per: https://miniflux.app/docs/database.html + +//# Switch to the postgres user +$ su - postgres + +//# Create a database user for Miniflux +$ createuser -P miniflux +Enter password for new role: ****** +Enter it again: ****** + +//# Create a database for miniflux that belongs to our user +$ createdb -O miniflux miniflux + +//# Create the extension hstore as superuser +$ psql miniflux -c 'create extension hstore' +CREATE EXTENSION + +ALTER USER miniflux WITH SUPERUSER; +-- Run the migrations (sudo miniflux -c /etc/miniflux.conf -migrate) +ALTER USER miniflux WITH NOSUPERUSER; + +Set up Nginx: https://miniflux.app/docs/howto.html#reverse-proxy-unix-socket +(use certbot) + +Then run miniflux via two service files, one a socket, the other a service, as detailed here: https://miniflux.app/docs/howto.html#systemd-socket-activation + +create an admin user: sudo miniflux -c /etc/miniflux.conf -create-admin + +login to the web interface at rss.luxagraf.net. diff --git a/tech/psql dump and restore.txt b/tech/psql dump and restore.txt new file mode 100644 index 0000000..92dc15d --- /dev/null +++ b/tech/psql dump and restore.txt @@ -0,0 +1,11 @@ +psql back up and restore + +Backup: + + $ pg_dump -U {user-name} -hlocalhost -d {source_db} > {dumpfilename.sql} + +Restore: + + $ psql -U {user-name} -hlocalhost -d {desintation_db} < {dumpfilename.sql} + + |