Articles of apt

从apt-get选项覆盖dpkg admindir(debian / ubuntu linux)

作为操作系统部署的一部分,我需要维护独立于主机操作系统的debian软件包。 覆盖caching和列表的Apt设置,而不是admindir的dpkg设置非常简单。 例如: apt-get -o Dir::Etc::Sourcelist='/path/to/sources.list' \ -o Dir::Cache::Archives='/path/to/cache/apt/archives' \ -o Dir::State::Lists='/path/to/lib/apt/lists' \ -o DPkg::Options::='–admindir=/path/to/lib/dpkg' update 这会正确地从/path/to/sources.list中读取我的源代码,并在/ path / to / lib / apt / lists / *中构build包列表。 但是,在更新命令结束时,我仍然收到以下错误: E: Could not open lock file /var/lib/dpkg/lock – open (13: Permission denied) 尽pipe最后一个选项试图覆盖“/ var / lib / dpkg”的默认dpkg admindir。 我究竟做错了什么? 根据这样的指南 ,我正在做的DPkg :: Options应该工作。

厨师的Opscode apt cookbook – apt-get install返回100,预计为0

我在安装了Ubuntu 12的干净VPS上运行Chef solo(版本11.4.0),并且遇到了一些apt问题。 问题是任何package命令都会引发一个错误: Chef::Exceptions::Exec ———————- apt-get -q -y install update-notifier-common=0.126 returned 100, expected 0 但是,在shell上运行这个命令是完美的。 经过一番调查,我发现人们推荐在任何食谱之前在运行列表中运行Opscode apt Cookbook (版本1.9.0)。 这样,解决了apt-get update cache的一些问题。 所以我先把我的食谱放到我的菜单里,而且我还是有同样的错误: Recipe: apt::default * execute[apt-get-update] action run – execute apt-get update * execute[apt-get update] action nothing (up to date) * execute[apt-get autoremove] action nothing (up to date) * execute[apt-get autoclean] action nothing […]

更新数据库服务器没有互联网连接

我有一个运行Ubuntu 12.04的数据库服务器。 数据库服务器连接到LANnetworking上的负载平衡器(HAProxy),LB连接到Internet。 所以数据库服务器没有直接的互联网连接。 我通过SSH负载均衡器连接到数据库服务器。 在数据库服务器上安装更新是否有很好的方法,尽pipe它没有直接连接到互联网?

一个Apt-Cacher能够提供多个Debian版本吗?

我有多台机器运行Debian 6(Squeeze)和7(Wheezy)。 我在Debian 7盒子上设置了Apt-Cacher服务器,供Debian 7实例使用。 这也可以使用Debian 6实例(与wheezy sources.list相同)? 我将sources.list从Debian 7框复制到Debian 6框中,忘记将w​​heezy引用改回挤压。 然后,我在Debian 6盒子上进行了apt-get update和apt-get升级,当然也得到了所有的Debian 7软件包并升级了。 我现在打破了Debian 6的盒子吗? 我将非常感谢关于软件包库如何与不同版本一起工作的说明 – 它们是完全独立的吗?

apt-get失败,未满足的依赖

我有一台在AWS上运行Ubuntu 12.04的服务器,我不能再在apt-get上安装任何东西,因为我得到这个错误: 以下软件包具有未满足的依赖关系: mysql-server-5.5:取决于:mysql-server-core-5.5(= 5.5.35-0ubuntu0.12.04.1),但要安装5.5.38-0ubuntu0.12.04.1 E:未满足的依赖关系。 尝试“apt-get -f install”(不指定解决scheme)。 我不知道我做了什么导致这个错误,但dpkg -l产生这个: ii mysql-client-5.5 5.5.40-0ubuntu0.12.04.1 MySQL数据库客户端二进制文件 ii mysql-client-core-5.5 5.5.38-0ubuntu0.12.04.1 MySQL数据库核心客户端二进制文件 ii mysql-common 5.5.40-0ubuntu0.12.04.1 MySQL数据库常用文件,例如/etc/mysql/my.cnf iU mysql-server 5.5.35-0ubuntu0.12.04.1 MySQL数据库服务器(取决于最新版本的metapackage) iF mysql-server-5.5 5.5.35-0ubuntu0.12.04.1 MySQL数据库服务器二进制文件和系统数据库设置 ii mysql-server-core-5.5 5.5.40-0ubuntu0.12.04.1 apt-get -f安装失败,具有相同的未满足的依赖关系问题 有没有办法我可以清理这个 – 我希望以这种方式,我不必长时间停下来的数据库,如果有的话…?

寻找Debian软件包的源代码库

我有一个Debian wheezy服务器,在/ etc / apt下configuration了很多源代码 似乎有很多重复的来源,我想简化这一点。 为了避免破坏任何东西,并错过任何包升级,我不想删除任何来源,这是唯一可用的包的来源。 我知道,通过使用,我可以看到有升级可用的软件包的来源 apt-get upgrade –just-print 我如何列出所有已安装软件包的来源?

为什么我得到这个APT警告:按键签名使用弱分类algorithm(SHA1)?

我正在为一些自定义的Raspberry Pi代码托pipe一个私人的Debian仓库。 我最初在Raspbian Jessie(版本8)上构build了软件,生成了一个GPG密钥,我用它来签署存储库,并在所有设备上运行sudo apt-key add … ,以确保它们能够对我的身份进行身份validation库。 这工作得很好,直到最近我添加一些运行Raspbian Stretch(版本9)的新设备。 即使我向他们添加了完全相同的GPG密钥,下面是我运行sudo apt-get update时看到的输出: W: GPG error: http://url.of.private.repo stable Release: The following signatures were invalid: 95F9B44CE35F40B759D59C2A77E4184C595493B1 W: The repository 'http://url.of.private.repo stable Release' is not signed. N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use. N: See apt-secure(8) manpage for […]

sudo apt-get install mysql-server失败

我来自全新安装的Ubuntu服务器9.10,并试图通过使用“sudo apt-get mysql-server”来安装mysql-server 我得到以下错误: dan @ dev:〜$ sudo apt-get install mysql-server 丹的[sudo]密码: 正在读取软件包列表…完成 build立依赖关系树 阅读状态信息…完成 以下额外的软件包将被安装: libdbd-mysql-perl libdbi-perl libhtml-template-perl libnet-daemon-perl libplrpc-perl mysql-client-5.1 的MySQL – 服务器 – 5.1 build议套餐: dbishell libipc-sharedcache-perl tinyca 以下新软件包将被安装: libdbd-mysql-perl libdbi-perl libhtml-template-perl libnet-daemon-perl libplrpc-perl mysql-client-5.1 mysql-server mysql-server-5.1 0升级,8新安装,0删除和0未升级。 需要得到16.5MB的档案。 完成此操作后,将使用39.0MB的额外磁盘空间。 你想继续[Y / N]吗? ÿ 获取:1 http://us.archive.ubuntu.com karmic /主libnet-daemon-perl 0.43-1 [46.9kB] 获取:2 http://us.archive.ubuntu.com […]

新安装的apt软件包列表

有没有一种很好的方式来确定用户/pipe理员安装哪些apt软件包(而不是在操作系统安装时默认安装)? 列表不一定要全面 – 可以同时包含误报和误报,但是应该帮助在重新安装之后将系统重build为当前状态。 理由:我决定我的eeebuntu上网本真的需要重新安装操作系统。 我已经安装的原eeebuntu是一个相当早的版本。 增量更新修复了一些问题,重新引入其他。 新版本总是比旧版本更新更精致。 Dist-upgrade以惊人的方式失败。 另外我积累了很多的东西,我不需要的软件,潜伏在永不消失的临时工中的垃圾,等等。 但是我对现在的大部分软件基础都心满意足,而且我讨厌典型的“我没有这个?多么古怪,需要安装它”的重新安装阶段。 我可以很好地备份用户数据,但是我真的需要列出所有多年来安装的自定义软件来重build它。

有没有一个debian lenny补丁允许apt-get使用sftp?

我想在/etc/apt/sources.list写这样的东西: deb sftp://[email protected]/path other stuff 当我尝试这个, apt-get抱怨apt-get没有sftp方法: # apt-get update E: The method driver /usr/lib/apt/methods/sftp could not be found. 有没有人写了一个补丁来添加apt的sftp方法? 我能在Googlefind的是Ubuntu的这个规范 。 谢谢你的帮助。 编辑 :我忘了提及,我目前使用的ssh方法,它工作正常。 我寻找一个sftp方法的原因是我想要在服务器的chrooted环境中设置存储库,以获得更高的安全性。 我发现很难设置和维护一个可用于ssh的chroot环境(因为你需要chroot环境中的二进制文件和它们的依赖关系,而且你需要维护这些环境以防需要安全更新),而不是chroot环境中的sftp只需使用适当的sshd_config选项)。