How To Install gitolite3 on CentOS 8
Introduction
In this tutorial we learn how to install gitolite3
on CentOS 8.
What is gitolite3
Gitolite allows a server to host many git repositories and provide access to many developers, without having to give them real userids on the server. The essential magic in doing this is ssh’s pubkey access and the authorized keys file, and the inspiration was an older program called gitosis. Gitolite can restrict who can read from (clone/fetch) or write to (push) a repository. It can also restrict who can push to what branch or tag, which is very important in a corporate environment. Gitolite can be installed without requiring root permissions, and with no additional software than git itself and perl. It also has several other neat features described below and elsewhere in the doc/ directory.
We can use yum
or dnf
to install gitolite3
on CentOS 8. In this tutorial we discuss both methods but you only need to choose one of method to install gitolite3.
Install gitolite3 on CentOS 8 Using dnf
Update yum database with dnf
using the following command.
sudo dnf makecache --refresh
The output should look something like this:
CentOS Linux 8 - AppStream 43 kB/s | 4.3 kB 00:00
CentOS Linux 8 - BaseOS 65 kB/s | 3.9 kB 00:00
CentOS Linux 8 - ContinuousRelease 43 kB/s | 3.0 kB 00:00
CentOS Linux 8 - Extras 23 kB/s | 1.5 kB 00:00
CentOS Linux 8 - FastTrack 40 kB/s | 3.0 kB 00:00
CentOS Linux 8 - HighAvailability 36 kB/s | 3.9 kB 00:00
CentOS Linux 8 - Plus 24 kB/s | 1.5 kB 00:00
CentOS Linux 8 - PowerTools 50 kB/s | 4.3 kB 00:00
Extra Packages for Enterprise Linux Modular 8 - x86_64 13 kB/s | 9.2 kB 00:00
Extra Packages for Enterprise Linux 8 - x86_64 24 kB/s | 8.5 kB 00:00
Metadata cache created.
After updating yum database, We can install gitolite3
using dnf
by running the following command:
sudo dnf -y install gitolite3
Install gitolite3 on CentOS 8 Using yum
Update yum database with yum
using the following command.
sudo yum makecache --refresh
The output should look something like this:
CentOS Linux 8 - AppStream 43 kB/s | 4.3 kB 00:00
CentOS Linux 8 - BaseOS 65 kB/s | 3.9 kB 00:00
CentOS Linux 8 - ContinuousRelease 43 kB/s | 3.0 kB 00:00
CentOS Linux 8 - Extras 23 kB/s | 1.5 kB 00:00
CentOS Linux 8 - FastTrack 40 kB/s | 3.0 kB 00:00
CentOS Linux 8 - HighAvailability 36 kB/s | 3.9 kB 00:00
CentOS Linux 8 - Plus 24 kB/s | 1.5 kB 00:00
CentOS Linux 8 - PowerTools 50 kB/s | 4.3 kB 00:00
Extra Packages for Enterprise Linux Modular 8 - x86_64 13 kB/s | 9.2 kB 00:00
Extra Packages for Enterprise Linux 8 - x86_64 24 kB/s | 8.5 kB 00:00
Metadata cache created.
After updating yum database, We can install gitolite3
using yum
by running the following command:
sudo yum -y install gitolite3
How To Uninstall gitolite3 on CentOS 8
To uninstall only the gitolite3
package we can use the following command:
sudo dnf remove gitolite3
gitolite3 Package Contents on CentOS 8
/usr/bin/gitolite
/usr/share/doc/gitolite3
/usr/share/doc/gitolite3/CHANGELOG
/usr/share/doc/gitolite3/COPYING
/usr/share/doc/gitolite3/README.markdown
/usr/share/doc/gitolite3/gitolite3-README-fedora
/usr/share/gitolite3
/usr/share/gitolite3/VERSION
/usr/share/gitolite3/VREF
/usr/share/gitolite3/VREF/COUNT
/usr/share/gitolite3/VREF/EMAIL-CHECK
/usr/share/gitolite3/VREF/FILETYPE
/usr/share/gitolite3/VREF/MAX_NEWBIN_SIZE
/usr/share/gitolite3/VREF/MERGE-CHECK
/usr/share/gitolite3/VREF/NAME_NC
/usr/share/gitolite3/VREF/VOTES
/usr/share/gitolite3/VREF/lock
/usr/share/gitolite3/VREF/partial-copy
/usr/share/gitolite3/VREF/refex-expr
/usr/share/gitolite3/commands
/usr/share/gitolite3/commands/1plus1
/usr/share/gitolite3/commands/D
/usr/share/gitolite3/commands/access
/usr/share/gitolite3/commands/compile-1
/usr/share/gitolite3/commands/compile-template-data
/usr/share/gitolite3/commands/config
/usr/share/gitolite3/commands/create
/usr/share/gitolite3/commands/creator
/usr/share/gitolite3/commands/desc
/usr/share/gitolite3/commands/fork
/usr/share/gitolite3/commands/git-annex-shell
/usr/share/gitolite3/commands/git-config
/usr/share/gitolite3/commands/help
/usr/share/gitolite3/commands/htpasswd
/usr/share/gitolite3/commands/info
/usr/share/gitolite3/commands/list-dangling-repos
/usr/share/gitolite3/commands/lock
/usr/share/gitolite3/commands/mirror
/usr/share/gitolite3/commands/motd
/usr/share/gitolite3/commands/newbranch
/usr/share/gitolite3/commands/option
/usr/share/gitolite3/commands/owns
/usr/share/gitolite3/commands/perms
/usr/share/gitolite3/commands/print-default-rc
/usr/share/gitolite3/commands/push
/usr/share/gitolite3/commands/readme
/usr/share/gitolite3/commands/rsync
/usr/share/gitolite3/commands/sshkeys-lint
/usr/share/gitolite3/commands/sskm
/usr/share/gitolite3/commands/sudo
/usr/share/gitolite3/commands/svnserve
/usr/share/gitolite3/commands/symbolic-ref
/usr/share/gitolite3/commands/who-pushed
/usr/share/gitolite3/commands/writable
/usr/share/gitolite3/gitolite
/usr/share/gitolite3/gitolite-shell
/usr/share/gitolite3/lib
/usr/share/gitolite3/lib/Gitolite
/usr/share/gitolite3/lib/Gitolite/Cache.pm
/usr/share/gitolite3/lib/Gitolite/Common.pm
/usr/share/gitolite3/lib/Gitolite/Conf
/usr/share/gitolite3/lib/Gitolite/Conf.pm
/usr/share/gitolite3/lib/Gitolite/Conf/Explode.pm
/usr/share/gitolite3/lib/Gitolite/Conf/Load.pm
/usr/share/gitolite3/lib/Gitolite/Conf/Store.pm
/usr/share/gitolite3/lib/Gitolite/Conf/Sugar.pm
/usr/share/gitolite3/lib/Gitolite/Easy.pm
/usr/share/gitolite3/lib/Gitolite/Hooks
/usr/share/gitolite3/lib/Gitolite/Hooks/PostUpdate.pm
/usr/share/gitolite3/lib/Gitolite/Hooks/Update.pm
/usr/share/gitolite3/lib/Gitolite/Rc.pm
/usr/share/gitolite3/lib/Gitolite/Setup.pm
/usr/share/gitolite3/lib/Gitolite/Test
/usr/share/gitolite3/lib/Gitolite/Test.pm
/usr/share/gitolite3/lib/Gitolite/Test/Tsh.pm
/usr/share/gitolite3/lib/Gitolite/Triggers
/usr/share/gitolite3/lib/Gitolite/Triggers.pm
/usr/share/gitolite3/lib/Gitolite/Triggers/Alias.pm
/usr/share/gitolite3/lib/Gitolite/Triggers/AutoCreate.pm
/usr/share/gitolite3/lib/Gitolite/Triggers/CpuTime.pm
/usr/share/gitolite3/lib/Gitolite/Triggers/Kindergarten.pm
/usr/share/gitolite3/lib/Gitolite/Triggers/Mirroring.pm
/usr/share/gitolite3/lib/Gitolite/Triggers/Motd.pm
/usr/share/gitolite3/lib/Gitolite/Triggers/RefexExpr.pm
/usr/share/gitolite3/lib/Gitolite/Triggers/RepoUmask.pm
/usr/share/gitolite3/lib/Gitolite/Triggers/Shell.pm
/usr/share/gitolite3/lib/Gitolite/Triggers/TProxy.pm
/usr/share/gitolite3/lib/Gitolite/Triggers/Writable.pm
/usr/share/gitolite3/syntactic-sugar
/usr/share/gitolite3/syntactic-sugar/continuation-lines
/usr/share/gitolite3/syntactic-sugar/keysubdirs-as-groups
/usr/share/gitolite3/syntactic-sugar/macros
/usr/share/gitolite3/syntactic-sugar/refex-expr
/usr/share/gitolite3/triggers
/usr/share/gitolite3/triggers/bg
/usr/share/gitolite3/triggers/expand-deny-messages
/usr/share/gitolite3/triggers/partial-copy
/usr/share/gitolite3/triggers/post-compile
/usr/share/gitolite3/triggers/post-compile/create-with-reference
/usr/share/gitolite3/triggers/post-compile/ssh-authkeys
/usr/share/gitolite3/triggers/post-compile/ssh-authkeys-shell-users
/usr/share/gitolite3/triggers/post-compile/ssh-authkeys-split
/usr/share/gitolite3/triggers/post-compile/update-description-file
/usr/share/gitolite3/triggers/post-compile/update-git-configs
/usr/share/gitolite3/triggers/post-compile/update-git-daemon-access-list
/usr/share/gitolite3/triggers/post-compile/update-gitweb-access-list
/usr/share/gitolite3/triggers/post-compile/update-gitweb-daemon-from-options
/usr/share/gitolite3/triggers/renice
/usr/share/gitolite3/triggers/repo-specific-hooks
/usr/share/gitolite3/triggers/set-default-roles
/usr/share/gitolite3/triggers/upstream
/usr/share/perl5/vendor_perl/Gitolite
/usr/share/perl5/vendor_perl/Gitolite/Cache.pm
/usr/share/perl5/vendor_perl/Gitolite/Common.pm
/usr/share/perl5/vendor_perl/Gitolite/Conf
/usr/share/perl5/vendor_perl/Gitolite/Conf.pm
/usr/share/perl5/vendor_perl/Gitolite/Conf/Explode.pm
/usr/share/perl5/vendor_perl/Gitolite/Conf/Load.pm
/usr/share/perl5/vendor_perl/Gitolite/Conf/Store.pm
/usr/share/perl5/vendor_perl/Gitolite/Conf/Sugar.pm
/usr/share/perl5/vendor_perl/Gitolite/Easy.pm
/usr/share/perl5/vendor_perl/Gitolite/Hooks
/usr/share/perl5/vendor_perl/Gitolite/Hooks/PostUpdate.pm
/usr/share/perl5/vendor_perl/Gitolite/Hooks/Update.pm
/usr/share/perl5/vendor_perl/Gitolite/Rc.pm
/usr/share/perl5/vendor_perl/Gitolite/Setup.pm
/usr/share/perl5/vendor_perl/Gitolite/Test
/usr/share/perl5/vendor_perl/Gitolite/Test.pm
/usr/share/perl5/vendor_perl/Gitolite/Test/Tsh.pm
/usr/share/perl5/vendor_perl/Gitolite/Triggers
/usr/share/perl5/vendor_perl/Gitolite/Triggers.pm
/usr/share/perl5/vendor_perl/Gitolite/Triggers/Alias.pm
/usr/share/perl5/vendor_perl/Gitolite/Triggers/AutoCreate.pm
/usr/share/perl5/vendor_perl/Gitolite/Triggers/CpuTime.pm
/usr/share/perl5/vendor_perl/Gitolite/Triggers/Kindergarten.pm
/usr/share/perl5/vendor_perl/Gitolite/Triggers/Mirroring.pm
/usr/share/perl5/vendor_perl/Gitolite/Triggers/Motd.pm
/usr/share/perl5/vendor_perl/Gitolite/Triggers/RefexExpr.pm
/usr/share/perl5/vendor_perl/Gitolite/Triggers/RepoUmask.pm
/usr/share/perl5/vendor_perl/Gitolite/Triggers/Shell.pm
/usr/share/perl5/vendor_perl/Gitolite/Triggers/TProxy.pm
/usr/share/perl5/vendor_perl/Gitolite/Triggers/Writable.pm
/var/lib/gitolite3
/var/lib/gitolite3/.ssh
/var/lib/gitolite3/.ssh/authorized_keys
References
Summary
In this tutorial we learn how to install gitolite3
on CentOS 8 using yum and dnf.