update systemd

This commit is contained in:
JMARyA 2025-06-26 08:17:03 +02:00
parent 927a163c7f
commit 38e61193f5
Signed by: jmarya
GPG key ID: 901B2ADDF27C2263
19 changed files with 511 additions and 32 deletions

View file

@ -1,16 +1,16 @@
---
obj: application
website: https://networkmanager.dev
repo: https://gitlab.freedesktop.org/NetworkManager/NetworkManager
---
#refactor
# NetworkManager
[NetworkManager](https://networkmanager.dev/) is a program for providing detection and configuration for systems to automatically connect to networks. NetworkManager's functionality can be useful for both wireless and wired networks. For wireless networks, NetworkManager prefers known wireless networks and has the ability to switch to the most reliable network. NetworkManager-aware applications can switch from online and offline mode. NetworkManager also prefers wired connections over wireless ones, has support for modem connections and certain types of VPN. NetworkManager was originally developed by Red Hat and now is hosted by the GNOME project.
After installation, you should start/enable `NetworkManager.service`. Once the NetworkManager daemon is started, it will automatically connect to any available "system connections" that have already been configured. Any "user connections" or unconfigured connections will need _nmcli_ or an applet to configure and connect.
## Usage
NetworkManager comes with nmcli and nmtui.
NetworkManager comes with `nmcli` and `nmtui`.
### nmcli examples
List nearby Wi-Fi networks:

View file

@ -6,4 +6,36 @@ repo: https://github.com/fwupd/fwupd
---
# fwupd
#wip
fwupd is a simple daemon to allow session software to update device firmware on your local machine. It's designed for desktops, but also usable on phones and headless servers.
## Usage
To display all devices detected by fwupd:
```
$ fwupdmgr get-devices
```
> *Note*: Listed devices may not be updatable through fwupd (e.g. Intel integrated graphics). Alternative vendor solutions may be provided instead.
To download the latest metadata from the Linux Vendor firmware Service (LVFS):
```
$ fwupdmgr refresh
```
> *Note*: This can be done automatically by enabling `fwupd-refresh.timer`.
To list updates available for any devices on the system:
```
$ fwupdmgr get-updates
```
To install updates:
```
$ fwupdmgr update
```
> *Note*:
> - Updates that can be applied live will be done immediately.
> - Updates that run at bootup will be staged for the next reboot.
> - The root user may be required to perform certain device updates.

View file

@ -1,6 +1,13 @@
---
obj: application
arch-wiki: https://wiki.archlinux.org/title/S.M.A.R.T.
website: https://www.smartmontools.org
---
# smartctl
#wip
S.M.A.R.T. (Self-Monitoring, Analysis, and Reporting Technology) is a supplementary component built into many modern storage devices through which devices monitor, store, and analyze the health of their operation. Statistics are collected (temperature, number of reallocated sectors, seek errors...) which software can use to measure the health of a device, predict possible device failure, and provide notifications on unsafe values.
## Usage
Show all smart information: `smartctl -a /device`

View file

@ -92,6 +92,11 @@ Stored in:
- `/etc/systemd/system/`: units installed by the system administrator
- `~/.config/systemd/user/`: units used by local users
### User Units
Units can run under a user context. These are under the users home directory like `~/.config/systemd/user/` and can be used with `systemctl --user`.
To run user units even the user is not logged in, enable: `loginctl enable-linger <user>`.
### Service types
There are several different start-up types to consider when writing a custom service file. This is set with the `Type=` parameter in the `[Service]` section:

View file

@ -3,4 +3,16 @@ obj: application
---
# hostnamectl
#wip
Query or change system hostname.
Usage: `hostnamectl [OPTIONS...] COMMAND ...`
Commands:
```
status Show current hostname settings
hostname [NAME] Get/set system hostname
icon-name [NAME] Get/set icon name for host
chassis [NAME] Get/set chassis type for host
deployment [NAME] Get/set deployment environment for host
location [NAME] Get/set location for host
```

View file

@ -1,6 +1,78 @@
---
obj: application
arch-wiki: https://wiki.archlinux.org/title/Systemd/Journal
---
# journalctl
#wip
systemd has its own logging system called the journal; running a separate logging daemon is not required. To read the log, use `journalctl`.
## Usage
Show all messages matching `PATTERN`:
```
# journalctl --grep=PATTERN
```
Show all messages from this boot:
```
# journalctl -b
```
However, often one is interested in messages not from the current, but from the previous boot (e.g. if an unrecoverable system crash happened). This is possible through optional offset parameter of the `-b` flag: `journalctl -b -0` shows messages from the current boot, `journalctl -b -1` from the previous boot, `journalctl -b -2` from the second previous and so on you can see the list of boots with their numbers by using `journalctl --list-boots`.
Include explanations of log messages from the message catalog where available:
```
# journalctl -x
```
Show all messages from date (and optional time):
```
# journalctl --since="2012-10-30 18:17:16"
```
Show all messages since 20 minutes ago:
```
# journalctl --since "20 min ago"
```
Follow new messages:
```
# journalctl -f
```
Show all messages by a specific executable:
```
# journalctl /usr/lib/systemd/systemd
```
Show all messages by a specific identifier:
```
# journalctl -t sudo
```
Show all messages by a specific process:
```
# journalctl _PID=1
```
Show all messages by a specific unit:
```
# journalctl -u man-db.service
```
Show all messages from user services by a specific unit:
```
$ journalctl --user -u dbus
```
Show kernel ring buffer:
```
# journalctl -k
```
Show only error, critical and alert priority messages:
```
# journalctl -p err..alert
```
You can use numeric log level too, like `journalctl -p 3..1`. If single number/log level is used, `journalctl -p 3`, then all higher priority log levels are also included (i.e. 0 to 3 in this case).

View file

@ -3,5 +3,22 @@ obj: application
---
# localectl
#wip
https://man.archlinux.org/man/localectl.1
Query or change system locale and keyboard settings.
Usage: `localectl [OPTIONS...] COMMAND ...`
Commands:
```
status Show current locale settings
set-locale LOCALE... Set system locale
list-locales Show known locales
set-keymap MAP [MAP] Set console and X11 keyboard mappings
list-keymaps Show known virtual console keyboard mappings
set-x11-keymap LAYOUT [MODEL [VARIANT [OPTIONS]]]
Set X11 and console keyboard mappings
list-x11-keymap-models Show known X11 keyboard mapping models
list-x11-keymap-layouts Show known X11 keyboard mapping layouts
list-x11-keymap-variants [LAYOUT]
Show known X11 keyboard mapping variants
list-x11-keymap-options Show known X11 keyboard mapping options
```

View file

@ -3,4 +3,38 @@ obj: application
---
# loginctl
#wip
Send control commands to or query the login manager.
Usage: `loginctl [OPTIONS...] COMMAND ...`
```
Session Commands:
list-sessions List sessions
session-status [ID...] Show session status
show-session [ID...] Show properties of sessions or the manager
activate [ID] Activate a session
lock-session [ID...] Screen lock one or more sessions
unlock-session [ID...] Screen unlock one or more sessions
lock-sessions Screen lock all current sessions
unlock-sessions Screen unlock all current sessions
terminate-session ID... Terminate one or more sessions
kill-session ID... Send signal to processes of a session
User Commands:
list-users List users
user-status [USER...] Show user status
show-user [USER...] Show properties of users or the manager
enable-linger [USER...] Enable linger state of one or more users
disable-linger [USER...] Disable linger state of one or more users
terminate-user USER... Terminate all sessions of one or more users
kill-user USER... Send signal to processes of a user
Seat Commands:
list-seats List seats
seat-status [NAME...] Show seat status
show-seat [NAME...] Show properties of seats or the manager
attach NAME DEVICE... Attach one or more devices to a seat
flush-devices Flush all device associations
terminate-seat NAME... Terminate all sessions on one or more seats
```

View file

@ -3,4 +3,28 @@ obj: application
---
# networkctl
#wip
Query and control the networking subsystem.
This controls the networking via `systemd-networkd`.
Usage: `networkctl [OPTIONS...] COMMAND`
Commands:
```
list [PATTERN...] List links
status [PATTERN...] Show link status
lldp [PATTERN...] Show LLDP neighbors
label Show current address label entries in the kernel
delete DEVICES... Delete virtual netdevs
up DEVICES... Bring devices up
down DEVICES... Bring devices down
renew DEVICES... Renew dynamic configurations
forcerenew DEVICES... Trigger DHCP reconfiguration of all connected clients
reconfigure DEVICES... Reconfigure interfaces
reload Reload .network and .netdev files
edit FILES|DEVICES... Edit network configuration files
cat [FILES|DEVICES...] Show network configuration files
mask FILES... Mask network configuration files
unmask FILES... Unmask network configuration files
persistent-storage BOOL
Notify systemd-networkd if persistent storage is ready
```

View file

@ -3,4 +3,62 @@ obj: application
---
# systemd-analyze
#wip
Profile systemd, show unit dependencies, check unit files.
Usage: `systemd-analyze [OPTIONS...] COMMAND ...`
```
Boot Analysis:
[time] Print time required to boot the machine
blame Print list of running units ordered by
time to init
critical-chain [UNIT...] Print a tree of the time critical chain
of units
Dependency Analysis:
plot Output SVG graphic showing service
initialization
dot [UNIT...] Output dependency graph in dot(1) format
dump [PATTERN...] Output state serialization of service
manager
Configuration Files and Search Paths:
cat-config NAME|PATH... Show configuration file and drop-ins
unit-files List files and symlinks for units
unit-paths List load directories for units
Enumerate OS Concepts:
exit-status [STATUS...] List exit status definitions
capability [CAP...] List capability definitions
syscall-filter [NAME...] List syscalls in seccomp filters
filesystems [NAME...] List known filesystems
architectures [NAME...] List known architectures
smbios11 List strings passed via SMBIOS Type #11
Expression Evaluation:
condition CONDITION... Evaluate conditions and asserts
compare-versions VERSION1 [OP] VERSION2
Compare two version strings
image-policy POLICY... Analyze image policy string
Clock & Time:
calendar SPEC... Validate repetitive calendar time
events
timestamp TIMESTAMP... Validate a timestamp
timespan SPAN... Validate a time span
Unit & Service Analysis:
verify FILE... Check unit files for correctness
security [UNIT...] Analyze security of unit
fdstore SERVICE... Show file descriptor store contents of service
malloc [D-BUS SERVICE...] Dump malloc stats of a D-Bus service
Executable Analysis:
inspect-elf FILE... Parse and print ELF package metadata
TPM Operations:
has-tpm2 Report whether TPM2 support is available
pcrs [PCR...] Show TPM2 PCRs and their names
srk [>FILE] Write TPM2 SRK (to FILE)
```

View file

@ -1,6 +0,0 @@
---
obj: application
---
# systemd-ask-pass
#wip

View file

@ -0,0 +1,10 @@
---
obj: application
---
# systemd-ask-password
Query the user for a passphrase, via the TTY or a UI agent.
Usage: `systemd-ask-password [OPTIONS...] MESSAGE`

View file

@ -3,4 +3,6 @@ obj: application
---
# systemd-inhibit
#wip
Execute a process while inhibiting shutdown/sleep/idle.
Usage: `systemd-inhibit [OPTIONS...] COMMAND ...`

View file

@ -1,6 +0,0 @@
---
obj: application
---
# systemd-resolve
#wip

View file

@ -0,0 +1,41 @@
---
obj: application
arch-wiki: https://wiki.archlinux.org/title/Systemd-resolved
---
# systemd-resolved
systemd-resolved is a systemd service that provides network name resolution to local applications via a D-Bus interface, the `resolve` NSS service, and a local DNS stub listener on `127.0.0.53`.
## resolvectl
Send control commands to the network name resolution manager, or
resolve domain names, IPv4 and IPv6 addresses, DNS records, and services.
Usage: `resolvectl [OPTIONS...] COMMAND ...`
Commands:
```
query HOSTNAME|ADDRESS... Resolve domain names, IPv4 and IPv6 addresses
service [[NAME] TYPE] DOMAIN Resolve service (SRV)
openpgp EMAIL@DOMAIN... Query OpenPGP public key
tlsa DOMAIN[:PORT]... Query TLS public key
status [LINK...] Show link and server status
statistics Show resolver statistics
reset-statistics Reset resolver statistics
flush-caches Flush all local DNS caches
reset-server-features Forget learnt DNS server feature levels
monitor Monitor DNS queries
show-cache Show cache contents
show-server-state Show servers state
dns [LINK [SERVER...]] Get/set per-interface DNS server address
domain [LINK [DOMAIN...]] Get/set per-interface search domain
default-route [LINK [BOOL]] Get/set per-interface default route flag
llmnr [LINK [MODE]] Get/set per-interface LLMNR mode
mdns [LINK [MODE]] Get/set per-interface MulticastDNS mode
dnsovertls [LINK [MODE]] Get/set per-interface DNS-over-TLS mode
dnssec [LINK [MODE]] Get/set per-interface DNSSEC mode
nta [LINK [DOMAIN...]] Get/set per-interface DNSSEC NTA
revert LINK Revert per-interface configuration
log-level [LEVEL] Get/set logging threshold for systemd-resolved
```

View file

@ -4,6 +4,27 @@ arch-wiki: https://wiki.archlinux.org/title/Systemd-timesyncd
---
# systemd-timesyncd
#wip
systemd-timesyncd is a daemon that has been added for synchronizing the system clock across the network.
timedatectl
## Usage
Query or change system time and date settings.
Usage: `timedatectl [OPTIONS...] COMMAND ...`
Commands:
```
status Show current time settings
show Show properties of systemd-timedated
set-time TIME Set system time
set-timezone ZONE Set system time zone
list-timezones Show known time zones
set-local-rtc BOOL Control whether RTC is in local time
set-ntp BOOL Enable or disable network time synchronization
systemd-timesyncd Commands:
timesync-status Show status of systemd-timesyncd
show-timesync Show properties of systemd-timesyncd
ntp-servers INTERFACE SERVER…
Set the interface specific NTP servers
revert INTERFACE Revert the interface specific NTP servers
```

View file

@ -3,4 +3,17 @@ obj: application
---
# userdbctl
#wip
Show user and group information.
Usage: `userdbctl [OPTIONS...] COMMAND ...`
Commands:
```
user [USER…] Inspect user
group [GROUP…] Inspect group
users-in-group [GROUP…] Show users that are members of specified groups
groups-of-user [USER…] Show groups the specified users are members of
services Show enabled database services
ssh-authorized-keys USER Show SSH authorized keys for user
```

View file

@ -4,6 +4,24 @@ arch-wiki: https://wiki.archlinux.org/title/Udev
---
# udev
#wip
udev
udevadm
udev is a userspace system that enables the operating system administrator to register userspace handlers for events. The events received by udev's daemon are mainly generated by the (Linux) kernel in response to physical events relating to peripheral devices. As such, udev's main purpose is to act upon peripheral detection and hot-plugging, including actions that return control to the kernel, e.g., loading kernel modules or device firmware. Another component of this detection is adjusting the permissions of the device to be accessible to non-root users and groups.
## Usage
Send control commands or test the device manager.
Usage: `udevadm [--help] [--version] [--debug] COMMAND [COMMAND OPTIONS]`
Commands:
```
info Query sysfs or the udev database
trigger Request events from the kernel
settle Wait for pending udev events
control Control the udev daemon
monitor Listen to kernel and udev events
test Test an event run
test-builtin Test a built-in command
verify Verify udev rules files
wait Wait for device or device symlink
lock Lock a block device
```

View file

@ -6,4 +6,129 @@ repo: https://github.com/storaged-project/udisks
---
# udisks
#wip
udisks provides a daemon `udisksd`, that implements D-Bus interfaces used to query and manipulate storage devices, and a command-line tool `udisksctl`, used to query and use the daemon.
## Configuration
### Permissions
Actions a user can perform using udisks are restricted with `polkit`. If the user session is not activated or present (for example, when controlling udisks from a systemd/User service), adjust `polkit` rules accordingly.
See https://github.com/coldfix/udiskie/wiki/Permissions for common udisks permissions for the `storage` group.
### Default mount options
It is possible to define default mount options in `/etc/udisks2/mount_options.conf`. Create the file if it does not already exist. The built-in defaults and some examples can be seen in `/etc/udisks2/mount_options.conf.example`.
The options can target specific filesystem types. For example, mount btrfs filesystems with zstd compression enabled:
```
# /etc/udisks2/mount_options.conf
[defaults]
btrfs_defaults=compress=zstd
```
> *Note*: Lines override the corresponding built-in defaults. Make sure not to accidentally remove mount options this way.
## Usage
### Information
Show information about an object.
Usage: `udisksctl info [OPTION …]`
| Option | Description |
| -------------------- | ------------------------------------- |
| `-p, --object-path` | Object to get information about |
| `-b, --block-device` | Block device to get information about |
| `-d, --drive` | Drive to get information about |
To show info on all elements: `udisksctl dump`
For a high-level status: `udisksctl status`
To monitor for changes: `udisksctl monitor`
### Mounting
Mount a filesystem.
Usage: `udisksctl mount [OPTION …]`
| Option | Description |
| ----------------------- | -------------------------------------- |
| `-p, --object-path` | Object to get information about |
| `-b, --block-device` | Block device to get information about |
| `-t, --filesystem-type` | Filesystem type to use |
| `-o, --options` | Mount options |
| `--no-user-interaction` | Do not authenticate the user if needed |
Unmount a filesystem.
Usage: `udisksctl unmount [OPTION …]`
| Option | Description |
| ----------------------- | -------------------------------------- |
| `-p, --object-path` | Object to get information about |
| `-b, --block-device` | Block device to get information about |
| `-f, --force` | Force/lazy unmount |
| `--no-user-interaction` | Do not authenticate the user if needed |
### Encryption
Unlock an encrypted device.
Usage: `udisksctl unlock [OPTION …]`
| Option | Description |
| ----------------------- | -------------------------------------- |
| `-p, --object-path` | Object to get information about |
| `-b, --block-device` | Block device to get information about |
| `--no-user-interaction` | Do not authenticate the user if needed |
| `--key-file` | Keyfile for unlocking |
| `--read-only` | Unlock the device as read-only |
Lock an encrypted device.
Usage: `udisksctl lock [OPTION …]`
| Option | Description |
| ----------------------- | -------------------------------------- |
| `-p, --object-path` | Object to get information about |
| `-b, --block-device` | Block device to get information about |
| `--no-user-interaction` | Do not authenticate the user if needed |
### Loop Devices
Set up a loop device.
Usage: `udisksctl loop-setup [OPTION …]`
| Option | Description |
| ----------------------- | ------------------------------------------ |
| `-f, --file` | File to set-up a loop device for |
| `-r, --read-only` | Setup read-only device |
| `-o, --offset` | Start at `<num>` bytes into file |
| `-s, --size` | Limit size to `<num>` bytes |
| `--no-partition-scan` | Do not scan the loop device for partitions |
| `--no-user-interaction` | Do not authenticate the user if needed |
Delete a loop device.
Usage: `udisksctl loop-delete [OPTION …]`
| Option | Description |
| ----------------------- | -------------------------------------- |
| `-p, --object-path` | Object to get information about |
| `-b, --block-device` | Block device to get information about |
| `--no-user-interaction` | Do not authenticate the user if needed |
### Power Off
Safely power off a drive.
Usage: `udisksctl power-off [OPTION …]`
| Option | Description |
| ----------------------- | -------------------------------------- |
| `-p, --object-path` | Object to get information about |
| `-b, --block-device` | Block device to get information about |
| `--no-user-interaction` | Do not authenticate the user if needed |