Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: bash проверка  (Прочитано 1758 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Admincheg

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
bash проверка
« : 24 Января 2009, 17:50:17 »
Доброго времени суток (:

У меня такой вопрос. Как сделать проверку в сценарии, установлен пакет или нет?
(изрыл весь гугл и форум, может не о том спрашиваю?)

Пока вы там жируете, вопрос решен:
Цитировать
Ну и вдогонку вопрос.
Есть например два (может и больше) файла с одинаковым именем, но разной версией (Например: acpi-support_0.109-0hardy2_i386.deb и acpi-support_1.109-0hardy2_i386.deb) Нужно найти более новый и удалить все старые.

Ищу ответ на первый вопрос
« Последнее редактирование: 24 Января 2009, 21:21:51 от Admincheg »
Arch Linux (2.6.31.6)

Оффлайн Nebulosa

  • Активист
  • *
  • Сообщений: 397
    • Просмотр профиля
Re: bash проверка
« Ответ #1 : 24 Января 2009, 21:35:43 »
1. apt-cache policy <имя пакета>

2. Условия:
*) все файлы (пакеты с разными версиями) лежат в одной папке
*) создана папка new (удаление пакетов не будет происходить, а просто новые пакеты будут копироваться в нее, так безопасней)
*) ключом (по которому будем сличать пакеты) является имя пакета до первого подчеркивания

тогда:
for r in `ls -1 | egrep -o "^[^_]+" | uniq`; do cp -t new $(ls $r* -1 | tail -1); done;
« Последнее редактирование: 24 Января 2009, 21:54:06 от Nebulosa »

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
Re: bash проверка
« Ответ #2 : 26 Января 2009, 15:51:58 »
apt-cache еще ставить дополнительно надо.

aptitude show имя_пакета | grep State
На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

Оффлайн Admincheg

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Re: bash проверка
« Ответ #3 : 26 Января 2009, 19:18:41 »
apt-cache еще ставить дополнительно надо.

aptitude show имя_пакета | grep State

А теперь рассказываю прикол (:
Эта вещь будет работать в англозычной версии только (: Ибо в русской он называется "Состояние"
Arch Linux (2.6.31.6)

Оффлайн mazut

  • Забанен
  • Активист
  • *
  • Сообщений: 703
  • да, не заходи ты сюда!
    • Просмотр профиля
Re: bash проверка
« Ответ #4 : 26 Января 2009, 19:50:28 »
aptitude search пакет
достаточно нескольких букафф
i значит заинстален
кто называет прогу или скрипт русскими буквами? Подумай.
Патрикеич.
Под наблюдением.

Оффлайн Admincheg

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Re: bash проверка
« Ответ #5 : 27 Января 2009, 08:25:42 »
Ну смотри. Вот я беру на проверку прогу типа linuxdcpp

aptitude show linuxdcpp
Пакет: linuxdcpp
[b]Состояние: не установлен[/b]
Версия: 1.0.1-1

Вот, а в англоязычной системе это выглядит так
aptitude show linuxdcpp
Package: linuxdcpp
[b]State: not installed[/b]
Version: 1.0.1-1

Играем в простую игру, ищем отличия
« Последнее редактирование: 27 Января 2009, 08:28:51 от Admincheg »
Arch Linux (2.6.31.6)

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
Re: bash проверка
« Ответ #6 : 27 Января 2009, 11:27:40 »
А dpkg-query -s ?

Не люблю я русские буквы...
На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

 

Страница сгенерирована за 0.073 секунд. Запросов: 21.