問題タブ [ubuntu-20.10]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
shell - パッケージのリストを使用して、Ubuntu 20.10 で apt-get update を実行する必要があるかどうかを判断するにはどうすればよいですか?
特定のパッケージに依存する多数のシェル スクリプトを作成しています。
たとえば、私のスクリプトの 1 つは と に依存しca-certificates
ていwget
ます。をまだ実行apt-get -y update
していない場合は、次のエラーが発生します。
パッケージ ca-certificates は利用できませんが、別のパッケージによって参照されています。これは、パッケージが見つからないか、廃止されたか、別のソースからしか入手できないことを意味する場合があります。
E: パッケージ 'ca-certificates' にはインストール候補があり
ません E: パッケージ wget が見つかりません
apt-get -y update
すべてのスクリプトで実行することは避けたいです。基本的に、次の 2 つのことを行うショートカット関数を作成したいと考えています。
- 必要な場合にのみ実行します
apt-get -y update
。 - インストールされていない/最新のパッケージのみをインストールします。
これまでの私の現在の機能は次のとおりです。
ubuntu - virtualbox が Ubuntu20.04 にインストールできない理由
virtualbox をインストールしようとしています。以前にインストールしましたが、動作しました。今日、別の仮想マシンを追加しようとしましたが、dkms の問題について不平を言い始めたので、次の失敗ですべてを削除してインストールしようとしました。
一部の出力をスキップせずに質問を送信できませんでした
dkms エラー
$ cat /var/lib/dkms/virtualbox/6.1.10/build/make.log DKMS make.log for virtualbox-6.1.10 for kernel 5.8.0-36-generic (x86_64) 1 月 12 日火曜日 12:40:32 GMT 2021 make: Entering directory '/usr/src/linux-headers-5.8.0-36-generic' CC [M] /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/linux/SUPDrv-linux .o
CC [M] /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/SUPDrv.o CC [M] /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/SUPDrvGip.o CC [M] /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/SUPDrvSem.o CC [M] /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/SUPDrvTracer.o CC [ M] /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/SUPLibAll.o CC [M] /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/r0drv/alloc-r0drv.o CC [M] /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/r0drv/initterm-r0drv.o
CC [M] /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/r0drv/memobj-r0drv.o
「cphp_state」のことですか? 760 | RTCCUINTREG uOld = this_cpu_read(cpu_tlbstate.cr4); | | ^~~~~~~~~~~~ ./include/linux/percpu-defs.h:318:9: 注: マクロ '<strong>pcpu_size_call_return' 318 の定義内 typeof(変数) pscr_ret;
| | ^~~~~~~~ /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/linux/SUPDrv-linux.c:760:24: 注: マクロ 'this_cpu_read' の展開で 760 | RTCCUINTREG uOld = this_cpu_read(cpu_tlbstate.cr4); | | ^~~~~~~~~~~~~ /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/linux/SUPDrv-linux.c:760:38: 注: 宣言されていない識別子はそれぞれ報告されます関数ごとに 1 回、760 | に表示されます。RTCCUINTREG uOld = this_cpu_read(cpu_tlbstate.cr4); | | ^~~~~~~~~~~~ ./include/linux/percpu-defs.h:318:9: 注: マクロ '<strong>pcpu_size_call_return' 318 の定義内 typeof(変数) pscr_ret;
| | ^~~~~~~~ /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/linux/SUPDrv-linux.c:760:24: 注: マクロ 'this_cpu_read' の展開で 760 | RTCCUINTREG uOld = this_cpu_read(cpu_tlbstate.cr4); | | ^~~~~~~~~~~~~ make[2]: *** [スクリプト/Makefile.build:290: /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/linux/SUPDrv -linux.o] エラー 1 .10/build/vboxdrv] エラー 2 make: *** [Makefile:1780: /var/lib/dkms/virtualbox/6.1.10/build] エラー 2 make: Leaving directory '/usr/src/linux-headers- 5.8.0-36-ジェネリック'