কীভাবে অ্যাটম সম্পাদক আপডেট করবেন?


51

এটম বৈশিষ্ট্যটির স্বয়ংক্রিয় আপডেট উবুন্টুর পক্ষে এখনও সমর্থিত নয়। তাদের গিটহাব সংগ্রহশালা থেকে:

বর্তমানে কেবল একটি -৪-বিট সংস্করণ উপলব্ধ।

পরমাণু প্রকাশের পৃষ্ঠা থেকে atom-amd64.deb ডাউনলোড করুন। ডাউনলোড প্যাকেজটিতে sudo dpkg --install atom-amd64.deb চালান। ইনস্টল হওয়া অ্যাটম কমান্ডটি ব্যবহার করে অ্যাটম চালু করুন। লিনাক্স সংস্করণটি বর্তমানে স্বয়ংক্রিয়ভাবে আপডেট হয় না তাই ভবিষ্যতে প্রকাশে আপগ্রেড করতে আপনাকে এই পদক্ষেপগুলি পুনরাবৃত্তি করতে হবে।

আমি ওয়েবআপড 8 পিপিএ ব্যবহার করার চেষ্টা করেছি তবে এটি আমার পক্ষে কার্যকর হয় না।


1
পিপিএ নিয়ে সমস্যা কী?
এবি

@ এব্যাব আমার মনে হয় এখন ঠিক আছে, এটি পরীক্ষার জন্য সময় পাইনি এবং আমি কিছু সময়ের জন্য পরমাণু ব্যবহার করছি না, তবে পিপিএ আমার সংস্করণ আপডেট করে নি।
ইগোর ভি।

আমার সম্ভবত পুরানো প্রশ্নের উত্তর দেওয়া উচিত নয়। : \
এবি

1
আপনার উত্তর দুর্দান্ত এবং এটি একই ধরণের সমস্যার জন্য আমাকে সহায়তা করবে। :)
ইগোর ভি।

উত্তর:


71

টিএল; ডিআর আপনি পিপিএ ব্যবহার করতে না চান , আপনি ক্রোন মাধ্যমে স্বয়ংক্রিয়ভাবে ডাউনলোড এবং ইনস্টল করতে একটি স্ক্রিপ্ট ব্যবহার করতে পারেন।


  1. একটি নতুন ফাইল তৈরি করুন atom-auto-update

    sudo nano /usr/local/bin/atom-auto-update
    
  2. নিম্নলিখিত লাইন যুক্ত করুন

    #!/bin/bash
    wget -q https://github.com/atom/atom/releases/latest -O /tmp/latest
    wget -q $(awk -F '[<>]' '/href=".*atom-amd64.deb/ {match($0,"href=\"(.*.deb)\"",a); print "https://github.com/" a[1]} ' /tmp/latest) -O /tmp/atom-amd64.deb
    dpkg -i /tmp/atom-amd64.deb
    
  3. ফাইলটি সংরক্ষণ করুন এবং কার্যকর করতে সক্ষম করুন

    sudo chmod +x /usr/local/bin/atom-auto-update
    
  4. স্ক্রিপ্ট পরীক্ষা করুন

    sudo atom-auto-update
    
  5. স্ক্রিপ্টের জন্য ক্রোনজব তৈরি করুন

    sudo crontab -e
    
  6. এই লাইন যুক্ত করুন

    যেমন: প্রতি সপ্তাহে সকাল দশটায়

    0 10 * * 1 /usr/local/bin/atom-auto-update
    

    যেমন: প্রতিদিন সকাল দশটায় at

    0 10 * * * /usr/local/bin/atom-auto-update      
    

ব্যাখ্যা

  • wget -q https://github.com/atom/atom/releases/latest -O /tmp/latest

    সর্বশেষ সংস্করণ তথ্য সহ সাইটটি ডাউনলোড করুন

  • wget -q $(awk -F '[<>]' '/href=".*atom-amd64.deb/ {match($0,"href=\"(.*.deb)\"",a); print "https://github.com/" a[1]} ' /tmp/latest) -O /tmp/atom-amd64.deb

    1. … awk -F '[<>]' '/href=".*atom-amd64.deb/ {match($0,"href=\"(.*.deb)\"",a); print "https://github.com/" a[1]} ' /tmp/latest …

      ডাউনলোড লিঙ্কটি বের করুন

    2. wget -q $( … ) -O /tmp/atom-amd64.deb

      ডিইবি ফাইলটি ডাউনলোড করুন

  • dpkg -i /tmp/atom-amd64.deb

    ডিইবি ফাইল ইনস্টল করুন


1
একটি সম্পাদনা এবং একটি upvote! ;-)
ফাব্বী

2
অজানা: লাইন 1: সিনট্যাক্স ত্রুটিটি কাছাকাছি বা কাছাকাছি, উইজেট: ইউআরএল ম্যানক্যান্ট ইউটিিলাইজেশন: উইজেট [বিকল্প] ... [ইউআরএল] ...
রাছিদ ওসানা

আমি যদি এইভাবে আপডেট করি তবে আমাকে কী প্যাকেজগুলি পুনরায় ইনস্টল করতে হবে?
বেকো

1
এটি আমাকে একটি সিনট্যাক্স ত্রুটিও দিয়েছে যেখানে আপনি এইচটিএমএল থেকে URL টি বের করার চেষ্টা করছেন। তারা সম্ভবত তখন থেকেই এইচটিএমএল পরিবর্তন করেছে। এটি আমার পক্ষে কাজ করেছে (সম্পূর্ণ নয়):cat /tmp/latest | grep '.deb' | grep 'href=' | cut -d '"' -f 2
ডিন

2
যারা খালি সিনট্যাক্স ত্রুটির মুখোমুখি হচ্ছে তাদের জন্য এখানে আমার তৃতীয় সারিটি রয়েছে:wget https://github.com$(cat /tmp/latest | grep -o -E 'href=".*atom-amd64.deb' | cut -d'"' -f2) -O /tmp/atom-amd64.deb
ফিলিপ এলিয়া

20

এবি এর উত্তর একটি দুর্দান্ত সমাধান! আমি অগ্রগতি জানাতে ব্যাশ কোডে অগ্রগতি বারের বিকল্পটি যুক্ত করেছি: 

#!/bin/bash
wget -q https://github.com/atom/atom/releases/latest -O /tmp/latest
wget --progress=bar -q 'https://github.com'$(cat /tmp/latest | grep -o -E 'href="([^"#]+)atom-amd64.deb"' | cut -d'"' -f2 | sort | uniq) -O /tmp/atom-amd64.deb -q --show-progress
dpkg -i /tmp/atom-amd64.deb

6

প্রারম্ভিক সময়ে আপডেট করার জন্য, সামান্য পরিবর্তনের সাথে পূর্ববর্তী উত্তর হিসাবে, এখানে প্রক্রিয়াটি রয়েছে

  1. কমান্ডটি চালিয়ে ফাইল তৈরি করুন:

    sudo nano /usr/local/bin/atom-update  
    

তারপরে নীচের স্ক্রিপ্টটি টাইপ করুন ("ন্যানো" এর পরিবর্তে "জিডিট" বা "মাউসপ্যাড" এর মতো পাঠ্য সম্পাদক ব্যবহার করুন আরও সুবিধাজনক) এবং তারপরে এটি সংরক্ষণ করুন।

#!/bin/bash    
wget -q https://github.com/atom/atom/releases/latest -O /tmp/latest
MATCHEDROW=$(awk -F '[<>]' '/href=".*atom-amd64.deb/' /tmp/latest)
LATEST=$(echo $MATCHEDROW | grep -o -P '(?<=href=").*(?=" rel)')
VER_LATEST=$(echo $MATCHEDROW | rev | cut -d"/" -f 2 | rev | sed 's/v//g')
VER_INST=$(dpkg -l atom | tail -n1 | tr -s ' ' | cut -d" " -f 3)

if [ "$VER_LATEST" != "$VER_INST" ]; then
   wget --progress=bar -q "https://github.com/$LATEST" -O /tmp/atom-amd64.deb --show-progress
   dpkg -i /tmp/atom-amd64.deb
   echo "Atom has been update from $VER_LATEST to $VER_INST"
   logger -t atom-update "Atom has been update from $VER_INST to $VER_LATEST"
else
   echo "Atom version $VER_INST is the latest version, no update require"
   logger -t atom-update "Atom version $VER_INST is the latest version, no update require"
fi
  1. ফাইলটি কার্যকর করার জন্য:

    sudo chmod +x /usr/local/bin/atom-update
    
  2. এখন আপনি কমান্ডটি টাইপ করে অ্যাটমকে ম্যানুয়ালি আপডেট করতে পারবেন:

    sudo atom-update
    
  3. আপনার মূলটিতে লগইন করুন এবং তারপরে নীচের সারিটি /etc/rc.local ( sudo nano /etc/rc.local) -র exit 0কমান্ডের ঠিক আগে যুক্ত করুন :

    /usr/local/bin/atom-update  
    

এটি প্রতিবার আপনার পিসি চালু করার সময় অ্যাটম আপডেট স্ক্রিপ্ট কার্যকর করতে দেবে।

  1. স্ক্রিপ্টটি সঠিকভাবে শুরু হয়েছে কিনা তা পরীক্ষা করতে, আপনার পিসি পুনরায় চালু করুন এবং টার্মিনালটি খুলুন তারপরে টাইপ করুন:

    cat /var/log/syslog | grep 'atom.*'  
    

আপনি সেই অনুসারে লগ বার্তাটি দেখতে পাবেন।


এটি আর কাজ করছে না। আপনি দয়া করে এটি আপডেট করতে পারেন?
আকর্ষণীয় নাকস

আমি বিভ্রান্ত হব যদি এটি সত্যই আমার পরমাণুকে আপগ্রেড করে, আমি পাই এটমটি 1.23.3 থেকে 1.19.7 এ আপডেট হয়েছে । যদি আমি Atom.io থেকে বর্তমান সর্বশেষ ডাউনলোড করি এবং sudo dpkg -i atom-amd64.debতারপরে আমি `আনপ্যাকিং পরমাণু (1.23.3) ওভার (1.19.7) পেয়েছি।
পাবলো এ

3

এবি'র উত্তরে বিল্ডিং , আমি অপ্রয়োজনীয় ডাউনলোড / ইনস্টল এড়াতে সংস্করণ চেকিং যুক্ত করেছি:

#!/bin/bash

TMP_DIR=$(mktemp -d)

TMP_LATEST="${TMP_DIR}/latest"
TMP_FILE="${TMP_DIR}/atom-amd64.deb"

wget -q https://github.com/atom/atom/releases/latest -O ${TMP_LATEST}
LATEST=$(awk -F '[<>]' '/href=".*atom-amd64.deb/ {match($0,"href=\"(.*.deb)\"",a); print "https://github.com/" a[1]} ' ${TMP_LATEST})
VER_LATEST=$(echo $LATEST | rev | cut -d"/" -f 2 | rev | sed 's/v//g')

VER_INST=$(dpkg -l atom | tail -n1 | tr -s ' ' | cut -d" " -f 3)

if [ "$VER_LATEST" != "$VER_INST" ]; then
  wget -q $LATEST -O $TMP_FILE
  VER_DOWN=$(dpkg-deb -f $TMP_FILE Version)
  if [ "$VER_DOWN" != "$VER_INST" ]; then
    dpkg -i $TMP_FILE
  fi
fi

rm -rf "${TMP_DIR}"

সম্পাদনা: আমার স্পষ্ট করা উচিত যে এটি / usr / লোকাল / বিন / অ্যাটম-অটো-আপডেট স্ক্রিপ্টের বিষয়বস্তুকে প্রতিস্থাপন করবে যা এবি'র উত্তর উল্লেখ করেছে। উত্তরের অন্যান্য পদক্ষেপগুলি একই।


3

ঠিক আছে, বিটা শাখার সমর্থন সহ আরও একটি মার্জিত সংস্করণ, যদি স্ক্রিপ্টটি বিটা যুক্তি দিয়ে চালু করা হয়: $ update-atom beta

#!/bin/bash
DLPATH="https://atom.io/download/deb"
DLDEST="$HOME/Downloads/atom-amd64.deb"

if ! [ -z "$1" ] && [ $1=="beta" ];  then
  echo "Updating beta"
  DLPATH="$DLPATH?channel=beta"
  DLDEST="$HOME/Downloads/atom-amd64-beta.deb"
else
  echo "Updating stable"
fi

rm -f $DLDEST
wget -O $DLDEST $DLPATH 
sudo dpkg -i $DLDEST

2

একটি স্ন্যাপের মাধ্যমে অ্যাটম ইনস্টল করা আপনার সর্বদা সর্বশেষতম সংস্করণ নিশ্চিত করবে:

sudo snap install atom --classic

পারফর্ম বা অ্যাপের মাধ্যমে অ্যাটম ইনস্টল এর মধ্যে পারফরম্যান্স বা ব্যবহারের মধ্যে কোনও পার্থক্য রয়েছে? সাধারণভাবে কীভাবে একজন বা অন্যটিকে বেছে নিতে হয় তা আমি সত্যিই বুঝতে পারি না। ধন্যবাদ।
রামন সুয়ারেজ

1
আমি এটি দীর্ঘকাল যাবত কোনও সমস্যা ছাড়াই এটি ব্যবহার করে আসছি, আমি এগুলি তাদের দেবগুলিতে পছন্দ করি কারণ এটি আমাকে সর্বদা আপডেট করার জন্য মনে করিয়ে দেওয়ার পরিবর্তে স্বতঃস্ফূর্ত হয়।
হোর্হে কাস্ত্রো

1

আমি পাইথন স্ক্রিপ্ট লিখেছি যা গিটহাব থেকে 64 বিট ডিইবি প্যাকেজ আপডেট করতে ব্যবহার করা যেতে পারে। আপনি নিম্নলিখিত বিষয়বস্তু হিসাবে সংরক্ষণ করতে পারেন update-atom, উদাহরণস্বরূপ /etc/cron.hourlyবা এ /etc/cron.daily:

#!/usr/bin/env python

import os
import requests


def msg(text):
    """Give message to user."""
    os.system('notify-send "Atom updater" "{}"'.format(text))


def current():
    """Get current version."""
    f = os.popen("apt show atom 2>/dev/null | grep Ver")
    return f.read().split(' ')[1].strip()


def latest():
    """Get latest version."""
    upd_url = 'https://github.com/atom/atom/releases/latest'
    final = requests.get(upd_url).url
    return final.split('tag/v')[1]


def compare(cv, lv):
    """Compare versions."""
    return lv.split('.') > cv.split('.')


def upgrade(version):
    """Perform upgrade."""
    tempfile = '/tmp/atom.deb'
    url = (
        'https://github.com/atom/atom/releases/download/'
        'v{}/atom-amd64.deb'.format(version)
    )
    code = os.system(
        'rm -f {} && '
        'wget "{}" -O {} && '
        'dpkg -i {}'.format(tempfile, url, tempfile, tempfile)
    )
    return code == 0

if __name__ == '__main__':
    cv = current()
    try:
        lv = latest()
    except requests.exceptions.ConnectionError:
        print 'No network'
        exit(0)
    print 'Current version', cv
    print 'Latest version', lv
    result = compare(cv, lv)
    if result:
        print 'A new version is available!'
        msg('Updating Atom to version {}...'.format(lv))
        if upgrade(lv):
            msg('Update completed.')
        else:
            msg('Problem during update.')
    else:
        print 'Atom is updated.'

1

কম উবুন্টু-নির্দিষ্ট পদ্ধতির জন্য, আমি একটি ছোট অ্যাটম প্যাকেজ লিখেছিলাম যা প্রারম্ভকালে নতুন সংস্করণগুলির জন্য পরীক্ষা করে (বা আপনি এটমের মধ্যে একটি হ্যান্ডি কমান্ড দিয়ে ম্যানুয়ালি পরীক্ষা করতে পারেন)।

এটি প্ল্যাটফর্মটি স্বাধীন (তাই এটি কোনও লিনাক্স ডিস্ট্রো, উইন্ডো ইত্যাদিতে কাজ করে ...)।

আপনি স্থিতিশীল চ্যানেল বা বিটাও পর্যবেক্ষণ করা, বিজ্ঞপ্তি থাকা, কোন ধরণের এবং সেগুলি খারিজযোগ্য হওয়া উচিত ইত্যাদি ইত্যাদি কয়েকটি বিষয় কনফিগার করতে পারেন)

এটা আছে না (অন্তত এখন জন্য!) স্বয়ংক্রিয়ভাবে প্যাকেজ আপডেট করুন। ভবিষ্যতে সেই বৈশিষ্ট্যটি যুক্ত করতে পারে যদি এতে যথেষ্ট আগ্রহ থাকে।

মতামত স্বাগত, গিথুব টিকিট হিসাবে সেরা।


আপনার গিটহাব পৃষ্ঠাটি পরিবর্তন করার জন্য পরামর্শ: ব্যবহারের শিরোনামের অধীনে " আন্ডার কেন" গিজারThe package check for new version of Atom at launch দিয়ে প্রতিস্থাপন করবেন ? প্রতিস্থাপন শিরোনাম সঙ্গেThe package checks for a new version of Atom at launchoutadet Atomoutdated Atom
Karel

@karel - ধন্যবাদ, সম্পন্ন । কিছু ত্রুটি এই বাগের কারণে হয়েছিল । :)
ম্যাক

0

আপনি যদি উত্স থেকে বিল্ডিং করেন, আমি এটি একটি ছোট স্ক্রিপ্টের মাধ্যমে করব:

cd "/home/YOUR_USER/gitmisc/atom/"
git pull
cd script/
sudo ./build --install                   

0

6 মে, 2016

অ্যান্ডি রিচার্ডসন অ্যাটম-আপডেটার-লিনাক্স তৈরি করেছিলেন । এটি অ্যাটম প্যাকেজ, এটি চালিয়ে আপনি এটি আপনার পরমাণুতে রাখতে পারেন:

apm install atom-updater-linux

আরও তথ্যের জন্য সংগ্রহস্থলের পরামর্শ নিন


0

অন্যান্য উবুন্টু রূপগুলি ডিফল্টরূপে নেই এমন নোটিফিকেশন -এর উপর নির্ভরতা অপসারণ করতে অ্যান্ড্রিয়া লাজারোত্তোর পাইথন স্ক্রিপ্টে দু'টি মোড এবং সেখানে হ্যান্ডেল রয়েছে যেখানে ইতিমধ্যে অ্যাটমের একটি অনুলিপি ইনস্টল করা হয়নি। এছাড়াও, এটি উল্লেখ করা উচিত যে অন্যান্য নির্ভরতাগুলিও আপনার খুব দরকার need

sudo apt-get পাইথন-অনুরোধগুলি git gvfs-bin ইনস্টল করুন

কিছু অন্যান্য উপ-নির্ভরতা পেতে আমাকেও নিম্নলিখিতটি চালাতে হয়েছিল ...

sudo apt-get -f ইনস্টল করুন

#!/usr/bin/env python
import os
import requests

def msg(text):
  """Give message to user."""
  os.system('notify-send "Atom updater" "{}"'.format(text)
  + ' 2>/dev/null '
  +'|| echo "{}"'.format(text))

def current():
    """Get current version."""
    f = os.popen("apt show atom 2>/dev/null | grep Ver")
    result = f.read()
    if result:
      return result.split(' ')[1].strip()
    return "0.0"

def latest():
    """Get latest version."""
    upd_url = 'https://github.com/atom/atom/releases/latest'
    final = requests.get(upd_url).url
    return final.split('tag/v')[1]

def compare(cv, lv):
    """Compare versions."""
    return lv.split('.') > cv.split('.')

def upgrade(version):
    """Perform upgrade."""
    tempfile = '/tmp/atom.deb'
    url = (
        'https://github.com/atom/atom/releases/download/'
        'v{}/atom-amd64.deb'.format(version)
    )
    code = os.system(
        'rm -f {} && '
        'wget "{}" -O {} && '
        'dpkg -i {}'.format(tempfile, url, tempfile, tempfile)
    )
    return code == 0

if __name__ == '__main__':
    cv = current()
    try:
        lv = latest()
    except requests.exceptions.ConnectionError:
        print 'No network'
        exit(0)
    print 'Current version', cv
    print 'Latest version', lv
    result = compare(cv, lv)
    if result:
        print 'A new version is available!'
        msg('Updating Atom to version {}...'.format(lv))
        if upgrade(lv):
            msg('Update completed.')
        else:
            msg('Problem during update.')
    else:
        msg('Atom is updated.')

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