# Easier Gentoo system maintenance
[![QA](https://github.com/Tatsh/upkeep/actions/workflows/qa.yml/badge.svg)](https://github.com/Tatsh/upkeep/actions/workflows/qa.yml)
[![Tests](https://github.com/Tatsh/upkeep/actions/workflows/tests.yml/badge.svg)](https://github.com/Tatsh/upkeep/actions/workflows/tests.yml)
[![Coverage Status](https://coveralls.io/repos/github/Tatsh/upkeep/badge.svg?branch=master)](https://coveralls.io/github/Tatsh/upkeep?branch=master)
[![Documentation Status](https://readthedocs.org/projects/upkeep/badge/?version=latest)](https://upkeep.readthedocs.io/en/latest/?badge=latest)
![PyPI - Version](https://img.shields.io/pypi/v/upkeep)
![GitHub tag (with filter)](https://img.shields.io/github/v/tag/Tatsh/upkeep)
![GitHub](https://img.shields.io/github/license/Tatsh/upkeep)
![GitHub commits since latest release (by SemVer including pre-releases)](https://img.shields.io/github/commits-since/Tatsh/upkeep/v0.0.1/master)
This is a set of commands to simplify maintaining a Gentoo system.
[Documentation](https://upkeep.rtfd.io/)
## esync
This command needs `eix` installed to fully function. It runs `eix-sync`. This
is intended for use as a cron job. I use it daily.
This command can run `layman -S` for you if you pass `-l` or `--run-layman`.
## emerges
This command will do the following:
- Update Portage
- Update `@world` with options `--with-bdeps=y`, `--update`, `--deep`,
`--newuse`
- Update live installations of packages (`@live-rebuild`)
- Run `emerge @preserved-rebuild`
- Run `systemctl daemon-reexec` (if applicable)
- Update the kernel
There are flags to disable most parts of this functionality, such as
`--no-upgrade-kernel`. Pass `--help` to see all the options.
## Automatic kernel update process
Older versions of this tool supported various ways to update the kernel to boot from. However this
is better left to the configuration and hooks of `kernelinstall` which is invoked by `make install`.
The automatic kernel update will only work if there are 2 kernels displayed
with the command `eselect --brief kernel list`. The first one in the list must
be the active kernel. The second one is the one to upgrade to. After switching
to the new kernel, a `.config` must exist in `/usr/src/linux` or the command
will not run `make`. If the configuration exists at `/proc/config.gz` it will
be used.
If `emerges` fails to build the kernel because of the state of
`eselect kernel list`, you can fix it and re-run the update by running
`upgrade-kernel`.
The old kernel data in `/boot` will be stored in `/root/.upkeep/old-kernels`.
If you want to only rebuild the kernel, run `rebuild-kernel`.
## ecleans
This command will run the following commands (or equivalents):
- `emerge --depclean`
- `emerge @preserved-rebuild`
- `revdep-rebuild`
- `eclean-dist --deep`
- `rm -fR /var/tmp/portage/*`
Raw data
{
"_id": null,
"home_page": "https://github.com/Tatsh/upkeep",
"name": "upkeep",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.11,<4",
"maintainer_email": "",
"keywords": "administration,command line,gentoo",
"author": "Andrew Udvare",
"author_email": "audvare@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/5c/90/3c4875ad94a50f04479f6d72eef74eaa84ba0d97d2ac674f9a8eac6975af/upkeep-1.5.0.tar.gz",
"platform": null,
"description": "# Easier Gentoo system maintenance\n\n[![QA](https://github.com/Tatsh/upkeep/actions/workflows/qa.yml/badge.svg)](https://github.com/Tatsh/upkeep/actions/workflows/qa.yml)\n[![Tests](https://github.com/Tatsh/upkeep/actions/workflows/tests.yml/badge.svg)](https://github.com/Tatsh/upkeep/actions/workflows/tests.yml)\n[![Coverage Status](https://coveralls.io/repos/github/Tatsh/upkeep/badge.svg?branch=master)](https://coveralls.io/github/Tatsh/upkeep?branch=master)\n[![Documentation Status](https://readthedocs.org/projects/upkeep/badge/?version=latest)](https://upkeep.readthedocs.io/en/latest/?badge=latest)\n![PyPI - Version](https://img.shields.io/pypi/v/upkeep)\n![GitHub tag (with filter)](https://img.shields.io/github/v/tag/Tatsh/upkeep)\n![GitHub](https://img.shields.io/github/license/Tatsh/upkeep)\n![GitHub commits since latest release (by SemVer including pre-releases)](https://img.shields.io/github/commits-since/Tatsh/upkeep/v0.0.1/master)\n\nThis is a set of commands to simplify maintaining a Gentoo system.\n\n[Documentation](https://upkeep.rtfd.io/)\n\n## esync\n\nThis command needs `eix` installed to fully function. It runs `eix-sync`. This\nis intended for use as a cron job. I use it daily.\n\nThis command can run `layman -S` for you if you pass `-l` or `--run-layman`.\n\n## emerges\n\nThis command will do the following:\n\n- Update Portage\n- Update `@world` with options `--with-bdeps=y`, `--update`, `--deep`,\n `--newuse`\n- Update live installations of packages (`@live-rebuild`)\n- Run `emerge @preserved-rebuild`\n- Run `systemctl daemon-reexec` (if applicable)\n- Update the kernel\n\nThere are flags to disable most parts of this functionality, such as\n`--no-upgrade-kernel`. Pass `--help` to see all the options.\n\n## Automatic kernel update process\n\nOlder versions of this tool supported various ways to update the kernel to boot from. However this\nis better left to the configuration and hooks of `kernelinstall` which is invoked by `make install`.\n\nThe automatic kernel update will only work if there are 2 kernels displayed\nwith the command `eselect --brief kernel list`. The first one in the list must\nbe the active kernel. The second one is the one to upgrade to. After switching\nto the new kernel, a `.config` must exist in `/usr/src/linux` or the command\nwill not run `make`. If the configuration exists at `/proc/config.gz` it will\nbe used.\n\nIf `emerges` fails to build the kernel because of the state of\n`eselect kernel list`, you can fix it and re-run the update by running\n`upgrade-kernel`.\n\nThe old kernel data in `/boot` will be stored in `/root/.upkeep/old-kernels`.\n\nIf you want to only rebuild the kernel, run `rebuild-kernel`.\n\n## ecleans\n\nThis command will run the following commands (or equivalents):\n\n- `emerge --depclean`\n- `emerge @preserved-rebuild`\n- `revdep-rebuild`\n- `eclean-dist --deep`\n- `rm -fR /var/tmp/portage/*`\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Portage update helper commands.",
"version": "1.5.0",
"project_urls": {
"Documentation": "https://upkeep.readthedocs.io/",
"Homepage": "https://github.com/Tatsh/upkeep",
"Repository": "https://github.com/Tatsh/upkeep"
},
"split_keywords": [
"administration",
"command line",
"gentoo"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "49c500d301fffa5f93a869988657c71771b1e32b95126bb36cb4308b27794953",
"md5": "1b473668bf5304e1e53afe40725d7441",
"sha256": "cacb7092a43a8b064e07a7329af55d58f1bd43e470d1ff1e48fd963187bc5ea1"
},
"downloads": -1,
"filename": "upkeep-1.5.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1b473668bf5304e1e53afe40725d7441",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11,<4",
"size": 11652,
"upload_time": "2024-02-04T08:34:01",
"upload_time_iso_8601": "2024-02-04T08:34:01.392341Z",
"url": "https://files.pythonhosted.org/packages/49/c5/00d301fffa5f93a869988657c71771b1e32b95126bb36cb4308b27794953/upkeep-1.5.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5c903c4875ad94a50f04479f6d72eef74eaa84ba0d97d2ac674f9a8eac6975af",
"md5": "8c26158b9741af37587a1fe6c5094d10",
"sha256": "41f73f704d8bf1e705ed5d2a9f7b577bd1fbace7dc6ad25b76a9d86d6ef6fb15"
},
"downloads": -1,
"filename": "upkeep-1.5.0.tar.gz",
"has_sig": false,
"md5_digest": "8c26158b9741af37587a1fe6c5094d10",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11,<4",
"size": 12291,
"upload_time": "2024-02-04T08:34:03",
"upload_time_iso_8601": "2024-02-04T08:34:03.293015Z",
"url": "https://files.pythonhosted.org/packages/5c/90/3c4875ad94a50f04479f6d72eef74eaa84ba0d97d2ac674f9a8eac6975af/upkeep-1.5.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-04 08:34:03",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Tatsh",
"github_project": "upkeep",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "upkeep"
}