導入方法
cloud9では初期状態でredisが入っているが、バージョンが2.8.4と古い。
以下のように入っているはず。
$ ll /usr/bin/red*
-rwxr-xr-x 1 root root 68272 Jan 14 2014 /usr/bin/redis-benchmark*
-rwxr-xr-x 1 root root 10464 Jan 14 2014 /usr/bin/redis-check-aof*
-rwxr-xr-x 1 root root 22760 Jan 14 2014 /usr/bin/redis-check-dump*
-rwxr-xr-x 1 root root 103008 Jan 14 2014 /usr/bin/redis-cli*
lrwxrwxrwx 1 root root 12 Jan 14 2014 /usr/bin/redis-sentinel -> redis-server*
-rwxr-xr-x 1 root root 635248 Jan 14 2014 /usr/bin/redis-server*
最新版(今日時点では4.0.1)のredisの導入方法は割合と安定していて、
テストを省くと以下のコマンドを叩くだけで良い。
wget http://download.redis.io/redis-stable.tar.gz
tar xzvf redis-stable.tar.gz
rm redis-stable.tar.gz
cd redis-stable/
make
sudo make install
そして、以下のようにして、/usr/bin/以下を最新版に取り替えることもできる。
mv redis.conf ../
cd src
sudo cp -rf redis-server /usr/bin
sudo cp -rf redis-cli /usr/bin
sudo cp -rf redis-check-aof /usr/bin
sudo cp -rf redis-benchmark /usr/bin
sudo cp -rf redis-check-rdb /usr/bin
sudo rm /usr/bin/redis-check-dump
cd ../..
cp redis.conf my.conf
rm -rf redis-stable/
こうなる。
$ ll /usr/bin/red*
-rwxr-xr-x 1 root root 2548702 Sep 17 10:33 /usr/bin/redis-benchmark*
-rwxr-xr-x 1 root root 5938969 Sep 17 10:33 /usr/bin/redis-check-aof*
-rwxr-xr-x 1 root root 5938969 Sep 17 10:33 /usr/bin/redis-check-rdb*
-rwxr-xr-x 1 root root 2729222 Sep 17 10:33 /usr/bin/redis-cli*
lrwxrwxrwx 1 root root 12 Jan 14 2014 /usr/bin/redis-sentinel -> redis-server*
-rwxr-xr-x 1 root root 5938969 Sep 17 10:33 /usr/bin/redis-server*
※上書きでもディスクスペースが消費されるから、上書きすべきかどうかはさておいて
※cloud9上でクラスタリングなどしないだろうからredis-sentinelは放置。
起動。
$ /usr/bin/redis-server my.conf
8374:C 17 Sep 10:50:35.125 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
8374:C 17 Sep 10:50:35.125 # Redis version=4.0.1, bits=64, commit=00000000, modified=0, pid=8374, just started
8374:C 17 Sep 10:50:35.125 # Configuration loaded
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 4.0.1 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 8374
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'
8374:M 17 Sep 10:50:35.127 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
8374:M 17 Sep 10:50:35.127 # Server initialized
8374:M 17 Sep 10:50:35.127 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
8374:M 17 Sep 10:50:35.127 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
8374:M 17 Sep 10:50:35.127 * Ready to accept connections
おまけ /usr/bin以下を見てみる。
cloud9では、初期状態で/usr/bin以下に沢山のツール類が入っている。私の環境ではこうだった。
python3もバージョン3.4なら使えるんだな。
redisでお試ししてみたように、sudoerになれば、これらにツールを上書きすることもできる。
開発環境お試し向けに向いているcloud9らしい。
$ ls /usr/bin
2to3@ dotlockfile* lcf* perl* splitfont*
2to3-2.7* dpkg* ld@ perl5.18.2* sprof*
2to3-3.4* dpkg-architecture* ld.bfd* perlbug* sql*
GET@ dpkg-buildflags* ld.gold* perldoc* sqlite3*
HEAD@ dpkg-buildpackage* ldd* perlivp* squiggle*
Mail@ dpkg-checkbuilddeps* less@ perlthanks* ssh*
POST@ dpkg-deb* lessecho@ perror* ssh-add*
X11@ dpkg-distaddfile* lessfile@ pf2afm* ssh-agent*
[* dpkg-divert* lesskey@ pfbtopfa* ssh-argv0*
a2p* dpkg-genchanges* lesspipe@ pg* ssh-copy-id*
ack-grep* dpkg-gencontrol* lex@ pg_archivecleanup@ ssh-keygen*
aclocal@ dpkg-gensymbols* lexgrog* pg_basebackup@ ssh-keyscan*
aclocal-1.14* dpkg-maintscript-helper* lftp* pg_config* start_embedded@
add-apt-repository* dpkg-mergechangelogs* lftpget* pg_config.libpq-dev* start_webtool@
addpart* dpkg-name* libnetcfg* pg_conftool* stat*
addr2line* dpkg-parsechangelog* libpng-config@ pg_createcluster* stdbuf*
ant@ dpkg-query* libpng12-config* pg_ctlcluster* strace*
appres* dpkg-scanpackages* libtool* pg_dropcluster* strings*
apropos@ dpkg-scansources* libtoolize* pg_dump@ strip*
apt* dpkg-shlibdeps* line* pg_dumpall@ sudo*
apt-add-repository@ dpkg-source* link* pg_isready@ sudoedit@
apt-cache* dpkg-split* linux32@ pg_lsclusters* sudoreplay*
apt-cdrom* dpkg-statoverride* linux64@ pg_receivewal@ sum*
apt-config* dpkg-trigger* listres* pg_receivexlog@ sv*
apt-extracttemplates* dpkg-vendor* lnstat* pg_recvlogical@ svgpp*
apt-file* dropdb@ loadkeys@ pg_renamecluster* svlogd*
apt-ftparchive* droplang@ loadunimap* pg_restore@ svn*
apt-get* dropuser@ locale* pg_upgradecluster* svn-backup-dumps*
apt-key* du* localectl* pg_virtualenv* svn-bench*
apt-mark* dumpkeys@ localedef* pgawk* svn-bisect*
apt-sortpkgs* duplicity* locate@ pgbench@ svn-clean*
ar* dvipdf* locate.findutils* pgrep* svn-fast-backup*
arch* dwp* lockfile-check* php@ svn-hot-backup*
as* easy_install* lockfile-create* php5* svn-populate-node-origins-index*
autoconf* easy_install-2.7* lockfile-remove* pic* svn-rep-sharing-stats*
autoheader* easy_install-3.4* lockfile-touch* pico@ svn_apply_autoprops*
autom4te* easy_install3* logger* piconv* svn_load_dirs*
automake@ ebrowse@ logname* pidstat* svnadmin*
automake-1.14* ebrowse.emacs24* look* pinky* svnauthz*
autoreconf* edit@ lorder* pip* svnauthz-validate*
autoscan* editor@ lsattr* pip2* svndumpfilter*
autoupdate* editres* lsb_release* pip3* svnlook*
awk@ eject* lscpu* pkaction* svnmucc*
base64* elfedit* lsinitramfs* pkcheck* svnraisetreeconflict*
basename* emacs@ lsof* pkexec* svnrdump*
bashbug* emacs24@ lspgpot* pkg-config* svnserve*
bcp* emacs24-x* ltrace* pkgdata* svnshell*
bison* emacsclient@ luit* pkill@ svnsync*
bison.yacc* emacsclient.emacs24* lwp-download* pkttyagent* svnversion*
bjam* enc2xs* lwp-dump* pl2pm* svnwrap*
bsd-from* env* lwp-mirror* pldd* tabs*
bsd-write* envsubst* lwp-request* pmap* tac*
bsh* epmd@ lxterm* po2debconf* tail*
bzr* eps2eps* lynx* pod2html* taskset*
c++@ eqn* lzcat@ pod2latex* tbl*
c++filt* erb@ lzcmp@ pod2latex.bundled* tclsh@
c2ph* erb1.9.1* lzdiff@ pod2man* tclsh8.6*
c89@ erl@ lzegrep@ pod2text* tee*
c89-gcc* erl_call@ lzfgrep@ pod2usage* test*
c99@ erlc@ lzgrep@ podchecker* testrb@
c99-gcc* escript@ lzless@ podebconf-display-po* testrb1.9.1*
c_rehash* etags@ lzma@ podebconf-report-po* tic*
cal@ etags.emacs24* lzmainfo* podselect* tig*
calendar* ex@ lzmore@ policytool@ time*
callgrind_annotate* expand* m17n-db* pphs* timedatectl*
callgrind_control* expiry* m4* pr* timeout*
captoinfo@ expr* mail@ preconv* tload*
catchsegv* factor* mail-lock* prename* tmux*
catman* faillog* mail-touchlock* print@ tnameserv@
cautious-launcher* faked-sysv* mail-unlock* printafm* to_erl@
cc@ faked-tcp* mailq@ printenv* toe*
cd-create-profile* fakeroot@ mailx@ printerbanner* top*
cd-fix-profile* fakeroot-sysv* make* printf* touch@
cd-iccdump* fakeroot-tcp* makeconv* prove* tput*
cg_annotate* fallocate* man* prtstat* tr*
cg_diff* fc-cache* mandb* ps2ascii* tree*
cg_merge* fc-cat* manpath* ps2epsi* troff*
chacl@ fc-list* mapscrn* ps2pdf* truncate*
chage* fc-match* mawk* ps2pdf12* tset*
chardet* fc-pattern* mcookie* ps2pdf13* tsort*
chardet3@ fc-query* md5sum* ps2pdf14* ttf2svg*
chardetect3* fc-scan* md5sum.textutils@ ps2pdfwr* tty*
chattr* fc-validate* mesg* ps2ps* tzselect*
chcon* file* mk_modmap* ps2ps2* ucat@
checksctp* find* mkfifo* ps2txt@ ucf*
chfn* find2perl* mpiCC@ psed* ucfq*
chkdupexe* flex* mpiCC.openmpi@ psfaddtable@ ucfr*
chpst* flex++@ mpic++@ psfgettable@ uconv*
chrt* flock* mpic++.openmpi@ psfstriptable@ ul*
chsh* fmt* mpicc@ psfxtable* unattended-upgrade*
cifsiostat* fold* mpicc.openmpi@ psql@ unattended-upgrades@
ckbcomp* font2c* mpicxx@ pstree* unexpand*
cksum* fop* mpicxx.openmpi@ pstree.x11@ unicode_stop*
clear* fop-ttfreader* mpiexec@ pstruct* uniq*
clear_console* free* mpiexec.openmpi@ ptar* unlink*
clusterdb@ freetype-config* mpif77@ ptardiff* unlzma@
cmake* from@ mpif77.openmpi@ ptargrep* unp*
cmp* funzip* mpif90@ ptx* unpack200@
codepage* g++@ mpif90.openmpi@ pwdx* unshare*
col* g++-4.8* mpirun@ py3clean* unxz@
colcrt* gawk* mpirun.openmpi@ py3compile* unzip*
colormgr* gcc@ mpstat* py3versions@ unzipsfx*
colrm* gcc-4.8* ms_print* pybuild@ update-alternatives*
column* gcc-ar@ msgattrib* pyclean* update-mime-database*
comm* gcc-ar-4.8* msgcat* pycompile* update-mime-database.real*
compile_et* gcc-nm@ msgcmp* pydoc@ updatedb@
compose@ gcc-nm-4.8* msgcomm* pydoc2.7* updatedb.findutils*
composer* gcc-ranlib@ msgconv* pydoc3@ uptime*
config_data* gcc-ranlib-4.8* msgen* pydoc3.4* users*
corelist* gcore* msgexec* pygettext@ uxterm*
couch-config* gcov@ msgfilter* pygettext2.7* vacuumdb@
couchdb* gcov-4.8* msgfmt* pygettext3@ vacuumlo@
couchjs@ gdb* msggrep* pygettext3.4* valgrind*
cpack* gdbtui* msginit* python@ valgrind-di-server*
cpan* gdbus* msgmerge* python2@ valgrind-listener*
cpan2dist* gdbus-codegen* msgunfmt* python2.7* valgrind.bin*
cpanp* gem@ msguniq* python3@ vam*
cpanp-run-perl* gem1.9.1* msql2mysql* python3-config@ vgdb*
cpp@ genbrk* mtrace* python3.4* vi@
cpp-4.8* gencat* mvn@ python3.4-config@ view@
createdb@ gencfu* mvnDebug@ python3.4m* viewres*
createlang@ gencnval* my_print_defaults* python3.4m-config@ vim@
createuser@ gendict* myisam_ftdump* python3m@ vim-addon-manager*
crontab* genrb* myisamchk* python3m-config@ vim-addons*
csplit* geqn@ myisamlog* pyversions@ vim.basic*
ctags@ getconf* myisampack* quickbook* vim.tiny*
ctags-exuberant* getent* mysql* rake1.9.1* vimdiff@
ctags.emacs24* getfacl@ mysql_client_test* ranlib* vimtutor*
ctest* getkeycodes* mysql_config* rapt-file* vmstat*
ctstat@ getopt* mysql_convert_table_format* rasterizer* vo_maketags*
curl* gettext* mysql_find_rows* rcp@ volname*
cut* gettext.sh* mysql_fix_extensions* rdiffdir* w@
cvs* gettextize* mysql_install_db* rdoc@ w.procps*
cvs-switchroot* ghostscript@ mysql_plugin* rdoc1.9.1* wall*
cvsps* gio-querymodules@ mysql_secure_installation* readelf* watch*
dbilogstrip* git* mysql_setpermission* recode-sr-latin* wc*
dbiprof* git-cvsserver* mysql_tzinfo_to_sql* redis-benchmark* wftopfa*
dbiproxy* git-receive-pack@ mysql_upgrade* redis-check-aof* wget*
dbus-monitor* git-shell* mysql_waitpid* redis-check-rdb* whatis*
dbus-send* git-upload-archive@ mysql_zap* redis-cli* whereis*
ddate* git-upload-pack* mysqlaccess* redis-sentinel@ which@
deallocvt* gitk* mysqladmin* redis-server* who*
deb-systemd-helper* glib-compile-resources@ mysqlanalyze@ regexp-assemble* whoami*
deb-systemd-invoke* glib-compile-schemas@ mysqlbinlog* reindexdb@ wish@
debconf* glib-genmarshal* mysqlbug* rename@ wish8.6*
debconf-apt-progress* glib-gettextize* mysqlcheck* rename.ul* withsctp*
debconf-communicate* glib-mkenums* mysqld_multi* renice* write@
debconf-copydb* gobject-query* mysqld_safe* replace* www-browser@
debconf-escape* gold@ mysqldump* reset@ x-terminal-emulator@
debconf-gettextize* gpasswd* mysqldumpslow* resize* x86_64@
debconf-set-selections* gpg* mysqlhotcopy* resizecons* x86_64-linux-gnu-addr2line@
debconf-show* gpg-zip* mysqlimport* resizepart* x86_64-linux-gnu-ar@
debconf-updatepo* gpgsplit* mysqloptimize@ resolve_stack_dump* x86_64-linux-gnu-as@
delpart* gpgv* mysqlrepair@ resolveip* x86_64-linux-gnu-c++filt@
derb* gpic@ mysqlreport* rev* x86_64-linux-gnu-cpp@
dgawk* gprof* mysqlshow* rgrep* x86_64-linux-gnu-cpp-4.8@
dh* grep-changelog@ mysqlslap* rhino* x86_64-linux-gnu-dwp@
dh_apparmor* grep-changelog.emacs24* mysqltest* rhino-debugger* x86_64-linux-gnu-elfedit@
dh_auto_build* gresource* namei* rhino-jsc* x86_64-linux-gnu-g++@
dh_auto_clean* groff* nano@ ri@ x86_64-linux-gnu-g++-4.8@
dh_auto_configure* grog* nawk@ ri1.9.1* x86_64-linux-gnu-gcc@
dh_auto_install* grops* ncal* rlogin@ x86_64-linux-gnu-gcc-4.8@
dh_auto_test* grotty* ncurses5-config* rmid@ x86_64-linux-gnu-gcc-ar@
dh_autotools-dev_restoreconfig* groups* ncursesw5-config* rmiregistry@ x86_64-linux-gnu-gcc-ar-4.8@
dh_autotools-dev_updateconfig* gs* neqn* routef* x86_64-linux-gnu-gcc-nm@
dh_bash-completion* gsbj* newaliases@ routel* x86_64-linux-gnu-gcc-nm-4.8@
dh_bugfiles* gsdj* newgrp* rpcgen* x86_64-linux-gnu-gcc-ranlib@
dh_builddeb* gsdj500* nfsiostat* rsh@ x86_64-linux-gnu-gcc-ranlib-4.8@
dh_clean* gsettings* ngettext* rsync* x86_64-linux-gnu-gcov@
dh_compress* gslj* nice* rtstat@ x86_64-linux-gnu-gcov-4.8@
dh_desktop* gslp* niceload* ruby@ x86_64-linux-gnu-gprof@
dh_fixperms* gsnd* nl* ruby1.9.1* x86_64-linux-gnu-ld@
dh_gconf* gtbl@ nm* run-mailcap* x86_64-linux-gnu-ld.bfd@
dh_gencontrol* gtester* node@ run_erl@ x86_64-linux-gnu-ld.gold@
dh_icons* gtester-report* nohup* runcon* x86_64-linux-gnu-nm@
dh_install* gtk-launch* nproc* runsv* x86_64-linux-gnu-objcopy@
dh_installcatalogs* gtk-update-icon-cache@ nroff* runsvdir* x86_64-linux-gnu-objdump@
dh_installchangelogs* gtk-update-icon-cache-3.0@ nslookup* rview@ x86_64-linux-gnu-python3-config@
dh_installcron* gyp* nstat* rvim@ x86_64-linux-gnu-python3.4-config@
dh_installdeb* h2ph* nsupdate* s2p* x86_64-linux-gnu-python3.4m-config*
dh_installdebconf* h2xs* numfmt* sadf* x86_64-linux-gnu-python3m-config@
dh_installdirs* hd@ objcopy* sar@ x86_64-linux-gnu-ranlib@
dh_installdocs* head* objdump* sar.sysstat* x86_64-linux-gnu-readelf@
dh_installemacsen* heirloom-mailx* od* savelog* x86_64-linux-gnu-size@
dh_installexamples* helpztags* oldfind* saxon-xslt* x86_64-linux-gnu-strings@
dh_installgsettings* heroku@ ompi-clean@ scp* x86_64-linux-gnu-strip@
dh_installifupdown* hexdump* ompi-iof@ screendump* xargs*
dh_installinfo* hg* ompi-probe* script* xauth*
dh_installinit* hg-ssh* ompi-profiler* scriptreplay* xbsh*
dh_installlogcheck* host* ompi-ps@ sctp_darn* xdpyinfo*
dh_installlogrotate* hostid* ompi-server* sctp_status* xdriinfo*
dh_installman* hostnamectl* ompi-top@ sctp_test* xev*
dh_installmanpages* htop* ompi_info* sdiff* xfd*
dh_installmenu* i386@ omshell* see@ xfontsel*
dh_installmime* iconv* opal_wrapper* select-editor* xgettext*
dh_installmodules* icu-config* opalc++@ sem@ xkill*
dh_installpam* icuinfo* opalcc@ sensible-browser* xlsatoms*
dh_installppp* id* openssl* sensible-editor* xlsclients*
dh_installudev* ifnames* orbd@ sensible-pager* xlsfonts*
dh_installwm* igawk* orte-bootproxy* seq* xmessage*
dh_installxfonts* indent* orte-clean* servertool@ xml2-config*
dh_installxmlcatalogs* infocmp* orte-iof* service@ xprop*
dh_link* infotocap@ orte-ps* setarch* xslt-config*
dh_lintian* init-checkconf* orte-top* setfacl@ xsltproc*
dh_listpackages* initctl2dot* orteCC@ setkeycodes* xsubpp*
dh_makeshlibs* innochecksum* orte_wrapper_script* setleds* xterm*
dh_md5sums* innotop* ortec++@ setlogcons* xvinfo*
dh_movefiles* inspect* ortecc@ setmetamode* xwininfo*
dh_pangomodules* install* orted* setsid* xxd*
dh_perl* instmodsh* orterun* setterm* xz*
dh_perl_dbi* ionice* otl2docbook* sftp* xzcat@
dh_prep* iostat* otl2html* sg@ xzcmp@
dh_pypy@ ipcmk* otl2pdb* sha1sum* xzdiff*
dh_python2* ipcrm* pack200@ sha224sum* xzegrep@
dh_python3@ ipcs* pager@ sha256sum* xzfgrep@
dh_scrollkeeper* irb@ pango-querymodules* sha384sum* xzgrep*
dh_shlibdeps* irb1.9.1* pango-view* sha512sum* xzless*
dh_strip* ischroot* paperconf* shasum* xzmore*
dh_suidregister* java@ parallel* showconsolefont* yacc@
dh_testdir* jexec@ partx* showkey* yes*
dh_testroot* join* passwd* shred* zdump*
dh_ucf* jq* paste* shuf* zip*
dh_undocumented* js@ patch* size* zipcloak*
dh_usrlocal* json_pp* pathchk* skill* zipdetails*
dialog* json_xs* pcre-config* slabtop* zipgrep*
diameterc@ junit* pdb@ slogin@ zipinfo*
diff* kbdinfo* pdb2.7@ snice@ zipnote*
diff3* keytool@ pdb3@ snmpc@ zipsplit*
diffindex-download* killall* pdb3.4@ soelim* zsoelim*
diffindex-rred* koi8rxterm* pdbdump* sort*
dig* last* pdf2dsc* sotruss*
dircolors* lastb@ pdf2ps* splain*
dirname* lastlog* peekfd* split*