İnternette bulduğum .debs ile ne gibi önlemler almalıyım?


29

Geçen gün internette dolaşıyordum ve .debdosya indirmemi isteyen birkaç yere rastladım - ve bunlar kök tarafından yüklendiğinden (ve "kökün" yetkileri ve yeteneklerine sahip olduklarından), bunun hakkında emin olmak.

Yanıtlar:


32

Düşünülmesi gereken şeyler:

  • Site ne kadar iyi biliniyor? Örneğin, reklamlarla kaplı rastgele bir blog muydu, bazı forumlarda rastgele bir kullanıcı mıydı, ya da iyi bilinen, saygın bir site miydi?

  • Ne yüklemesi gerektiğini iddia ediyor? Örneğin, bir çekirdek veya simge seti kurmayı iddia ediyor, ancak sadece 1 MB büyük mü?

  • Bunun içeriğine sahip olmak ne kadar önemli .deb?

Güvenli bir şekilde test etmenin yolları:

Ben arkose( standart repolarda Arkose yükleyin ) kumlarımı (ve diğer şeylerle) sandbox ile kullanıyorum - şunun gibi bir şey kullanıyorum:

sudo arkose -n -c "cd $PWD; $SHELL"

Ne o benim ev dizinine dahil bana bilgisayarda her şeyi kopya üzerinde yazma erişimi olan bir "sandbox" ( "! YAY ben CAN VİDALI UP" aksi olarak da bilinir) veriyor - pis pis eğer öyleyse .debyapar sudo rm -rf /*, ben DON HERHANGİ BİR VERİ VERMEYİN!

Yeterince stresli olmayan başka bir şey de BACKUPS YAPMAK . Bunlar son derece yardımcı oluyor ve konuyla ilgili birçok sorumuz var.

Kısacası, sadece bunu düşündüğünüzden emin olun ve rastgele bir deb indirmeyin ve yüklemeyin.


2
.debİçinde ne olduğunu görmek için File roller ile açın . Yazıcımla ilgili sorunlarımı gidermek için, Ubuntu forumlarındaki rastgele bir kullanıcıdan rastgele bir kullanıcı indirdiğimi söylemeliyim olsa da işe yaradı.
Uri Herrera

20

Güvenilmeyen veya şüpheli kaynaklardan bir paket indiriyorsanız paranoyak olun. Ubuntuforums.org gibi popüler forumlarda, bir kullanıcı ilk mesajını yalnızca "bunu yükle, benim için çalışır!" Gibi kısa bir metin içeren bir ilk yayını yaparsa, bunu izleyen linke ve / veya talimatlara dikkat edin.

Mümkünse, özellikle güvenilmeyen kaynaklardan gelen ikili paketleri kullanmayın. Kaynağı alın (resmi Ubuntu paketleri için, bununla yapılabilir apt-get source package-name) ve bir göz atın.

Söz konusu paket küçükse analiz etmeye değer olabilir. Sonra gibi diğer güçlü komut satırı araçları hızlı erişim var çünkü ben bunun için terminali kullanmayı tercih ls, find, file, less, vim, grep, sed, dpkgve çok sayıda diğerleri. Sekme tamamlamadan yararlanın (yani Tabkomutları ve dosya adlarını tamamlamak için isabet ), gerçekten zaman kazandırır!

Bir .deb dosyasını indirmek için tarayıcıyı kullanabilirsiniz, ancak bağlantıyı kopyalayıp sonradan kullanmak wgetdaha hızlıdır; çünkü onu zaten deneyebilirsiniz.

$ mkdir /tmp/foo && cd /tmp/foo
$ wget http://nl.archive.ubuntu.com/ubuntu/pool/main/n/nvidia-common/nvidia-common_0.2.35_amd64.deb

Sonra, dosyanın kendisini kontrol etmenin zamanı geldi. less(ile lesspipe) dosya içeriğine hızlı bir genel bakış sağlayabilir. Ok tuşları, sayfa yukarı / aşağı, ana sayfa / bitiş gezinmek için yararlı olabilir Q, programdan çıkar.

$ less nvidia-common_0.2.35_amd64.deb
nvidia-common_0.2.35_amd64.deb:
 new debian package, version 2.0.
 size 10802 bytes: control archive= 1877 bytes.
     197 bytes,    11 lines   *  config               #!/bin/sh
     703 bytes,    16 lines      control              
     741 bytes,    10 lines      md5sums              
     163 bytes,     9 lines   *  postinst             #!/bin/sh
     206 bytes,     8 lines   *  postrm               #!/bin/sh
     827 bytes,    38 lines   *  preinst              #!/bin/sh
     263 bytes,    14 lines   *  prerm                #!/bin/sh
     365 bytes,    12 lines      templates            
 Package: nvidia-common
 Version: 1:0.2.35
 Architecture: amd64
 Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
 Installed-Size: 156
 Pre-Depends: dpkg (>= 1.15.7.2)
 Depends: python2.7 | python2.6, python (>= 2.7.1-0ubuntu2), python (<< 2.8), debconf (>= 0.5.00) | debconf-2.0, pciutils, python-apt
 Conflicts: nvidia-180-modaliases, nvidia-185-modaliases, nvidia-current-modaliases
 Replaces: nvidia-180-modaliases, nvidia-185-modaliases, nvidia-current-modaliases
 Section: admin
 Priority: optional
 Description: Find obsolete NVIDIA drivers
  This package will find obsolete NVIDIA drivers in use,
  detect the hardware and recommend the most appropriate
  driver.
 Python-Version: 2.6, 2.7

*** Contents:
drwxr-xr-x root/root         0 2011-09-07 11:06 ./
drwxr-xr-x root/root         0 2011-09-07 11:06 ./usr/
drwxr-xr-x root/root         0 2011-09-07 11:06 ./usr/share/
drwxr-xr-x root/root         0 2011-09-07 11:06 ./usr/share/doc/
drwxr-xr-x root/root         0 2011-09-07 11:06 ./usr/share/doc/nvidia-common/
-rw-r--r-- root/root      1174 2011-09-07 11:07 ./usr/share/doc/nvidia-common/changelog.gz
-rw-r--r-- root/root       466 2011-06-24 14:45 ./usr/share/doc/nvidia-common/copyright
...

Bundan sonra, paket bağımlılıklarına ve ne tür dosyaları içerdiğine bir genel bakış elde edersiniz. Dosyaları ayıklama ve içeriğini analiz etme zamanı dpkg-deb. İlk komut, dosya ağacını yeni oluşturulan bir dizine fsçıkarır, ikincisi de DEBIANbaşka bir hedef belirtilmediği için onu çıkarır :

$ dpkg-deb -x nvidia-common_0.2.35_amd64.deb fs
$ dpkg-deb -e nvidia-common_0.2.35_amd64.deb

Biz kullanacağız less/ kullanılan kurulum (ve çıkarılması) sırasında işletilecek ettirici komut (yani dosyaların içeriğini analiz etmek için tekrar. prerm, preinst, postrm, postinstKomut kaldırıldıktan sonra / önce çalıştırmak analiz etmek en önemli dosyalardır / kurulum vardır Dosyalar arasında geçiş yapmak için :nve tuşlarını kullanın ve :ptuşuna basarak =geçerli dosya adını, satır numarasını ve listede yer alan dosya sayısını alırsınız.

$ less DEBIAN/*

Paket komut dosyaları akıllıca görünüyorsa, yüklü içerikleri analiz etme zamanı (sekme tamamlama kullanın). Kabuk komut dosyaları ve yorumlanmış komut dosyaları (Python gibi) için, analiz daha kolaydır (dil ile bildiğiniz varsayılarak).

$ less fs/usr/bin/nvidia-detector    # fs<TAB><TAB>/usr/ <TAB><TAB>bin ...
$ less fs/usr/lib/nvidia/pre-install
$ ls -la fs/usr/lib     # quickly check the directory contents, my memory is weak
drwxr-xr-x 5 peter peter 100 2011-09-07 11:06 .
drwxr-xr-x 5 peter peter 100 2011-09-07 11:06 ..
drwxr-xr-x 2 peter peter  60 2011-09-07 11:06 nvidia
drwxr-xr-x 3 peter peter  60 2011-09-07 11:06 python2.6
drwxr-xr-x 3 peter peter  60 2011-09-07 11:06 python2.7
$ # I conclude: python2.6 is not a symlink to python2.7
$ less fs/usr/lib/python2.7/dist-packages/NvidiaDetector/*
press 'v' to open an editor (e.g. nano, vim) to get syntax highlighting if preferable

Yapılandırma dosyalarına özellikle dikkat edin, özellikle /etc/init(başlangıç ​​komut dosyaları için) veya /etc/modprobe.d(çekirdek modülleri yükleme seçenekleri ) gibi dizinler kullanıyorlarsa .

İkili dosyalar için, lddbir programın ne için kullanılabileceği hakkında bir fikir verebilir. Aşağıdaki program OpenGL kullanan grafiksel bir programa benziyor.

$ ldd /usr/bin/glxgears
    linux-vdso.so.1 =>  (0x00007fff7d3ff000)
    libGL.so.1 => /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 (0x00007fa2ead11000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fa2eaa8d000)
    libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007fa2ea754000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa2ea3b5000)
...

Paketin geçerli göründüğünden emin olduktan sonra , daha fazla analiz için ps aux, bir Virtual CD'den önyükleme yaparak VirtualBox'a kurmaya devam edebilirsiniz .topstrace -f -o logfile.txt programname

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.