{"id":19999890,"url":"https://github.com/eliphatfs/apt-local-install","last_synced_at":"2025-06-12T22:02:53.844Z","repository":{"id":176870555,"uuid":"611797119","full_name":"eliphatfs/apt-local-install","owner":"eliphatfs","description":"Tool for installing apt packages without root permission in user local space (aptli).","archived":false,"fork":false,"pushed_at":"2023-06-28T10:41:24.000Z","size":18,"stargazers_count":31,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-04T14:47:17.306Z","etag":null,"topics":["apt-get","dpkg-deb","linux","linux-shell","package-management","package-manager","utility"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eliphatfs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2023-03-09T15:08:41.000Z","updated_at":"2024-11-14T05:22:16.000Z","dependencies_parsed_at":null,"dependency_job_id":"de74bf01-b5e3-444c-8706-c70dd7c4b216","html_url":"https://github.com/eliphatfs/apt-local-install","commit_stats":null,"previous_names":["eliphatfs/apt-local-install"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/eliphatfs/apt-local-install","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eliphatfs%2Fapt-local-install","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eliphatfs%2Fapt-local-install/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eliphatfs%2Fapt-local-install/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eliphatfs%2Fapt-local-install/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eliphatfs","download_url":"https://codeload.github.com/eliphatfs/apt-local-install/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eliphatfs%2Fapt-local-install/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259539025,"owners_count":22873332,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["apt-get","dpkg-deb","linux","linux-shell","package-management","package-manager","utility"],"created_at":"2024-11-13T05:13:14.749Z","updated_at":"2025-06-12T22:02:53.836Z","avatar_url":"https://github.com/eliphatfs.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# apt-local-install (aptli)\nTool for installing `apt` packages without root permission in local space.\n\n## Getting Started\nTo use `aptli`, there are a few requirements (but should be satisfied in almost all use cases of the program):\n1. The script is written in Python. You will need a `python3` available in the system.\n2. `aptli` depends on `apt-get`, `ldconfig` and `dpkg`. These should come with all linux systems with `apt`.\n3. `aptli` does not fetch `apt` registries by now, and the system need to have an up-to-date `apt` registry.\n   An `apt update` needs to be done by the system admin beforehand.\n   This should always be okay on a system under maintenance.\n\nThen, clone the repository or copy the contents of `aptli` to some local file. If you have `wget` on your system you can do that by:\n```bash\nwget https://raw.githubusercontent.com/eliphatfs/apt-local-install/main/aptli\nchmod 755 ./aptli\n```\n\nExecute it to configure `aptli`:\n```bash\n./aptli\n```\n\n`aptli` will configure itself. You probably need to do either of these before\nthe configurations come into effect:\n\n1. Re-login (or re-enter the `bash` shell at least) into the system.\n2. `source ~/.bashrc` in the running shell.\n\nNow, you can install packages without root permission by:\n```bash\naptli \u003cpackage-name\u003e [\u003cpackage-name\u003e ...]\n```\n\nThe package will be installed under `~/.local/`.\nYou may also specify a `.deb` file at the `\u003cpackage-name\u003e` to install the package file.\n\nTo update the configured `aptli` with a new `aptli` downloaded from this repository, you can call\n```bash\n./aptli --upgrade-aptli\n```\n\nTo remove a package installed with `aptli`, call\n```bash\naptli --remove \u003cpackage-name\u003e\n```\n\n## Why `aptli`\nI have met it a lot of times when I need to install a package on a system where I am not a sudo-er.\nMoreover, the package is not for general use so it is better to install user-wise instead of system-wise.\nWe may build from the source or extract `.deb` files manually.\nBut this is a nasty and time-consuming process if some of the dependencies and the dependencies of the dependencies\nare not available on the system either.\nAs a result, I made `aptli`, to install packages locally without sudo permission.\n\n## How `aptli` works\n`aptli` configures `.bashrc` so the executables in relevant folders in `.local` could be found by the system command line and\nthe shared libraries could be loaded by the system linker (`ld`).\nIt reads and parses `.deb` files, automatically finds and handles the dependencies, and downloads required packages with `apt-get download`.\n\n## Future\n+ More CI test cases for the tool.\n+ Setup for include files/`-dev` packages.\n+ Virtual packages.\n+ Try to support triggers and custom install configuration scripts.\n+ Version resolution and conflict resolution.\n+ Different verbose levels.\n+ Parsing repository index.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feliphatfs%2Fapt-local-install","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feliphatfs%2Fapt-local-install","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feliphatfs%2Fapt-local-install/lists"}