我希望 中的文件/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 笔记本电脑,并且使用scp
或rsync
偶尔/var/cache/apt/archives
从一台笔记本电脑复制到另一台笔记本电脑。我不使用 apt-cacher 或 squid-deb-proxy 等,因为在任何时候,任何笔记本电脑子集都可能连接到网络;我没有中央服务器。)
答案1
APT 受umask
root 的影响,该设置继承自 的全局设置/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