由于 Shell Shock 错误,我需要对我们的一些机器进行更新。
但我不确定中建议的所有软件包是否apt-get upgrade
都适合我的系统。换句话说,我不确定是否存在任何依赖关系。
我们的系统管理员还没来,我们无法联系到他。
所以我的问题是,我怎样才能只apt-get upgrade
进行安全更新,而不必将所有内容更新到 debian stable 中的最新可用版本?
编辑解决方案
apt-get install --only-upgrade bash
为我做了这件事。
在我们的一台服务器上,仍然只安装了 Debian Squeeze。
改变挤到气喘吁吁然后/etc/apt/sources.list
运行:
- apt-get update
-apt-get install --only-upgrade bash
将固定的bash安装到这个旧的squeeze系统中。
答案1
对于 Squeeze,如果可能,请使用squeeze-lts! (仅限 i386 和 amd64...)
将其附加到您的sources.list:
deb http://http.debian.net/debian squeeze-lts main contrib non-free
deb-src http://http.debian.net/debian squeeze-lts main contrib non-free
然后运行
apt-get update
apt-get install -t squeeze-lts --only-upgrade bash
以下是关于 scrap-lts 的更多详细信息: https://wiki.debian.org/LTS/Using
如果你真的想要给 Debian lenny 打补丁看看这个要点(而是考虑更新到更新的发行版!)
答案2
您可以使用:
apt-get install --only-upgrade <package>
如果安装,这将仅升级指定的包。
答案3
Ubuntu 12.04“精确”和 14.04“可信”,Debian 7“Wheezy”
apt-get update; apt-get install bash
Debian 6“挤压”
/etc/apt/sources.list.d/squeezelts.list
deb http://http.debian.net/debian/ squeeze-lts main contrib non-free
deb-src http://http.debian.net/debian/ squeeze-lts main contrib non-free
/etc/apt/apt.conf.d/50squeezelts
APT::Default-Release "squeeze-lts";
然后运行更新:
apt-get update; apt-get install bash
以 Lenny 的身份修补较旧且不受支持的系统
# Retrieve and install dependencies first
apt-get update && apt-get install build-essential gettext bison
# Get bash 3.2 source
wget http://ftp.gnu.org/gnu/bash/bash-3.2.tar.gz
tar zxvf bash-3.2.tar.gz
cd bash-3.2
# Download and apply all patches
# Includes patches for CVE-2014-6271 (52) *AND* CVE-2014-7169 (53) *AND* Florian Weimer patch (54)
for i in $(seq -f "%03g" 1 54); do
wget -nv http://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-$i
patch -p0 < bash32-$i
done
# Compile and install to /usr/local/bin/bash
./configure && make
make install
# Point /bin/bash to the new binary
mv /bin/bash /bin/bash.old
ln -s /usr/local/bin/bash /bin/bash
答案4
将其添加到您的来源列表中:
德布http://ftp.de.debian.org/debian西德主干
apt-get update apt-get install --only-upgrade bash