ইন্টারনেটে আমি .debs এর সাথে আমার কী সাবধানতা অবলম্বন করা উচিত?


29

সুতরাং আমি অন্য দিন ওয়েবটি ব্রাউজ করছিলাম, এবং আমি কয়েকটি স্থান জুড়ে এসেছি যেগুলি আমাকে .debফাইলগুলি ডাউনলোড করতে চেয়েছিল - এবং যেহেতু এগুলি মূল দ্বারা ইনস্টল করা হয়েছে (এবং যেমনগুলির "ক্ষমতা" এবং মূলের ক্ষমতা রয়েছে), তাই আমি ছিলাম না এটা সম্পর্কে নিশ্চিত

উত্তর:


32

বিবেচনা করার বিষয়গুলি:

  • সাইটটি কতটা সুপরিচিত? উদাহরণস্বরূপ, এটি বিজ্ঞাপনগুলিতে inাকা একটি এলোমেলো ব্লগ ছিল, এটি কোনও ফোরামের এলোমেলো ব্যবহারকারী ছিল, বা এটি একটি সুপরিচিত, সম্মানিত সাইট ছিল?

  • এটি কি ইনস্টল করার দাবি করে? উদাহরণস্বরূপ, এটি কোনও কার্নেল বা আইকনসেট ইনস্টল করার দাবি করে তবে এটি কি কেবল 1 এমবি বড়?

  • এটির বিষয়বস্তু আপনার পক্ষে কতটা "গুরুত্বপূর্ণ" .deb?

নিরাপদে জিনিস পরীক্ষা করার উপায়:

আমি আমার ডিবস (এবং অন্যান্য জিনিস) এর সাথে স্যান্ডবক্সিং ব্যবহার করি arkose( এটি স্ট্যান্ডার্ড রেপোতে রয়েছে আরকোস ইনস্টল করুন ) - এটি এরকম কিছু ব্যবহার করুন:

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

কি যে এটা আমার কপি-অন-লেখ আমার কম্পিউটারে সব অ্যাক্সেস সঙ্গে একটি "স্যান্ডবক্স" ( "! Yay আমি পারি স্ক্রু আপ" অন্যথায় নামে পরিচিত) দিতে না, আমার home ডিরেক্টরির সহ - কদর্য কদর্য তাই যদি .debনা sudo rm -rf /*, I Don 'কোনও ডেটা হারাবেন না!

আর একটি বিষয় যা যথেষ্ট পরিমাণে চাপ দেওয়া হয়নি তা হ'ল ব্যাকআপ করুন । এগুলি চূড়ান্ত সহায়ক, এবং আমাদের বিষয়টিতে অনেকগুলি প্রশ্ন রয়েছে।

সংক্ষেপে, কেবল আপনি এটি সম্পর্কে ভাবছেন তা নিশ্চিত করুন এবং কেবল একটি এলোমেলো ডেব ডাউনলোড করে ইনস্টল করবেন না।


2
.debফাইল রোলার সহ ওপেন করুন ভিতরে কী আছে তা দেখুন। যদিও আমি অবশ্যই বলব যে আমি আমার প্রিন্টারের সাথে আমার সমস্যাগুলি সমাধান করতে উবুন্টু ফোরামে একটি এলোমেলো থ্রেড এলোমেলো ব্যবহারকারীর কাছ থেকে একটি এলোমেলো ডেব ডাউনলোড করেছি, এটি কার্যকর হয়েছে।
উরি হেরেরা

20

আপনি যদি অবিশ্বস্ত বা প্রশ্নবিদ্ধ উত্স থেকে কোনও প্যাকেজ ডাউনলোড করছেন, তবে অচল হয়ে পড়ুন। উবুন্টুফর্মস.র মত জনপ্রিয় ফোরামে যদি কোনও ব্যবহারকারী তার "প্রথম ইন্সটল করুন, এটি আমার জন্য কাজ করে!" এর মতো একটি সংক্ষিপ্ত পাঠ্য সম্বলিত প্রথম পোস্ট তৈরি করে, তার পরে একটি লিঙ্ক, সেই লিঙ্কটি এবং / বা নির্দেশাবলী সম্পর্কে সতর্ক থাকুন।

সম্ভব হলে বাইনারি প্যাকেজগুলি ব্যবহার করবেন না, বিশেষত অবিশ্বস্ত উত্স থেকে। উত্সটি পান (সরকারী উবুন্টু প্যাকেজগুলির জন্য, এটি দিয়ে কাজটি করা যেতে পারে apt-get source package-name) এবং এটি দেখুন have

যদি প্রশ্নে থাকা প্যাকেজটি ছোট হয় তবে এটি বিশ্লেষণ করার মতো হতে পারে। কারণ আমি তখন মত অন্যান্য শক্তিশালী কম্যান্ড-লাইন সরঞ্জাম দ্রুত এক্সেস আছে আমি যে জন্য টার্মিনাল ব্যবহার করতে পছন্দ ls, find, file, less, vim, grep, sed, dpkgএবং প্রচুর অন্যদের। ট্যাব-সমাপ্তির ব্যবহার করুন (অর্থাত্ Tabকমান্ড এবং ফাইলের নামগুলি হিট করা), এটি সত্যিই সময় সাশ্রয় করে!

একটি .deb ফাইল ডাউনলোড করতে, আপনি ব্রাউজারটি ব্যবহার করতে পারেন, তবে লিঙ্কটি অনুলিপি করতে পারেন এবং তারপরে ব্যবহারটি আরও wgetদ্রুত হয় কারণ আপনি ইতিমধ্যে এটি পরীক্ষা করতে পারেন।

$ 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

এরপরে, ফাইলটি নিজেই যাচাই করার সময় এসেছে। less(এর মাধ্যমে lesspipe) ফাইল সামগ্রীগুলির একটি দ্রুত ওভারভিউ সরবরাহ করতে পারে। তীর কীগুলি, পৃষ্ঠা উপরে / ডাউন, হোম / এন্ড Qনেভিগেটের জন্য দরকারী হতে পারে, প্রোগ্রামটি সরিয়ে দেয়।

$ 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
...

এর পরে, আপনি প্যাকেজ নির্ভরতা এবং এটিতে কী ধরণের ফাইল থাকতে পারে তার একটি ওভারভিউ পাবেন। ফাইলগুলি আহরণ করার জন্য এবং সামগ্রীগুলি ব্যবহার করে বিশ্লেষণ করার সময় dpkg-deb। প্রথম কমান্ডটি একটি নতুন নির্মিত ডিরেক্টরিতে ফাইল ট্রি বের করে fs, দ্বিতীয়টি এটিতে নিষ্ক্রিয় করে DEBIANকারণ অন্য কোনও লক্ষ্য নির্দিষ্ট করা হয়নি:

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

আমরা ব্যবহার করব lessরক্ষণাবেক্ষণকারী স্ক্রিপ্ট (অর্থাত যে ফাইল ব্যবহার করা হবে / ইনস্টলেশন (এবং অপসারণ) সময় চালানোর বিষয়বস্তু বিশ্লেষণ আবার। prerm, preinst, postrm, postinstস্ক্রিপ্ট সামনে ছুটে ছুটে / অপসারণের পর / ইনস্টলেশন যা বিশ্লেষণ করতে সবচেয়ে গুরুত্বপূর্ণ ফাইল আছে ফাইলগুলি মধ্যে ব্যবহার :nএবং :pস্যুইচ করতে টিপুন =, আপনি বর্তমান ফাইলের নাম এবং লাইন নম্বর এবং তালিকায় থাকা ফাইলগুলির সংখ্যা পাবেন।

$ less DEBIAN/*

যদি প্যাকেজ স্ক্রিপ্টগুলি বুদ্ধিমান দেখাচ্ছে তবে এটি ইনস্টল করা সামগ্রীর বিশ্লেষণ করার সময় (ট্যাব-সমাপ্তি ব্যবহার করুন)। শেল স্ক্রিপ্ট এবং ব্যাখ্যামূলক স্ক্রিপ্টগুলির (পাইথনের মতো) জন্য বিশ্লেষণ সহজতর (ধরে নেওয়া যায় যে আপনি ভাষার সাথে পরিচিত)।

$ 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

কনফিগারেশন ফাইলগুলিতে বিশেষ মনোযোগ দিন, বিশেষত যদি তারা /etc/init(স্টার্টআপ স্ক্রিপ্টগুলির জন্য) ডিরেক্টরিগুলি ব্যবহার করে বা /etc/modprobe.d(কার্নেল মডিউল লোড করার জন্য বিকল্প) ব্যবহার করে।

বাইনারিগুলির জন্য, lddকোন প্রোগ্রামটি কীভাবে ব্যবহার করা যেতে পারে তার একটি ধারণা দিতে পারেন। নীচের প্রোগ্রামটি গ্রাফিক্যাল প্রোগ্রামের মতো দেখায় যা ওপেনজিএল ব্যবহার করে।

$ 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)
...

আপনি কি নিশ্চিত যে প্যাকেজ বৈধ দেখায় হয় পরে, আপনি যেতে পারেন একটি লাইভ সিডি এবং ব্যবহার বন্ধ VirtualBox বুট মধ্যে এটি ইনস্টল করুন ps aux, top, strace -f -o logfile.txt programnameআরও বিশ্লেষণের জন্য।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.