web-dev-qa-db-ja.com

18.04またはそれ以降のベータ版でapt更新とaptアップグレードを組み合わせた新しいコマンドですか?

私が間違っていない場合は、18.04以降のベータでapt update && apt upgradeを統合する新しいコマンドがあり、いくつかの引数-uまたは-dがあります。

私は正しいですか、または同様のものがありますか?

3
JohnDoea

これは保留中の機能リクエスト( LP#1709603 )であり、私が知る限り、それに対する開発アクティビティはありません(どちらにも Ubuntu またはon Debian ).


ただし、add-apt-repositoryを使用してPPAを追加するときに更新を自動的に実行する実装機能があります(および、この動作がデフォルトになったため変更された関連オプション)。

5
muru

コマンドaliasを使用してターミナルで設定します。たとえば、次のように、このために新しく定義したコマンドを使用します。

alias update='Sudo apt-get update && Sudo apt-get dist-upgrade'

次に、新しいコマンド「update」があり、ターミナルで「update」と入力すると、後戻りできます。

6
dschinn1001

残念ながら、その変更が含まれるのではないかと疑っていますが、他の回答と同様のことを、これまでと同様に、いくつかの特別な機能を追加して行うことができます。

/usr/local/bin/updateのスクリプト

これには、これまでの他の答えにはない次のような利点があります。

  • これにより、Sudo apt-get updateに時間がかかる場合、Sudo apt-get upgradeが再度パスワードを要求する可能性があるという問題が完全に回避されるため、アップグレードパッケージを期待して昼休みから戻ってきて、しばらく待つ必要がありますそれらをダウンロードしてインストールします。
  • これにより、再起動が必要かどうか(新しいカーネルを取得した場合など)がわかります。
  • これは、あなただけでなく、すべてのSudoユーザーに対して機能します。
  • これは、一部のシステムでのBIOSのアップグレードやスナップのアップグレードなど、単なるSudo apt update && Sudo apt upgradeよりも多くのパッケージアップグレード関連のタスクを実行します。

I これをしばらく前に投稿しました ですので、ここに含めます。

  1. ターミナルを開きます(押す Ctrl+Alt+T)および実行:

    Sudo touch /usr/local/bin/update
    Sudo chmod 0755 /usr/local/bin/update
    Sudo nano /usr/local/bin/update
    
  2. 次を端末に貼り付けます。

    #!/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
    
  3. 変更する可能性のある事項について以下のセクションをお読みください。必要に応じて変更を加えます。

  4. 押す Ctrl+O ファイルを保存します。それは文字Oであり、ゼロではありません。
  5. 押す Enter ファイル名を受け入れます。
  6. 押す Ctrl+X nanoを終了します。

これで次のように実行できます:

Sudo update

あなたが変えたいと思うかもしれないもの

気に入らないものは自由にカスタマイズしてください。新しいコマンドを追加して、アップグレードに関連する追加のハウスキーピングタスクを実行することもできます。

これはapt full-upgradeではなくapt upgradeを使用することに注意してください。パッケージを削除できます。また、apt autoremove --purgeを使用して、不要になったと思われるパッケージを削除します(最新の2つより古いカーネルなど)、構成とともにファイル

また、Sudoを使用してスクリプト全体を実行しているため、どの行もSudoを必要としないことに注意してください。

コマンドの機能は次のとおりです。

  • Sudoif-fiブロック)でスクリプトを実行する必要があります。
  • 1つのコマンドにエラー(set +e)があっても、さらにコマンドを続行します。
  • ファームウェアを削除します(e)。g。、BIOS)更新メタデータ、したがって、これは最初のように見えるほど問題ではありません)。
  • snaps を最新バージョンに更新します。
  • APTパッケージ情報を更新します。
  • AppStream メタデータを更新します。
  • apt-fileのメタデータを更新します。 apt-file list package-nameは、パッケージがインストールしているファイルを見つける良い方法です(または、dpkg -S /path/to/fileは、ファイルがどのパッケージに属しているかを見つける良い方法です)。
  • APT full-upgradeを実行します。
  • 新しく不要なパッケージとその構成ファイルを削除します。
  • ダウンロードされて残されたAPTパッケージファイルを削除します。
  • ファームウェア更新メタデータを更新します。
  • 新しいファームウェアアップデートをインストールします。
  • locateコマンド(/home以外のファイルをすばやく見つける方法)データベースを、上記のすべての更新後に現在存在するファイル名で更新します。
  • SSDをトリミングします。 TRIMは、使用されなくなったディスク容量についてSSD自体に通知します(eg。、削除されて使用された容量ファイル)。これにより、ウェアレベリングが改善されます。
  • 再起動が必要な場合は、再起動が必要であるという通知を表示します(eg。、新しいカーネルのインストール後)。
4
Chai T. Rex

~/.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コマンドを使用していない場合、パスワードの入力を求められます。

3

ユーザー固有のスクリプティングに頻繁に使用する別のオプションは次のとおりです。

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にエラーの可能性を問い合わせたり、ハードディスクの障害をチェックしたり、マシンで実行中の現在のプロセスを一覧表示したりする場合、不適切にインストールされたパッケージをチェックすることにより、複雑さを軽減します。スクリプティングは、冒険と喜び、幸運、そして楽しみの自由な土地です。

0
Tmanok