Yanıtlar:
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
) 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 .deb
yapar 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.
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
, dpkg
ve ç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 wget
daha 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 DEBIAN
baş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
, postinst
Komut 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 :n
ve tuşlarını kullanın ve :p
tuş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, ldd
bir 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 .top
strace -f -o logfile.txt programname
.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ı.