# Kubo installation package generator for Ubuntu/Debian is now released in Beta!

**URL:** <https://discuss.ipfs.tech/t/kubo-installation-package-generator-for-ubuntu-debian-is-now-released-in-beta/18258>\
**Category:** Ecosystem and Usage\
**Tags:** go-ipfs, debian\
**Created:** [July 12, 2024, 5:40pm UTC](https://discuss.ipfs.tech/t/kubo-installation-package-generator-for-ubuntu-debian-is-now-released-in-beta/18258 "2024-07-12T17:40:25Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![twdragon](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/twdragon/32/4073_2.png) [@twdragon](https://discuss.ipfs.tech/u/twdragon)\
**Post date:** [July 12, 2024, 5:40pm UTC](https://discuss.ipfs.tech/t/kubo-installation-package-generator-for-ubuntu-debian-is-now-released-in-beta/18258/1 "2024-07-12T17:40:25Z")

</div>

The **Debian package generator for Kubo** , compatible with any Go installation, is now released as a Beta version!

* * *

# Overview

The package generator supports in-place cloning for the [Kubo repository](https://github.com/ipfs/kubo). To make a package, the user should:

1. Clone Kubo repository, and check out the proper version
2. Clone the [project repository](https://github.com/twdragon/kubo-debian-pkg) into `debian` subdirectory within the local copy of Kubo repository.
3. Build the package with `debhelper` (the command should be run from the root directory of the Kubo repository).
4. Grab the built packages from the **parent directory** of the cloned Kubo repository.

## Build command

```bash
debuild --prepend-path=</path/to/go-binary> -i -us -uc -b

```

## Features

The generator contains a set of introspective build scripts that allow end-users to:

- Set up the **IPFS repository location** and **configuration backup file location** in a convenient APT-compatible way during the first installation (user interaction windows).
- Grab the **previously exported configuration file** and initialize a new IPFS repository preserving the identity.
- Basic support for **userspace installation** (mostly for laptops and low-end systems operated by a single user).
- **Select and apply the networking profile** during the first installation.
- Install **Bash completion** settings automatically.
- Set up **CPU time accounting** , thanks to `systemd`.
- Set up **memory quotas** for `systemd` unit.
- Select **hardened safety** installation mode (untested).
- Automatically generate, install and update the `systemd` unit files.

* * *

# Links

Please check the project here:

> **[GitHub - twdragon/ipfs-debian-pkg: Debian package handlers for IPFS projects...](https://github.com/twdragon/ipfs-debian-pkg)**
>
> Debian package handlers for IPFS projects https://ipfs.tech

The pilot Debian package of `Kubo v0.27.0` is also built and tested on Ubuntu 22.04 LTS and Go 1.22.1:

> **[Release kubo-v0.27.0 · twdragon/ipfs-debian-pkg](https://github.com/twdragon/ipfs-debian-pkg/releases/tag/kubo-v0.27.0)**
>
> First feasible Ubuntu 22.04 LTS test

* * *

# Roadmap

The project needs improvements. The most urgent milestones of the improvement are listed below:

1. Creation of a changelog conversion script for the Kubo repository.
2. Dependency review.
3. Documentation.
4. Building and testing of cross-compilation pipeline.
5. Tests for userspace installation mode.
6. Integration with the main Kubo repository.

---

<div class="post-metadata">

**Author:** ![bahner](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/bahner/32/8214_2.png) [@bahner](https://discuss.ipfs.tech/u/bahner)\
**Post date:** [July 18, 2024, 12:20pm UTC](https://discuss.ipfs.tech/t/kubo-installation-package-generator-for-ubuntu-debian-is-now-released-in-beta/18258/2 "2024-07-18T12:20:41Z")

</div>

builds and installs nicely. I haven’t looked deeply into it, but will make this my main ipfs daemon going forward, then I’ll see how it works. Good work!

---

<div class="post-metadata">

**Author:** ![twdragon](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/twdragon/32/4073_2.png) [@twdragon](https://discuss.ipfs.tech/u/twdragon)\
**Post date:** [July 18, 2024, 12:55pm UTC](https://discuss.ipfs.tech/t/kubo-installation-package-generator-for-ubuntu-debian-is-now-released-in-beta/18258/3 "2024-07-18T12:55:37Z")

</div>

Thanks for testing, @bahner! Unfortunately, it does not seem possible to make an Ubuntu PPA from this package, as we don’t have Go as an official Debian-compliant package, but we could have a Github pipeline to build the release packages for different architectures.

---

<div class="post-metadata">

**Author:** ![bahner](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/bahner/32/8214_2.png) [@bahner](https://discuss.ipfs.tech/u/bahner)\
**Post date:** [July 18, 2024, 1:20pm UTC](https://discuss.ipfs.tech/t/kubo-installation-package-generator-for-ubuntu-debian-is-now-released-in-beta/18258/4 "2024-07-18T13:20:27Z")

</div>

Haven’t come across this problem, but is available as a snap. Not sure how that would work, BUT:

This is a known issue, right. golang is not that readily available. You could just make it obvious in the description and create a check in one of the scripts, eg. postinst.

pseudo-code: if [[$(which go) == “”]]; then echo "BAWK. No go found in path. Please install and make available in ${PATH}.

You catch my drift. It is very much a quirk, but I would find that acceptable.

---

<div class="post-metadata">

**Author:** ![twdragon](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/twdragon/32/4073_2.png) [@twdragon](https://discuss.ipfs.tech/u/twdragon)\
**Post date:** [July 18, 2024, 1:33pm UTC](https://discuss.ipfs.tech/t/kubo-installation-package-generator-for-ubuntu-debian-is-now-released-in-beta/18258/5 "2024-07-18T13:33:41Z")

</div>

@bahner it is not a build issue, the main point here is the PPA processor on [launchpad.net](http://launchpad.net) does not accept binary packages and custom build pipelines, so we could not create the preinstalled pipeline with ready Go binaries and let Canonical servers build the package to put it in the mainline Ubuntu PPA. So the only thing we could do in this situation, is to provide our own Debian APT repo.

---

<div class="post-metadata">

**Author:** ![twdragon](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/twdragon/32/4073_2.png) [@twdragon](https://discuss.ipfs.tech/u/twdragon)\
**Post date:** [July 18, 2024, 1:38pm UTC](https://discuss.ipfs.tech/t/kubo-installation-package-generator-for-ubuntu-debian-is-now-released-in-beta/18258/6 "2024-07-18T13:38:30Z")

</div>

> [@bahner](#):
>
> pseudo-code: if [[$(which go) == “”]]; then echo "BAWK. No go found in path. Please install and make available in ${PATH}.

It does not seem a good way for me, as it does not allow to prepare a cross-compiling pipeline and to exploit many different Go installations

---

<div class="post-metadata">

**Author:** ![twdragon](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/twdragon/32/4073_2.png) [@twdragon](https://discuss.ipfs.tech/u/twdragon)\
**Post date:** [July 19, 2024, 11:04am UTC](https://discuss.ipfs.tech/t/kubo-installation-package-generator-for-ubuntu-debian-is-now-released-in-beta/18258/7 "2024-07-19T11:04:09Z")

</div>

# `v0.28.0` release is now published!

> **[Release kubo-v0.28.0: First Upgrade Update: v0.27.0 -\> v0.28.0 ·...](https://github.com/twdragon/ipfs-debian-pkg/releases/tag/kubo-v0.28.0)**
>
> \- Updated control and maintainer information
> \- Written changelog generator script compliant with Debian policies
> \- Added example generated changelog for evaluation
> \- Added bash completion scenario ...

* * *

Need an advice from @hector: what do you guys think about returning with Debian package builder in our CI pipelines?

---

<div class="post-metadata">

**Author:** ![twdragon](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/twdragon/32/4073_2.png) [@twdragon](https://discuss.ipfs.tech/u/twdragon)\
**Post date:** [July 25, 2024, 2:48pm UTC](https://discuss.ipfs.tech/t/kubo-installation-package-generator-for-ubuntu-debian-is-now-released-in-beta/18258/8 "2024-07-25T14:48:19Z")

</div>

The Make pipeline is to be integrated in the repository to automatically build and set up Debian package for Ubuntu in PPA. **Contribution needed!**

---

<div class="post-metadata">

**Author:** ![twdragon](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/twdragon/32/4073_2.png) [@twdragon](https://discuss.ipfs.tech/u/twdragon)\
**Post date:** [July 29, 2024, 2:16pm UTC](https://discuss.ipfs.tech/t/kubo-installation-package-generator-for-ubuntu-debian-is-now-released-in-beta/18258/9 "2024-07-29T14:16:55Z")

</div>

I invite everyone to examine the repository:

> **[GitHub - twdragon/kubo-debian-pkg: Debian package handlers for IPFS Kubo...](https://github.com/twdragon/kubo-debian-pkg)**
>
> Debian package handlers for IPFS Kubo https://ipfs.tech

and share the opinions and feedback before creating an Ubuntu PPA and CI pull request.

---

<div class="post-metadata">

**Author:** ![twdragon](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/twdragon/32/4073_2.png) [@twdragon](https://discuss.ipfs.tech/u/twdragon)\
**Post date:** [July 31, 2024, 5:24pm UTC](https://discuss.ipfs.tech/t/kubo-installation-package-generator-for-ubuntu-debian-is-now-released-in-beta/18258/10 "2024-07-31T17:24:28Z")

</div>

I added a successfully built Ubuntu Launchpad package for version `0.27.0`!

> **[Packages in “IPFS” : IPFS : Andrey Vukolov](https://launchpad.net/~twdragon/+archive/ubuntu/ipfs/+packages)**
>
> InterPlanetary File System (IPFS) and related projects:
> 
> \- Git-IPFS Remote Bridge
>   https://github.com/ElettraSciComp/Git-IPFS-Remote-Bridge

@hector @stebalien @Jorropo could you please examine the PPA for the possible toolchain bugs? I will build the packages for the last released versions and will be ready to open them for the community!

---

<div class="post-metadata">

**Author:** ![twdragon](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/twdragon/32/4073_2.png) [@twdragon](https://discuss.ipfs.tech/u/twdragon)\
**Post date:** [August 2, 2024, 9:14am UTC](https://discuss.ipfs.tech/t/kubo-installation-package-generator-for-ubuntu-debian-is-now-released-in-beta/18258/11 "2024-08-02T09:14:19Z")

</div>

The PPA is now ready for installation!

> [@Ubuntu PPA for Kubo is now revived!](https://discuss.ipfs.tech/t/ubuntu-ppa-for-kubo-is-now-revived/18331):
>
> ipfs-kubo Debian package is now available on mainstream Ubuntu PPA! I revived the forgotten experiment with debianizing Kubo in my [Github repository](https://github.com/twdragon/kubo-debian-pkg). Before creation of the pull request for CI sequence for latest versions of Kubo, I suggest anyone to test the ready installation package in the [dedicated Ubuntu PPA](https://launchpad.net/~twdragon/+archive/ubuntu/ipfs). At the moment this post is written, the available Kubo version is 0.28.0, built with Go 1.22.2. The build is compatible with all latest Ubuntu distributions. The Debian build control…
