私が間違っていない場合は、18.04以降のベータでapt update && apt upgrade
を統合する新しいコマンドがあり、いくつかの引数-u
または-d
があります。
私は正しいですか、または同様のものがありますか?
これは保留中の機能リクエスト( LP#1709603 )であり、私が知る限り、それに対する開発アクティビティはありません(どちらにも Ubuntu またはon Debian ).
ただし、add-apt-repository
を使用してPPAを追加するときに更新を自動的に実行する実装機能があります(および、この動作がデフォルトになったため変更された関連オプション)。
コマンドalias
を使用してターミナルで設定します。たとえば、次のように、このために新しく定義したコマンドを使用します。
alias update='Sudo apt-get update && Sudo apt-get dist-upgrade'
次に、新しいコマンド「update」があり、ターミナルで「update」と入力すると、後戻りできます。
残念ながら、その変更が含まれるのではないかと疑っていますが、他の回答と同様のことを、これまでと同様に、いくつかの特別な機能を追加して行うことができます。
/usr/local/bin/update
のスクリプトこれには、これまでの他の答えにはない次のような利点があります。
Sudo apt-get update
に時間がかかる場合、Sudo apt-get upgrade
が再度パスワードを要求する可能性があるという問題が完全に回避されるため、アップグレードパッケージを期待して昼休みから戻ってきて、しばらく待つ必要がありますそれらをダウンロードしてインストールします。Sudo
ユーザーに対して機能します。Sudo apt update && Sudo apt upgrade
よりも多くのパッケージアップグレード関連のタスクを実行します。I これをしばらく前に投稿しました ですので、ここに含めます。
ターミナルを開きます(押す Ctrl+Alt+T)および実行:
Sudo touch /usr/local/bin/update
Sudo chmod 0755 /usr/local/bin/update
Sudo nano /usr/local/bin/update
次を端末に貼り付けます。
#!/bin/bash
if [ "$( /usr/bin/id -u )" -ne "0" ] ; then
echo 'Please run using Sudo.'
exit 1
fi
set +e
/bin/rm -f /var/cache/app-info/xmls/fwupd.xml
/usr/bin/snap refresh
/usr/bin/apt update
/usr/bin/appstreamcli refresh --force
/usr/bin/apt-file update
/usr/bin/apt full-upgrade -y
/usr/bin/apt autoremove --purge -y
/usr/bin/apt clean
/usr/bin/fwupdmgr refresh
/usr/bin/fwupdmgr update
/usr/bin/updatedb
/sbin/fstrim --all
/usr/lib/update-notifier/update-motd-reboot-required
変更する可能性のある事項について以下のセクションをお読みください。必要に応じて変更を加えます。
nano
を終了します。これで次のように実行できます:
Sudo update
気に入らないものは自由にカスタマイズしてください。新しいコマンドを追加して、アップグレードに関連する追加のハウスキーピングタスクを実行することもできます。
これはapt full-upgrade
ではなくapt upgrade
を使用することに注意してください。パッケージを削除できます。また、apt autoremove --purge
を使用して、不要になったと思われるパッケージを削除します(最新の2つより古いカーネルなど)、構成とともにファイル。
また、Sudo
を使用してスクリプト全体を実行しているため、どの行もSudo
を必要としないことに注意してください。
コマンドの機能は次のとおりです。
Sudo
(if
-fi
ブロック)でスクリプトを実行する必要があります。set +e
)があっても、さらにコマンドを続行します。apt-file
のメタデータを更新します。 apt-file list package-name
は、パッケージがインストールしているファイルを見つける良い方法です(または、dpkg -S /path/to/file
は、ファイルがどのパッケージに属しているかを見つける良い方法です)。full-upgrade
を実行します。locate
コマンド(/home
以外のファイルをすばやく見つける方法)データベースを、上記のすべての更新後に現在存在するファイル名で更新します。~/.bashrc
ファイルを編集して、これを追加します。
update () {
Sudo apt-get update
Sudo apt-get upgrade "$@"
}
ファイルを保存し、開いているターミナルを閉じて、新しいターミナルを開きます。
コマンドラインから次のようにテストします。
$ update -s
Hit:1 http://archive.canonical.com/ubuntu xenial InRelease
Hit:2 http://security.ubuntu.com/ubuntu xenial-security InRelease
Ign:3 http://dl.google.com/linux/chrome/deb stable InRelease
Hit:4 http://ca.archive.ubuntu.com/ubuntu xenial InRelease
Hit:5 http://ppa.launchpad.net/fossfreedom/indicator-sysmonitor/ubuntu xenial InRelease
Hit:6 http://ca.archive.ubuntu.com/ubuntu xenial-updates InRelease
Hit:7 http://dl.google.com/linux/chrome/deb stable Release
Hit:9 http://ca.archive.ubuntu.com/ubuntu xenial-backports InRelease
Hit:10 http://ppa.launchpad.net/peek-developers/stable/ubuntu xenial InRelease
Hit:11 http://ppa.launchpad.net/webupd8team/Java/ubuntu xenial InRelease
Reading package lists... Done
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
binutils google-chrome-stable
2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Inst google-chrome-stable [69.0.3497.92-1] (69.0.3497.100-1 Google:1.0/stable [AMD64])
Inst binutils [2.26.1-1ubuntu1~16.04.6] (2.26.1-1ubuntu1~16.04.7 Ubuntu:16.04/xenial-updates [AMD64])
Conf google-chrome-stable (69.0.3497.100-1 Google:1.0/stable [AMD64])
Conf binutils (2.26.1-1ubuntu1~16.04.7 Ubuntu:16.04/xenial-updates [AMD64])
しばらくSudo
コマンドを使用していない場合、パスワードの入力を求められます。
ユーザー固有のスクリプティングに頻繁に使用する別のオプションは次のとおりです。
cd
mkdir bin
cd bin
nano up
基本的には、bashがすべてのユーザーで検索し、再起動すると更新されるbinフォルダーを作成します。あなたが話しているような単純な更新スクリプトに必要なのはこれだけです:
#!/bin/bash echo "System Upgrade Commencing!" Sudo apt update Sudo apt upgrade echo "System Upgrade Complete!"
Ctrl + X、Y、Enter
up
そして出来上がり。更新およびアップグレード用のシンプルなスクリプト。個人的には、「Sudo apt upgrade -y」、アップタイム、日付、およびアップグレード後の「Sudo apt autoremove」、「Sudo apt autoclean」などの他のツールなど、自動化のためにスクリプトにさらに多くを追加します。 DPKGにエラーの可能性を問い合わせたり、ハードディスクの障害をチェックしたり、マシンで実行中の現在のプロセスを一覧表示したりする場合、不適切にインストールされたパッケージをチェックすることにより、複雑さを軽減します。スクリプティングは、冒険と喜び、幸運、そして楽しみの自由な土地です。