انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


ارائه ۲۴٫۱۰ اوبونتو منتشر شد 🎉

نویسنده موضوع: آپگرید کردن سیستم با استفاده از aria  (دفعات بازدید: 642 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین احسان فعالپور

  • Sr. Member
  • *
  • ارسال: 408
  • جنسیت : پسر
آپگرید کردن سیستم با استفاده از aria
« : 22 آبان 1394، 03:48 ب‌ظ »
سلام.من چند روز پیش یه کد پایتون دیدم که لیست مورد نیاز برای آپدیت رو میداد به aria و اون سیستم رو آپدیت میکرد.
خودم هم یه مقدار باهاش ور رفتم و نهایتا به اینا رسیدم.امیدوارم دوستان هم خوششون بیاد:

خب اول اینا رو توی فایل .bash_aliases اضافه کنید:

alias prepareupgradeList='sudo apt-get -y --print-uris -qq upgrade | apt2metalink > ~/.upgradelist.meta4'
alias preparedist-upgradeList='sudo apt-get -y --print-uris -qq upgrade | apt2metalink > ~/.dist-upgradelist.meta4'
alias cleanmyHome='rm ~/.*.meta4 &>/dev/null'
alias upgradeCommand='if [ $(grep -ic size $HOME/.upgradelist.meta4) -gt 0 ];then sizeNotify $HOME/.upgradelist.meta4 ; sudo aria2c -s16 -x16 -k1M -m0 --retry-wait=2 -j1 -d /var/cache/apt/archives/ -M ~/.upgradelist.meta4  --file-allocation=none; fi'
alias dist-upgradeCommand='if [ $(grep -ic size $HOME/.dist-upgradelist.meta4) -gt 0 ];then sizeNotify $HOME/.dist-upgradelist.meta4 ; sudo aria2c -s16 -x16 -k1M -m0 --retry-wait=2 -j1 -d /var/cache/apt/archives/ -M ~/.dist-upgradelist.meta4  --file-allocation=none; fi'
alias upgrade='prepareupgradeList && upgradeCommand && sudo apt-get -y --force-yes upgrade ; cleanmyHome'
alias dist-upgrade='preparedist-upgradeList && dist-upgradeCommand && sudo apt-get -y --force-yes dist-upgrade ; cleanmyHome'

بعد این کد پایتون رو هم بذارید توی PATH تون:

ehsan@ehsan-SVF152190X:~/.bin$ cat apt2metalink
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import re

if __name__ == "__main__":
    entries = []
    while True:
        line = sys.stdin.readline()
try:
if not line: break
uri, name, size, chksum = line.split()
uri = re.sub(r"^'|'$", "", uri)
hashfunc, hashvalue = chksum.split(':')
hashfunc = hashfunc.lower()
if hashfunc == 'sha256':
    hashfunc = 'sha-256'
entries.append((uri, name, size, hashfunc, hashvalue))
except ValueError:
sys.stdout.write('\033[1mThere is no new update for your system\n\033[0m')
sys.exit(1)
    print """<?xml version="1.0" encoding="UTF-8"?>
    <metalink xmlns="urn:ietf:params:xml:ns:metalink">"""

    for e in entries:
        print """<file name="{name}">
    <size>{size}</size>
    <hash type="{hashfunc}">{hashvalue}</hash>
    <url priority="1">{uri}</url>
    </file>""".format(uri=e[0],name=e[1], size=e[2], hashfunc=e[3], hashvalue=e[4])
    print """</metalink>"""

این کد هم واسه اینه که بهتون بگه چقدر حجم قراره دانلود بشه:

ehsan@ehsan-SVF152190X:~/.bin$ cat sizeNotify
#!/bin/bash
cat "$1" | grep size | sed -e 's/[^0-9]//g' -e 's/$/\/(1000000)/' | paste -sd+ | bc -l | sed -e 's/0*$//g' -e 's/^\./0./' | awk '{print "Need to get "$1" MiB from servers"}'

و الان اگه همه چیز رو جای خودش تعریف کرده باشید باید با دستور upgrade و dist-upgrade خیلی راحت سیستم و توزیعتون رو آپگرید کنید.


عضو ارشد فدراسیون بیکاران ایران FBI

آفلاین حامد سپهر

  • High Hero Member
  • *
  • ارسال: 1556
  • جنسیت : پسر

آفلاین احسان فعالپور

  • Sr. Member
  • *
  • ارسال: 408
  • جنسیت : پسر
پاسخ : آپگرید کردن سیستم با استفاده از aria
« پاسخ #2 : 22 آبان 1394، 09:18 ب‌ظ »
واللا تا جایی که من میدونم اینی که شما معرفی کردی واسه کساییه که اینترنت پرسرعت داشته باشن.
حالا سوای این که آیا ربطی به استفاده از aria2c که من معرفی کردم داره یا نه،من خودم قبلا که از همین apt-fast استفاده میکردم مثله الان که از این روش جدید استفاده میکنم سریع نبود.
عضو ارشد فدراسیون بیکاران ایران FBI

آفلاین حامد سپهر

  • High Hero Member
  • *
  • ارسال: 1556
  • جنسیت : پسر
پاسخ : آپگرید کردن سیستم با استفاده از aria
« پاسخ #3 : 23 آبان 1394، 06:05 ب‌ظ »
واللا تا جایی که من میدونم اینی که شما معرفی کردی واسه کساییه که اینترنت پرسرعت داشته باشن.
حالا سوای این که آیا ربطی به استفاده از aria2c که من معرفی کردم داره یا نه،من خودم قبلا که از همین apt-fast استفاده میکردم مثله الان که از این روش جدید استفاده میکنم سریع نبود.

احتمالا چون تو این روشی که شما اینجا ذکر کردی از آپشن های اضافی آریا هم استفاده کردی باعث شده نتیجه بهتر باشه.