How to Install and Uninstall gosu Package on Ubuntu 20.10 (Groovy Gorilla)

Last updated: May 18,2024

1. Install "gosu" package

Learn how to install gosu on Ubuntu 20.10 (Groovy Gorilla)

$ sudo apt update $ sudo apt install gosu

2. Uninstall "gosu" package

Please follow the steps below to uninstall gosu on Ubuntu 20.10 (Groovy Gorilla):

$ sudo apt remove gosu $ sudo apt autoclean && sudo apt autoremove

3. Information about the gosu package on Ubuntu 20.10 (Groovy Gorilla)

Package: gosu
Architecture: amd64
Version: 1.12-1
Built-Using: golang-1.14 (= 1.14.4-1ubuntu2), runc (= 1.0.0~rc10-0ubuntu1)
Priority: extra
Section: universe/admin
Origin: Ubuntu
Maintainer: Ubuntu Developers
Original-Maintainer: pkg-go
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 2399
Depends: libc6 (>= 2.4)
Filename: pool/universe/g/gosu/gosu_1.12-1_amd64.deb
Size: 784184
MD5sum: 679e50c2f5e3942f1d2077f3a1d1dbeb
SHA1: 7a2b1fbabda1579b6e502c1093ffd676e2ecf413
SHA256: 12d862809de76fd078471fb2e6effd24c58353c649c6ef3e33fbf295d524a8d3
SHA512: 4a3d7c2e2593084b6ed64845cd89dddd7c07fd674326e7532e5c6447eb23461c81a9b348841db87bcd40f3e6cf6465b0ba4d3def60539b0881905f575526d626
Homepage: https://github.com/tianon/gosu
Description-en: Simple Go-based setuid+setgid+setgroups+exec
This is a simple tool grown out of the simple fact that "su" and "sudo" have
very strange and often annoying TTY and signal-forwarding behavior. They're
also somewhat complex to setup and use (especially in the case of "sudo"),
which allows for a great deal of expressivity, but falls flat if all you need
is "run this specific application as this specific user and get out of the
pipeline".
.
The core of how "gosu" works is stolen directly from how Docker/libcontainer
itself starts an application inside a container (and in fact, is using the
"/etc/passwd" processing code directly from libcontainer's codebase).
.
Once the user/group is processed, we switch to that user, then we "exec" the
specified process and "gosu" itself is no longer resident or involved in the
process lifecycle at all. This avoids all the issues of signal passing and TTY,
and punts them to the process invoking "gosu" and the process being invoked by
"gosu", where they belong.
Description-md5: 72c0b42347139534207936c653f27fc4