Из источников, близких к сомнительных, нам достался deb пакет (например Skype, Opera, MySQL Workbench ...). Возникает желание поставить его быстро, а не заниматься удовлетворением зависимостей.
Как выяснилось, все очень просто:
dpkg -i имя_пакета.deb || apt-get -f install
или с sudo:
sudo dpkg -i имя_пакета.deb || sudo apt-get -f install
Теперь о том, что здесь происходит.
Оказывается dpkg -i сначала распаковывает пакет и регистрирует его в системе, и лишь потом проверяет удовлетворены ли все зависимости этого пакета. Получается, что пакет уже как бы установлен но в состоянии "not fully installed or removed" как отзывается о нем apt-get.
Ключ -f для apt-get говорит о том, что apt-get'у надо поправить все несуразности в базе пакетов т.е. установит все, что недоустановлено и удалить то, что недоудалено.
P.S. А самое удивительное во всей этой истории то, что до этого метода я додумался только сейчас!
Пару раз помог этот совет. Спасибо. Страница в закладках.
ОтветитьУдалитьфигня:
ОтветитьУдалитьdpkg -i имя_пакета.deb - ставит пакет
apt-get -f install - говорит что имя_пакета поломаный и удаляет его...
Короче ничего не получилось.
Скорее всего неободимой зависимости просто нету в репозитарии а apt-get -f install доставит зависимости только из репозитария.
Удалитьспасибо!
ОтветитьУдалить