|
|
不知道为什么,yaourt在我这里升级到0.9.1-1版以后,要安装core/extra里面的软件,总是从aur上下载,然后报下载不到的错误。
在aur上提交了问题,但是没有得到反馈。
万般无奈之下,安装了yaourt-git,发现改进不少,重要的是以前yaourt的源代码下载不到,而用git库则可以访问。
但是yaourt-git有一个最大的问题就是不管怎样,它总是管我要su root的密码,就算我加入了sudo也没有,而不是像以前的yaourt一样需要密码时提示。
看了一下yaourt-git的源代码,发现在/usr/bin/yaourt这个脚本里面,对于sudo用户的判断规则过于复杂,要有NOPASSWD,而默认情况下我们不会给NOPASSWD的,怎么办?
解决办法是编辑/usr/bin/yaourt,把launch_with_su函数里的判断sudo的条件从:- [list]
- [*]if [ $SUDOINSTALLED -eq 1 ] && sudo -l | grep -F "NOPASSWD:" | sed 's/\,/\n/g' | grep "\(\ $command$\|ALL\)" 1>/dev/null; then[/list]
复制代码 改为:
- [list]
- [*]if [ $SUDOINSTALLED -eq 1 ] && sudo -l | grep "\(${command}\ *$\|ALL\)" 1>/dev/null; then[/list]
复制代码 这样,即可正确使用sudo命令了。
新的yaourt-git提供了更加直观的功能,更多的颜色展现方式,比较好用。 |
|