Skip to content

oxyzenQ/zenlixem

Repository files navigation

zenlixem

Ask DeepWiki

zenlixem is a small, Linux-focused CLI suite for system introspection.

Tools (v1.0.0)

  • zenlixem — suite wrapper (includes zenlixem doctor)
  • whoholds — who holds this file / device / port
  • lasttouch — who last modified this file
  • envpath — why this command resolves to this path
  • whyopen — why this path / port is open (narrative reasons)

Project status (maintenance-grade)

  • Scope boundary: FINAL.md
  • Post-F checklist: docs/post-f-checklist.md
  • Performance notes: docs/perf.md

Supported platforms

Linux only.

Usage

zenlixem

zenlixem doctor
zenlixem doctor --json
zenlixem completions bash > zenlixem.bash

Exit codes:

  • 0 = OK
  • 1 = warnings
  • 2 = failures

whoholds

whoholds <TARGET>

TARGET can be:

  • a filesystem path (file, directory, or device node)
  • a numeric TCP/UDP port (example: 8080)
whoholds /dev/nvme0n1
whoholds /mnt/data
whoholds 8080

lasttouch

lasttouch <PATH>
lasttouch /etc/sysctl.conf

envpath

envpath <COMMAND>

COMMAND must be a bare command name (no / characters).

envpath gcc

whyopen

whyopen /var/log/syslog
whyopen 8080

Build from source

Requirements

  • Rust toolchain (via rustup)
  • Linux x86_64 (amd64) or Linux aarch64 (arm64)

Build using build.sh (recommended)

chmod +x ./build.sh

./build.sh check-all
./build.sh release

Shell completions (optional)

./build.sh install-comp

Manpages (optional)

sudo ./build.sh install-man

Or install both:

sudo ./build.sh install

Optimized Linux targets

Linux amd64 (universal):

./build.sh pro-linux-amd64

Outputs:

  • target/x86_64-unknown-linux-gnu/release/zenlixem
  • target/x86_64-unknown-linux-gnu/release/whoholds
  • target/x86_64-unknown-linux-gnu/release/lasttouch
  • target/x86_64-unknown-linux-gnu/release/envpath
  • target/x86_64-unknown-linux-gnu/release/whyopen

Linux arm64 (universal):

./build.sh pro-linux-arm64

Outputs:

  • target/aarch64-unknown-linux-gnu/release/zenlixem
  • target/aarch64-unknown-linux-gnu/release/whoholds
  • target/aarch64-unknown-linux-gnu/release/lasttouch
  • target/aarch64-unknown-linux-gnu/release/envpath
  • target/aarch64-unknown-linux-gnu/release/whyopen

Note: building for aarch64-unknown-linux-gnu typically requires building on an arm64 machine, or configuring an aarch64 cross-toolchain + linker.

Build using Cargo (no script)

cargo build --release -p zenlixem
cargo build --release -p whoholds
cargo build --release -p lasttouch
cargo build --release -p envpath
cargo build --release -p whyopen

Static binaries (optional)

cross build --release --target x86_64-unknown-linux-musl -p zenlixem -p whoholds -p lasttouch -p envpath -p whyopen

Run from source tree

cargo run -p zenlixem -- doctor
cargo run -p whoholds -- /mnt/data
cargo run -p lasttouch -- /etc/sysctl.conf
cargo run -p envpath -- gcc
cargo run -p whyopen -- /mnt/data

Examples

whoholds /dev/nvme0n1
whoholds 8080
whoholds /mnt/data

lasttouch /etc/sysctl.conf

envpath gcc

whyopen /mnt/data
whyopen 8080

Notes

  • Some information sources may require elevated permissions. When a process cannot be inspected due to permissions, the tools will emit warnings.

About

zenlixem is a small, Linux-focused CLI suite for system introspection.

Resources

License

Stars

Watchers

Forks