До этого пользавался Федорой, привык к yum. Понимаю, что вопрос элементарный, но что-то туплю, никак не могу найти какую команду нужно дать, чтобы после изменения sources.list APT перечитывал содержимое репозиториев.
И ещё, грамотно ли у меня заполнено содержимое файла sources.list?
deb ftp://ftp.chg.ru/pub/Linux/debian/ stable contrib main non-free
deb-src ftp://ftp.chg.ru/pub/Linux/debian/ stable contrib main non-free
deb ftp://ftp.chg.ru/pub/Linux/debian-security/ stable/updates contrib main non-free
deb-src ftp://ftp.chg.ru/pub/Linux/debian-security/ stable/updates contrib main non-free
deb ftp://ftp.chg.ru/pub/Linux/debian-volatile/ stable/volatile contrib main non-free
deb-src ftp://ftp.chg.ru/pub/Linux/debian-volatile/ stable/volatile contrib main non-free
deb ftp://ftp.chg.ru/pub/Linux/debian-volatile/ stable/volatile-sloppy contrib main non-free
deb-src ftp://ftp.chg.ru/pub/Linux/debian-volatile/ stable/volatile-sloppy contrib main non-free
И ещё? Как тут поиск пакетов осуществляется. Ну поиск по имени пакета это понятно "apt-cache search". А как искать по описанию или по именам файлов, входящих в состав пакета?
Q: Я хочу определить в каком пакете необходимый мне файл (libodbc.so)
А: apt-file утилита поиска по содержимому пакетов.
apt-file update - получает файл Contents-<ARCH>.gz, следует учесть, что исходя из того, что проект Debian довольно большой, то и файл получится соответствующий.
apt-file search <файл> - поиск пакета с указанным файлом
Пример:
apt-file search libodbc.so
unixodbc: usr/lib/libodbc.so.1
unixodbc: usr/lib/libodbc.so.1.0.0
unixodbc-dev: usr/lib/libodbc.so
SLEDopit, а так ли это хорошо, что вдруг система вся целиком обновляется, а ты даже и не подготовился? =) Конечно, можно заподозрить неладное по количеству пакетов, но можно и пропустить
SLEDopit
смена дистрибутива не автоматизирована, слава богу.
и лучше проводить её в удобный для себя момент, а не в тот, в который используемое зеркало обновится.
SLEDopit
после обновления зеркала у вас в contents.gz будут некорректные ссылки. да, многие из них будут работать (далеко не все пакеты меняют версию от одного конкретного дистрибутива до другого), но самые «ходовые» — нет.
а после aptitude update вы получите актуальный contetns.gz, вот только пакеты в нём будут от нового дистрибутива. со всеми вытекающими.
впрочем, это я сгущаю краски, скорее всего, aptitude достаточно умён и страшного ничего не будет. просто предложит обновить всю систему. как раз в тот момент, когда вам _срочно_ потребуется поставить какую-то мелкую программку. по закону подлости.
впрочем, это я сгущаю краски, скорее всего, aptitude достаточно умён и страшного ничего не будет. просто предложит обновить всю систему. как раз в тот момент, когда вам _срочно_ потребуется поставить какую-то мелкую программку. по закону подлости.
С чего вдруг aptitude это "предложит" без получения явной команды {safe,full}-upgrade?
Кстати, я уже и не помню, когда такую команду давал последний раз. Предпочитаю обновляться выборочно; полностью ставлю только security.
нет, конечно, предложения «upgrade y/n» при aptitude update быть не может.
не помню, что там пишет aptitude, если не обнаруживает в репозитории пакета при установке. кажется, таки предлагает сделать update?
если да, то такое сообщение выглядит более чем нелогичным после ротации веток. и, будь я в числе разработчиков aptitude, я бы заложил нужную логику, вычисляющую, что произошла ротация. с корректировкой уведомления, что не update надо бы выполнить, а upgrade.
если да, то такое сообщение выглядит более чем нелогичным после ротации веток. и, будь я в числе разработчиков aptitude, я бы заложил нужную логику, вычисляющую, что произошла ротация. с корректировкой уведомления, что не update надо бы выполнить, а upgrade.
На мой взгляд, это излишние умствования, которых unix-way-ная программа и должна избегать.
Поясню. Единственный разумный вариант держать в sources.list имена stable и testing вместо конкретных веток -- это машина, обновляемая достаточно часто. В случае со stable добавляется ещё одно условие: stable это не единственная используемая ветка. В таком случае выход нового stable не будет большим сюрпризом. Если же используется только чистый stable, то логичнее писать в sources.list имя конкретной ветки.