اطلاعیه

Collapse
No announcement yet.

راحتی کار با لینوکس نصب برنامه با بستهآ‌ها (package)

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    راحتی کار با لینوکس نصب برنامه با بستهآ‌ها (package)

    با سلام
    بر خلاف ذهنیت غلط خیلی از دوستان نصب نرمآ‌افزارها در اکثر توزیعآ‌های لینوکس خیلی ساده است. اکثر نرمآ‌افزارآ‌ها و کتابخانهآ‌ها در لینوکس به صورت بسته وجود دارند به عنوان مثال در لینوکسآ‌های بر پایه دبیان کافی است در شل تایپ کنید:


    sudo apt-get install package-name

    تجربهآ‌ای ساده:

    دیروز بعد از دیدن این تاپیک و همچنین خواندن مدخل اعداد اول در ویکیآ‌پدیا به ذهنم رسید که برای تصویر background کامپیوترم جدولی از اعداد اول به اندازه پشت زمینه (1280x800) درست کنم. چون به زبان پایتون علاقهآ‌مندم با خودم گفتم تصویر مورد نظرم را با زبان پایتون درست کنم. برای درست کردن تصویر کتابآ‌خانهآ‌ای به نام gd وجود دارد که میآ‌تواند تصاویر به فرمتآ‌های مختلف را درست کند، یکی از ویژگیآ‌های پایتون هم اتصال به کتابآ‌خانهآ‌آ‌ها است به همین دلیل برای اکثر کتابخانهآ‌ها wrapper وجود دارد و میآ‌توان به راحتی از آنها در پایتون استفاده کرد.
    خوب حالا من که میآ‌خواهم از python و gd استفاده کنم کافی است در شل بنویسم (زیبایی بستهآ‌ها این است که اگر بستهآ‌ای وابسته به بستهآ‌های دیگر بود خود برنامه به صورت خودکار بستهآ‌های مورد نیاز را نیز نصب میآ‌کند به عنوان مثال در اینجا بستهآ‌ی libgd2-xpm بسته کتابخانه اصلی است که اگر در سیستم نصب نباشد به صورت خودکار نصب خواهد شد):


    sudo apt-get install python-gd

    بعد از نصب ابتدا سری به مستندات/راهنما موجود برای بسته میآ‌زنیم چون ممکن است چیز مفیدی آنجا وجود داشته باشد (در مثال ما راهنما در usr/share/doc/python-gd/ قرار دارد)! جالب است برای این بسته یک فایل نمونه وجود دارد که برنامهآ‌ام را بر پایه آن نوشتم.

    * احتمالا با خودتان بگویید «این هم تصویر پشت زمینه شد!؟»
    * جالب است که gnome تصویر پشت زمینه را با به روز شدن فایل تصویر آن به روز میآ‌آ‌کند یعنی به راحتی میآ‌توانید پشت زمینه را هر وقت خواستید با عوض کردن آن فایل به روز کنید.

    کد پایتون:

    کد:
    #!/usr/bin/env python
    import gd, os, sys
    
    def isPrime(number):
     if number == 1:
       return False
     if number == 2:
       return True
     if number % 2 == 0:
       return False
     maxnum = number**0.5+1
     i = 3
     while i<=maxnum:
       if number % i == 0:
        return False
       i=i+2;
     return True
    
    imageWidth = 1280
    imageHeight = 800
    blockSize = 8
    blockLine = 1
    fileName = "output.png"
    
    im = gd.image((imageWidth,imageHeight))
    colorPrime = im.colorAllocate((200, 200, 10))
    colorNoPrime = im.colorAllocate((10, 150, 200))
    colorBack = im.colorAllocate((0, 0, 0))
    
    #im.colorTransparent(colorBack)
    #im.interlace(1)
    
    number =1
    for y in xrange(0,imageHeight/blockSize):
     for x in xrange(0,imageWidth/blockSize):
       if isPrime(number):
        color=colorPrime
       else:
        color=colorNoPrime
       im.filledRectangle((x*blockSize+blockLine,y*blockSize+blockLine),\
           ((x+1)*blockSize-blockLine,(y+1)*blockSize-blockLine),color)
       number = number+1
    print "Total # of prime numbers ",number-1
    f=open(fileName,"w")
    im.writePng(f)
    f.close()


    یک تصویر نمونه که اعداد اول را در اعداد ۱ تا ۲۰۰۰ نشان میآ‌دهد (رنگ زرد اعداد اول هستند):

    من دوست دارم آزاد فکر کنم، نرمآ‌افزارآ‌ و سختآ‌افزارهای آزاد را به کار ببرم و اگر توانستم نرمآ‌افزار، سختآ‌افزار و محتوای آزاد درست کنم!

    #2
    پاسخ : راحتی کار با لینوکس نصب برنامه با بستهآ‌ها (package)

    سلام. منظورتون از package همون فایل های با پسوند .tar.gz هستند ؟! اونوقت یه سوال دیگه . این فایل هارو باید تو کجا کپی کنیم ؟!؟!
    من Ubuntu دارم . درایور وایرلس هم رو که گرفتماز این فایل هاست روش که کلیک میکنم به جای اجرا شدن بازش میکنه توشو نشون میده. نمیدونم چکار کنم . خدا خیرتون بده یه کمکی بفرمایید .
    با تشکر قبلی و بعدی

    دیدگاه


      #3
      پاسخ : راحتی کار با لینوکس نصب برنامه با بستهآ‌ها (package)

      فایلهای tar.gz معمولا فایلهای حاوی سورس برنامه هستن که باید کامپایل بشه
      شما نیاز نیست چیزی رو کپی کنید کافی هست توی پکیج منیجری مثل سیناپتیک واسه اون چیزی که میخواین سرچ کنین بعد کنارشو تیک بزنین روش دستوری هم هست
      اما اگه درایور خاصی روی سی دی دارین با دابل کلیک هم میتونین نصب کنین یا اینکه با توجه به اون آدرس فایل توی ترمینال بنویسین
      sude dpkg -i file.deb

      اگر هم بخوای که فایل رو کامپایل کنی روشهای مختلفی هست که توی معمولا فایل Readme توضیح داده ولی کلا اینه
      ./configure

      make

      make install

      دیدگاه


        #4
        پاسخ : راحتی کار با لینوکس نصب برنامه با بستهآ‌ها (package)

        نوشته اصلی توسط sadid
        اما اگه درایور خاصی روی سی دی دارین با دابل کلیک هم میتونین نصب کنین یا اینکه با توجه به اون آدرس فایل توی ترمینال بنویسین
        sude dpkg -i file.deb

        اگر هم بخوای که فایل رو کامپایل کنی روشهای مختلفی هست که توی معمولا فایل Readme توضیح داده ولی کلا اینه
        ./configure

        make

        make install
        آخه وقتی که روش دبل کلیک میکنم باهاش مثل فولدر زیپ توی ویندوز برخورد میکنه فقط توشو نشون میده. ولی چیزی رو نصب نمیکنه . حالا من اینو توی دسکتاپم کپی کردمش . بعد رفتم توش همونجوری که شما فرمودید make install رو زدم. یخورده چیز میز نوشت آخرش مثلا گفت که 2 تا ارور داره . بعدش هم فرقی نکرد. نباید ارور بده نه ؟!؟

        بدبختی بدون نصب این اینترنت ندارم هی باید بیام تو ویندوز بعدش برم تو اوبونتو تستش کنم.

        دیدگاه


          #5
          پاسخ : راحتی کار با لینوکس نصب برنامه با بستهآ‌ها (package)

          بله مشکل اینترنت مشکل بزرگی هست که ...
          من نگفتم بستهٔ tar.gz با کلیک نصب میشه این یه بستهٔ آرشیو و فشرده سازی هست. اونائی که با کلیک نصب میشه واسه توزیع شما فایلهای .deb هستند.
          اما راجع به این بسته اگر بخواین نصبش کنید باید اونو extract کنین توی پوشه اش یه فایل readme هست که راحع به نصبش توضیح داده و روند معمول اینه که ابتدا باید طبق مشخصات سیستمتون تنظیم بشه بعد کامپایل بشه و بعد از کامپایل موفق بیاین اونو نصب کنین یعنی کارهای عادی نصب..... که میشه سه دستور پشت سر هم:
          ./configure
          بعد
          make
          و در نهایت:
          make install

          اما در کل باید اون فایل readme بخش مربوط به نصبش رو بخونین در ۹۵ درصد مواقع این تیپی است.

          دیدگاه

          لطفا صبر کنید...
          X