我的理解是 yum 和 rpm 系统仅在 Red Hat、Fedora 和 CentOS 等发行版上有用。我认为 Ubuntu 作为基于 Debian 的系统,对 yum 没有用处。
所以我很惊讶地在官方 Ubuntu 存储库(的宇宙部分)中找到了 yum。
yum 什么时候对 Ubuntu 用户有用?
我见过yum
用作 Cento OS Red Hat Linux 平台的命令。但是,我也尝试sudo
过,并且有效。
所以,我想知道yum
实际上是什么。
我在 AWS EC2 实例上使用 Ubuntu 12.04.3。这是我第一次使用 EC2,所以这对我来说是全新的。我也不是最有经验的 Linux 人,所以如果这是一个愚蠢的问题,我深表歉意。
我想在我遵循本教程的EC2 实例上安装 LAMP 堆栈。但是,第一步是安装 Yum。我确保在我的安全组中启用了 SSH、HTTP 和 HTTPS。
首先我输入
sudo yum update -y
Run Code Online (Sandbox Code Playgroud)
它不喜欢那样并回复“sudo:yum:找不到命令”
然后我就做了
yum update -y
Run Code Online (Sandbox Code Playgroud)
它回应了“
The program 'yum' is currently not installed. You can install it by typing: apt-get install yum".
Run Code Online (Sandbox Code Playgroud)
所以在输入它来安装 yum 后,我收到以下消息
Err http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ precise-updates/main libnss3 amd64 3.14.3-0ubuntu0.12.04.1
403 Forbidden
Err http://security.ubuntu.com/ubuntu/ precise-security/main libnss3 amd64 3.14.3-0ubuntu0.12.04.1
404 Not Found [IP: 91.189.92.202 80]
Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/n/nss/libnss3_3.14.3-0ubuntu0.12.04.1_amd64.deb 404 Not Found [IP: 91.189.92.202 80]
E: …
Run Code Online (Sandbox Code Playgroud) 我尝试使用以下命令安装 yum
sudo apt-get install yum*
Run Code Online (Sandbox Code Playgroud)
它占用了大约 500 多 mb 的包和超过 1 gb 的磁盘空间。这个命令有什么作用?如果错误如何恢复这些更改?
因此,对于作为工作一部分的项目,我需要获取 Linux 更新的大小。
我使用了命令:
aptitude search -SF '%p' --disable-columns '~U'
Run Code Online (Sandbox Code Playgroud)
因此,我得到了需要更新的数据包的名称,但我只需要脚本的大小。我可以在 Ubuntu、Debian 上使用apt
或,在 Centos、RedHat 上aptitude
也可以使用 或yum
。
我在man
命令中做了一些搜索,但找不到我想要的。如果有人可以帮助我吗?我以为这会很简单,但也许我错过了一些东西。
为什么需要重启服务器? 为什么只有某些更新才需要重新启动? 什么时候需要重启 Ubuntu 系统?
看完这些问题,我很好奇另一个问题:我的centos服务器从来没有要求我重启系统,即使有linux-kernel升级。它可以完美运行很长时间而无需重新启动。
为什么?是否可以在不重启的情况下安全地长时间运行 ubuntu-server?