介绍
前面教程我做过本地仓库,而且还能支持离线安装Archlinux。
现在,当你的本地仓库包多了,甚至里面有不少的自制包,还有那些过期的包如果管理。别急,在这里我可以用文章为你介绍如何更好的管理本地仓库,甚至局域网仓库!当然,你也可以把你自己做好的仓库分享到互联网上去。让其添加到Archlinux里的AUR推荐源列表上。但是,要注意了,不要把无版权的东西随意添加的互联网上,不然要吃官司的。
安装repoctl和查看使用方法
官方直达连接https://github.com/cassava/repoctl
1 | sudo pacman -S repoctl -i |
使用前的准备
在你使用repoctl之前,你需要创建一个配置文件。这告诉repoctl您的本地存储库在哪里,等等。由于没有人真的喜欢这个步骤,repoctl可以为你写一个默认配置。它还会告诉你它在哪里写配置文件,以便以后可以更改它。
假设你想要你的仓库在~/custompkgs/x86_64/
,并且想要命名它custompkgs
。然后你会运行:
1 | repoctl new config ~/custompkgs/x86_64/custompkgs.db.tar.gz |
但是还差一些东西,你需要编辑这个配置文件以适合使用要求
1 | sudo nano ~/.config/repoctl/config.toml |
灵活使用repoctl工具
如果前面的准备做好了,你可以直接这样做,
1 | sudo nano /etc/pacman.conf |
如果你已经添加做好的包到~/custompkgs/x86_64/
,你可以运行
1 | repoctl update #运行repoctl update之前,一定要确认好是否保留旧包,否则请先跳过这个命令 |
如果你想保留旧版本的包,你可以这样做
1 | sudo nano ~/.config/repoctl/config.toml |
如果你想支持本地分享远程仓库,以支持非本地互联网用户使用,不好意思,我对sshfs这个包不太了解,只能使用其它工具挂载远程仓库,如果你有不错的方法,可以告诉我。
1 | sudo pacman -S sshfs |
如果你想查看有什么需要升级,你可以这样做
1 | repoctl status -a |
如果你想获取所有可以升级的AUR,你可以这样做
1 | repoctl down -u -l #注意,一定要在指定的临时目录使用。比如/tmp/[文件名],可以加快编译速度 |
如果你想makepkg脚本后,把编译好的包自动添加到custompkgs仓库中,你可以这样做
1 | sudo nano /etc/makepkg.conf |
我的repoctl配置文件内容如下
1 | # repoctl configuration |
小提示
有了本地仓库,但是问题来了,我本地仓库里有包,但是我不想下载,想直接安装,怎么办?
如果你想把仓库里的包导入到下载的缓存里面,也就是说,如果pacman搜了一个包,只要本地缓存里面有的,直接安装,不必要下载多余的包!
1 | sudo nano /etc/pacman.conf |
AUR里的包确实比较麻烦!你需要改变,缺点就是必须手动makepkg,它会自动添加到指定仓库里。而我只是做个定时检测/tmp目录是否有包的脚本。
1 | sudo nano /etc/makepkg.conf |