如何自动更新 Atom 编辑器?

如何自动更新 Atom 编辑器?

自动更新原子Ubuntu 尚不支持该功能。摘自其 GitHub 存储库:

目前仅提供 64 位版本。

从 Atom 发布页面下载 atom-amd64.deb。在下载的软件包上运行 sudo dpkg --install atom-amd64.deb。使用已安装的 atom 命令启动 Atom。Linux 版本目前不会自动更新,因此您需要重复这些步骤才能升级到未来版本。

我尝试使用Webupd8 PPA但它对我不起作用。

答案1

总结如果你不想使用电力供应协议,您可以使用脚本通过cron下载并自动安装。


  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. 为脚本创建一个 cronjob

    sudo crontab -e
    
  6. 添加此行

    例如:每周上午 10 点

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

    例如:每天上午 10 点

    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

      下载 DEB 文件

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

    安装 DEB 文件

答案2

AB的答案是一个很好的解决方案!我在 bash 代码中添加了显示进度条选项来通知进度: 

#!/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

答案3

与上一个答案稍作修改,以便在启动时进行更新,以下是程序

  1. 通过运行命令创建文件:

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

    然后输入以下脚本(使用文本编辑器如“gedit”或“mousepad”而不是“nano”更方便)然后保存它。

    #!/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
    
  2. 要使文件可执行:

     sudo chmod +x /usr/local/bin/atom-update
    
  3. 现在你可以通过输入以下命令手动更新 Atom:

     sudo atom-update
    
  4. 登录到您的根目录,然后在命令之前将以下行添加到/etc/rc.localsudo nano /etc/rc.local) :exit 0

     /usr/local/bin/atom-update  
    

这将使每次打开电脑时执行 atom 更新脚本。

  1. 要检查脚本在启动时是否正常运行,请重新启动电脑并打开终端,然后输入:

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

您将看到相应的日志消息。

答案4

好吧,如果脚本使用 beta 参数启动,则另一个更优雅的版本支持 beta 分支:$ 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

相关内容