LEDEにインストールされているすべてのパッケージをアップグレードするにはどうすればよいですか?


回答:


54

単一のコマンドや引数はありませんが、簡単に実行できます。すべてのパッケージをアップグレードするには、LEDEは

opkg list-upgradable | cut -f 1 -d ' ' | xargs opkg upgrade 

AWKなどを使用する他の効率の悪い方法があります。

重要な注意点は、多くの場合、LEDE / OpenWrtの者を大量に使用して、以下のopkg

LEDEファームウェアは圧縮された読み取り専用パーティションに基本システムを保存するため、基本システムパッケージへの更新すべて読み取り/書き込みパーティションに書き込まれ、圧縮ベースの古いバージョンを上書きする場合よりも多くのスペースを使用しますシステムパーティション。内部フラッシュメモリの利用可能なスペースと、ベースシステムパッケージの更新に必要なスペースを確認することをお勧めします。


1
これを行う別の方法は、ループのシェルを使用することです。例えば、「opkg list-upgradable | cut -f 1 -d '' `; opkgアップグレード "$ a"を実行します。完了
スコット

5

opkg-upgradeより良い方法でアップグレードに対処するために呼び出される小さなスクリプトを作成しました。

githubで入手できます:https :
//github.com/tavinus/opkg-upgrade

次のように簡単にアップグレードできます。
opkg-upgrade

Curl / Wgetのインストール手順はこちら!


readme.mdファイルで述べたように、アップグレードには問題があるかもしれません。

考えられる問題:

  • squashfsの問題(ROMは読み取り専用であるため、アップグレードにはフラッシュまたはextrootに余分なスペースが必要です)
  • dev / trunk(ベータ)の問題(ベータ版はアップグレード時にソフトブリックできます)
  • スペースの問題(ダウンロードとインストールに十分な空きスペースが必要)

また、CRONからのアップグレードは非常に悪い考えです。
通常のLinuxディストリビューションでもブラインドアップグレードは良いアイデアではないと思います。
アップグレードで問題が発生する可能性のあるものはたくさんあります。OpenWrtは通常、ブリック可能なデバイスで実行されるため、無人で実行するのはあまり意味がありません。

要するに、私がこれまでにアップグレードする唯一のケースは次のとおりです。

  • 巨大なUSBスティックでextrootを使用する場合
  • 内部フラッシュが32Mb以上の場合
  • dev / trunkを使用しない場合(ベータ)
  • 十分なスペースがあるext4 FSで実行している場合(x86メタル、VMなど)

それでも、cronからアップグレードすることはありません。
また、内部フラッシュ(大きなフラッシュでも)をアップグレードする前に20回考えます。

私のスクリプトには、利用可能な更新を含む電子メールレポートを送信するオプションがあります。
したがって、レポートツールをcronに追加することをお勧めします。そうすれば、ユーザーは電子メールを受信した後に手動でアップグレードできます。これにより、物事がより安全になり、アップグレードを修正するオプションも提供されます。

乾杯!
ガス

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.