我在安装时遇到了一种行为.deb我不太明白的包。
我的计算机中有一组“东西”,我使用.deb包裹。我在以用户“ borrajax
”身份登录的本地计算机上工作。还有一个“borrajax
在我安装我的远程计算机上.deb。当我需要部署我的“东西”时,我创建一个.deb打包在我的机器上(使用sudo dpkg --build
),将其复制到远程机器并使用 进行安装sudo dpkg -i myPackage.deb
。当我这样做时,“扩展”(或安装)的文件将归本地用户所有borrajax
,这很好。
现在,我有一个同事也尝试做同样的事情,但他以不同的本地用户名登录(他borrajax
的计算机中没有用户,但是...... foobar
- 我猜他的父母不喜欢他很多-)。他遵循的过程与我对本地用户执行的过程完全相同borrajax
,但与他的本地foobar
用户相同:在他的计算机中创建.deb
,将其复制到远程计算机并使用dpkg -i
.好吧...在这种情况下,已安装的文件将归 拥有root
,这会阻止安装继续(这不是错误,而是一个功能)。
所有这些机器都是 Ubuntu(我的机器是 11.10,远程机器是 12.04,我同事的机器是 Ubuntu),所以我想要的是使用 uuid 1000 的任何用户安装该软件包。我希望名称不会那么相关(可能是只是巧合,borrajax
我的机器和远程机器上都有一个用户)。
所以在这种情况下,用户名似乎非常相关。这是为什么?正如我之前提到的,我的本地用户borrajax
、我的同事foobar
和borrajax
远程计算机中的用户都是 uid=1000。为什么用户的名字(看起来)如此重要?我的本地borrajax
用户可能根本看不到borrajax
远程计算机中的任何内容。如果该包是由 uid 1000 的用户创建的,为什么“有时”(如果我创建了它)它会与远程计算机中具有 uid 1000 的任何用户一起安装,而“有时”它会与 root 一起安装(如果我的同事已创建它)?
我总是可以在 postint 脚本中使用更改已安装文件的所有者chown 1000
,或者使用其他类型的解决方法,但我想首先了解为什么会发生这种情况,以及为什么两台不同计算机中的用户名看起来如此重要?
先感谢您