Linux - zainstaluj tylko redis-cli


182

Mam serwer Linux z zainstalowanym Redisem i chcę się z nim połączyć za pomocą wiersza poleceń z lokalnego komputera z systemem Linux.

Czy można zainstalować redis-clitylko (bez redis-serveri innych narzędzi)?

Jeśli po prostu skopiuję redis-cliplik na moją maszynę lokalną i uruchomię go, pojawia się następujący błąd:

./redis-cli: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by ./redis-cli)

2
Cóż, 1. nie jest zaskakujące, że samo skopiowanie pliku wykonywalnego nie działa: najprawdopodobniej masz różne wersje architektury i bibliotek, które nie mogą działać. 2. powinieneś skonsultować się z systemem zarządzania oprogramowaniem dostarczanym przez twoją dystrybucję i zobaczyć, jakie reditpakiety zawiera. Następnie zainstalowanie jednego z tych shoudli wymaga tylko jednego kliknięcia. Nigdy nie powinieneś robić dzikiej instalacji rzeczy w systemie Linux, jeśli możesz zamiast tego użyć zarządzania oprogramowaniem.
arkascha

@arkascha Dziękuję za twoją wskazówkę. Jestem całkiem nowy w Linuksie, więc ta informacja jest dla mnie bardzo przydatna
Oleg,

Masz na myśli, że jesteś programistą pracującym w środowisku Linux, ale nigdy nie korzystałeś z systemu zarządzania oprogramowaniem? Z jakiej dystrybucji korzystasz?
arkascha

Możesz być także zainteresowany pakietem o nazwie „hiredis”, który oferuje minimalistycznego klienta c dla redis. Nie ma jednak gotowego do użycia klienta CLI.
arkascha

1
A co git clone git@github.com:antirez/redis.gitwtedy cd src && make redis-cli?
deltheil

Odpowiedzi:


350

Ubuntu (testowany 14.04) ma pakiet o nazwie, redis-toolsktóry zawiera redis-climiędzy innymi narzędzia. Aby zainstalować, wpisz:

sudo apt-get install redis-tools

17
coś podobnego do centów?
Ariel Allon,


@AlinPurcaru docker run --rm --network = host redis redis-cli info
yihuang

teraz nie działa http://security.ubuntu.com/ubuntu bionic-updates/universe amd64 redis-tools amd64 5:4.0.9-1ubuntu0.1zwraca 404 Not Found
Andrew Sneck

92

Zamiast tego redis-climożesz po prostu użyć nc!

nc -v --ssl redis.mydomain.com 6380

Następnie prześlij polecenia.


11
Spróbuj nc -v redis.mydomain.com 6379(lub swój niestandardowy port)
James111,

4
To najlepsza odpowiedź, ponieważ nie wymaga żadnych zależności ani narzędzi zewnętrznych.
pirospada

1
czy można tego użyć z hasłem redis?
Matt Bucci

2
Możesz również użyć, rlwrap nc -v redis.mydomain.com 6379jeśli masz, rlwrapktóry pozwala używać skrótów klawiaturowych tak, jak w powłoce (np. Cykl / wyszukiwanie poprzednie polecenie, następne słowo)
Prashanth Chandra

1
Nie mogę znaleźć --sslopcji dla nc. Czy miałeś na myśli ncat?
hashlash

37

Z http://redis.io/topics/quickstart

wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make redis-cli
sudo cp src/redis-cli /usr/local/bin/

W przypadku Dockera zwykle używam https://registry.hub.docker.com/_/redis/ . Jeśli muszę dodać redis-cli do obrazu, używam następującego fragmentu kodu.

RUN cd /tmp &&\
    curl http://download.redis.io/redis-stable.tar.gz | tar xz &&\
    make -C redis-stable &&\
    cp redis-stable/src/redis-cli /usr/local/bin &&\
    rm -rf /tmp/redis-stable

30

Aby zainstalować 3.0, który jest najnowszą stabilną wersją :

$ git clone http://github.com/antirez/redis.git 
$ cd redis && git checkout 3.0 
$ make redis-cli 

Opcjonalnie dla wygody możesz umieścić skompilowany plik wykonywalny w ścieżce ładowania:

$ ln -s src/redis-cli /usr/local/bin/redis-cli

4
git clone http://github.com/antirez/redis.git && cd redis && git checkout 2.8.6 && make redis-cli && cp src/redis-cli /usr/local/bin- to działa dla mnie.
dhamu

próbował to edytować. ale tutaj jest sedno, jak to zrobić teraz ... gist.github.com/Artistan/d9288f8e12c4027096e66bd331d4e4fd
Artistan

15

W przypadku centOS może spróbować wykonać następujące czynności

cd /tmp
wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make
cp src/redis-cli /usr/local/bin/
chmod 755 /usr/local/bin/redis-cli

6
Potencjalnie głupi komentarz, ale nie zapomnij zainstalować gcc sudo yum install gccprzed uruchomieniem make!
Bryan Cote-Chang

Działa też na Linuksie.
barath

15

W moim przypadku muszę wykonać kilka dodatkowych kroków, aby zbudować go na RedHacie lub Centosie .

# get system libraries
sudo yum install -y gcc wget

# get stable version and untar it
wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable

# build dependencies too!
cd deps
make hiredis jemalloc linenoise lua geohash-int
cd ..

# compile it
make

# make it globally accesible
sudo cp src/redis-cli /usr/bin/

7

Aby rozwinąć odpowiedź @ Agis, możesz również zainstalować interfejs CLI Redis, uruchamiając

$ git clone -b v2.8.7 git@github.com:antirez/redis.git
$ make -C redis install redis-cli /usr/bin

Spowoduje to zbudowanie interfejsu wiersza polecenia Redis i wrzucenie pliku binarnego do / usr / bin. Do każdego, kto korzysta Döcker , ja też zbudowali Dockerfile że robi to za ciebie: https://github.com/bacongobbler/dockerfiles/blob/master/redis-cli/Dockerfile


Dziękuję za Twoją odpowiedź. Spróbuję jak najszybciej
Oleg

Dla mnie to polecenie skompilowało cały Redis, nie tylkoredis-cli
Oleg

5

Korzystając z platformy Docker , możesz uruchomić to polecenie, aby uzyskać interfejs wiersza polecenia Redis:

docker run -it redis redis-cli -h redis.mycompany.org -p 6379

gdzie redisjest redisobraz Docker z Docker Hub,
redis-clijest preinstalowany na tym obrazie, a wszystko po nim to parametry redis-cli:
-hto nazwa hosta, z którym chcesz się połączyć,
-pjest najwyraźniej portem do połączenia.


5

Zamiast tego możesz również użyć telnetu

telnet redis-host 6379

A potem wydaj polecenie, na przykład do monitorowania

monitor

0

możesz scp go z twojego komputera redis, jeśli go masz, to tylko pojedynczy plik binarny. Lub skopiuj za pomocą nc, jeśli sieć prywatna (ta metoda jest niebezpieczna):

redisclient: nc -l 8888 > /usr/local/bin/redis-cli
redisserver: cat /usr/local/bin/redis-cli | nc redisclient 8888


0

Istnieje wiele sposobów instalacji radis-cli. Pochodzi z redis-toolsi redis-server. Zainstalowanie któregokolwiek z nich spowoduje redis-clirównież zainstalowanie . Ale zainstaluje także inne narzędzia. Jak redis-servergdzieś zainstalowałeś i jesteś zainteresowany tylko instalacją redis-cli. Aby zainstalować tylko instalację redis-clibez innych niepotrzebnych narzędzi, wykonaj poniższe polecenie

cd /tmp
wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make
cp src/redis-cli /usr/local/bin/
chmod 755 /usr/local/bin/redis-cli

1
Otrzymuję ten błąd przy poleceniu kopiowania, każdy pomysł, jak to naprawić cp src / redis-cli / usr / local / bin / cp: nie można stat 'src / redis-cli': Nie ma takiego pliku lub katalogu
Vipresh
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.