Linux: распаковка deb пакета

Для тех, кто пока не знает - deb пакет - всего лишь архив

Бывает необходимость распаковать такой пакет. Причин может быть много - кто то хочет установить debootstrap, а кто то просто картинки вытащить. Есть несколько вариантов как это сделать.

Если у вас уже debian - просто выполните( для распаковки eXtract, а не установки)
$ dpkg -x package.deb

Для не debian-based систем можно воспользоваться утилитой ar:
$ ar vx package.deb

И скорее всего, вам понадобиться архив data.tar.gz внутри пакета(в котором лежат файлы, которые будут установленны). Чтоб распаковать "за раз" можно выполнить:

$ ar p cdebootstrap_0.5.4_i386.deb data.tar.gz | tar zx

файлы, которые бы были установленны в дебиане, будут распакованны в текущую папку.

КМУ в СПбГУ ИТМО


20-23 апреля 2010 года в Санкт-Петербургском Государственном Научно-Исследовательском Университете Инфорационных Технологий, Механники и Оптики состоялась седьмая ежегодная Конференция Молодых Учёных, приуроченная к 110летию университета.

Была поданна просто уйма заявок(700+ человек), в различные секции, например можно попробовать полистать программу конференции. Секции были не только технические, но и мелькали гуманитарные. В общем на любой вкус и цвет можно было выбирать куда идти.

Read more

Термины: хаб, свитч, роутер?

Что за ругательные слова?

Всё это - сетевые устройства. У которых разный уровень "умения". Их общая задача - передавать данные из одного места в другое. Попробую немного прояснить что к чему на простом языке.

Read more

Linux и ассемблер!?

Глупо.. есть же си, правда? :) И куча замечательных языков. На сколько я знаю, значально линукс создавался для написания программ только на си более высоких языках.

Но конечно же можно писать даже на асме под линукс. Зачем?..

Read more

jdbc: неверная кодировка при работе с БД

Имеем:

  • Последний mysql connector/j
  • Кодировку БД, таблиц и полей в utf8_general_ci
  • Системную кодировку системы(древний ASP Linux) - cp1251
  • Принудительную установку кодировки при и после подключения:

    String connectionString = "jdbc:mysql://www.box/database"
    + "?useUnicode=true&characterEncoding=UTF-8"
    + "&charSet=UTF-8&encoding=UTF-8";
    Connection con = DriverManager.getConnection(connectionString,
    "someuser", "somepass");
    con.prepareStatement("SET CHARSET \"utf8\"").executeUpdate();
    con.prepareStatement("SET NAMES \"utf8\"").executeUpdate();

По факту в базу вставляются записи в виде абракадабры. Казалось бы - настроил всё что можно, причём однозначно везде юникод, что может быть не так?

Read more

Java: Скачать страницу или файл с веба

Самый простой способ скачать страницу или картинку или ещё что-то в вашем приложении - воспользоваться вот таким классом с одним статическим методом.


/**
* Fetch url
* @author rux
*/
public class Fetcher {

public static String get(String urlString) {
StringBuilder result = new StringBuilder();
String line;
try {
URL url = new URL(urlString);
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));
while ((line = reader.readLine()) != null) result.append(line);
reader.close();
} catch (Exception e) {
// ...
}

return result.toString();
}

}

Read more

MySQL: Выборка повторяющихся записей

Чтоб получить количество записей, в которых одно или несколько полей одинаковы, можно воспользоваться такой конструкцией:
SELECT `fhash_low`, `fhash_high`, COUNT( * ) `cnt`
FROM `mt_tfiles`
GROUP BY `fhash_low`, `fhash_high`
HAVING `cnt` > 1

Read more