[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Список пакетов, установленных из конкретного репозитория.



On Mon, May 14, 2012 at 11:05:05PM +0400, Dmitrii Kashin wrote:
> 
> Вопрос:
> Как получить список пакетов, установленных из конкретного репозитория?
> 
> Лирика:
> Недавно поставил iceweasel из бэкпортов. Конкретно - из репозитория
> mozilla.debian.net. Он требовал в обязательном порядке подключенный
> squeeze-backports, поэтому на время установки я поставил положительный
> пин для squeeze-backports. После установки iceweasel я поставил
> squeeze-backports отрицательный пин обратно, т.к. апгрейдить систему с
> бэкпортов желания не имею.
> 
> Сейчас подумал, что было бы неплохо поставить положительные пины
> пакетам, которые iceweasel утянул по зависимостям с репозитория
> squeeze-backports, но вдруг понял, что не знаю, как сформировать список
> пакетов, которые установлены с конкретного репозитория. Потыкался по
> манам dpkg/apt-cache, но сходу не нашел решения.

apt-show-versions уже предлагали. Если не устраивает его вывод, может
быть устроит вот такой самописный скриптик (в аттаче). Запуск без
аргументов дает полный список. С аргументом(ами) - селективно по origin.

Пример:

% list-by-repo "Unofficial Multimedia Packages"
----------------------------------------
Origin: Unofficial Multimedia Packages
----------------------------------------
i   avidemux                        - Free video editor (GTK version).          
i A avidemux-common                 - Free video editor (Internationalization fi
i A avidemux-plugins                - Free video editor (plugins).              
i A deb-multimedia-keyring          - GnuPG archive key of the deb-multimedia re
i   debian-multimedia-keyring       - transitional package to install deb-multim
i   gstreamer0.10-ffmpeg            - FFmpeg plugin for GStreamer               
i   lame                            - LAME Ain't an MP3 Encoder                 
i A libaften0                       - audio AC3 encoder - runtime files         
i A libavformat53                   - FFmpeg file format library.               
i A libavutil51                     - FFmpeg avutil library - runtime files     
i   libdvdcss-dev                   - Simple foundation for reading DVDs - devel
i A libdvdcss2                      - Simple foundation for reading DVDs - runti
i   libfaac0                        - AAC audio encoder - library files.        
i A libmjpegtools-2.0-0             - MJPEG video capture/editting/playback MPEG
i A libmp3lame0                     - LAME Ain't an MP3 Encoder (shared library)
i A libpostproc52                   - postproc shared libraries.                
i A libswscale2                     - FFmpeg video scaling library.             
i A libvlc5                         - multimedia player and streamer library    
i A libvlccore5                     - base library for VLC and its modules      
i A libx264-124                     - x264 video coding library                 
i   libxvidcore-dev                 - High quality ISO MPEG4 codec library -- de
i A libxvidcore4                    - High quality ISO MPEG4 codec library      
i   mjpegtools                      - MJPEG video capture/editting/playback MPEG
ih  mplayer                         - The Ultimate Movie Player                 
i   vlc                             - multimedia player and streamer            
i A vlc-data                        - Common data for VLC                       
i A vlc-nox                         - multimedia player and streamer (without X 
* Total packages: 27

-- 
Stanislav
#!/bin/sh
# A trivial script to search for which packages are installed from which repo

LISTS=/var/lib/apt/lists
IFS='
'

if [ "$1" ]; then
   echo "$*"
else
   grep -h Origin: $LISTS/*Release | cut -d' ' -f2- | uniq
fi | while read orgn; do
   echo "----------------------------------------"
   echo "Origin: $orgn"
   echo "----------------------------------------"
   command aptitude search "~i ~O\"$orgn\"" |\
	awk 'BEGIN{c=0};{print;c++};END{print "* Total packages: " c}'
done

Reply to: