skip to Main Content

I have a non-root account on a Debian 9 (Stretch) System and I want to install Git.

Since the account does not have super-user privileges, Git can only be installed locally, as stated here.

Following the accepted answer, I downloaded and extracted the latest Git version in local home directory (~/) and then I enter the extracted Git folder like

$ cd git-2.33.1/

When I run

./configure --prefix=~/git-2.33.1/ && make && make install

I get ./configure: No such file or directory.

Is there anything I can do?

I also checked the README of git and when I run make I get fatal error: openssl/ssl.h: No such file or directory #include <openssl/ssl.h>

2

Answers


  1. This will be not very easy to have something working if dependencies are missing.

    What you can do, download the .deb to get the last git version, you can find it https://debian.pkgs.org/11/debian-main-amd64/git_2.30.2-1_amd64.deb.html

    For example:

    cd /tmp
    wget http://ftp.br.debian.org/debian/pool/main/g/git/git_2.30.2-1_amd64.deb
    

    Then extract it

    mkdir git
    cd git
    ar x ../git_2.30.2-1_amd64.deb
    

    You will get

    total 5.3M
    drwxrwxr-x  2 john doe 4.0K Oct 29 21:31 ./
    drwxrwxrwt 29 root      root       16K Oct 29 21:31 ../
    -rw-r--r--  1 john doe  16K Oct 29 21:31 control.tar.xz
    -rw-r--r--  1 john doe 5.3M Oct 29 21:31 data.tar.xz
    -rw-r--r--  1 john doe    4 Oct 29 21:31 debian-binary
    

    Then extract the data part:

    tar xvf data.tar.xz
    

    and you get the binaries

    ╰┤suze ▶ ls -l usr/bin
    total 4968
    -rwxr-xr-x 1 john doe 3343280 Mar 10  2021 git*
    lrwxrwxrwx 1 john doe       3 Mar 10  2021 git-receive-pack -> git*
    -rwxr-xr-x 1 john doe 1733608 Mar 10  2021 git-shell*
    lrwxrwxrwx 1 john doe       3 Mar 10  2021 git-upload-archive -> git*
    lrwxrwxrwx 1 john doe       3 Mar 10  2021 git-upload-pack -> git*
    
    Login or Signup to reply.
  2. When I run

    ./configure --prefix=~/git-2.33.1/ && make && make install
    

    I get ./configure: No such file or directory.

    You don’t really need the configure script, but if you want it you can just say make configure and run that, if you’re having trouble finding ssl you can ./configure --prefix=$HOME --without-openssl.

    But all that script does is make some easy edits and the Makefile comes preconfigured to install in your home directory and has lots of comments up top explaining how to set yourself up. For instance,

    # Define NO_OPENSSL environment variable if you do not have OpenSSL.
    

    so you can

    tar xf the.downloaded.tar
    cd ./git-2.33.1
    echo NO_OPENSSL = > config.mak
    

    and you’re all set up for

    make install
    

    to build without openssl support and install to $HOME.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search