Yum не может обновить виртуальный ящик в Centos

Использование statдля замены lsне является каплей -в замене, так что, несмотря на все благие -предостережения против синтаксического анализа ls, я могу оценить соблазн...

Вот почти эквивалент ls -aв текущем каталоге:

find. -maxdepth 1 -print0|xargs -0 stat --format="%A %U %G %n"

Вот самое близкое, что я мог получить:

find. -maxdepth 1 -print0\
|awk 'BEGIN{RS="\0";FS="/";ORS="\0"}{if(/\//){print $2}else{print}}'\
|xargs -0 stat --format="%A %U %G %n"\
|LC_COLLATE=C sort -k4 

Теперь, чтобы взять аргумент вместо простого ., вы должны поместить его в функцию вроде этой:

function ls4up() {
    find. -maxdepth 1 -print0\
    |awk 'BEGIN{RS="\0";FS="/";ORS="\0"}{if(/^[^\/][^\/]*\//){print $2}else{print}}'\
    |xargs -0 stat --format="%A %U %G %n"\
    |LC_COLLATE=C sort -k4 
}

Итак, теперь вы видите, как легко использовать statвместо того, чтобы пытаться анализировать вывод lsили что-то в этом роде. /с

1
10.05.2021, 23:12
2 ответа

НетVirtualBox-6.0(6.0-части его имени, не версии )пакета, доступного в репозитории, поэтому вы не можете запустить dnf upgrade.

Вам нужно

rpm -e VirtualBox-6.0
dnf install VirtualBox-6.1

dnf remove VirtualBox-6.0также будет работать, но для отдельных пакетов я предпочитаю использовать rpmнапрямую, так как это намного быстрее.

3
28.07.2021, 11:33

Вот шаги, которые я выполняю, чтобы обновить виртуальную коробку:

  1. Выключите все виртуальные машины и закройте Virtual Box
  2. Завершить все процессы, связанные с виртуальным ящиком. Я нашел их с помощью этой команды:
ps aux | grep virtual

и я убил их:

kill -9
  1. Удалить виртуальный ящик и перезагрузить:
sudo yum remove VirtualBox-6.0.x86_64
sudo reboot
  1. Установите все обновления Centos и перезагрузите сервер:
sudo yum update
sudo reboot
  1. Установите новый виртуальный ящик и перезагрузитесь:
sudo yum install VirtualBox-6.1.x86_64
sudo reboot
0
28.07.2021, 11:33

Теги

Похожие вопросы