-
Notifications
You must be signed in to change notification settings - Fork 298
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[RFC] 统一仓库里包的所有者? #1555
Comments
要不还是还是放 |
手动删包功能有多需要呢? 这样做的话,将需要额外的程序来
|
我本人是不需要派,但我提出这种可能。。。 |
所以谁需要手动删包,出来说说使用场景呀。 就目前我的感受是,大家很少需要手动删包,所以有需求直接找我或者 felixonmars 就好了。之前软件仓库在另外的服务器上维护的时候,大家都是没法直接删包的…… 如果量大了的话,可以像 cleanup-package-files 那样做一个专门删包的程序?使用 rm 文件总感觉怪怪的,也不好回传错误。 |
啥算手动删包? |
登录服务器跑 rm 命令。 |
= = 好吧, 没这个需求.... |
删除需求出现了。。。[狗头] |
官方源編譯機的做法是
覺得如果我們以後計劃提供 archlinuxcn-testing 或者 archlinuxcn arm 啥的,跑腳本的方案可能比較好擴展 |
補充,上述腳本在 https://github.com/archlinux/dbscripts ,然後官方源編譯機有兩套,一套負責 core/extra ,一套負責 community 。每套都有負責對應的 staging/testing 和 x86_64/any 這些分開的 repo 。 |
|
On Sun, Apr 05, 2020 at 10:22:01AM -0700, Monson Shao wrote:
> 包文件权限:pkgman:pkgman 755 / 644
> 维护者将不再能够自行去仓库里删除或者降级包
1. 包文件夹 pkgman:pkgman 775,维护者加 group pkgman,就有权限删包了。
2. 或者在 /etc/sudoers 给特定权限。
不行的,这样所有人都能删所有人的包,有人一手滑包就全没了……
…--
Best regards,
lilydjwg
|
#!/bin/sh
for f in "$@"; do
[[ `stat --printf %u "$f"` == `id -u` ]] && rm "$f"
done 把上面保存成 /usr/local/sbin/rm-own ,权限 root:root 755。然后在 /etc/sudoers 加一条
那么每个人都可以删自己的文件了。 |
On Sun, Apr 05, 2020 at 10:07:54PM -0700, Monson Shao wrote:
[...]
那么每个人都可以删自己的文件了。
你抬头看看这 issue 的标题?
…--
Best regards,
lilydjwg
|
不需要统一所有者呀, 统一 group 就可以了吧,repocleaner 加group给权限。而且只要文件夹有写权限就可以删包。你的目的就是想让 repocleaner 能删包但不要有 root 权限而已吧? |
手动删包的情况很少的,到时候找管理员删一下就好了。 |
我認為任何情況都不應該手動刪包。如果要回退版本應該用epoch(這也是為何我先前在lilac加上禁止回退版本的檢查),如果不小心打了不該打的包(例如不可再分發的包),先把包從git倉庫刪掉,再讓repocleaner刪包。 By the way, 可能需要一個手動trigger repocleaner的機制。 |
On Sun, Apr 05, 2020 at 10:26:11PM -0700, Monson Shao wrote:
不需要统一所有者呀, 统一 group 就可以了吧,repocleaner 加group给权限。而且只要文件夹有写权限就可以删包。你的目的就是想让 repocleaner 能删包但不要有 root 权限而已吧?
目录已经是 4775 了,所以大概除了 root 没人能删别人的包?
…--
Best regards,
lilydjwg
|
On Sun, Apr 05, 2020 at 11:52:06PM -0700, Chih-Hsuan Yen wrote:
我認為任何情況都不應該手動刪包。如果要回退版本應該用epoch(這也是為何我先前在lilac加上[禁止回退版本的檢查](archlinuxcn/lilac#99)),如果不小心打了不該打的包(例如不可再分發的包),先把包從git倉庫刪掉,再讓repocleaner刪包。
有一种情况需要手动删包:需要只删除部分架构的包的时候。
repocleaner 倒是好搞,大概写到 sudo 里去就好了。
…--
Best regards,
lilydjwg
|
像是曾經維護過x86_64 & i686,但是後來拋棄i686的包嗎?似乎這種情況下repocleaner不會把i686的包刪掉...我有好幾個包在i686還留著舊的版本。 |
On Mon, Apr 06, 2020 at 12:38:30AM -0700, Chih-Hsuan Yen wrote:
像是曾經維護過x86_64 & i686,但是後來拋棄i686的包嗎?似乎這種情況下repocleaner不會把i686的包刪掉...我有好幾個包在i686還留著舊的版本。
对,需要自己删。或者找我去删。
不过这种需求应该不多,人力处理也行。
…--
Best regards,
lilydjwg
|
Looking into
Upstream are still active, while those packages are more than 4 years old. @lilydjwg Could you remove those packages? /cc @ykelvis - co-maintainer of screengrab-git. |
@yan12125 all removed. |
STEPS
|
问题类型 / Type of issues
将所有包交给一个专门的用户 pkgman 管理,这样 repocleaner 将不再需要 root 权限。archrepo2 需要对包进行 chown,可以使用 suid 程序来处理,自身也不必使用 root 权限。
archrepo2 不再监视包目录,仅监视 ~/repo 中的新文件(删除操作需要监视包目录)大家想想有没有什么问题 / 没考虑到的地方。
The text was updated successfully, but these errors were encountered: