des*_*ukh 5 upgrade 12.04 12.10
我家里有两台电脑在同一个WIFI网络上。两者都在 Ubuntu 12.04 上运行,并且都需要很快更新到 12.10。
有一些应用程序安装在一个上但没有安装在另一个上,反之亦然。但是它们共享大量的应用程序。
请指出我如何以这样的方式升级两者:
另外,我是一个新手,如果过程简单且解释正确,我将不胜感激。
正常升级第一台计算机,然后将其下载的所有 .deb 文件复制到外部驱动器:
cp -v /var/cache/apt/archives/*.deb /media/pendrive
Run Code Online (Sandbox Code Playgroud)
接下来将所有 .deb 文件复制到第二台计算机上的同一目录中:
sudo cp -v /media/pendrive/*.deb /var/cache/apt/archives/
Run Code Online (Sandbox Code Playgroud)
然后升级第二台计算机。当然,将 /media/pendrive/ 更改为 deb 备份设备的正确路径。
这样,更新将在第二台计算机上进行,但它将能够重新使用已下载的 .deb 文件,而无需再次下载。两台计算机必须是相同版本 - 32 位或 64 位。
您还可以使用此技术正常更新两个系统。如果您愿意,请将其中一项设置为自动更新,将另一项设置为不自动检查更新。定期将更新的 .deb 文件复制到第二台计算机并运行更新。如果您保留这个 .deb 文件库,那么您还可以在安装新机器后使用它,以使第一次更新非常快 - 不要让系统在安装过程中进行更新,而是在安装后手动进行更新。
实际上,我使用脚本来维护 .deb 文件备份、恢复它们,甚至在安装新系统时将它们复制到新系统。使用 cp 和 -n 开关,它不会尝试复制已经存在的项目,并且非常易于使用和维护。这是我用来将 .deb 文件上传到随身碟的。请注意,随身碟应该有一个卷名称,以便它的安装点始终为 /media/yourname - 脚本将接受卷名称作为参数,例如
debupdate yourname
Run Code Online (Sandbox Code Playgroud)
该脚本还可以为不同版本保留单独的备份,而不会混淆 - 它将存档存储在 /media/yourname/archives/kernel 下,其中 kernel 是主要版本级别(忽略 -xx 扩展名)。如果您担心 .deb 文件被删除,您可以在更新期间运行多次,或者可以自动执行此操作。
这是脚本:
#! /bin/bash
#copy the contents of the working archives to the given device
#No files will be overwritten (existing will be skipped)
#
args=("$@")
rel="$(uname -r)"
release="${rel:0:6}"
#
# For releases with single digit third series, truncate the '-'
if [ "${rel:5:1}" == "-" ]; then
release="${rel:0:5}"
fi
##############
#
echo
echo "Kernel release level is "$release
#
#
#
if [ -z ${args[0]} ]; then
echo "You must pass the volume name of target"
else
if [ ! -d "/media/${args[0]}" ]; then
echo "Backup device ${args[0]} not found"
exit 1
else
mkdir -p /media/${args[0]}/archives/$release/
cp -nv /var/cache/apt/archives/*.deb /media/${args[0]}/archives/$release/
fi
fi
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
246 次 |
| 最近记录: |