Skip to content

Commit d33e18a

Browse files
committed
Improve commands
1 parent 34e2a4d commit d33e18a

50 files changed

Lines changed: 3192 additions & 958 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎assets/commands/lddd.md‎

Lines changed: 32 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,53 @@
11
# TAGLINE
22

3-
scans the system for packages with broken shared library links
3+
Find binaries and libraries with broken shared library links
44

55
# TLDR
66

7-
Find packages with **broken library links**
7+
Scan the system for **broken library links**
88

99
```lddd```
1010

11+
Show the **packages** that may need a rebuild (path is printed at the end of the run)
12+
13+
```cat /tmp/lddd-script.[XXXX]/possible-rebuilds.txt```
14+
1115
# SYNOPSIS
1216

1317
**lddd**
1418

1519
# DESCRIPTION
1620

17-
**lddd** scans the system for packages with broken shared library links. It identifies binaries that depend on libraries that have been removed or updated, indicating packages that may need to be rebuilt.
21+
**lddd** scans every directory in **$PATH**, plus **/lib**, **/usr/lib**, **/usr/local/lib** and the directories listed in **/etc/ld.so.conf.d/**, for ELF files. Each ELF file is run through **ldd**, and any file with a "not found" dependency is recorded.
22+
23+
The affected files are then mapped to their owning packages with **pacman -Qo**, giving a list of packages that probably need to be rebuilt, typically after a soname bump of a library. It takes no options or arguments.
24+
25+
All results are written to a temporary directory created with **mktemp** (for example **/tmp/lddd-script.XXXX**):
26+
27+
**raw.txt**
28+
> Every affected file followed by the missing libraries.
29+
30+
**affected-files.txt**
31+
> Paths of the affected files only.
1832
19-
This tool is specifically designed for Arch Linux systems and helps maintain system health after library updates.
33+
**pacman.txt**
34+
> Owning package name and version of each affected file.
35+
36+
**possible-rebuilds.txt**
37+
> Sorted, de-duplicated list of packages that may need a rebuild.
2038
2139
# CAVEATS
2240

23-
Only available on Arch Linux. May take considerable time on systems with many packages. Requires root privileges for complete system scanning.
41+
Arch Linux specific; part of the **devtools** package. The scan runs **file** and **ldd** on every candidate file and can take a long time. Run it as a user that can read all scanned files, otherwise some may be skipped. Files not owned by any package (e.g. in /usr/local) show up in raw.txt but not in the package list.
2442

2543
# SEE ALSO
2644

27-
[ldd](/man/ldd)(1), [pacman](/man/pacman)(8), [checkupdates](/man/checkupdates)(8)
45+
[ldd](/man/ldd)(1), [pacman](/man/pacman)(8), [devtools](/man/devtools)(1), [namcap](/man/namcap)(1), [checkupdates](/man/checkupdates)(8)
46+
47+
# RESOURCES
48+
49+
```[Source code](https://gitlab.archlinux.org/archlinux/devtools)```
50+
51+
```[Documentation](https://man.archlinux.org/man/lddd.1)```
52+
53+
<!-- verified: 2026-09-29 -->

‎assets/commands/limits.conf.md‎

Lines changed: 90 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,11 @@ PAM configuration file that sets resource limits for users and groups
88

99
```[username] hard nofile [65535]```
1010

11-
**Set memory limit**
11+
**Set soft and hard limit at once**
12+
13+
```[username] - nofile [65535]```
14+
15+
**Set memory limit (in KB)**
1216

1317
```[username] hard as [4194304]```
1418

@@ -20,41 +24,105 @@ PAM configuration file that sets resource limits for users and groups
2024

2125
```@[groupname] hard maxlogins [10]```
2226

27+
**Allow unlimited locked memory for a group**
28+
29+
```@[groupname] - memlock unlimited```
30+
31+
**Disable core dumps for everyone**
32+
33+
```* hard core 0```
34+
35+
**Check the limits of the current session**
36+
37+
```ulimit -a```
38+
2339
# SYNOPSIS
2440

2541
**/etc/security/limits.conf**
2642

43+
**/etc/security/limits.d/*.conf**
44+
45+
_domain_ _type_ _item_ _value_
46+
2747
# PARAMETERS
2848

49+
**username**
50+
> Domain: a single user.
51+
52+
**@group**
53+
> Domain: all members of a group.
54+
55+
**\***
56+
> Domain: wildcard default entry (does not apply to root).
57+
58+
**%group**
59+
> Domain: for maxlogins only, limits the total logins of all members of a group.
60+
61+
**min_uid:max_uid**, **@min_gid:max_gid**
62+
> Domain: a UID or GID range; either bound may be omitted.
63+
2964
**hard**
30-
> Hard limit (maximum value).
65+
> Hard limit, set by root and enforced by the kernel. Users cannot raise it.
3166
3267
**soft**
33-
> Soft limit (default value).
68+
> Soft limit, the default value, which users can raise up to the hard limit.
69+
70+
**-**
71+
> Set both the soft and hard limit.
3472
3573
**nofile**
36-
> Maximum open files.
74+
> Maximum open file descriptors.
3775
3876
**nproc**
3977
> Maximum processes.
4078
4179
**as**
42-
> Address space limit.
80+
> Address space limit (KB).
4381
44-
**maxlogins**
45-
> Maximum logins.
82+
**data**
83+
> Maximum data size (KB).
84+
85+
**fsize**
86+
> Maximum file size (KB).
87+
88+
**core**
89+
> Maximum core file size (KB).
4690
4791
**memlock**
48-
> Maximum locked memory.
92+
> Maximum locked-in-memory address space (KB).
4993
5094
**stack**
51-
> Maximum stack size.
95+
> Maximum stack size (KB).
96+
97+
**cpu**
98+
> Maximum CPU time (minutes).
99+
100+
**maxlogins**
101+
> Maximum logins for this user (not applied to uid 0).
102+
103+
**maxsyslogins**
104+
> Maximum number of all logins on the system.
105+
106+
**priority**
107+
> Priority to run user processes with.
108+
109+
**nice**
110+
> Maximum nice priority allowed to raise to (-20 to 19).
111+
112+
**rtprio**
113+
> Maximum realtime priority for non-privileged processes.
114+
115+
**locks**, **sigpending**, **msgqueue**, **rttime**
116+
> Maximum file locks, pending signals, POSIX message queue bytes, and realtime timeout (microseconds).
117+
118+
**nonewprivs**
119+
> 0 or 1; if 1, sets PR_SET_NO_NEW_PRIVS to block gaining new privileges.
52120
53121
# DESCRIPTION
54122

55-
**limits.conf** is a PAM configuration file that sets resource limits for users and groups. Limits are enforced when users log in through PAM-enabled services.
123+
**limits.conf** is the configuration file for the **pam_limits** module, which applies ulimit limits, nice priority and login-count limits to user sessions opened through PAM. Files in **/etc/security/limits.d/** with a **.conf** suffix are read as well.
56124

57-
The format is: domain type item value. Domain can be username, @groupname, or * for all users.
125+
Each line has the format: domain type item value. Values **-1**, **unlimited** or **infinity** mean no limit (except for priority, nice and nonewprivs). Individual user entries take priority over group entries. Lines starting with **#** are comments.
58126

59127
# EXAMPLE CONFIG
60128

@@ -63,13 +131,22 @@ The format is: domain type item value. Domain can be username, @groupname, or *
63131
* soft nofile 4096
64132
* hard nofile 65535
65133
@developers soft nproc 2048
134+
@audio - rtprio 95
66135
root hard nproc unlimited
67136
```
68137

69138
# CAVEATS
70139

71-
Requires pam_limits module. Changes apply at next login. Systemd services may need LimitNOFILE in unit files. Check with ulimit -a.
140+
Requires the pam_limits module in the relevant PAM service stack. Changes apply at the next login, not to running sessions. Limits are per session, not global (except maxlogins). The **\*** wildcard does not apply to root, which needs explicit entries. Systemd services ignore this file; use **LimitNOFILE=** and similar directives in unit files, or **DefaultLimitNOFILE=** in systemd's system.conf.
72141

73142
# SEE ALSO
74143

75-
[ulimit](/man/ulimit)(1), [pam](/man/pam)(8), [pam_limits](/man/pam_limits)(8), [sysctl](/man/sysctl)(8)
144+
[ulimit](/man/ulimit)(1), [prlimit](/man/prlimit)(1), [pam](/man/pam)(8), [pam_limits](/man/pam_limits)(8), [getrlimit](/man/getrlimit)(2), [sysctl](/man/sysctl)(8)
145+
146+
# RESOURCES
147+
148+
```[Source code](https://github.com/linux-pam/linux-pam)```
149+
150+
```[Documentation](https://man7.org/linux/man-pages/man5/limits.conf.5.html)```
151+
152+
<!-- verified: 2026-09-29 -->

‎assets/commands/linode-cli-nodebalancers.md‎

Lines changed: 108 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -16,66 +16,155 @@ manages Linode NodeBalancers
1616

1717
```linode-cli nodebalancers view [nodebalancer_id]```
1818

19+
**Add a port configuration** (e.g. HTTP on port 80)
20+
21+
```linode-cli nodebalancers config-create [nodebalancer_id] --port [80] --protocol [http] --algorithm [roundrobin] --check [http] --check_path [/]```
22+
1923
**List configs**
2024

2125
```linode-cli nodebalancers configs-list [nodebalancer_id]```
2226

23-
**Delete node balancer**
27+
**Add a backend node**
2428

25-
```linode-cli nodebalancers delete [nodebalancer_id]```
29+
```linode-cli nodebalancers node-create [nodebalancer_id] [config_id] --address [192.168.1.1:80] --label [web1]```
30+
31+
**List backend nodes** and their health status
2632

27-
**Add node**
33+
```linode-cli nodebalancers nodes-list [nodebalancer_id] [config_id]```
2834

29-
```linode-cli nodebalancers node-create [nodebalancer_id] [config_id] --address [192.168.1.1:80]```
35+
**Delete node balancer**
36+
37+
```linode-cli nodebalancers delete [nodebalancer_id]```
3038

3139
# SYNOPSIS
3240

33-
**linode-cli nodebalancers** _subcommand_ [_options_]
41+
**linode-cli nodebalancers** _action_ [_ids_] [_options_]
3442

3543
# PARAMETERS
3644

37-
_SUBCOMMAND_
38-
> NodeBalancer operation.
39-
40-
**list**
45+
**list**, **ls**
4146
> List all NodeBalancers.
4247
4348
**create**
44-
> Create NodeBalancer.
49+
> Create a NodeBalancer (**--region** is required).
4550
4651
**view** _ID_
4752
> View NodeBalancer details.
4853
54+
**update** _ID_
55+
> Update a NodeBalancer (label, tags, client_conn_throttle).
56+
57+
**delete**, **rm** _ID_
58+
> Delete a NodeBalancer.
59+
60+
**types**
61+
> List NodeBalancer types and pricing.
62+
63+
**firewalls** _ID_
64+
> Update the firewalls assigned to a NodeBalancer.
65+
4966
**configs-list** _ID_
50-
> List configurations.
67+
> List port configurations.
68+
69+
**config-create** _ID_
70+
> Create a port configuration.
71+
72+
**config-view**, **config-update**, **config-delete** _ID_ _CONFIG_ID_
73+
> View, update or delete a configuration.
5174
52-
**delete** _ID_
53-
> Delete NodeBalancer.
75+
**config-rebuild** _ID_ _CONFIG_ID_
76+
> Replace a configuration and its full set of nodes in one call.
77+
78+
**nodes-list** _ID_ _CONFIG_ID_
79+
> List backend nodes of a configuration.
80+
81+
**node-create** _ID_ _CONFIG_ID_
82+
> Add a backend node.
83+
84+
**node-view**, **node-update**, **node-delete** _ID_ _CONFIG_ID_ _NODE_ID_
85+
> View, update or delete a backend node.
86+
87+
**vpcs-list**, **vpc-view** _ID_
88+
> Show VPC configurations of a NodeBalancer.
5489
5590
**--region** _REGION_
5691
> Datacenter region.
5792
5893
**--label** _NAME_
59-
> NodeBalancer name.
94+
> NodeBalancer, or node, label.
95+
96+
**--tags** _TAG_
97+
> Tag to apply; repeat for several.
98+
99+
**--client_conn_throttle** _N_
100+
> Throttle new connections per second per client IP (0 disables).
101+
102+
**--firewall_id** _ID_
103+
> Firewall to assign at creation.
104+
105+
**--port** _PORT_
106+
> Port the configuration listens on.
107+
108+
**--protocol** _PROTO_
109+
> **http**, **https**, **tcp** or **udp**.
110+
111+
**--algorithm** _ALG_
112+
> Balancing algorithm: **roundrobin**, **leastconn** or **source** (UDP also supports **ring_hash**).
113+
114+
**--stickiness** _MODE_
115+
> Session stickiness: **none**, **table**, **http_cookie** (UDP: **session**, **source_ip**).
116+
117+
**--check** _TYPE_
118+
> Active health check: **none**, **connection**, **http** or **http_body**.
119+
120+
**--check_path** _PATH_
121+
> URL path used by HTTP health checks.
122+
123+
**--ssl_cert**, **--ssl_key** _PEM_
124+
> Certificate and private key for HTTPS configurations.
125+
126+
**--address** _IP:PORT_
127+
> Backend node address (private IPv4, public IPv6 or VPC IPv4 plus port).
128+
129+
**--mode** _MODE_
130+
> Node mode: **accept**, **reject**, **drain** or **backup**.
131+
132+
**--weight** _N_
133+
> Node weight (1-255).
60134
61135
**--help**
62-
> Display help information.
136+
> Display help information for an action.
63137
64138
# DESCRIPTION
65139

66-
**linode-cli nodebalancers** manages Linode NodeBalancers. NodeBalancers distribute traffic across instances.
140+
**linode-cli nodebalancers** manages Linode (Akamai Cloud) NodeBalancers, managed load balancers that distribute incoming traffic across backend Linodes.
67141

68-
The tool configures load balancing, health checks, and SSL termination for high availability.
142+
Each NodeBalancer has one or more **configs**, one per listening port, which define the protocol, algorithm, session stickiness, TLS termination and health checks. Each config has its own set of backend **nodes**. Run **linode-cli nodebalancers** _action_ **--help** to see every argument for an action.
69143

70144
# CAVEATS
71145

72-
Requires authentication. Billed hourly. Needs backend nodes configured.
146+
Requires a configured API token (**linode-cli configure** or **LINODE_CLI_TOKEN**). NodeBalancers are billed hourly up to a monthly cap. Backend nodes should use private IPs in the same region. Available flags are generated from the Linode API specification and change with CLI updates.
73147

74148
# HISTORY
75149

76-
linode-cli nodebalancers is part of the **Linode CLI** for managing NodeBalancer load balancing services.
150+
linode-cli nodebalancers is part of the **Linode CLI**, a Python tool generated from the Linode API v4 OpenAPI specification. Linode was acquired by **Akamai** in **2022** and the service is now branded Akamai Cloud.
151+
152+
# INSTALL
153+
154+
```brew: brew install linode-cli```
155+
156+
```nix: nix profile install nixpkgs#linode-cli```
157+
158+
<!-- packages: 2026-09-28 -->
77159

78160
# SEE ALSO
79161

80162
[linode-cli](/man/linode-cli)(1), [linode-cli-linodes](/man/linode-cli-linodes)(1)
81163

164+
# RESOURCES
165+
166+
```[Source code](https://github.com/linode/linode-cli)```
167+
168+
```[Documentation](https://techdocs.akamai.com/cloud-computing/docs/nodebalancer)```
169+
170+
<!-- verified: 2026-09-29 -->

0 commit comments

Comments
 (0)