同一WIFI网络下的两台电脑从12.04升级到12.10

des*_*ukh 5 upgrade 12.04 12.10

我家里有两台电脑在同一个WIFI网络上。两者都在 Ubuntu 12.04 上运行,并且都需要很快更新到 12.10。

有一些应用程序安装在一个上但没有安装在另一个上,反之亦然。但是它们共享大量的应用程序。

请指出我如何以这样的方式升级两者:

  • 我下载了计算机 1 上所需的所有软件包
  • 使用外部高清将下载的包移动到另一台计算机(这比通过 WIFI 快得多)
  • 然后升级电脑1
  • 然后升级计算机 2 - 在它下载任何尚不可用的软件包之后。

另外,我是一个新手,如果过程简单且解释正确,我将不胜感激。

fab*_*or4 4

正常升级第一台计算机,然后将其下载的所有 .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)