{"id":21402854,"url":"https://github.com/mfherbst/debian-preansible","last_synced_at":"2026-05-06T22:37:22.510Z","repository":{"id":91317923,"uuid":"50311037","full_name":"mfherbst/debian-preansible","owner":"mfherbst","description":"Automatic or semiautomatic Debian Minimal installation setting up all requirements for ansible","archived":false,"fork":false,"pushed_at":"2018-06-29T07:53:53.000Z","size":35,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-16T16:34:28.712Z","etag":null,"topics":["ansible","automated","debian","installation","preseed","script"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mfherbst.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":"2016-01-24T22:17:15.000Z","updated_at":"2018-06-29T07:53:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"9efd8a53-70f6-49c9-bbb9-e9d905be374b","html_url":"https://github.com/mfherbst/debian-preansible","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mfherbst/debian-preansible","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mfherbst%2Fdebian-preansible","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mfherbst%2Fdebian-preansible/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mfherbst%2Fdebian-preansible/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mfherbst%2Fdebian-preansible/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mfherbst","download_url":"https://codeload.github.com/mfherbst/debian-preansible/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mfherbst%2Fdebian-preansible/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32715426,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-06T19:35:05.142Z","status":"ssl_error","status_checked_at":"2026-05-06T19:35:03.996Z","response_time":117,"last_error":"SSL_read: 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":["ansible","automated","debian","installation","preseed","script"],"created_at":"2024-11-22T15:41:31.352Z","updated_at":"2026-05-06T22:37:22.496Z","avatar_url":"https://github.com/mfherbst.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"This project allows to add preseeded installation support to any Debian ``iso`` file, such that\nthe installation results in a Debian minimal system which can be used with ``ansible``.\nThe idea would then be to continue the installation using ``ansible`` mechanisms like playbooks, roles ....\n\n# Usage\n\n## Downloading\nIn order to use this package, download an ``iso`` from debian, e.g. ``debian-testing-amd64-netinst.iso``. \nYou can use the script ``./download_iso.sh`` for this.\nIt will download the ``iso`` as well as the ``sha512`` checksums and verify your download.\nJust run for example\n```\n./download_iso.sh http://cdimage.debian.org/cdimage/weekly-builds/amd64/iso-cd/debian-testing-amd64-netinst.iso\n```\n\nIf you want to add the non-free firmware blobs to the iso image,\ndownload additionally the appropriate tarball from\n[cdimage.debian.org](http://cdimage.debian.org/cdimage/unofficial/non-free/firmware),\ne.g.\n```\n./download_iso.sh http://cdimage.debian.org/cdimage/unofficial/non-free/firmware/testing/20180402/firmware.tar.gz\n```\nThe script will add the firmware files to the iso automatically alongside the preseeds.\n\n## Adding the preseeds\nThen just add the preseed files using\n```\n./add_preseeds_to_iso.sh debian-testing-amd64-netinst.iso\n```\nThis will ask you for your preferred locale and keyboard configuration.\nIt will also ask you for ssh keys to include in the installation image.\nThose will be installed automatically to ``/root/.ssh/authorized_keys`` in some of the installation modes (see below).\n\n# Available installation modes\nAdding the preseeds using the aforementioned command adds a new menu to the Debian Installer Boot Menu, namely **Preansible Debian automatic install**.\nIt should contain the following preseeded configurations:\n\n## RootOnly\nInstall a machine, ready for ``ansible``, which only has a ``root`` but no other user accounts.\nDuring installation it will ask the following:\n  - Hostname\n  - Password for ``root``\n  - Partitioning of your hard drives\n  - Location where to install grub\n\nAfter the installation ``root`` login is possible on the terminal via the provided password and login via ``ssh`` is possible using the preseeded ssh keys.\n\n## RootOnlyNoAsk\nCompletely automated install yielding a ``root`` account, but no other user accounts.\nIt partitions the full hard drive, i.e. it **erases all data without asking** for confirmation.\n``root`` login is only possible via ``ssh`` and the preseeded ssh keys.\nThe hostname is ``ansible.lan``, which may be overwritten using a properly configured dhcp server \nduring the installation process.\n\n## RootOnlyWeakPass\nSame as *RootOnlyNoAsk*, but the ``root`` account is additionally assigned the\ndefault password `r00tme`,\nso login is possible via `ssh` and the terminal.\nNeedless to say that this is very **insecure**,\nso only run the installation like this inside a local network and change\nthe password immediately after the installation has succeeded.\n\n## SingleUser\nInstall a machine, which has a disabled ``root`` account as well as a user-configured admin account.\nDuring installation we query for:\n  - Hostname\n  - Admin user name\n  - Admin user password\n  - Partitioning of your hard drive\n  - Location where to install grub\n\nNo ssh keys are added to ``root`` in this case and only login to the admin user is possible.\nLogin can be accomplished both via ``ssh`` as well as the terminal.\n\n# Installed packages\nIn all cases the following packages are automatically installed (next to debian minimal):\n  - openssh-server\n  - sudo\n  - python3-apt\n\n# Warning: What has been tested\nThese scripts have only been tested using ``jessie``, ``stretch`` and ``buster``\namd64 netinstall images.\nThey *should* also work for i386 or other images as well, but I have not tested this.\nPlease let me know if things break or work sucessfully there.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmfherbst%2Fdebian-preansible","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmfherbst%2Fdebian-preansible","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmfherbst%2Fdebian-preansible/lists"}