使用 dpkg 从第三方源模拟 apt-get

使用 dpkg 从第三方源模拟 apt-get

我不是 root 用户。Musudoers文件允许我sudo apt-get installsudo dpkg。所以基本上我可以安装任何 *.deb 文件,但我很少需要这样做,因为我可以用获得大多数东西apt-get install

有时我想安装的软件包不在我的 中列出的源之一上/etc/apt/sources.list。我无法写入/etc/apt也无法安装sudo apt-key add

所以我的问题是:给定一个软件包存储库,非 root 用户是否可以将特定软件包下载为 *.deb 文件,并将所有(缺失的)依赖项下载为 *.deb 文件(并安装它们)?这会弄乱吗?

例子:

如何安装 warsow 和 warsow-data 软件包http://archive.getdeb.net/ubuntu xenial-getdeb games

这只是一个示例包。

答案1

假设您可以启动实时系统,我猜在您的情况下这可能是最好的程序,在其中执行您的任务,然后传输您下载的软件包。

以下是关于使用实时 DVD 的内容(使用记忆棒应该更容易,只要您让它使用可用空间作为持久存储)。

启动您的 live-dvd 并选择“尝试 ubuntu”,完成后连接一个 usb 棒。打开gnome-disk-utility,找到您的 usb 设备并卸载它,同时记下它的设备路径(在这个例子中我们将使用 /dev/sdb1)。

现在打开一个终端Ctr-Alt-t并输入sudo mkdir -p /var/cache/apt/archives/此内容以确保该目录确实存在。

在同一个终端,您现在将 USB 驱动器安装到该点sudo mount /dev/sdb1 /var/cache/apt/archives(确保使用正确的设备)。

因此现在我们将添加包含您想要的软件的存储库:

  • 对于经典的 deb 档案: sudo echo "deb http://archive.getdeb.net/ubuntu xenial-getdeb games" >> /etc/apt/sources.list.d/getdeb-games.list添加 pgp 密钥wget -q -O- http://archive.getdeb.net/getdeb-archive.key | sudo apt-key add -
  • 对于 ppa:sudo apt-add-repository someppa/ppa

现在我们更新我们的软件包列表sudo apt-get update并下载软件包sudo apt-get install -d warsow;-d 选项使 apt-get 仅下载软件包和所有依赖项。

瞧,完成了,所有需要的软件包现在都放在你的 stik 上了。重新启动进入正常系统,连接该 stik,打开终端,将 cd 插入 stik,然后手动sudo dpkg -i *.deb安装所有软件包,然后运行sudo apt-get install -f以清理所有内容。

此过程可能会引入已安装软件包的较新版本,具体取决于您使用的存储库,因此请谨慎下载和安装。使用第三方存储库也总是有可能让您感染流感或病毒,因此请三思而后行。

相关内容