При корректном выключении или перезагрузке появляется заставка Ubuntu и на этом происходит зависание. Лечится таким образом. Читаем Grub2, находим пункт
Fixing reboot/shutdown freezes и выполняем sudo gedit /etc/default/grub
В строку GRUB_CMDLINE_LINUX_DEFAULT добавляем reboot=bios т.е. будет такого вида
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash reboot=bios"
далее
sudo update-grub
и перезагружаемся. В моем случае помогло.
пятница, 31 января 2014 г.
четверг, 30 января 2014 г.
Linux устанавливаем нужное разрешение экрана
Если быстро погуглить, то стандартные команды для изменения разрешения монитора на то, которого нет в перечне, но точно поддерживается, это:
xrandr
смотрим что в перечне есть, если нужное есть, то
xrandr --output CRT2 --mode 1680x1050
где CRT2 меняете на своё устройство вывода
Но обычно нужного разрешения нет, а надо добавить.
Тогда запускаем для LCD с 2004 года выпуска:
cvt 1680 1050 60
где 1680x1050 нужное нам разрешение 60 частота, или для ЭЛТ:
gtf 1680 1050 60
Основное отличие между cvt и gtf в частоте (для ЭЛТ обычно rate больше 60, а остальное технические отличия которые гуглятся). Получаем Modeline, который можно добавить к перечню поддерживаемых разрешений:
xrandr --newmode "1680x1050_60.00" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync
И заканчиваем установкой нужного разрешения и добавлением скрипта в автозапуск:
xrandr --output CRT2 --mode 1680x1050_60.00
Но не всегда так гладко, бывают и ошибки.
xrandr
смотрим что в перечне есть, если нужное есть, то
xrandr --output CRT2 --mode 1680x1050
где CRT2 меняете на своё устройство вывода
Но обычно нужного разрешения нет, а надо добавить.
Тогда запускаем для LCD с 2004 года выпуска:
cvt 1680 1050 60
где 1680x1050 нужное нам разрешение 60 частота, или для ЭЛТ:
gtf 1680 1050 60
Основное отличие между cvt и gtf в частоте (для ЭЛТ обычно rate больше 60, а остальное технические отличия которые гуглятся). Получаем Modeline, который можно добавить к перечню поддерживаемых разрешений:
xrandr --newmode "1680x1050_60.00" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync
И заканчиваем установкой нужного разрешения и добавлением скрипта в автозапуск:
xrandr --output CRT2 --mode 1680x1050_60.00
Но не всегда так гладко, бывают и ошибки.
среда, 29 января 2014 г.
Linux установка ATI HD 4xxx на Ubuntu 12.04 LTS
Необходимо установить Ubuntu на комп с такой видеокартой ATI HD 4670 PCI Express. На сайте AMD говорится, что на Linux драйвера не обновляют. Последние которые есть для нужной мне серии AMD Catalyst™ 13.1 Proprietary Linux x86 Display Driver для Xserver до версии включительно 1.12 и ядра до 3.4. Устанавливал по этой инструкции но не все было как в ней. Опишу установку здесь, чтобы не забыть.
вторник, 28 января 2014 г.
Linux как узнать версию Xserver
dpkg -p xserver-xorg-core | grep Version | cut -d : -f 3-
или первая строчка /var/log/Xorg.0.log
или X -version
или первая строчка /var/log/Xorg.0.log
или X -version
понедельник, 27 января 2014 г.
Linux Error - debclean: not found, dpkg-buildpackage: not found
При установке драйвера ATI выбираю создание deb файла и получаю в логе ошибку
Package build failed!Package build utility output:
./packages/Ubuntu/ati-packager.sh: 294: ./packages/Ubuntu/ati-packager.sh: debclean: not found
./packages/Ubuntu/ati-packager.sh: 295: ./packages/Ubuntu/ati-packager.sh: dpkg-buildpackage: not found
[Error] Generate Package - error generating package : Ubuntu/precise
Нужно доустановить пакеты:
sudo apt-get install build-essential cdbs dh-make dkms execstack dh-modaliases linux-headers-generic fakeroot
Package build failed!Package build utility output:
./packages/Ubuntu/ati-packager.sh: 294: ./packages/Ubuntu/ati-packager.sh: debclean: not found
./packages/Ubuntu/ati-packager.sh: 295: ./packages/Ubuntu/ati-packager.sh: dpkg-buildpackage: not found
[Error] Generate Package - error generating package : Ubuntu/precise
Нужно доустановить пакеты:
sudo apt-get install build-essential cdbs dh-make dkms execstack dh-modaliases linux-headers-generic fakeroot
Linux установка менеджера пакетов Synaptic
После установки Ubuntu 12.04 по-умолчанию нет менеджера пакетов Synaptic. Я им привык пользоваться для того чтобы заморозить версию программы, или оттуда удобно чистить старые ядра и доустанавливать headers.
sudo apt-get install synaptic
После этого в установленных программах ищем "менеджера пакетов Synaptic"
sudo apt-get install synaptic
После этого в установленных программах ищем "менеджера пакетов Synaptic"
Linux дисковод /tmp не готов или отсутствует
Установлена Ubuntu 12.04 LTS. Почищена от ненужных пакетов (LibreCalc и т.д., Games, Ubuntu One, Gwibber, Thunderbird). Произведено обновление пакетов. После перезагрузки при включении появилось сообщение "дисковод /tmp не готов или отсутствует". По совету с ЛОРа помогло:
sudo rm -rf /tmp
sudo mkdir -v /tmp
sudo chmod 1777 -v /tmp
sudo rm -rf /tmp
sudo mkdir -v /tmp
sudo chmod 1777 -v /tmp
воскресенье, 26 января 2014 г.
Linux просмотр открытых портов
Например:
sudo netstat -lantp | grep <IP>
Параметры:
l - LISTEN
a - все открытые порты
t or u - TCP or UDP
p - подробная инфа с PID и имя процесса
n - DNS-имена заменить на цифровой вид
s - просмотр статистики
или подобная утилита ss для просмотра информации по сокетам, ключи подобны netstat
Потом для настройки iptables смотрим откуда куда и по каким портам идут пакеты:
tcpdump host <IP> -n
sudo netstat -lantp | grep <IP>
Параметры:
l - LISTEN
a - все открытые порты
t or u - TCP or UDP
p - подробная инфа с PID и имя процесса
n - DNS-имена заменить на цифровой вид
s - просмотр статистики
или подобная утилита ss для просмотра информации по сокетам, ключи подобны netstat
Потом для настройки iptables смотрим откуда куда и по каким портам идут пакеты:
tcpdump host <IP> -n
вторник, 21 января 2014 г.
Шифрование одноразовые блокноты OTP (One-time pad)
OTP считается теоретически не взламываемой системой шифрования. Одноразовый блокнот представляет собой список чисел в случайном порядке, используемый для кодирования сообщения. Как видно из названия системы, OTP может использоваться только один раз. Если числа в OTP являются действительно случайными, OTP имеет большую длину, чем сообщение, и используется только один раз, то шифрованный текст не предоставляет какого-либо механизма для восстановления исходного ключа (т. е. самого OTP) и, следовательно, сообщений. Одноразовые блокноты используются в информационных средах с очень высоким уровнем безопасности (но только для коротких сообщений). Например, в Советском Союзе OTP использовался для связи разведчиков с Москвой. Двумя основными недостатками OTP являются генерация действительно случайных блокнотов и проблема распространения блокнотов. Очевидно, что если блокнот выявляется, то раскрывается и та информация, которую он защищает. Если блокноты не являются действительно случайными, могут быть выявлены схемы, которые можно использовать для проведения анализа частоты встречаемых символов.
Сообщение
Соответствующие номера букв в алфавите
Одноразовый блокнот
Сумма номеров букв сообщения + номера букв OPT
Зашифрованное сообщение
Сообщение
S | E | N | D | H | E | L | P |
19 | 5 | 14 | 4 | 8 | 5 | 12 | 16 |
7 | 9 | 5 | 2 | 12 | 1 | 0 | 6 |
26 | 14 | 19 | 6 | 20 | 6 | 12 | 22 |
Z | N | S | F | T | F | L | V |
Взято отсюда
среда, 15 января 2014 г.
Linux установка антивируса clamav с GUI (clamtk)
Для проверки виндовых флешек нужен антивирус. В Ubuntu буду использовать clamav c GUI надстройкой clamtk.
sudo apt-get install clamav
sudo freshclam (обновляем антивирусные базы)
sudo apt-get install clamtk (устанавливаем GUI)
sudo apt-get install clamav
sudo freshclam (обновляем антивирусные базы)
sudo apt-get install clamtk (устанавливаем GUI)
вторник, 14 января 2014 г.
Python однострочник нахождения списка простых чисел от 2 до n (решето Эратосфена)
sorted(set(range(2,n+1)).difference(set((p * f) for p in range(2,int(n**0.5) + 2) for f in range(2,(n/p)+1))))
Взято отсюда
Python нахождение числового палиндрома
"А роза упала на лапу Азора" - палиндром, 131 - числовой палиндром.
Решение: число представляю в виде строки, прохожу по циклу от 0 до половины размера строки и сравниваю последовательно симметрично i и -(i +1). Все одинаковые значения добавляются в список и в конце сравниваю размер списка с половиной размера строки. Если равны - то палиндром.
Дебаг:
x = 1234321
for i in xrange(len(str(x)) // 2):
if str(x)[i] == str(x)[-(i + 1)]:
print str(x)[i]
def isPalindrom(n):
"""
Check integer for palindrom
>>> isPalindrom(131)
True
>>> isPalindrom(130)
False
"""
return str(n) == str(n)[::-1]
Решение: число представляю в виде строки, прохожу по циклу от 0 до половины размера строки и сравниваю последовательно симметрично i и -(i +1). Все одинаковые значения добавляются в список и в конце сравниваю размер списка с половиной размера строки. Если равны - то палиндром.
Дебаг:
x = 1234321
for i in xrange(len(str(x)) // 2):
if str(x)[i] == str(x)[-(i + 1)]:
print str(x)[i]
Привожу в однострочник:
if len([i for i in xrange(len(str(x)) // 2) if str(x)[i] == str(x)[-(i + 1)]]) == len(xrange(len(str(x)) // 2)):
print 'Палиндром'
Или красивое решение :)
Или красивое решение :)
"""
Check integer for palindrom
>>> isPalindrom(131)
True
>>> isPalindrom(130)
False
"""
return str(n) == str(n)[::-1]
понедельник, 13 января 2014 г.
Windows 7 перевод из динамического с зеркалом в базовый без форматирования одного
Задача: есть комп, используемый как сервер, с такой конфигурацией дискового массива - 2 SATA диска по 500Гб, ОС Windows 7 SP1rus, софтовый рейд. Диски динамические, разбиение на тома C - система, D - базы 1С, E - бекап баз + образ делается стандартным архивированием семерки. Диски полностью в зеркале, т.е. на всех томах зеркало (в том числе и на скрытом томе с конфигурацией хранилища загрузки BCD). Нужно изъять один диск из массива и перевести динамический в базовый. Один диск с рабочей копией системы с базами и архивом будет хранится до востребования, а комп будет использоваться как пользовательский без функции сервера. Стандартное решение Windows - это один диск будет очищен, а второй будет переведен в базовый. Хочется два базовых идентичных.
воскресенье, 12 января 2014 г.
Шифр Viginer (16 век, Рим)
Выбирается ключ, например слово CRYPTO . Записывается фраза, которую надо зашифровать WHAT A NICE DAY TODAY только без пробелов, и настолько же букв, сколько в фразе, записывается повторяясь ключ. Потом формируется зашифрованная фраза суммой по модулю 26. Сумма по модулю 26 это значит остаток от деления нацело на 26 суммы (a + b) % 26, где a, b - порядковые номера букв в алфавите. Например: (23(W) + 3(C)) % 26 = 26(Z), или (20(T) + 16(P) % 26 = 36 % 26 = 10(J).
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |
A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
W | H | A | T | A | N | I | C | E | D | A | Y | T | O | D | A | Y |
C | R | Y | P | T | O | C | R | I | P | T | O | C | R | I | P | T |
Z | Z | Z | J | U | C | L | U | D | T | U | N | W | G | C | Q | S |
пятница, 3 января 2014 г.
Linux поддержка exFAT
exFAT - проприетарная файловая система от Microsoft, предназначенная для флэш-накопителей. Основное её преимущество перед FAT - уменьшение количества перезаписей одного и того же сектора. Ubuntu изначально не поддерживает файловую систему exFAT, поскольку её разрабатывала Microsoft, и поставляется данная файловая система с ограниченной лицензией, которая не позволяет операционным системам с открытым исходным кодом встраивать её поддержку изначально.
Но можно добавить поддержку exFAT в Ubuntu.
Но можно добавить поддержку exFAT в Ubuntu.
Подписаться на:
Сообщения (Atom)