AWS EC2 实例上可用的 yum repo 仅包含旧版本的库:v 1.0.8。
有人能告诉我如何在 aws ec2 实例上安装较新的版本(例如 1.0.18)吗?
哪个外部 yum 仓库我可以添加安装较新的版本即使它不受支持?
EC2: yum 信息 libmemcached
Using username "ec2-user".
Authenticating with public key "imported-openssh-key"
__| __|_ )
_| ( / Amazon Linux AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-ami/2015.09-release-notes/
No packages needed for security; 1 packages available
Run "sudo yum update" to apply all updates.
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ yum info libmemcached
Loaded plugins: priorities, update-motd, upgrade-helper
Available Packages
Name : libmemcached
Arch : x86_64
Version : 1.0.8
Release : 2.6.amzn1
Size : 246 k
Repo : amzn-main/2015.09
Summary : Client library and command line tools for memcached server
URL : http://libmemcached.org/
License : BSD
Description : libmemcached is a C/C++ client library and tools for the memcached server
: (http://memcached.org/). It has been designed to be light on memory
: usage, and provide full access to server side methods.
:
: It also implements several command line tools:
:
: memcapable Checking a Memcached server capibilities and compatibility
: memcat Copy the value of a key to standard output
: memcp Copy data to a server
: memdump Dumping your server
: memerror Translate an error code to a string
: memexist Check for the existance of a key
: memflush Flush the contents of your servers
: memparse Parse an option string
: memping Test to see if a server is available.
: memrm Remove a key(s) from the server
: memslap Generate testing loads on a memcached cluster
: memstat Dump the stats of your servers to standard output
: memtouch Touches a key
EC2:cat /etc/yum.repos.d/amzn-main.repo
[ec2-user@ip-xxx-xxx-xxx-xxx~]$ cat /etc/yum.repos.d/amzn-main.repo
[amzn-main]
name=amzn-main-Base
mirrorlist=http://repo.$awsregion.$awsdomain/$releasever/main/mirror.list
mirror_expire=300
metadata_expire=300
priority=10
failovermethod=priority
fastestmirror_enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-ga
enabled=1
retries=5
timeout=10
report_instanceid=yes
[amzn-main-debuginfo]
name=amzn-main-debuginfo
mirrorlist=http://repo.$awsregion.$awsdomain/$releasever/main/debuginfo/mirror.list
mirror_expire=300
metadata_expire=300
priority=10
failovermethod=priority
fastestmirror_enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-ga
enabled=0
retries=5
timeout=10
report_instanceid=yes
谢谢!
答案1
您可以尝试 Remi 的 RPM 仓库。http://blog.remirepo.net/pages/Config-en
请注意,它依赖于 EPEL,并且您需要在安装软件包时明确启用它:
yum --enablerepo=remi install XXX
注意:不确定它是否与 Amazon Linux 兼容。如果不兼容,请考虑使用默认为 1.0.16 的 CentOS 7。
答案2
我仍在尝试按照@Jukka 的建议使用外部存储库获取解决方案,但在此之前,我能够使用以下命令对其进行编译:
sudo -i
yum remove libmemcached.x86_64
yum install bzr.x86_64
yum install gcc-c++
mkdir -p /tmp/memcached
cd /tmp/memcached
wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
tar -zxvf libmemcached-1.0.18.tar.gz
cd /tmp/memcached/
bzr branch lp:libmemcached
cd libmemcached
./bootstrap.sh autoreconf
NOTE YOU GET THE FOLLOWING ERROR BUT CONTINUE ANYWAY: "./bootstrap.sh:315: An attempt was made to set an invalid VENDOR="
cd ../libmemcached-1.0.18
./configure
make
make test
make install