You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**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.
18
32
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.
20
38
21
39
# CAVEATS
22
40
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.
> 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.
52
120
53
121
# DESCRIPTION
54
122
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.
56
124
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.
58
126
59
127
# EXAMPLE CONFIG
60
128
@@ -63,13 +131,22 @@ The format is: domain type item value. Domain can be username, @groupname, or *
63
131
* soft nofile 4096
64
132
* hard nofile 65535
65
133
@developers soft nproc 2048
134
+
@audio - rtprio 95
66
135
root hard nproc unlimited
67
136
```
68
137
69
138
# CAVEATS
70
139
71
-
Requires pam_limits module. Changes apply at next login. Systemd services may need LimitNOFILEin 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.
> 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).
60
134
61
135
**--help**
62
-
> Display help information.
136
+
> Display help information for an action.
63
137
64
138
# DESCRIPTION
65
139
66
-
**linode-cli nodebalancers** manages Linode NodeBalancers. NodeBalancersdistribute traffic across instances.
140
+
**linode-cli nodebalancers** manages Linode (Akamai Cloud) NodeBalancers, managed load balancers that distribute incoming traffic across backend Linodes.
67
141
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.
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.
73
147
74
148
# HISTORY
75
149
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.
0 commit comments