Belirli bir bileşenden yüklenen tüm yazılımları listele (ücretsiz, katkıda bulun)


12

Debian'da kurulu olan tüm yazılımları non-freeve contribyazılımı listelemenin bir yolu var mı apt?

/etc/apt/sources.list Şöyleki

deb http://ftp.us.debian.org/debian/ wheezy main non-free contrib
deb-src http://ftp.us.debian.org/debian/ wheezy main non-free contrib

deb http://security.debian.org/ wheezy/updates main non-free contrib
deb-src http://security.debian.org/ wheezy/updates main non-free contrib

# wheezy-updates, previously known as 'volatile'
deb http://ftp.us.debian.org/debian/ wheezy-updates main
deb-src http://ftp.us.debian.org/debian/ wheezy-updates main

Yıllar önce ekledim non-freeve contribekran kartım için özgür olmayan bir sürücüye ihtiyaç duyduğumdan, şimdi özgür olmayan bir sürücü gerektirmeyen yeni bir sürücüyle değiştirildi. Özgür olmayan şeylerden kurtulmak istiyorum, ancak korkarım yıllar boyunca kaldırmayı göze alamayacağım diğer özgür olmayan yazılımları yüklemiş olabilirim.


Yanıtlar:


15
  • dpkg-query -W -f='${Section}\t${Package}\n' | grep ^non-free
  • aptitude search '~i ?section(non-free)'

Section özgür olmayacak / ... özgür olmayan yoldan her şey için.

[Not] gcc dokümanları için ...

 This documentation is licensed under the terms of the GNU Free
 Documentation License, and contains invariant sections, so it can't be
 part of Debian main.

(Ben de bunu merak ettim ama bahsedilinceye kadar kontrol etmedim.)


Her ikisi de farklı sonuçlar verdi ( pastebin.com/rAhYHTk8 ). NVIDIA şeyler sürücü, bu yüzden dpkg doğru görünüyor! Upvoted. Sadece gcc-doc'nin orada ne yaptığını merak ediyorum.
Alex

NVIDIA işleri zaten kaldırılmış, muhtemelen listelenmiştir. Listede olmayan, özgür olmayan bir şeyi hatırladım: dpkg -l | grep -i nonfreesonuçlar flashplugin-nonfree. Bunun neden yetenek tarafından listelenmediğini ve aslında her şeyi özgür olmayanlardan listelediğini merak ediyorum.
Alex

2
Katıldığı için :: debian / pool / antrenman / f / flashplugin-nonfree ( Section: contrib/web)
Ricky Beam

1
Her iki bölüm için bir astar dpkg-query -W -f='${Section}\t${Package}\n' | sort | egrep ^contrib\|^non-free
GKFX

İlgili dpkg-query -W -f='${Section}\t${Package}\n': Sectionbileşenleri görüntülemez. (En azından, Ubuntu 18.04 benim için değil.) Bir örnek bileşeni olabilir main, contribya da non-free. Bölümler şeyler gibidir Oysa: admin, gnome, utils, veya x11.
mpb

6

VRMSSisteminizdeki özgür olmayan tüm yazılımları kısa bir özette raporlayacak (sanal bir Richard M. Stallman) adlı bir program var . Onun repo's ve apt;-) üzerinden yükleyebilirsiniz


2
Bahsetmeye değer vrmskendini ekler /etc/cron.monthly. Kurulumdan bir ay sonra sanal Stallman'dan bir posta aldığımda çok şaşırdım.
Alex

2

Birkaç yıl önce benzer bir 'dürtü' yaşadım ve paketi indirdikten sonra orijinal paket bilgilerinin sistemde tutulduğunu belirleyemedim. Bu bilgilerin mevcut olduğunu sanmıyorum dpkg.

Sonuçta temiz bir sanal makine kurmak, uygun /etc/apt/sources.listkurulumu yapmak ve tüm listeyi oluşturmak:

dpkg --get-selections | fgrep -v deinstall | cut -s -f 1

yüklemeyecek paketleri (sadece biraz zaman kazanmak için indirdim apt-get -d).

apt-get --root-directory=some_dirGeçici olarak değiştirdikten sonra kullanarak benzer bir şey yapabilirsiniz sources.list, ancak bunun geçerli yükleme veritabanınızı kullanıp kullanmadığını ve paketi oraya taşıdığından emin değilim. Bu tür deneyler için bir VM çok daha güvenlidir. Normalde mevcut Linux'umun VM olarak temiz bir temel kurulumuna sahibim, bu yüzden sadece klonlamak zorundayım (Linux'u bir VM'ye kurmak o kadar uzun sürmez).


Güzel bir "çözüm". Şu anda bunun için disk alanım yok, ama önce bulunmayan paketleri görüntüleyeceğini hayal ediyorum (dolayısıyla ücretsiz değil), doğru mu?
Alex

@Alex Evet, doğru. Bu cevapta bir çeşit eksik. Ancak, beklenmedik bir durum olmadıkça ve bir paket zaman içinde bir repodan diğerine taşınmadıkça Ricky'nin yaklaşımı daha iyidir (ve güncel değilsiniz veya paket sürüm numarasını değiştirmemiştir).
Timo

0

Ask Ubuntu'yu ziyaret edin . İşte komut satırı:

FILTER=non-free TMP_DIR=$(mktemp -d) && {
  dpkg -l | grep ^ii | cut -f 3 -d' ' | cut -f 1 -d : | sort | uniq > ${TMP_DIR}/pkg_installed.list
  cat /var/lib/apt/lists/*_${FILTER}_*Packages | grep "^Package:"  | sort | uniq | cut -d' ' -f2 > ${TMP_DIR}/pkg_filtered.list
  comm -12 ${TMP_DIR}/pkg_installed.list ${TMP_DIR}/pkg_filtered.list
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.