{"id":23050395,"url":"https://github.com/jdlorimer/unix-utils","last_synced_at":"2026-05-03T06:33:30.513Z","repository":{"id":111471965,"uuid":"153415445","full_name":"jdlorimer/unix-utils","owner":"jdlorimer","description":"Tools for working with Unix derivatives","archived":false,"fork":false,"pushed_at":"2020-05-18T14:36:07.000Z","size":13,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-03T03:41:42.999Z","etag":null,"topics":["freebsd","openbsd","tools","unix","utilities"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jdlorimer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-10-17T07:38:00.000Z","updated_at":"2020-05-18T14:36:09.000Z","dependencies_parsed_at":null,"dependency_job_id":"bb4c2061-2b16-4db6-81b6-80ca30ad316a","html_url":"https://github.com/jdlorimer/unix-utils","commit_stats":null,"previous_names":["jdlorimer/unix-utils"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jdlorimer/unix-utils","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdlorimer%2Funix-utils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdlorimer%2Funix-utils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdlorimer%2Funix-utils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdlorimer%2Funix-utils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jdlorimer","download_url":"https://codeload.github.com/jdlorimer/unix-utils/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdlorimer%2Funix-utils/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32560483,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T03:21:47.309Z","status":"ssl_error","status_checked_at":"2026-05-03T03:21:43.884Z","response_time":103,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["freebsd","openbsd","tools","unix","utilities"],"created_at":"2024-12-15T23:32:23.567Z","updated_at":"2026-05-03T06:33:30.479Z","avatar_url":"https://github.com/jdlorimer.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Collection of useful tools for working with Unix derivatives. FreeBSD- and OpenBSD-centric.\n\nSome of these have both Python and Rust implementations. As a general rule, the Python versions will be more complete and the Rust ones more performant. Take your pick.\n\nAll code is released under the ISC license.\n\ncompare-installed\n=================\n\nTested only on FreeBSD, but potentially useful on other BSD platforms. Takes a text file with a list of ports in port origin format (e.g. www/firefox) and compares against installed system packages. Output is those ports not on the list, as well as their dependent ports (if any). Helps in maintaining a list of ports for automated install, as well as identifying leaf packages that are no longer in use.\n\nset-permissions\n===============\n\nEssentially a combined `chmod` and `chown`, but able to selectively set the execute permission bit based on whether the file is executable. I tend to maintain file permission of 600 on home directories, whereas 644 is more common. Allows a recursive `chmod` that maintains executable status. The Python implementation should be reasonably cross-platform; for Rust, `/usr/share/misc/magic` is hardcoded, so good luck.\n\nupdate-bootcode\n===============\n\nOnly applicable to ZFS on FreeBSD, and probably hardware dependent (assumes `ada` disk driver, among other things). On the correct set up, will identify the correct partitions to write updated bootcode, display some information, ask for permission, then write it. Only tested on one system, with `zroot` mirrored across two disks. Has proved useful after a `zpool upgrade`. Edit to meet your personal needs.\n\nexamine-syslog\n==============\n\nSomewhat useful in identifying hang points in the FreeBSD boot process, but could do with a lot of polish. Attempts to flag long delays between timestamps in `/var/log/messages` and average these out to eliminate once-off delays.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjdlorimer%2Funix-utils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjdlorimer%2Funix-utils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjdlorimer%2Funix-utils/lists"}