Я хочу получить список всех пакетов, которые установлены на моем сервере, но команда dpkg --get-selections> ~ / Package.list ничего не делает! Когда я выполняю его, в корневой папке нет файла с именем package.list.
Пожалуйста, помогите мне срочно.
Вы должны выполнить ту же команду (нет необходимости запускать ее от имени пользователя root)
dpkg --get-selections > ~/InstalledPackages.list
Затем вы можете
cat ~/InstalledPackages.list
просмотреть содержимое.
Теперь, если вы не уверены, как это было обработано, вы можете
cd ~
pwd
И все.
Используйте dpkg-query
, эта команда точно предназначена для того, что вам нужно: запрос к базе данных пакетов. Быстрый man dpkg-query
скажет вам больше, однако вы можете попробовать dpkg-query --list
или dpkg-query -- show
.
Вы сказали, что заглянули в корневую папку, но с помощью «~» вы четко указываете на домашнюю папку. Корнем будет /Package.list или - / Package.list. Проверьте в домашней папке.
РЕДАКТИРОВАТЬ: Как я вижу сейчас, хотя мой ответ был правильным, он мог быть неясным для нового пользователя. Я прошу прощения за введение дополнительной путаницы. @ 0R10N спасибо за хороший пример :)
Если вы хотите получить версии некоторых установленных пакетов, вы можете передать команды следующим образом:
dpkg --get-selections | awk '/php/{print $1}' | xargs dpkg-query --show $1
ваш вывод будет выглядеть следующим образом:
libapache2-mod-php5 5.3.2-1ubuntu4.29
php5-cli 5.3.2-1ubuntu4.29
php5-common 5.3.2-1ubuntu4.29
php5-gd 5.3.2-1ubuntu4.29
php5-mcrypt 5.3.2-0ubuntu1
php5-mysql 5.3.2-1ubuntu4.29
php5-xsl 5.3.2-1ubuntu4.29
phpmyadmin 4:3.3.2-1ubuntu1
Что с этими ответами LOL весь этот вопрос задает простой список вывода dpkg,
dpkg --list | less
dpkg -l | more
dpkg-query -l | tail
dpkg-query --list | head
diff <(ps aux| grep x) <(pgrep x)
apt-file list "package"
попробуй, может сработает, у меня сработает.
dpkg -l