如何让 /var/cache/apt/archives 中的文件始终可供全世界读取?

如何让 /var/cache/apt/archives 中的文件始终可供全世界读取?

我希望 中的文件/var/cache/apt/archives始终对每个人都具有读取权限。也就是说,每当apt将新文件下载到此目录中时,它都应使该文件可供所有人读取。目前情况并非如此,示例条目ls -l /var/cache/apt/archives如下所示:

-rw------- 1 root root 26928 2009-05-03 20:34 /var/cache/apt/archives/sl_3.03-16_amd64.deb

我应该怎么做才能让这些文件始终可供全世界读取?

(另外:我想要这个是因为我在局域网上有几台 Ubuntu 笔记本电脑,并且使用scprsync偶尔/var/cache/apt/archives从一台笔记本电脑复制到另一台笔记本电脑。我不使用 apt-cacher 或 squid-deb-proxy 等,因为在任何时候,任何笔记本电脑子集都可能连接到网络;我没有中央服务器。)

答案1

APT 受umaskroot 的影响,该设置继承自 的全局设置/etc/profile。您可能在其中有一行umask 077。要使文件默认为所有人可读,您必须将其更改为:

umask 022

要更改现有文件的默认权限,请运行:

sudo chmod 644 /var/cache/apt/archives/*

要将档案从一台机器复制到另一台机器,您可以使用netcat。在要分发文件的源机器(ip = 10.0.0.2)上.deb,您需要安装netcat-traditional并运行:

cd /var/cache/apt/archives
tar c * | nc.traditional -l -p 1234

替换*为您要复制的文件。

在目标机器上,运行:

nc 10.0.0.2 1234 | sudo tar xv -C /var/cache/apt/archives

相关内容