Беспроводная точка доступа, используя Linux

Перепост статьи с Хабра

Что ж, вот и первая статья из обещанной серии.
Первое, что я буду делать — настраивать Software AP, или беспроводную сеть на базе компьютера. На этом этапе, конечно, нужен доступ к консоли сервера с правами рута. Кроме того, нужно также подключение к интернету НЕ через внутреннюю вайфай-карточку — кабелем, через 3G-модем, короче, как пожелаете, но только не по вайфаю, который мы будем использовать для создания беспроводной сети. Я на первое время подключил и сервер, и ноут, с которого управлял сервером, в одну сеть по кабелю — так надёжнее всё-таки. Буду использовать пакет hostapd — он довольно известен как надёжное решение и мануалов под него достаточно, а для DHCP и DNS серверов буду использовать dnsmasq — решение как раз под домашние сети, его использует DD-WRT, не удивлюсь, если кто-то ещё.

Самый первый шаг, конечно же:

 

apt-get install hostapd

Версия:

hostapd -v 
>hostapd v1.0 

Мда, в исходниках уже есть 2.0. Такой он, Debian stable. Но на самом деле это нам не особо помешает — версия 1.0 у меня работает достаточно стабильно.

Настройка:

Отредактировать файл /etc/default/hostapd.conf. В нём раскомментировать строку вида

DAEMON_CONF="/etc/hostapd/hostapd.conf"

Это путь к файлу конфигурации демона hostapd.
Затем идем дальше — редактировать /etc/hostapd/hostapd.conf. Предоставлю содержимое моего файла конфигурации. Предупреждаю, парсер конфигурационных опций у этого демона очень чувствителен и ругается даже на пустые строки с пробелом. На комментарии не ругается.

interface=wlan0

Сетевой интерфейс беспроводной карты

driver=nl80211

Драйвер сетевой карты — обычно для hostapd отлично работает nl80211, не вижу смысла менять, да и говорят, что он работает в большинстве случаев.

ssid=CRWiFi

Название точки доступа, т.н. SSID

hw_mode=g

Режим работы сетевой карты — 801.11b/g/n. На самом деле — там всегда должно оставаться g, даже если карта способна на n, для настройки режима n придётся кое-что поменять, смотрите дальше:

#ieee80211n=1 #Раскомментировать для включения режима n
#ht_capab=[HT40-][SHORT-GI-40] #Раскомментировать для включения режима n

 

channel=6

Беспроводной канал — от 1 до 13. Для лучшей производительности рекомендуются 1, 6 или 11 канал.

wpa=2

Версия WPA

wpa_passphrase=11111111

Пароль беспроводной точки
Дополнительные настройки WPA2:

wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
auth_algs=1

Следующая опция устанавливает блокировку MAC-адресов. Пока не знаю, как это настроить, да и штука довольно бесполезная, но все говорят, что без блокировки эту опцию нужно выставить в ноль — что я и сделал:

macaddr_acl=0

 

Полный конфиг одним блоком для копипаста в файл:

interface=wlan0
driver=nl80211
ssid=CRWiFi
hw_mode=g
#ieee80211n=1 
#Раскомментировать для включения режима n
#ht_capab=[HT40-][SHORT-GI-40] 
#Раскомментировать для включения режима n
channel=6
wpa=2
wpa_passphrase=11111111
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
auth_algs=1
macaddr_acl=0

Конфиг автоматически проверяется перед запуском, так что — смело пробуйте запустить hostapd. Команды управления:

# /etc/init.d/hostapd start 
# /etc/init.d/hostapd stop 
# /etc/init.d/hostapd restart 

Напомню — также в Debian можно использовать команды вида service hostapd start, что легче в написании.

Пару шагов для устойчивости:

 

  • Нельзя забывать, что для шифрования WPA/WPA2 пароль должен быть не короче 8 символов. Если поменять пароль на лету, используя SSH сессию через беспроводной канал, можно внезапно отрезать себя от сервера — hostapd не захочет запускаться и единственное средство связи с сервером будет потеряно. Работает — не трогай, ну а если трогаешь — трогай осторожно.
  • В случае многопользовательской системы советую поставить права чтения файлов вида 700, чтобы простые пользователи не могли узнать пароль для точки доступа — если вас это волнует, конечно.

Что ещё могу сказать? С мобильными устройствами проблем нет, с ноутбуком под Windows 7 — крайне редко (примерно раз-два в месяц) не получается подключиться к точке. Лечится командой service hostapd restart, велика вероятность, что в новых релизах эта проблема убрана — есть версия hostapd 2.0.0, но компилировать и ставить её я пока что не пытался.

Пока всё. К точке можно попробовать подключиться, но… Для успешного подключения к точке доступа нужен DHCP сервер, без него к точке полноценно не подключишься — те же операционные системы не дадут этого сделать, поскольку без получения адреса само подключение не имеет особого смысла. Вот его и настроим!


Когда я только начинал учиться настраивать сервера под свои нужды, первое, на что я тогда я наткнулся — это пакет isc-dhcp-server, его я и планировал предложить, и статья уже была готова, но… Я нашёл dnsmasq, и моя жизнь изменилась в лучшую сторону. Dnsmasq — это и кэширующий DNS, и DHCP сервер со своим набором различных фич. Как только я заглянул в его конфиг, мое зрение улучшилось, все мысли в мозгу внезапно стали упорядоченными и я достиг просветления. Реально, конфиг очень простой и понятный. Но пока подготавливаем площадку для работы dnsmasq. Что же делать?

1) Придумать, как будут выглядеть адреса в нашей локальной сети. Я выбрал адреса типа 192.168.51.x.

2) Настроить сетевой интерфейс, на котором будет работать dnsmasq. На самом деле — очень важный шаг, который пропускают многие в своих мануалах по настройке DHCP-серверов. Дело в том, что компьютеру, на котором работает DHCP-сервер, необходимо прописать статический адрес — кто выдаст адрес DHCP-серверу, если он сам не может запуститься без адреса, а адрес себе он выдать не может, потому что не запущен?
Итак, открываем для редактирования файл /etc/network/interfaces и добавляем туда абзац вида:

auto наш_интерфейс
iface наш_интерфейс inet static
address 192.168.х.1 
netmask 255.255.255.0 
gateway 192.168.х.1

Сохраняем и перезапускаем наш сетевой интерфейс, на котором настроен DHCP:

ifdown интерфейс
ifup интерфейс

Проверяем состояние, сверяем настройки с теми, что должны быть:

ifconfig интерфейс

3) Нужно удалить любые DNS и DHCP серверы, чтобы dnsmasq мог спокойно запуститься — иначе выдаёт ошибку. У меня были установлены bind9 и isc-dhcp-server, пришлось избавиться от них. Если работаем по SSH из сети, в которой раньше адреса раздавал покойный DHCP-сервер, не перезагружаемся — выдавать адреса уже некому.

4) Нужно создать условия для работы сервера — создать пользователя для того, чтобы под ним запускать dnsmasq, прописать в системных настройках DNS-сервера, к которым dnsmasq будет обращаться и ещё пару мелочей.
Прописываем DNS сервера Гугла. Правда, первой строчкой у нас будет localhost. Это сделано для того, чтобы остальные системные приложения на нашем же сервере, когда им надо получить адрес от DNS-сервера, обращались сначала к dnsmasq, а не к Гуглу. Ну а dnsmasq достаточно умён, чтобы игнорировать эту строчку:

nano /etc/resolv.conf

 

nameserver 127.0.0.1
nameserver 8.8.8.8
nameserver 8.8.8.4	

Нужно защитить это файл от перезаписи при каждом запуске системы. Перезаписывает его dhclient, если что. Честно говоря, блокировка от записи — лишь один из способов того, как не допустить перезапись =) Есть и другие, но этот самый простой:

chattr +i /etc/resolv.conf

Добавляем группу и пользователя:

groupadd -r dnsmasq
useradd -r -g dnsmasq dnsmasq

5) Ставим Dnsmasq, он запускается и готов к работе, но мы его отключаем — ещё не настроен, нечего ему тут делать:

apt-get install dnsmasq
service dnsmasq stop

6) Чистим оригинальный файл от стандартного конфига:

echo "">/etc/dnsmasq.conf

Ну а теперь мы готовы настраивать. Скажу сразу — у dnsmasq много разных опций, которые я при написании статьи подробно описывал в комментариях… Пока не понял, что топик раздулся до неприличных и нечитаемых размеров, как будто недостаточно того, что статья и так переполнена текстом и отформатирована, как кусок незнамо чего. Поэтому — я оставлю конфиг с самыми важными без длинных комментариев и всяких дополнительных опций, а конфиг с дополнительными опциями будет под спойлером.

# Заставим dnsmasq запускаться исключительно под пользователем dnsmasq
user=dnsmasq
group=dnsmasq
##
# Настраиваем DNS. Не нужен - смело выкидываем эту часть.
##
# Настройка DNS - чтобы отключить DNS, поставьте тут 0.
# Если же хотите расположить DNS на нестандартном порту - что ж, располагайте.
port=53

# Размер кэша. Число обозначает количество хранимых доменных имён.
cache-size=1000

# Не спрашивать у внешнего DNS про имена без точки вроде homeserver, user-pc и прочие - 
# ему и так плохо, бедному, а ещё мы тут со своими заведомо локальными адресами...
domain-needed
# Что-то вроде предыдущего, тоже не даёт обращаться к глобальным DNS-серверам со всякой нелепицей в запросе
bogus-priv

# Интерфейс для приёма DHCP и DNS запросов.
interface=wlan0
# А вот этого интерфейса избегать, как чумы:
except-interface=ppp0 
# На всякий случай, мало ли глюк и сервер реально будет раздавать на ppp0, размахивая своим dhcp-authoritative.

##
# Настраиваем DHCP. НЕ нужен - смело выкидываем эту часть.
##
# Одна из самых главных строчек:
# она своим лишь присутствием запускает DHCP-сервер,
# заодно передавая ему размер пула адресов 
# 12h значит то, что срок аренды адреса по умолчанию - 12 часов.
# Соответственно, 12m - 12 минут, всё просто.
dhcp-range=192.168.51.50,192.168.51.150,12h

# Статический адрес. Указаны только MAC и IP:
dhcp-host=11:22:33:44:55:66,192.168.51.60
# Статический адрес. Указаны MAC, hostname, IP и индивидуальное время аренды.
# Да-да, вы поняли тему =) Всё решается одной строчкой:
dhcp-host=11:22:33:44:55:66,fred,192.168.51.60,45m

# Заблокировать выдачу IP-адреса для этого MAC-адреса:
dhcp-host=11:22:33:44:55:66,ignore
# Я лучше заблокирую - не, ну он выглядит реально подозрительно!

# Объявляем, что наш сервер - властитель нашей локальной сети и ни один другой не может быть подобным ему.
# НЕ ДЕЛАЙТЕ ЭТОГО, если есть такие же самопровозглашённые претенденты на трон - 
# можно порушить королевство, где выдаются IP-адреса
# А вот для моего сервера это необходимо, чтобы уменьшить время получения IP для устройств.
dhcp-authoritative

 

Расширенные опции:

# А тут можно немного подкорректировать то, что отдаёт DNS.
# IPv4-only.
# Поправим 1.2.3.4 на 5.6.7.8!
alias=1.2.3.4,5.6.7.8
# А если 1.2.3.x на 5.6.7.x? Ну тут уже нужна маска сети!
alias=1.2.3.0,5.6.7.0,255.255.255.0
# Ну а если мы вообще хотим перенаправить блок 192.168.0.10->192.168.0.40 на 10.0.0.10->10.0.0.40?
alias=192.168.0.10-192.168.0.40,10.0.0.0,255.255.255.0
# Всё, можно устраивать у себя свой Spamhaus и блокировать целыми блоками адресов, перенаправляя на что-нибудь ещё.

# Небольшой срыв покровов. Dnsmasq открывает порты на всех интерфейсах - 
# даже если сказано только про некоторые. Затем он просто игнорирует ненужные.
# Это, как говорят, сделано для удобства. Если честно - мне кажется, что 
# в нашем случае никакого удобства не будет.
# Следующая опция принуждает dnsmasq не притворяться и слушать только на тех интерфейсах,
# которые реально предназначены для этого.
bind-interfaces

# Интересная настройка! У нас же DNS, хоть и использующий общую базу адресов - 
# а это значит, что он может отдавать такие запросы, какие мы его попросим.
# Угадайте, что делает эта опция?
address=/vk.com/127.0.0.1
# Даа! Вместо ВК будет показываться гордое "It works!"
# Ходют тут всякие, трафик наш тратят.
# Ну и что, что безлимитный? =D 
# Использоваться, конечно, может не только для блокировки на уровне DNS, 
# но и для того, чтобы просто задать сетевое имя машине в локальной сети.

# Стоп, а зачем делать это в самом конфиге?
# Одна из прикольных фишек dnsmasq как DNS-сервера:
# читать файл /etc/hosts и все записи из него отдавать на соответствующие DNS-запросы.
# Можно не только удовлетворять запросы активизации KMS Microsoft Office
# и прочего софта с онлайн-активацией,
# но и блокать рекламу ещё до того, как она дойдёт до нашего сервера.
# Ну а зачем пихать всё сразу в hosts? Можно добавить внешний файлик с записями! И не один!
addn-hosts=/etc/banner_add_hosts
# Естественно, он по синтаксису должен быть в точности как hosts.
# А если идея c hosts, на ваш взгляд, неуместна, некультурна и вообще моветон?
# Используйте следующую опцию и отключите эту фишку.
no-hosts

# Интересная фишка, подходящая для ноутбуков с двумя сетевыми картами - проводной и беспроводной. 
# Заключается она в том, что на два разных MAC-адреса выдаётся один IP-адрес. 
# Правда, при этом подразумевается то, что два типа связи не будут использоваться одновременно - 
# если подключатся оба, то адрес получит второй MAC в строке. 
# Всё очень просто - MA:CA:DD:RE:SS:00,MA:CA:DD:RE:SS:01,12.34.56.78
dhcp-host=11:22:33:44:55:66,12:34:56:78:90:12,192.168.0.60

# Дать бесконечный lease клиенту c hostname bert. 
dhcp-host=bert,192.168.0.70,infinite

# На закуску - эта опция отвечает за "белый список". 
# Всё просто - адреса будут выдаваться только тем, кому вы выдали статический в этом файле.
# Остальные со своими грязными DHCPDISCOVER пролетают.
dhcp-ignore=tag:!known

# Размер пула DHCP-адресов. Интересно, почему эта настройка не задаётся согласно address range. 
dhcp-lease-max=640 #640 адресов хватит каждому
# На самом деле - большинству вообще не понадобится больше 100, но это мелочи.

# Интересная опция. Запускает скрипт при каждой выдаче адреса DHCP и истечении срока выдачи
# Аргументы: script add MA:CA:DD:RE:SS:00 12.34.56.78 hostname(если есть) (при добавлении)
# или script del MA:CA:DD:RE:SS:00 12.34.56.78 hostname(если есть) (при удалении)
dhcp-script=/bin/echo
# Если подумать - есть пара интересных применений. Вроде голосового оповещения при подключении =D

# Адрес NTP-сервера для машин в сети. Ещё не поставил - но обязательно поставлю, делов-то.
dhcp-option=42,192.168.51.1

Ага, сервер настроен. Запускаем:

service dnsmasq start

и смотрим на наличие ошибок в выводе команды. Если нет — всё отлично! Пробуем что-нибудь подключить к нашей точке и смотрим, как выдаются IP-адреса, пингуем и проверяем DNS. Файл со списком выданных адресов: /var/lib/misc/dnsmasq.leases.
В следующей статье — подключение 3G-модема и конфигурация простого, но стабильного NAT/firewall на iptables. Удачной настройки!

Регистрация ООО в 2013 году

Создание компании в 2013 году.

Затруднения и сложности при открытии компании в Москве в 2013 году.

Чтобы зарегистрировать фирму в этом году необходимо заранее ответить себе на несколько вопросов:

1. Чем фирма будет заниматься, то есть каким видом деятельности?

2. Существует ли для этого вида деятельности какие-либо льготы ( например: налоговые)?

3. Какая система налогообложения будет использоваться? Continue reading

Регистрация ООО в 2013 году

Создание компании в 2013 году.

Затруднения и сложности при открытии компании в Москве в 2013 году.

Чтобы зарегистрировать фирму в этом году необходимо заранее ответить себе на несколько вопросов:

1. Чем фирма будет заниматься, то есть каким видом деятельности?

2. Существует ли для этого вида деятельности какие-либо льготы ( например: налоговые)?

3. Какая система налогообложения будет использоваться? Continue reading

Памятка по ffmpeg

Частичный перепост статьи с Хабра.

ffmpeg — это кроссплатформенная open-source библиотека для обработки видео- и аудиофайлов.

1. Получение информации о видеофайле

ffmpeg -i video.avi

или

ffprobe video.avi

Так же ffprobe поддерживает несколько форматов для вывода информации ini, json, xml

ffprobe -v 0 video.avi -print_format json -show_format ffprobe -v 0 video.avi -print_format xml -show_format ffprobe -v 0 video.avi -print_format ini -show_format

2. Превратить набор картинок в видео

ffmpeg -f image2 -i image%d.jpg video.mpg

Эта команда преобразует все картинки из текущей директории (названные image1.jpg, image2.jpg и т.д.) в видеофайл video.mpg
либо так:

ffmpeg -r 12 -y -i "image_%010d.png" output.mpg


здесь задаётся frame rate (12) для видео, формат «image_%010d.png» означает, что картинки будут искаться в виде image_0000000001.png, image_0000000002.png и тд, то есть, в формате printf)

3. Порезать видео на картинки

ffmpeg -i video.mpg image%d.jpg

Эта команда создаст файлы image1.jpg, image2.jpg и т.д., поддерживаются так же форматы PGM, PPM, PAM, PGMYUV, JPEG, GIF, PNG, TIFF, SGI.

Как вариант — вырезать один кадр из видео для создания, например, превью на сайте или в админке.
На последнем проекте использовал такую команду:

ffmpeg -ss 00:00:02 -i "file.flv" -f image2 -vframes 1  "file_out.jpg"

Вырезает первый кадр второй секунды из файла file.flv и сохранить её в файле file_out.jpg.

4. Конвертировать видео в формат iPod/iPhone

ffmpeg -i source_video.avi input -acodec aac -ab 128kb -vcodec mpeg4 -b 1200kb -mbd 2 -flags +4mv+trell -aic 2 -cmp 2 -subcmp 2 -s 320x180 -title X final_video.mp4

Пояснения:

  • Источник: source_video.avi
  • Аудио кодек: aac
  • Битрейт аудио: 128kb/s
  • Видео кодек: mpeg4
  • Битрейт видео: 1200kb/s
  • Размер видео: 320 на 180 пикселей
  • Полученное видео: final_video.mp4

5. Конвертировать видео в формат PSP

ffmpeg -i source_video.avi -b 300 -s 320x240 -vcodec xvid -ab 32 -ar 24000 -acodec aac final_video.mp4

Пояснения:

  • Источник: source_video.avi
  • Аудио кодек: aac
  • Битрейт аудио: 32kb/s
  • Видео кодек: xvid
  • Битрейт видео: 1200kb/s
  • Размер видео: 320 на 180 пикселей
  • Полученное видео: final_video.mp4

6. Извлечь звуковую дорожку из видео и сохранить в mp3

 

ffmpeg -i source_video.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 sound.mp3

Пояснения:

  • Источник: source_video.avi
  • Битрейт аудио: 192kb/s
  • Выходной формат: mp3
  • Полученный аудиофайл: sound.mp3

 

7. Конвертировать wav в mp3

 

ffmpeg -i son_origine.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 son_final.mp3

 

8. Конвертировать .avi в .mpg

 

ffmpeg -i video_origine.avi video_finale.mpg

 

9. Конвертировать .mpg в .avi

 

ffmpeg -i video_origine.mpg video_finale.avi

 

10. Конвертировать .avi в .gif (без сжатия)

 

ffmpeg -i video_origine.avi gif_anime.gif

 

11. Добавить звук к видео

 

ffmpeg -i son.wav -i video_origine.avi video_finale.mpg

 

12. Конвертировать .avi в .flv

 

ffmpeg -i video_origine.avi -ab 56 -ar 44100 -b 200 -r 15 -s 320x240 -f flv video_finale.flv

 

13. Конвертировать .avi в .dv

 

ffmpeg -i video_origine.avi -s pal -r pal -aspect 4:3 -ar 48000 -ac 2 video_finale.dv

или

ffmpeg -i video_origine.avi -target pal-dv video_finale.dv

 

14. Конвертировать .avi в mpeg для DVD-плееров

 

ffmpeg -i source_video.avi -target pal-dvd -ps 2000000000 -aspect 16:9 finale_video.mpeg

Пояснения:

  • Выходной формат: pal-dvd
  • Максимальный размер для выходного файла: 2000000000 (2 Gb)
  • Широкоэкранный формат: 16:9

 

15. Сжать .avi в DivX

 

ffmpeg -i video_origine.avi -s 320x240 -vcodec msmpeg4v2 video_finale.avi

 

16. Сжать OGG Theora в mpeg DVD

 

ffmpeg -i film_sortie_cinelerra.ogm -s 720x576 -vcodec mpeg2video -acodec mp3 film_termin.mpg

 

17. Сжать .avi в SVCD mpeg2

Формат NTSC:

ffmpeg -i video_origine.avi -target ntsc-svcd video_finale.mpg

Формат PAL:

ffmpeg -i video_origine.avi -target pal-svcd video_finale.mpg

 

18. Сжать .avi в VCD mpeg2

Формат NTSC:

ffmpeg -i video_origine.avi -target ntsc-vcd video_finale.mpg

Формат PAL:

ffmpeg -i video_origine.avi -target pal-vcd video_finale.mpg

 

19. Многопроходное кодирование с помощью ffmpeg

 

ffmpeg -i fichierentree -pass 2 -passlogfile ffmpeg2pass fichiersortie-2

20. Повернуть видео на 90°

ffmpeg -vf transpose=1 -i file.avi file1.avi


Опции transpose: 0 — против часовой стрелки и зеркально; 1 — по часовой стрелке; 2 — против часовой стрелки; 3 — по часовой стрелке и зеркально

21. Склейка 2х и более видео в один.
Если ролики в одинаковых форматах с одинаковыми параметрами:

ffmpeg -i "concat:input1.mpg|input2.mpg|input3.mpg" -c copy output.mpg

Если разные:

ffmpeg -i input1.mp4 -i input2.webm \
-filter_complex '[0:0] [0:1] [1:0] [1:1] concat=n=2:v=1:a=1 [v] [a]' \
-map '[v]' -map '[a]' <encoding options> output.mkv

22. Захват видео с экрана:

ffmpeg -f x11grab -s cif -r 25 -i :0.0+10,20 /tmp/out.mpg

здесь -s cif — размер, 0.0 — экран, 10,20 — это смещение относительно верхнего левого угла экрана

Вышел релиз системы управления виртуализацией Proxmox 3.0

Proxmox одна из лучших оболочек в виде веб интерфейса для openvz и kvm, удобно что умеет разные штуки для авторизации к примеру ldap, настройку для пользователей всевозможных ролей. Также proxmox умеет работать в кластере HighAvailability. Новый релиз базирует на Debian 7, и поддерживает uefi, появился механизм клонирования виртуалок.

Апгрейд с 2.3 до 3.0
pve.proxmox.com/wiki/Upgrade_from_2.3_to_3.0
Можно поставить на чистый Debian 7(Wheezy)
pve.proxmox.com/wiki/Install_Proxmox_VE_on_Debian_Wheezy
Скачать iso(ссылочки на третью версию в самом низу)
www.proxmox.com/downloads
Changelog
pve.proxmox.com/wiki/Roadmap#Proxmox_VE_3.0

Debian 7

Cостоялся долгожданный выход Debian версии 7.0.

В этой версии произведено множество улучшений как «под капотом», так и видимых конечному пользователю.
Сейчас пакетная база насчитывает более 12800 новых пакетов — таким образом, общее количество пакетов в репозитории составляет 37493. По сравнению со Squeeze, было обновлено 20160 пакетов (70% пакетной базы) и по различным причинам удалено 4125 (14%).

Установка

В установщик внесены следующие изменения:

  • Поддержка UEFI (Secure Boot не поддерживается)
  • Поддержка WPA
  • Установка с помощью голосовых команд
  • Задействование по умолчанию ext4

 

Софт

Дистрибутив включает в себя следующие версии софта:

  • Linux Kernel 3.2 с собственными патчами
  • X.Org 7.7 (X.Org Server 1.12)
  • GNOME 3.4 (с некоторыми компонентами из 3.2)
  • KDE 4.8.4
  • Xfce 4.8
  • LibreOffice 3.5 (включен по умолчанию и заменяет OpenOffice.org при обновлении)
  • MySQL 5.5
  • Apache 2.2.22
  • Python 2.7
  • GCC 4.7.2
  • LLVM/Clang 3.0
  • Iceweasel (Firefox) 10
  • systemd 44
Multiarch

В Debian 7 произошел переход на multiarch архитектуру. Это означает, что вы сможете устанавливать пакеты сразу нескольких архитектур на одной машине. ia32-libs больше не используется, есть небольшая заметка об этом.

Репозитории

Сервис Debian Backports теперь официально является частью проекта Debian. Для использования бэкпортов нужно подключить следующий репозиторий:
deb http://mirrors.kernel.org/debian wheezy-backports main contrib

Обновление

Инструкция по обновлению с Debian Squeeze
Что нужно знать о Wheezy

Скачать

Debian 7 CD1: amd64 i386
Debian 7 Netinstall: amd64 i386
Debian 7 Netinstall (включает non-free firmware): amd64 i386 multiarch

Sun JAVA в Ubuntu

Понадобилось в дистрибутиве Linux Mint установить Sun Java:

Порядок выполнения:

  • добавить строку
    deb http://www.duinsoft.nl/pkg debs all
    в файл /etc/apt/sources.list
    или:
    добавить строку в файл с именем duinsoft.list в папку /etc/apt/sources.list.d
  • импортировать gpg key командой консоли
    sudo apt-key adv --keyserver keys.gnupg.net --recv-keys 5CB26B26
  • обновить и установить
    sudo apt-get update
    sudo apt-get install update-sun-jre
    или использовать Synaptic для инсталляции пакета
  • установка Runtime Environment пройдет автоматически

Великое богатство игровых приложений для Android

Популярные фриварные веб-ресурсы с видеоиграми для Android для любых предпочтений

Нынешние игроманы, за счет быстро развивающихся ноу-хау, могут порадовать себя отличными интересными компьютерными играми на основе ультрасовременной операционки Android. Пусть даже она ещё довольно свежая, но это не помешало ей завоевать множество сердец любителей первоклассных развлекательных приложений. Подобная операционка поддерживает множество самых различных сегодняшних приложений, в том числе увлекательные и красочные видеоигры. Continue reading

Конвертировать PDF в Jpeg и объединение PDF файлов

Конвертировать PDF в JPG (или PNG), можно с помощью gs (GhostScript), из каждой страницы будет создано отдельно изображение. Эту-же задачу можно решить с помощью convert (из ImageMagick или GraphicsMagick).

# gs -dBATCH -dNOPAUSE -sDEVICE=jpeg -r150 -dTextAlphaBits=4 -dGraphicsAlphaBits=4 \
 -dMaxStripSize=8192 -sOutputFile=example_%d.jpg example.pdf
# convert example.pdf example-%03d.png
# convert *.jpeg images.pdf          # Создать простой PDF документ из всех картинок

Кроме того Ghostscript может объединить несколько PDF файлов в один большой файл.

# gs -q -sPAPERSIZE=a4 -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=all.pdf \
file1.pdf file2.pdf ...              # В Windows используйте '#' вместо '='