Как проверить, установлен ли VLC 64-разрядный или 32-разрядный?

Мой однострочный файл для удаления старых ядер (это также освобождает место на диске)

dpkg --list | grep linux-image | awk '{ print $2 }' | sort -V | sed -n '/'`uname -r`'/q;p' | xargs sudo apt-get -y purge

Объяснение (помните, | использует вывод предыдущей команды как входной для следующего)

dpkg --list перечисляет все установленные пакеты grep linux-image ищет установленные изображения linux awk '{ print $2 }', просто выдает второй столбец (который является именем пакета) sort -V помещает элементы в порядок по номеру версии [ f9] печатает строки до того, как текущее ядро ​​xargs sudo apt-get -y purge очистит найденные ядра

Разматывание вызова sed:

dpkg --list перечисляет все установленные пакеты [!d3 ] `uname -r` выводит текущую установленную версию ядра - мы включаем ее в обратные так, чтобы выход включался как часть команды (вы также можете видеть это как $(uname -r) grep linux-image ищет установленные изображения linux [ ! d4] p is print awk '{ print $2 }' просто выводит второй столбец (который является именем пакета)

в целом, sed -n '/'`uname -r`'/q;p' печатает строки до тех пор, пока они не совпадут с текущее имя ядра.

Если вы параноидально (как и я), вы можете e последняя часть xargs echo sudo apt-get -y purge, так что команда для очистки старых ядер печатается, тогда вы можете проверить, что перед ее запуском ничего неожиданного не было.

Модифицированная версия для удалить заголовки:

dpkg --list | grep 'linux-image' | awk '{ print $2 }' | sort -V | sed -n '/'"$(uname -r | sed "s/\([0-9.-]*\)-\([^0-9]\+\)/\1/")"'/q;p' | xargs sudo apt-get -y purge
dpkg --list | grep 'linux-headers' | awk '{ print $2 }' | sort -V | sed -n '/'"$(uname -r | sed "s/\([0-9.-]*\)-\([^0-9]\+\)/\1/")"'/q;p' | xargs sudo apt-get -y purge

Примечание: вызов sed изменен. "$(uname -r | sed "s/\([0-9.-]*\)-\([^0-9]\+\)/\1/")" извлекает только версию (например, «3.2.0-44») без «-генерического» или аналогичного с uname -r

Версия «все-в-одном» для удалить изображения и заголовки (объединяет две версии выше):

echo $(dpkg --list | grep linux-image | awk '{ print $2 }' | sort -V | sed -n '/'`uname -r`'/q;p') $(dpkg --list | grep linux-headers | awk '{ print $2 }' | sort -V | sed -n '/'"$(uname -r | sed "s/\([0-9.-]*\)-\([^0-9]\+\)/\1/")"'/q;p') | xargs sudo apt-get -y purge
1
задан 20 September 2014 в 05:27

1 ответ

В качестве альтернативы вы можете спросить систему упаковки, что вы установили:

$ dpkg -s vlc    
Package: vlc
Status: install ok installed
Priority: optional
Section: video
Installed-Size: 3765
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Version: 2.1.4-0ubuntu14.04.1
...

Здесь показано, что архитектура amd64 или 64-разрядная.

[ ! d2]

Не проблема с vlc, подход file может завершиться неудачно с очевидными именами программ для некоторых пакетов, например firefox:

$ file $(which firefox)
/usr/bin/firefox: symbolic link to `../lib/firefox/firefox.sh' 

Вы могли бы следовать ссылку, но тогда вы будете смотреть на скрипт.

0
ответ дан 24 May 2018 в 03:33

Другие вопросы по тегам:

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