CLIで4週間ごとに行われる更新を確認し、ソフトウェアソースにアクセスせずにそれらを自動的にインストールする方法


10

インストール後に自分のコンピューターで実行する一連のカスタムコマンドがあります。Ubuntuで4週間ごとに更新をチェックし、チェック時に自動的にインストールする方法を教えてください。

コンピューターをセットアップするときに、通常のユーザー用にセットアップできるように、コマンドラインから実行する必要があります。

最初のコマンドは、更新マネージャーが2週間ごとに更新をチェックするようにします。これは、更新が常に多くなるわけではなく、Ubuntuサーバーの帯域幅を節約するためです。

また、友人がコンピューターをセットアップするのを手伝うたびに疲れるので、ユーザーがクリックして更新をインストールする必要がないように設定する必要もあります。

回答:


10

まず、次のような自動更新を有効にします。

sudo apt-get install unattended-upgrades

次に、その構成を編集する必要があります。

sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

nano必要に応じて、お好みのテキストエディターに置き換えます)

ファイルは次のようになります。

Unattended-Upgrade::Allowed-Origins {
        "Ubuntu maverick-security";
//      "Ubuntu maverick-updates";
};

//この行があることを意味コメントセキュリティ修正に加え、安定したリリースの更新が含まれるようにストロークを削除し、プログラムによって考慮されることはありません。また、maverick実行しているUbuntuのバージョンに置き換えます。

システムが更新を確認する間隔を設定するに/etc/apt/apt.conf.d/10periodicは、テキストエディターでファイルを編集します。

APT::Periodic::Update-Package-Lists "14";
APT::Periodic::Download-Upgradeable-Packages "14";
APT::Periodic::AutocleanInterval "14";
APT::Periodic::Unattended-Upgrade "14";

この例では、システムは2週間ごとに更新されます。

詳細については、Ubuntuサーバーガイドの「自動更新」を参照してください。


パプカイジャの答えは、更新マネージャーのダイアログが画面にポップアップする間隔について話していることに注意してください。私はそれがあなたが望まないことではないと思いますが、私にはわかりません。:)


ダイアログはポップアップする必要がなく、1行で表示されません。ソフトウェアソースを2週間チェックするように設定した場合、更新ダイアログが先にまたは後でポップアップする可能性がありますか?必要なのは、ユーザーがシステムを4週間ごとに更新していることを知らなくても、1行でセットアップできることであり、更新を要求し、自動的にインストールされるのを確認する必要はありません。したがって、ソフトウェアソースでマウスを使用して手動で設定する必要はありません。
カンガルー2011年

分かりますか?システム→設定→スタートアップアプリケーションに移動し、「Update Notifier」のチェックマークを外すと、更新通知を無効にできます。それはあなたが意味したことですか?また、もちろん、「14」日ではなく「30」(または任意の量)に設定できます
ステファノパラッツォ

そして、それは1行で行うこともできますか?はいの場合は、そうでない場合も行うのが良いです。主なことは、ソフトウェアソースの設定に行って更新チェックを変更し、何をすべきかを克服することです。28日ごとにチェックを入れて、ターミナルで何も尋ねずにアップデートをインストールしたいので、より速くしたいと思います。
カンガルー2011年

私の回答の1行のコマンド:apt-get update && apt-get upgrade -y
luri

@luriそれはこの質問についてではありません
ステファノパラッツォ

2

すべてを「更新可能」に更新する、つまりすべてのパッケージを更新する場合、28日ごとにapt-get update && apt-get upgrade -y実行するよりも(ルートcron内で)cronを実行できると思います。

一部の人々は制限的なPATH設定のためにcrondジョブで問題を抱えています。問題が発生した場合PATHは、crontab -eファイルの先頭で定義できます(CronHowtoで提案されています)。

また、すべてが正常に行われていることを確認するために、次のように結果を記録します。

root@PORTATIL:/var/log$ crontab -l
* * */2 * * /usr/share/myupdate.sh > /var/log/myupdate.log

myupdate.sh 次のように簡単にすることができます:

#!/bin/bash
#Testing updates
echo "$(date) Crond myupdate sarting."
apt-get update -y
apt-get upgrade -y
echo "$(date)Crond myupdate finished."

これは私にはうまくいきません。私のcronログを取得aptitude -y safe-upgradeすると、制御ttyが必要であるという不満があり、その後に一連のパスエラーが発生します。多分私は質問をする必要があります..
djeikyb '28

ルートcron内で設定しましたか?
luri

うん。いくつかの異なるパスの問題が原因で失敗していたため、/ root / binに#!/ bin / bashとapt-getへの完全パスを使用してスクリプトを作成しました。それはよりよく機能しますが、それでもアップグレードしません。
djeikyb '28年

ログにエラーを投稿する....または失敗したもの
luri

別の質問をしました:askubuntu.com/q/23795/8515
djeikyb

1

gconf-editorを開いて(たとえば、Alt + F2を押してgconf-editorと入力すると)、update-managerが実行される時間間隔を変更できます。次にを見つけます/apps/update-notifier

間隔はregular_auto_launch_interval、値が日数であるキーで定義されます。この方法は、非グラフィカル自動アップデーター(無人アップグレード)には影響しないと思います。

バグのため、Ubuntuはセキュリティ更新を自動的にインストールしない場合があることに注意してください。


4
これは、この回答のコマンドラインバージョンですgconftool -s /apps/update-notifier/regular_auto_launch_interval --type int 7(7は
ステファノパラッツォ

私はそれがすでに7であったことを確認しましたが、ソフトウェアではそのセットを2週間調達しました。多分それはどこか?
カンガルー

0

私はgconftool -s /apps/update-notifier/regular_auto_launch_interval --type int 1毎日アップデートをインストールしていないことを示し、そのオープニングを入れました。新しい更新がない場合は開きますか?それでは、4週間ごとに自動更新を行っても、このポップアップは表示されませんか?それでは、CLIを使用して4週間ごとに更新を自動インストールする方法を教えてください。THats私が欲しいもの。ソフトウェアのソースに行くのではなく、マウスでそれを行うことによって。そうすることで、2週間以上そこに置くことはできません。

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