Yaourt — grep: /tmp/yaourt-tmp-$USER/sysupgrade: Нет такого файла или каталог

Если вы не встречались с багом yaourt при котором у вас он не хотел обновлять систему ругаясь на то что не может скачать файл и ругаясь что не может найти файл grep: yaourt-tmp-$USER/sysupgrade то дальше можете не читать.

Зная о грядущем выходе yaourt 0.9.2.6 я не описывал решение проблемы в надежде что её исправят, но об этом видимо забыли — баг был по причине неправильной проверки наличия запуска pacman через sudo. Дело в том что в sudoers можно указывать команды как на одной строке через запятую так и каждую команду на разных строках. Первый вариант авторы yaourt не предусмотрели, поэтому можно просто исправить sudoers под нужный формат, но баги всё же лучше исправлять именно в коде программы а не подстраиваясь под нужное программе поведение

Открываем файл /usr/lib/yaourt/abs.sh (естественно под рутом) ищем строку 223
 if [ $SUDOINSTALLED -eq 1 ] && sudo -l | grep "\(pacman\ *$\|ALL\)" 1>/dev/null; then
и добавляем ещё один пайп дабы получилось
if [ $SUDOINSTALLED -eq 1 ] && sudo -l | sed 's/\,/\n/g' | grep "\(pacman\ *$\|ALL\)" 1>/dev/null; then

Надеюсь что авторы yaourt больше не будут допускать таких явных оплошностей

UP Пока запись лежала в загашнике наткнулся на описание бага на archlinux.fr датированную почти за месяц до выпуска версии 0.9.2.6