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)
Oleg
źródło
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 [email protected]: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
Иван Бишевац
źródło
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.

Balázs Németh
źródło
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
Kevin Watson
źródło
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
Agis
źródło
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
robert
źródło
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/
damoiser
źródło
7

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

$ git clone -b v2.8.7 [email protected]: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

bacongobbler
źródło
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.

Ondra Žižka
źródło
5

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

telnet redis-host 6379

A potem wydaj polecenie, na przykład do monitorowania

monitor
xelber
źródło
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
Zaur
źródło
0

Stworzyłem proste, gotowe rozwiązanie, które jest w trakcie opracowywania.

redis-cli: https://github.com/holys/redis-cli

Zbuduj raz i biegaj wszędzie. W pełni przenośny.

Zapraszamy do wypróbowania.

Holys
źródło
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
Shalauddin Ahamad Shuza
źródło
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