Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Почему не подключаться шрифт?

Лучший ответ:
Я как-то больше доверяю вот такой записи:@font-face {
  font-family: 'JournalItalic';
  src: url('../../fonts/JournalItalic/JournalItalic.eot');
  src: local('☺'), url('../../fonts/JournalItalic/JournalItalic.woff') format('woff'),
  url('../../fonts/JournalItalic/JournalItalic.ttf') format('truetype'),
  url('../../fonts/JournalItalic/JournalItalic.svg') format('svg');
  font-weight: normal;
  font-style: normal;
}
пути свои конечно же, и при условии что папка с фонтами присутствует в проекте - все должно работать.

Худший ответ:
Прикрепите файл/выложите на Yandex.Disk/Google Drive. Проблема с файлом. Что-то не так пошло.
Вопрос: Как проверить доступность удатенного url с помощю Python?

Лучший ответ:
try:
    urllib.request.urlopen('адрес')
except URLError:
    print 'Адреса не существует'

Худший ответ:
обернуть try/excepttry:
        urllib.request.urlopen('адрес')
except ValueError:
        print("Oops!  That was no valid adress.  Try again...")
Вопрос: С какого языка программирования начать изучение back-end?

Лучший ответ:
Изучай Ruby либо Python, оба языка просто отличны, не советую даже смотреть в сторону пхп.

Худший ответ:
Вобще принципиальной разницы особо не вижу (если только из тегов убрать js, ибо это фронтенд), но я бы начал с Ruby. Сразу приучишься работать грамотно, правильно, с тестированием и тд и тп. Начнешь с php, сольешься с серой массой гавнобыдлокодеров. Никого не хочу обидеть, но скажу так, руби начал свое форсированное развитие не так уж и давно и на него перешли в большинстве своём грамотные люди из таких языков как тот же пхп, питон, перл, java и тд и тп, Т.е. я хочу сказать что сообщество грамотное и уважаемое. Я на заказ не программирую, но знаю что кодеры на руби намного более в дефиците нежели php, а соответственно и оплата более высокая. 
Сугубо моё личное ИМХО.
Вопрос: $.ajax и .load() при большом количестве посетителей — реально?

Лучший ответ:
Среднее количество запросов в вебе - это от 1000 в секунду на 1 сервер :)
Ajax по опыту снижает нагрузку на сервер за счет экономии трафика => более быстро отдаются запросы.
Вы занимаетесь затыканием дыр, вместо того что бы разобраться в первопричине.
Если у вас иногда отдается ошибка при запросе - у Вас что то фатально не так.
Смотрите лог ошибок сервера, php_errors итд.
Возможно у вас очень [sarcasm]дорогой[/sarcasm] тариф у хостера и памяти/проца/чего то еще иногда не хватает.

Худший ответ:
"Нагружаться" сервер будет пропорционально количеству получившихся запросов. Если для статичного сайта средняя сессия была, скажем, в 10 запросов, а динамическая получилась в 40 запросов, то серверу будет максимум в четыре раза тяжелее, не более. А учитывая экономию на трафике, может выйти что серверу в итоге даже легче будет.
Сам по себе $.ajax не страшен (если кешируется нормально), проблема в том что у вас вылазят ошибки там, где их быть не должно (костыль в виде второй попытки подгрузки - не решение проблемы) А пока у вас есть необъяснимые ошибки сложно что-либо предвидеть, может и три человека уронят.
Вопрос: Как создать изображение, управляемое с сервера?

Лучший ответ:
Почему бы не сделать по-нормальному и загружать новости через REST Api, например.

Худший ответ:
WebView, которое смотрит на определенный адрес на вашем сервере.
Вопрос: Как сформировать исходящие запросы с разными IP от одного сервера?

Лучший ответ:
Программисту ставите задачу чтобы скрипт работал через прокси, а параметры прокси для каждого запроса брал из прокси листа.
После чего покупаете список прокси, и подсовываете текстовый файлик со списком прокси вашему скрипту.

Худший ответ:
1. LXC,  Docker, ... зоны в терминологии Solaris
2. алиасные IP для интерфейса можете попробовать ... но задача не конкретно описана
3. можно вплоть до того, что виртуальный интерфейс над реальным создать...Виртуальный сетевой интерфейсЕщё один виртуальный интерфейс
Вопрос: Распаковка tar-архива &quot;на лету&quot;

Лучший ответ:
wget -qO - server/tree.rar | tar -xf -
А Ваша команда просто сохранит файл и даже распаковывать его не будет.

Худший ответ:
Как вариант, можно попробовать через ключ -O перенаправить загрузку файла в именованный канал.

Альтернативный вариант — смонтировать ftp: //server/ как сетевую директорию.

Да поможет вам гугл!
Вопрос: Как правильно работать с китайским датчиком давления GY-BMP280-3.3?

Лучший ответ:
Подключил адафрутовскую библиотеку так:
запустил скетч, который просканировал i2c шину (в сети много примеров таких скетчей)
счетч вернул мне "Unknown device 0x76"
далее стал подключил адафрутовскую библиотеку и в первую команду передал адрес, который нашел при сканировании.
получилось что-то вроде этого:if (!bme.begin(0x76)) {  
        Serial.println("Could not find a valid BMP280 sensor, check wiring!");
        while (1);
} 
и все заработало

Худший ответ:
Адрес у сенсора 0xEC (236) работает со скетчами adafruit и подобными.
Вопрос: Имеет ли смысл жертва размером ради производительности?

Лучший ответ:
ENGINE=MyISAM
Производительность и табличная блокировка на любой чих? Вообще-то, это взаимоисключающие вещи.CHAR( 8 ) # * Field size: 8 bytes
VARCHAR( 32 ) # Field size: 6..33 bytes
Без указания кодировки эти вычисления неверны. В скобках указывается количество символов, количество занимаемых байт зависит от кодировки.

Худший ответ:
Я не очень понимаю, какую именно задачу Вы пытаетесь решить.
Уменьшить размер данных на диске? Так важен не он, а размер индексов.
Вы ищете по этому полю? Ищете строгим соответствием? Если LIKE 'prefix%' не используете - посчитайте хэш строки, запишите в отдельный столбец и ищете запросом вида SELECT ... WHERE t.hash=hash(?) AND t.name=?
Будет работать индекс по хэшу - а он компактнее, чем индекс по всей строке.
Но, вообще, я бы не стал этим заморачиваться, не убедившись, что с производительностью именно в этом месте есть проблемы.
Вопрос: Какие перспективы у JavaFX?

Лучший ответ:
JavaFX развивать будут. В нее уже вложены большие средства. В ближайшее время она войдет в состав jre и тогда быстрее все пойдет…
У нее аппаратное ускорение, будет 3D… в общем перспектива есть.

Худший ответ:
Какую-то нишу в энтерпрайзе наверняка займёт.
Но широкое распространение навроде флэша получит врядли, ибо HTML5 уже довольно широко шагает.
Вопрос: Как извлечь из MySQL данные по нескольким критериям силами PHP?

Лучший ответ:
Я не побоюсь выразить наверное то, что крутится у многих на языке, кто прочел это) - Это пиздец, дружище ) Большой, кромешный пиздец )
Выход из ситуации. - nosql. Забудь про Мускул. Сделай все на mongodb например. Все данные хранить в древовидных коллекциях. Вобщем почитай, как раз все твои проблемы решаться оч легко и изящно.
NoSql позволит тебе в одной коллекции (аля таблице) хранить как автомобили с их характеристиками, так и туалетную бумагу, домашних животных и разные сорта вятского кваса.
Upd А по сабжу, если уж на мускуле делать, то нужно делать через связи has_many и/или has_and_belongs_to_many/has_many through, а не лепить айди через запятую и искать регулярками. 
Т.е. есть таблица товаров. Есть таблица фильтров, и есть соединяющая таблица товаров и фильтров. 
У каждого товара есть id, у каждого фильтра есть id, а в соединяющей таблице пишутся id'ы товаров и фильтров. Таким образом ты получишь нужную тебе связь. 
Если ты чувствуешь что делаешь чтото не так, то скорей всего так оно и есть :) С таким подходом как у тебя, теряется вся логическая цепочка, мускул сойдет с ума, ибо не будет ведать что он творит )

Худший ответ:
Следует понимать, что EAV - не панацея, а несколько наоборот - постоянная боль пониже спины. 
Во-первых, если в реляционной модели за целостностью данных может следить СУБД, то здесь вся работа ложится на программиста.
А уж получив в том же EAV хотя бы пару-тройку уровней вложенности, можно начинать заранее строить себе стену, об которую потом захочется убиться. 
А во-вторых, проблему поиска  EAV не решает от слова "совсем". Искать надо другими средствами, например - сфинксом. 
И вот тут на первый план выходит не удобство хранения, а удобство построения RT индекса. От которого и надо плясать.
Вопрос: Алгоритм экспоненциального закона распределения?

Лучший ответ:
Формула для случайного числа с экспоненциальным распределением:
Ri = -1 * ln(Wi) / λ, где λ — интенсивность, а Wi — случайное число от 0 до 1.
Мат. ожидание в данном случае обратная интенсивности величина.
Если правильно понимаю, то в вашем случае формула будет выглядеть как
deltaT = -M * ln(Wi)

Худший ответ:
Вы со статистикой знакомы?
Знаете что такое распределение Гаусса?
Вот тут читали?
Вопрос: Что перспективнее и выгоднее — полиграфия или веб при одинаковых скилах дизайнера?

Лучший ответ:
Однозначно веб/интерфейсы. Print is dead. А где не дед - там такая дедовщина от заказчиков, весь дух выколотят. Только в полиграфии я встречал отборнейших шизофреников и психопатов.
К тому же, за электроникой будущее, всем уже начхать на бумажки по большому счёту. Единственные более-менее актуальные срезы этой сферы не связаны с бумажками - дизайн принтов, упаковки и чего-нибудь такого. А визитки-флаеры-баннеры-журналы-газеты-презентации и прочий ХЛАМ - лично я рекомендую вообще туда не соваться.

Худший ответ:
Ну везде платят хорошо плюс минус тыща баксов мелочь чтобы о ней думать, так что к чему душа лежит туда и идем
Вопрос: Существуют ли переводы книг от UXpin?

Лучший ответ:
Лучше учить английский. Это сложнее, но намного правильнее.

Худший ответ:
Переводы не нужно искать. Они делаются отвратительно (топорно в техническом и литературном отношении - ни корректуры, ни работы технического и литературного редакторов в этих книжках нет; масса ошибок в тексте, коде; несоответствия текста иллюстрациям и/или коду; один и тот же объект может по-разному быть назван даже в рамках одного предложения (!) и т.д.). Читайте либо литературу изначально на русском написанную (это, правда, не освобождает ни от каких безобразий нынешнего книгоиздания кроме качества перевода) или на языке оригинала (это не так уж трудно, как может показаться на первый взгляд - преодолевается практикой). Конечно, не стоит думать, что иностранные издательства делают книги идеально - там тоже подчас бывает куча опечаток, но современное российское книгоиздание, увы, просто ужасно.
Вопрос: Насколько разумно делать «сервер» из обычного компьютера (при ограниченном бюджете)?

Лучший ответ:
1) Зачем Вам на 15 человек домен? :) Даже микрософт рекомендует поднимать домен от 20 машин(делаем поправку на их заинтересованость в продажах), а по опыту меньше 50-100 нет никакого смысла. Опыт у меня правда в этом ~10 летней давности, возможно я слегка устарел :)
2) Зачем Вам на 15 человек отдельный сервер приложений, отдельный файловый сервер, 2 (!) отдельных бекап сервера? Да еще в такой странной конфигурации - os на hdd (а не ssd), почти без памяти - зато xeon. Если Вы там терминальную 1Cку хотите крутить - xeon не спасет, явно памяти мало. У меня домашний компьютер мощнее того что вы пишите раза в 4)
У нас была локалка на 350 машин, было 2 domain controller, но при этом они выполняли кучу других функций - и центр управления антивирусом, и файловый сервер, и бекапы критических вещей, и всякие сетевые лицензии на специфический софт там же крутились итд.
Отдельно стояла *nix машина собранная на коленке из чего было, на ней был прокси, учет трафика по пользователям, фаервол.

Худший ответ:
> бекап сервер
> изолированный от сети бекап бекапа сервера (архив)
Здесь точно подойдут обычные ПК. Про RAID не забывайте. 
> файловый сервер
raid1 из 3х дисков, хорошие интеловские гигабитные карточки и обычный ПК в этом месте всех устроит. Диски подключать только к мат плате (никаких дурацких PCI-"переходников"), только в SATA3. 
> сервер приложений
so-so. 
Здесь лучше взять тауэр-сервер, видимо. Десктопные процы слабее топовых ксеонов. И вот здесь пригодилась бы ECC-память. 
> контроллер домена + безопасность сети (фаервол, антивирус и т.д.)
Безопасность сети - на linux-тазик (хоть из говна и палок), контроллер - вон на тот крутой сервер пунктом выше. + запасной контроллер. 
Ну и если будете покупать десктопы - держите набор запасных частей (но для сервера они тоже могут понадобиться ;) )
Вопрос: Почему зависает программа Pascal?

Лучший ответ:
Попробуй вставить перед слипом или после него Application.ProcessMessages;

Худший ответ:
Про паскаль утверждать не буду, но что-то подсказывает, что отсчет ведется в основном потоке программы и блокирует GUI, что при кликах в окошке и является в терминах Windows  "неотвечающей" программой. Выносите счетчик в отдельный поток (thread) и будет вам счастье. А мою правоту можете проверить уменьшением счетчика до 5 секунд - через 5 секунд программа начнет отвечать даже с вашим кодом.
Вопрос: php, ещё раз о кодировке

Лучший ответ:
"Àëèíà Ãðîñó — Ìåëîì íà àñôàëüòå" — вам приходит в какой кодировке?
Если это однобайтовая кодировка, то вам достаточно 
$string = iconv('cp1251', 'utf-8', $string);


Если же это вам приходит в utf-8, то вам нужно сделать так:
$string = iconv('utf-8', 'cp1252', $string);
$string = iconv('cp1251', 'utf-8', $string);


Худший ответ:
и да, конвертировать надо CP1252 → CP1251 → UTF-8 (или сразу CP1252 → UTF-8), а не UTF-8 → CP1252, как делаете вы…
Вопрос: Как в golang подключить другой файл?

Лучший ответ:
Для начинающих есть две статьи, обязательные к прочтению. Первая: "How to Write Go Code"  и вторая: "Understanding Golang Packages"
В кратце, в Go подключается не файл, а импортируется модуль(пака с файлами).
main.go:package main

import "./mymodule"

func main() {
    mymodule.MethodOne()
}
mymodule/some_file.go:package mymodule

import "fmt"

func MethodOne() {
    fmt.Println("Hello World!")
}
Но это пример относительного импортирования, без учета переменной окружения $GOPATH. Что бы узнать подробности, читайте ссылки выше.

Худший ответ:
Для начинающих есть две статьи, обязательные к прочтению. Первая: "How to Write Go Code"  и вторая: "Understanding Golang Packages"
В кратце, в Go подключается не файл, а импортируется модуль(пака с файлами).
main.go:package main

import "./mymodule"

func main() {
    mymodule.MethodOne()
}
mymodule/some_file.go:package mymodule

import "fmt"

func MethodOne() {
    fmt.Println("Hello World!")
}
Но это пример относительного импортирования, без учета переменной окружения $GOPATH. Что бы узнать подробности, читайте ссылки выше.
Вопрос: Почему пользуются Битриксом?

Лучший ответ:
На любом фреймворке можно наваять говносайт.
На битриксе полно хороших и быстрых проектов, дело в прокладке.

Худший ответ:
Ну .. какбэ ... когда ты по совету "умных" людей купил cms .. вкинул бабло в оформление морды этого сайта. Обучил системного админа ... и на выхлопе получил черепаху которая еле двигается ... Нужно быть мегакрутым чуваком чтоб забить на нее и с нуля все сделать. =)
Вопрос: Как решить задачу об огурцах?

Лучший ответ:
Если один из размеров не очень большой, например, не больше 15, сработает динамическое программирование.
Идём по полю с узкой стороны, двигая линию каждый раз на одну клетку. Для конкретной конфигурации парников у нас в каждый момент линия делится на отрезки, каждый из которых может либо принадлежать своему парнику, либо быть пустым (не покрытым парниками). При этом отрезки с парниками могут касаться друг друга, а пустые отрезки - нет, они сливаются в один. Кроме того, мы помним накопленный штраф для созданных (в том числе, закрытых) парников и их площади.
На каждом шагу мы можем: 
- сначала закрыть некоторые парники (соответствующие отрезки станут пустыми)
- продлить остальные парники ещё на клетку (к штрафу добавляется число клеток этих парников)
- на пустых местах открыть новые парники (к штрафу добавляется стоимость открытия этих парников и число клеток в них).
При этом все клетки с огурцами должны оказаться закрытыми. Открывать новые парники, в которых пока нет ни одного огурца, смысла нет. Все остальные варианты должны быть рассмотрены.
Начинаем с одного пустого отрезка. На каждом шагу обрабатываем все имеющиеся конфигурации, строим их продолжения. Из эквивалентных новых конфигураций (в которых одинаковые карты отрезков) выбираем ту, у которой меньше штраф.
Всё. Осталось придумать, как дёшево хранить пройденные пути, чтобы потом восстановить результат.

Худший ответ:
Стоимость парника #1 равна p1 = x*S1 + c
Стоимость всех парников ( с номерами от 1 до n) p = x*S1+c+ ... + x*Sn+c
Выносим константу за скобки p = x*(S1 + ... Sn) + c*n
По условию задачи сумма площадей всех парников равна площади поля. Поэтому стоимость строительства зависит от количества парников n. Чем меньше парников тем дешевле.
Вопрос: Самый простой способ выдавать мобильную версию сайта на php

Лучший ответ:
В том способе, который вы используете, не все мобильные браузеры перечислены.
Наверное, самый полный список:
$browser = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';
if (strpos($browser, 'Mobile') === false 
&& strpos($browser, 'Symbian') === false 
&& strpos($browser, 'Opera M') === false 
&& strpos($browser, 'Android') === false 
&& stripos($browser, 'HTC_') === false 
&& strpos($browser, 'Fennec/') === false 
&& stripos($browser, 'Blackberry') === false 
&& strpos($browser, 'Windows Phone') === false 
&& strpos($browser, 'WP7') === false 
&& strpos($browser, 'WP8') === false) {
// выключаем мобильный стиль
} else {
//включаем мобильный стиль
}


Худший ответ:
Правильно — сделать это средствами CSS. Например, так это сделано на сайте W3C. Но это не все умеют. Неправильно (но этоn способ работает) — костылем в PHP через проверку User-Agent.
Вопрос: Есть ли смысл делать сайт на wordpress?

Лучший ответ:
Вполне стоит! Wordpress - отличная CMS и главное - бесплатная. Давно с ней работаю и нареканий нет! Единственный аспект - постарайтесь по минимуму использовать плагины - большинство из них- это потенциальные дыры в защите!
Когда только начинал - тоже не знал как да что. Очень помог вот этот видеокурс
www.youtube.com/watch?v=NamClmyOoms
А вообще если есть базовые знания html, css - то с созданием шаблона справитесь вполне. А если и php владеете - то вообще вам будет подвластно сделать сайт любой сложности.
По поводу пермиум тем - если лень делать самому - то конечно можно - купил, залил на сервер, нажал активировать - и все - работает.
Но поверьте, создание своего шаблона - это задача элементарная. Например у меня на создание сайта-визитки без сложных скриптов уходит пару часов (при условии что дизайн уже придуман).
Так что потратьте пару часов на изучение Wordpress и дерзайте! Удачи!

Худший ответ:
Многие бесплатные темы для вп имеют достаточно много опций для изменения настроек. Если сайт нужен как визитка, то на вордпресс это можно быстро и легко организовать.
Вопрос: Как заработать знаниями html/css?

Лучший ответ:
Изучать не просто html+css, а изучать уже конкретно вёрстку под определённые движки: Joomla, WordPress, Drupal, OpenCart. И на биржах фриланса выставлять себя как верстальщика под определённые движки. Для полноценной визуальной составляющей сайтов хорошо бы выучить основы JS (jQuery)

Худший ответ:
фриланс биржи
Вопрос: Как можно DIV разместить поверх другого DIV-а с определённым смещением?

Лучший ответ:
#layer{
  position: relative;
   ...
}
Положение элемента устанавливается относительно его исходного места. Добавление свойств left, top, right и bottom изменяет позицию элемента и сдвигает его в ту или иную сторону от первоначального расположения.

Худший ответ:
#my_block {
  position: absolute;
  left: 50%;
  margin-left: -150px; /* половина ширины блока, который центрируем */
}
Вопрос: Почему сдвигается контент при открытии модального окна?

Лучший ответ:
Пропиши в css 
.modal-open{overflow-y: scroll;}
или
.modal-open{overflow-y: visible;}

Худший ответ:
У Вас пропадает scroll.
Вопрос: Есть ли готовые хорошие адаптивные шаблоны для интернет-магазина?

Лучший ответ:
Сам я для продакшена черпаю вдохновение с этих шаблонно-сборников.
https://shapebootstrap.net/
w3layouts.com 
Много качественных работ в том числе и бесплатных шаблонов на любой вкус.

Худший ответ:
Готовые продажные шаблоны https://wrapbootstrap.com/themes/e-commerce
Вопрос: Как не забывать дела?

Лучший ответ:
Как приучить себя не надеяться на память?

Профукать достаточно важное событие/дело, типа защиты диплома, Большого Доклада Большому Начальству, возврат долга Суровым Челябинским Кредиторам и т.п.
Анальная мотивация в данном случае лучшее лекарство. Как показывает практика человек или обладает должной самоорганизацией для принятия решения «с сегодня записываем все в блокнот» или нет. Некоторые обладают этим качеством сразу, некоторые учатся на своих ошибках, на пример потеряв работу или премию, некоторые безнадежны.
Судя по вашему возрасту в профиле вы уже вышли из той детской уверенности что «но я же точно знаю, что не забуду», значит все зависит только от вас.

Помочь может разделение проблем/задач и т.п. на приоритеты «записать обязательно!/На всякий случай записать/и так не забуду».

Худший ответ:
успеватель Василия Кислого
Вопрос: IT маркетинг, что почитать?

Лучший ответ:
Забей на это, это дно уровня домохозяек, которое сводится к "закупить ссылок" и "посчитать воронку от рекламы в контактике". В серьезные проекты приглашают серьезных людей с высшим образованием и серьезным опытом в маркетинге и продажах. поэтому читай просто книги по экономике, маркетингу, бизнесу. Эти фундаментальные знания важны, а SMM, SEO, SMO и прочее лишь инструменты, там, конечно, есть свои особенности, но это просто приходит с опытом или осваивается за 20 минут в гугле. ИМХО! 
Я бы посоветовал по экономике книгу макконела "Экономикс".
По маркетингу - Основы маркетинга. Краткий курс. Ф. Котлер (эту еще в институте мне советовал хороший препод)
Удачи и успехов.

Худший ответ:
А "маркетинг" в сети к какому вашему ресурсу будет привязан?
Вопрос: Как при клике на поле «файл» на сайте с телефона включить его камеру, а не показывать файл-менеджер?

Лучший ответ:
Вот что нашел на StackOverflow:

Here is the code to get access to the new camera api's in android 3+ and iOS 6.
<input type="file" accept="image/*" capture="camera">
This will allow you to take a new picture or select one from the device library and then upload it to a web app.

До телефона с андроидом выше 3 версии доберусь через пару часов. 
На 2.1 не работает.

Худший ответ:
В голову пришел только вариант с appscheme, если таковая реальзована у камеры. В крайнем случае — перехватывать схему приложением и дальше кидать на камеру.
Вопрос: На сколько плохо использовать '*' в sql запросе?

Лучший ответ:
Плохо тем, что:тянутся лишние поля (очень редко нужна вся таблица)будет возможно на доли секунд медленнее работать при большом количестве запросовменее понятный код (нельзя будет найти, где используется какой-то столбец)если запрос сложный - может быть дублирование имён можно получить тяжелоотлавливаемый баг, когда изменилась таблица, но в запросе была * и запрос отработал, а логика отвалилась из-за неправильных данных (или просто неправильно работает). А были бы конкретные столбцы - упало бы ещё на запросе

Худший ответ:
Ничего страшного, смело используйте астерикс. При выполнении двух условий:Не изменится структура низлежашей таблицы (а она изменится, особенно если это представление) Не потребуются JOIN-ы (а они потребуются, если это не представление) 
^_^
Вопрос: Ubuntu/Debian — Как узнать версии пакетов, которые были установлены в системе до последнего обновления?

Лучший ответ:
История обновлений:
/var/log/apt/history.log
Откатиться назад можно, если предыдущая версия осталась в репозитории (это не всегда так)
Как автоматически - не знаю.
Откат  нужной версии делается apt-get install pkg [{=pkg_version_number | /target_release}]
Но лучше, наверно, руками через aptitude, чтобы разрулить все зависимости.

Худший ответ:
Рекомендую вам установить etckeeper. Данное приложение комитит изменения в каталоге  /etc через систему контроля версий. У меня выбран git.
В debian не проверял его работу. В fedora при установке через менеджер пакетов yum запускается etckeeper,  который делает комиты, затем в логе git по комитам можно увидеть что и когда было удалено/ установлено. Пример фрагмента такого лога:
pastebin.com/ZZHN5PCM