我正在使用 AWS EC2 实例,并尝试从 Ubuntu 实例切换到 Linux (Amazon Linux AMI) 实例,在此过程中,我需要找出apt-get
与yum
要安装的命令和软件包等效的内容。
本质上你会如何将以下内容从 翻译apt-get
为yum
?
旁注假设我已经假设 root user
角色通过 sudo su
,这就是为什么sudo
不与以下命令一起使用的原因。
apt-get
命令:
apt-get update
(假设这相当于yum update -y
apt-get upgrade -y
apt-get dist-upgrade -y
apt-get autoremove -y
apt-get install apache2 php5 php5-cli php5-fpm php5-gd libssh2-php libapache2-mod-php5 php5-mcrypt php5-mysql git unzip zip postfix php5-curl mailutils php5-json -y
a2enmod rewrite headers
php5enmod mcrypt
答案1
不同的发行版对它们的包的命名略有不同,并且没有自动的方法将一个包映射到另一个包。您可能已经引用了 Apache 的最佳示例,它apache2
在 Debian/Ubuntu 系统、httpd
CentOS/RedHat/Fedora 系统、apache
Arch、apache2
openSuse、www-servers/apache
Gentoo 等上。
查找软件包的最佳方法是使用以下命令搜索它们yum search
:
yum search apache
...
httpd.x86_64 : Apache HTTP Server
...
在描述中发现Apache。您将在此处获得大约 200 行包,因此可以将其通过管道传送到less
read 或grep
查找关键字。
如果您知道文件名并且想要查找提供该文件名的包,请运行yum provides
:
yum provides *bin/httpd
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirror.simwood.com
* epel: epel.mirrors.ovh.net
* extras: mirror.simwood.com
* updates: mirror.mhd.uk.as44574.net
httpd-2.4.6-40.el7.centos.x86_64 : Apache HTTP Server
Repo : base
Matched from:
Filename : /usr/sbin/httpd
httpd-2.4.6-40.el7.centos.x86_64 : Apache HTTP Server
Repo : @base
Matched from:
Filename : /usr/sbin/httpd
只需运行yum provides httpd
就会列出所有包含以 httpd 结尾的文件的包,而不仅仅是可执行文件,因此最好通过在其前面加上*bin/
.
Google 还可以帮助您找到常见的软件包。