sudo dmidecode -s bios-version
My thoughts on the pang-wang
❯ find . -name “requirements.in” -print0 | xargs -0 sh -c ‘for arg in “$@”; do echo “awscli” »"$arg"; done’
https://www.simplified.guide/linux/disk-health-check
Install
For ubuntu/debian based distros (which is what I primarly use presently)
sudo apt update -y && sudo apt install smartmontools -y
List hard drives
lsblk | grep disk is one way or sudo lshw -c disk is another
smartctl
Use a device’s logical name such as dev/sda, not a partition of the disk
sudo smartctl -t short /dev/sda
dotfiles home ×3 ×2 ×2 via v3.10.6(dotfiles) took 11s
❯ sudo smartctl -t short /dev/sda
smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.15.0-48-generic] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Short self-test routine immediately in off-line mode".
Drive command "Execute SMART Short self-test routine immediately in off-line mode" successful.
Testing has begun.
Please wait 2 minutes for test to complete.
Test will complete after Fri Sep 23 05:59:39 2022 CDT
Use smartctl -X to abort test.
check status
sudo smartctl -H /dev/sda
dotfiles home ×3 ×2 ×2 via v3.10.6(dotfiles)
❯ sudo smartctl -H /dev/sda
smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.15.0-48-generic] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
Steps
sudo fdisk -l
then look for the device and partition
get the Type column
mount
Example #
dumbledore in /media NO PYTHON VENV SET
❯ sudo fdisk -l
...
Device Boot Start End Sectors Size Id Type
/dev/sdk1 * 2048 60371951 60369904 28.8G 7 HPFS/NTFS/exFAT
/dev/sdk2 60371952 60437487 65536 32M ef EFI (FAT-12/16/32)
dumbledore in /media NO PYTHON VENV SET
❯ sudo mount -t ntfs /dev/sdk1 /media/ventoy-usb -o uid=1000
NTFS signature is missing.
Failed to mount '/dev/sdk1': Invalid argument
The device '/dev/sdk1' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?
dumbledore in /media NO PYTHON VENV SET
✗ sudo mount -t exfat /dev/sdk1 /media/ventoy-usb -o uid=1000
Assuming you have a PXE server running you only need small edits to the virt-manager config
kvm-network-interface-via-nat-ubuntu-20
man can be a pain to read… and there’s lots of alternatives out there and one I’ve just started playing with is cheat
man man will give you this plus a billion more lines of docs, which is useful when you need it…
MAN(1) Manual pager utils MAN(1)
NAME
man - an interface to the on-line reference manuals
SYNOPSIS
man [-C file] [-d] [-D] [--warnings[=warnings]] [-R encoding] [-L locale] [-m system[,...]] [-M path] [-S list] [-e extension] [-i|-I] [--regex|--wildcard] [--names-only] [-a] [-u] [--no-subpages] [-P pager] [-r prompt] [-7] [-E encoding] [--no-hyphenation]
[--no-justification] [-p string] [-t] [-T[device]] [-H[browser]] [-X[dpi]] [-Z] [[section] page[.section] ...] ...
man -k [apropos options] regexp ...
man -K [-w|-W] [-S list] [-i|-I] [--regex] [section] term ...
man -f [whatis options] page ...
man -l [-C file] [-d] [-D] [--warnings[=warnings]] [-R encoding] [-L locale] [-P pager] [-r prompt] [-7] [-E encoding] [-p string] [-t] [-T[device]] [-H[browser]] [-X[dpi]] [-Z] file ...
man -w|-W [-C file] [-d] [-D] page ...
man -c [-C file] [-d] [-D] page ...
man [-?V]
DESCRIPTION
man is the system's manual pager. Each page argument given to man is normally the name of a program, utility or function. The manual page associated with each of these arguments is then found and displayed. A section, if provided, will direct man to look
only in that section of the manual. The default action is to search in all of the available sections following a pre-defined order ("1 n l 8 3 2 3posix 3pm 3perl 3am 5 4 9 6 7" by default, unless overridden by the SECTION directive in /etc/manpath.config),
and to show only the first page found, even if page exists in several sections.
The table below shows the section numbers of the manual followed by the types of pages they contain.
1 Executable programs or shell commands
2 System calls (functions provided by the kernel)
3 Library calls (functions within program libraries)
4 Special files (usually found in /dev)
5 File formats and conventions eg /etc/passwd
6 Games
7 Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7)
8 System administration commands (usually only for root)
9 Kernel routines [Non standard]
A manual page consists of several sections.
Conventional section names include NAME, SYNOPSIS, CONFIGURATION, DESCRIPTION, OPTIONS, EXIT STATUS, RETURN VALUE, ERRORS, ENVIRONMENT, FILES, VERSIONS, CONFORMING TO, NOTES, BUGS, EXAMPLE, AUTHORS, and SEE ALSO.
The following conventions apply to the SYNOPSIS section and can be used as a guide in other sections.
bold text type exactly as shown.
italic text replace with appropriate argument.
[-abc] any or all arguments within [ ] are optional.
-a|-b options delimited by | cannot be used together.
argument ... argument is repeatable.
[expression] ... entire expression within [ ] is repeatable.
Exact rendering may vary depending on the output device. For instance, man will usually not be able to render italics when running in a terminal, and will typically use underlined or coloured text instead.
The command or function illustration is a pattern that should match all possible invocations. In some cases it is advisable to illustrate several exclusive invocations as is shown in the SYNOPSIS section of this manual page.
EXAMPLES
man ls
Display the manual page for the item (program) ls.
man man.7
Display the manual page for macro package man from section 7.
But what if you don’t? #
cheat man
# To convert a man page to pdf:
man -t bash | ps2pdf - bash.pdf
# To view the ascii chart:
man 7 ascii
You get tiny examples to remind you of what you probably are trying to do!
I got into a pickle where I encrypted the ssh keys I use for my SSH connections on LAN, but then I couldn’t run my ansible playbook on my server! ssh-keygen -p and leave the new passphrase blank saved my day (although password protected key files are safer!)
TL;DR - just reset it to nothing
ssh-keygen -p will let you reset the passphrase on your ssh keys (good for you! yay security!)
But I needed to remove the passphrase to quickly deploy an ansible playbook 🤓
see samba config on hogwarts
email1@me.com
somebody_else@gmail.com
#! /bin/bash
# pick multiple emails from list and combine into comma seperated array
emails=`cat .../emails | fzf -m | sed 's/^\|$/"/g'|paste -sd,`
echo $emails