Vim (Vi Improved)
Vim stands for vi (Improved) just like its name it stands for an improved version of the vi text editor command.
Lightweight
Start Vim
vim Vim Search Patterns # Moving the Cursor # h or left arrow - move left one character k or up arrow - move up one line j or down arrow - move down one line l or right arrow - will move you right one character
Vagrant is software that lets you set up multiple, pre-configured virtual machines in a flash. I am going to show you how to do this using Linux and Virtual Box. But you can do this on MacOS and Windows as well.
The OpenSSH Service # Secure Shell (SSH)
Delivers a secure mechanism for data transmission between source and destination systems over IP networks. Designed to replace the old remote login programs that transmitted user passwords in clear text and data unencrypted. Employs digital signatures for user authentication with encryption to secure a communication channel. this makes it extremely hard for unauthorized people to gain access to passwords or the data in transit. Monitors the data being transferred throughout a session to ensure integrity. Includes a set of utilities ssh and sftp for remote users to log in, transfer files, and execute commands securely. Common Encryption Techniques # Two common techniques: symmetric and asymetric Symmetric Technique
firewalld Zones # firewalld # The host-based firewall solution employed in RHEL uses a kernel module called netfilter together with a filtering and packet classification framework called nftables for policing the traffic movement. It also supports other advanced features such as Network Address Translation (NAT) and port forwarding. This firewall solution inspects, modifies, drops, or routes incoming, outgoing, and forwarded network packets based on defined rulesets. Default host-based firewall management service in RHEL Ability to add, modify, or delete firewall rules immediately without disrupting current network connections or restarting the service process. Also allows to save rules persistently so that they are activated automatically at system reboots. Lets you perform management operations at the command line using the firewall-cmd command, graphically using the web console, or manually by editing rules files. Stores the default rules in files located in the /usr/lib/firewalld directory, and those that contain custom rules in the /etc/firewalld directory. The default rules files may be copied to the custom rules directory and modified. firewalld Zones # Easier and transparent traffic management. Define policies based on the trust level of network connections and source IP addresses. A network connection can be part of only one zone at a time; A zone can have multiple network connections assigned to it. Zone configuration may include services, ports, and protocols that may be open or closed. May include rules for advanced configuration items such as masquerading, port forwarding, NAT’ing, ICMP filters, and rich language. Rules for each zone are defined and manipulated independent of other zones. Match source ip to zone that matches address > match based on zone the interface is in > matches default zone
System Initialization and Service Management # systemd (system daemon)
System initialization and service management mechanism.
Units and targets for initialization, service administration, and state changes
Automated setup https://universal-blue.org/
You get all the benefits of using containers Separates system level packages from applications.
System Level
Desktop, kernel? Layering Apps at system level because containers aren’t as developed yet Locks to the fedora version you are on Layered package examples # - gnome shell extensions - distrobox Uses rpm-ostree? https://coreos.github.io/rpm-ostree/administrator-handbook/
This is a step-by-step guide to setting up Nextcloud on a Debian server. You will need a server hosted by a VPS like Vultr. And a Domain hosted by a DNS provider such as Cloudflare
SELinux Terminology # Implementation of the Mandatory Access Control (MAC) architecture
developed by the U.S. National Security Agency (NSA) flexible, enriched, and granular security controls in Linux. integrated into the Linux kernel as a set of patches using the Linux Security Modules (LSM) framework allows the kernel to support various security implementations provides an added layer of protection above and beyond the standard Linux Discretionary Access Control (DAC) security architecture. DAC includes: traditional file and directory permissions extended attribute settings setuid/setgid bits su/sudo privileges etc. Limits the ability of a subject (Linux user or process) to access an object (file, directory, file system, device, network interface/connection, port, pipe, socket, etc.) To reduce or eliminate the potential damage the subject may be able to inflict on the system if compromised. MAC controls
Topic Review 1 Review 2 Review 3 1 Ad Hoc Commands X 2 ansible.cfg X 3 Ansible Vault X 4 Boot Process X 5 Deploying Files X 6 Handlers X 7 Hostname Patterns X 8 Including and Importing Files 9 Inventory 10 Jinja2 Templates 11 Loops and Items 12 Optimizing Ansible Processing 13 Packages Repositories and Subscriptions 14 Playbooks 15 Roles 16 SeLinux 17 Services 18 Storage Partitions and LVM 19 Tags 20 Troubleshooting 21 Users and Groups 22 Variables 23 When 24 Practice Exam
I’m going to show you how to set up your own, self-hosted Nextcloud server using Alma Linux 9 and Apache.
What is Nextcloud? # Nextcloud is so many things. It offers so many features and options, it deserves a bulleted list:
When you first download Fedora Workstation, it’s going to be a little hard to figure out how to make it usable. Especially if you’ve never tinkered with Linux before.
This is because Fedora with Gnome desktop is a blank canvas. The point is to let you customize it to your needs. When I first install Fedora, I pull my justfile to install most of the programs I use:
Using Monkey Type to get my first speedtest results:
02/24/2025 55 WPM Learning to type with: https://www.typing.com/ https://www.typingclub.com/
Going to be practicing on these sites: https://10fastfingers.com/ https://www.keybr.com/ https://play.typeracer.com/
try ctrl+backspace to delete entire word
Day 1 (1 hour) Typing club Lessons 1-41
Word Press is great, but it is probably a lot more bloated then you need for a personal website. Enter Hugo, it has less server capacity and storage needs than Word Press. Hugo is a static site generator than takes markdown files and converts them to html.
Linux Kernel # controls everything on the system. hardware enforces security and access controls runs, schedules, and manages processes and service daemons. comprised of several modules. new kernel must be installed or an existing kernel must be upgraded when the need arises from an application or functionality standpoint. core of the Linux system. manages hardware enforces security regulates access to the system handles
My name is Marcel and I’m partially a shell.. # A shell is a program that takes commands and passes them to the operating system.^1^ This is done via terminal emulator with keyboard commands or by using scripts ran on the system. There are many shell programs that you can use on Linux. Almost all Linux distributions come with a shell called Bash. Some others include zsh, fsh, ksh, and Tcsh. (But not limited to)
Permission Classes and Types # Permission classes
user (u) group (g) other (o) (public) all (a) <- all combined Permission types
·loading·loading
Have a goal?
Teach people to achieve that goal while you are working toward achieving it.
Proposition the goal. See if other people would buy the lessons you are learning by making public posts pre-selling your offer.
·loading·loading
https://github.com/VSCodium VScode but without the Microsoft Telemetry
See section about migrating from VScod to VS codium https://github.com/VSCodium/vscodium/blob/a02839b466d8d01b8a61ea9611f0b74039538eae/DOCS.md#migrating-from-visual-studio-code-to-vscodium.
It pulls from this server rather than Microsoft’s: https://open-vsx.org/. And you can manually download the extensions from microsoft https://marketplace.visualstudio.com/vscode if they haven’t been added to open-vsx.org yet.
·loading·loading
We are sick of manually setting up virtual machines and configuring them. You can use Ansible to automate the configuration of a server. But what about setting up a server before it’s configured? Let’s stop doing that manually as well by using Vagrant.
·loading·loading
Links: https://git.jharmison.com/james/dotfiles/src/branch/master/.tmux.conf https://www.youtube.com/watch?v=nTqu6w2wc68 https://www.youtube.com/watch?v=DzNmUNvnB04 https://www.youtube.com/watch?v=Yl7NFenTgIo https://github.com/alacritty/alacritty https://github.com/rothgar/awesome-tmux https://www.youtube.com/watch?v=GH3kpsbbERo https://git.jharmison.com/james/dotfiles/src/branch/master/.config/alacritty/alacritty.toml#L41
tmux 2 # Productive Mouse-Free Development # easily manage a text editor, a database console, and a local web server within a single environment.
·loading·loading
Skaffold watches for code changes in a repo and builds, tests, and deployes and application in Kubernetes
What questions are they asking? Headline melding. # How can I validate the structure of a container image?
·loading·loading
Using GTKterm app
Find out what port your serial cable is plugged into:
dthomas@lgfedora:~$ dmesg | grep tty [ 0.119494] printk: console [tty0] enabled [ 1.591268] serial8250: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A [ 7.707751] systemd[1]: Created slice system-getty.slice - Slice /system/getty. [ 7.708786] systemd[1]: Reached target getty.target - Login Prompts. [ 424.829380] usb 3-6: FTDI USB Serial Device converter now attached to ttyUSB0 [ 498.255356] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0 [ 499.952411] usb 3-4: FTDI USB Serial Device converter now attached to ttyUSB0 [ 1020.298236] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0 [ 1022.774544] usb 3-6: FTDI USB Serial Device converter now attached to ttyUSB0 [ 1115.380773] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0 [ 1117.430371] usb 3-4: FTDI USB Serial Device converter now attached to ttyUSB0 See last line that says “now attached”