On Fri, Feb 20, 2009 at 03:03:10PM +0200, Тихон Тарнавский wrote: > Приветсвую. > > У меня в системе есть малое количество пакетов, установленных из > testing/unstable/experimental, и хотелось бы иметь возможность в любой момент > эти пакеты увидеть в aptitude. Почитал его доку про поиск; "нутром чую", что > можно это как-то сделать, "а доказать не могу": примеров маловато, а по > описаниям не получилось добиться нужного результата. Пока набросал небольшой > скрипт (см. вложение), но хотелось бы всё-же в интерфейсе aptitude такого > добиться. Сразу оговорюсь: ~i!~Astable выдаёт не те пакеты, которые > установлены не из stable, а те установленные, которых вообще нет в stable. > > -- > С уважением, > Тихон Тарнавский.
> #!/bin/bash > eval $(apt-config shell r APT::Default-Release) > mask=~i; filter=t; unset notavail > while [ $# -gt 0 ]; do > case "$1" in > -m|--manual) mask=~i!~M ;; > -a|--auto) mask=~M ;; > -A|--all) unset filter ;; > -N|--notavail) notavail=t > esac > shift > done > for i in $(aptitude -F %p search "$mask"); do > aa=$(apt-cache policy $i) > a=$(echo "$aa"| grep -A 1 '\*\*\*' | tr -d \*) > v=$(echo $a | awk '{print $1}') > t=$(echo "$a" | tail -1 | awk '{print $3}') > [ -z "$filter" -o "${t%/*}" != "$r" -a -n "$t" ] && > ! { ! echo "$aa" | grep -q " $r/" && [ -n "$notavail" ]; } && > echo $i $v $t > done Бедный awk. man cut ;) Если уж awk использовать, так для всей задачи (как замену циклу). -- Stanislav -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org