{{Header}}
{{title|title=
Advanced Users
}}
{{#seo:
|description=What is an advanced user?
}}
{{intro|
What is an advanced user?
}}
= Skills =
This list is non-exhaustive.
* Download and save files: Save files to a specific folder and later locate them again.
* Find files: Search for files and folders using the file manager and the command line.
* Make a file executable: Set execute permissions and understand when this is appropriate.
* Manage long running commands: Start a long running command and stop it by killing the process from the command line.
* Check processes as a user: Determine whether a process is running as the current user.
* Check processes as root: Determine whether a process is running with root privileges.
* Open files with root rights: Edit system files safely with elevated permissions when required.
* Open folders with root rights: Browse and modify protected directories using elevated permissions when required.
* Understand the user home folder: Know where user configuration and data are stored and how permissions apply.
* Understand the root home folder: Know where root configuration and data are stored and how permissions differ from user accounts.
* Copy logs: Copy relevant journalctl output for troubleshooting and support requests.
* Use systemd service status: Interpret systemctl status output and identify common failure causes.
* Edit boot parameters: Edit boot parameters in the grub boot menu for one-time troubleshooting.
* Mount disk images: Mount a virtual hard drive file on the host operating system to inspect or recover data.
* Use a serial console: Connect to and use a serial console for debugging and recovery.
* Use OpenPGP Web of Trust: Understand trust models, key signing, and basic verification workflows.
* Understand Linux file permissions: Interpret and set permissions and ownership, including the effect of groups.
* Use sudo safely: Understand when sudo is required and avoid running unnecessary commands as root.
* Interpret exit codes: Recognize common non-zero exit codes and use them to troubleshoot failures.
* Redirect and pipe output: Use >, >>, and pipes to capture, append, and filter command output.
* Search text output: Use tools such as grep to find relevant lines in logs and command output.
* Inspect disk usage: Identify large files and folders and understand free space vs used space reporting.
* Verify file integrity: Check hashes (for example SHA256) to verify downloads and detect corruption.
* Extract archives: Work with common archive formats and preserve permissions when extracting.
* Understand networking basics: Inspect IP addresses, routes, and DNS configuration for troubleshooting.
* Test connectivity: Diagnose network issues using basic tools and interpret common failure modes.
* Understand firewall basics: Know how local firewall rules can affect connectivity and services.
* Manage services: Start, stop, restart, enable, and disable services using systemctl.
* Read system logs: Filter and interpret logs by time range, service, and priority.
* Use text editors: Comfortably edit configuration files using a terminal editor.
* Manage packages: Install, remove, and update software packages and understand repositories.
* Handle dependencies: Recognize dependency conflicts and resolve common package management errors.
* Use SSH: Connect to remote systems, copy files securely, and understand basic key handling.
* Manage file ownership: Change ownership and groups and understand how this affects access.
* Understand mounts: Inspect mounted filesystems and troubleshoot mount failures and permission issues.
* Work with block devices: Identify disks and partitions and understand common naming conventions.
* Use loop devices: Attach and detach disk images using loop devices for inspection and recovery.
* Understand system resources: Check CPU, RAM, and I/O usage and identify common bottlenecks.
* Use cron or timers: Schedule tasks and understand the difference between cron jobs and systemd timers.
* Manage environment variables: Inspect and set environment variables for troubleshooting and configuration.
* Understand PATH and executables: Know how commands are located and why scripts may not run as expected.
* Handle permissions errors: Diagnose "permission denied" and "operation not permitted" errors correctly.
* Use virtualization basics: Understand the difference between host and guest and common VM device concepts.
* Backup and restore: Create backups, verify them, and perform a basic restore without data loss.
* Recognize storage failure signs: Identify early warning signs and know when to run diagnostic tools and replace hardware.
* GnuPG
* Sequoia-PGP
== Qubes only ==
* Understand the /rw folder: Know what persists across reboots and what does not.
* Edit startup scripts: Use gsudoedit to edit /rw/config/rc.local safely and understand when it runs.
* Understand TemplateVMs: Know what a TemplateVM is and how updates propagate to AppVMs.
* Understand AppVMs vs StandaloneVMs: Choose the right VM type based on persistence and update needs.
* Use DisposableVMs: Use DisposableVMs for risky activities and understand their lifecycle.
* Understand qubes networking: Know how NetVMs and firewall settings affect connectivity.
* Use Qubes firewall rules: Configure per-VM firewall rules and verify they take effect.
* Manage VM storage: Understand private storage, template root, and how to resize VM volumes safely.
* Troubleshoot qrexec basics: Recognize common qrexec policy issues and where to look for errors.
* Use split GPG: Use split GPG workflows and understand trust boundaries.
* Use split SSH: Use split SSH workflows and understand how agent forwarding is handled.
* Recover from VM issues: Start VMs from the command line and troubleshoot common startup failures.
{{reflist|close=1}}
{{Footer}}
[[Category:Documentation]]
[[Category:MultiWiki]]