13 марта 2014

Отключение файла hiberfil.sys в Windows 7

В Windows 7 из настроек Power Options убрали пункт "Enable hibernation" (в Windows XP он был на вкладке Hibernation в Power Options). Чтобы отключить файл hiberfil.sys нужно выполнить с правами Администратора команду

powercfg.exe -h off

при этом отключится засыпание на диск, если в последующем потребуется его включить обратно,  то нужно выполнить

powercfg.exe -h on

Вы можете следить за обновлениями блога с помощью Atom/RSS и Telegram.

Разработчики Replicant выявили бэкдор в смартфонах и планшетах Samsung Galaxy

Не могу не перепостить

Разработчики Replicant выявили бэкдор в смартфонах и планшетах Samsung Galaxy

Вы можете следить за обновлениями блога с помощью Atom/RSS и Telegram.

11 марта 2014

Nginx: client intended to send too large body

Если в логи nginx падает ошибка вида

2014/03/11 11:54:28 [error] 8699#0: *4615315 client intended to send too large body: 1569729 bytes, client: xx.xx.xx.xx, server: example.com, request: "POST /upload/index.php HTTP/1.1", host: "example.com", referrer: "http://example.com/upload/"

То причина в превышении лимита размера тела запроса в Nginx, за этот лимит отвечает параметр client_max_body_size (по-умолчанию лимит равен 1m).

Чтобы увеличить этот лимит хотя бы до 50m добавьте в конфигурацию nginx (в Debian это можно сделать через файл /etc/nginx/conf.d/local.conf)

# echo 'client_max_body_size 50m;' > /etc/nginx/conf.d/local.conf
# nginx -t
the configuration file /etc/nginx/nginx.conf syntax is ok
configuration file /etc/nginx/nginx.conf test is successful
# service nginx reload

P.S. Ответ нашелся тут.

Вы можете следить за обновлениями блога с помощью Atom/RSS и Telegram.

10 марта 2014

Полная очистка SSD диска

Перед началом использования SSD диска желательно выполнить его полное стирание. Если SSD диск уже использовался ранее, то полное стирание (secure erase) позволит контроллеру не производить предварительную подготовку ячеек NAND перед операцией записи. Если вы не в курсе почему так, то можно почитать это.

Сначала нужно убедиться, что SSD диск не заблокирован BIOS'ом.

$ sudo hdparm -I /dev/sda | grep frozen
 not frozen

Если в результате вывело "not frozen", то можно переходить далее. Иначе нужно искать способ, как разблокировать диск. Один из способов разблокировать диск - выполнить suspend to ram

$ echo mem | sudo tee /sys/power/state

Чтобы выполнить secure erase нужно выполнить следующие команды (ВНИМАНИЕ! Secure erase безвозвратно удалит все данные с выбранного диска!)

$ sudo hdparm --user-master u --security-set-pass PasSWorD /dev/sda
security_password="PasSWorD"

/dev/sda:
 Issuing SECURITY_SET_PASS command, password="PasSWorD", user=user, mode=high

$ sudo hdparm --user-master u --security-erase PasSWorD /dev/sda
security_password="PasSWorD"

/dev/sda:
 Issuing SECURITY_ERASE command, password="PasSWorD", user=user

Все, диск полностью очищен и его производительность будет максимальна.

Вы можете следить за обновлениями блога с помощью Atom/RSS и Telegram.

05 марта 2014

Отключить использование PDIFF в APT

Чтобы отключить использование PDIFF нужно добавить в файл /etc/apt/apt.conf строку Acquire::PDiffs "false";

$ cat <<_EOF_ | sudo tee -a /etc/apt/apt.conf
Acquire::PDiffs "false";
_EOF_

Вы можете следить за обновлениями блога с помощью Atom/RSS и Telegram.

01 марта 2014

Подготовка образа дискеты с virtio драйвером для установки Windows Server 2003

Использование Windows Server 2003 на выделенном сервере сегодня имеет крайне мало смысла. Но старый солдат еще послужит, если перенести систему в виртуальную машину. В качестве системы виртуализации используется гипервизор KVM, что позволяет использовать virtio драйвера (storage, network, balloon) для оптимальной производительности.

Сначала создаю файл образа дискеты

$ truncate -s 1440k ./virtio-floppy_0.1-49.ima
$ sudo mkfs -t vfat -n VIRTIO ./virtio-floppy_0.1-49.ima
$ sudo mkdir /mnt/floppy
$ sudo mount -o loop,rw ./virtio-floppy_0.1-49.ima /mnt/floppy

Скачиваю образ с virtio драйверами. По этому совету я выбрал версию 0.1-49.

$ wget http://alt.fedoraproject.org/pub/alt/virtio-win/archives/virtio-win-0.1-49/virtio-win-0.1-49.iso

Создаю структуру установочного диска

$ sudo mkdir /mnt/iso
$ sudo mount -o ro,loop ./virtio-win-0.1-49.iso /mnt/iso
$ sudo mkdir -p /mnt/floppy/{i386,amd64}/Win2003
$ sudo touch /mnt/floppy/disk1
$ sudo cp /mnt/iso/WNET/X86/VIOSTOR.* /mnt/floppy/i386/
$ sudo cp /mnt/iso/WNET/AMD64/VIOSTOR.* /mnt/floppy/amd64/
$ cat<<_EOF_ | sudo tee /mnt/floppy/txtsetup.oem
[Disks]
d1 = "OEM DISK (SCSI) Win2003/32-bit",\disk1,\i386\Win2003
d2 = "OEM DISK (SCSI) Win2003/64-bit",\disk1,\amd64\Win2003

[Defaults]
SCSI = WNET32

[scsi]
WNET32 = "Red Hat VirtIO SCSI Disk Device Win2003/32-bit"
WNET64 = "Red Hat VirtIO SCSI Disk Device Win2003/64-bit"

[Files.scsi.WNET32]
driver = d1, viostor.sys, viostor
inf    = d1, viostor.inf
catalog= d1, viostor.cat

[Files.scsi.WNET64]
driver = d2, viostor.sys, viostor
inf    = d2, viostor.inf
catalog= d2, viostor.cat

[HardwareIds.scsi.WNET32]
id = "PCI\VEN_1AF4&DEV_1001&SUBSYS_00000000", "viostor"
id = "PCI\VEN_1AF4&DEV_1001&SUBSYS_00020000", "viostor"
id = "PCI\VEN_1AF4&DEV_1001&SUBSYS_00021AF4", "viostor"

[HardwareIds.scsi.WNET64]
id = "PCI\VEN_1AF4&DEV_1001&SUBSYS_00000000", "viostor"
id = "PCI\VEN_1AF4&DEV_1001&SUBSYS_00020000", "viostor"
id = "PCI\VEN_1AF4&DEV_1001&SUBSYS_00021AF4", "viostor"

[Config.WNET32]
value = Parameters\PnpInterface,5,REG_DWORD,1

[Config.WNET64]
value = Parameters\PnpInterface,5,REG_DWORD,1
_EOF_

Осталось подчистить хвосты

$ sudo umount /mnt/{iso,floppy}
$ sudo rmdir /mnt/{iso,floppy}

В результате в файле ./virtio-floppy_0.1-49.ima находится образ дискеты для установки Windows Server 2003 на диск, доступный через virtio контроллер.

Вы можете следить за обновлениями блога с помощью Atom/RSS и Telegram.

Модификация Seabios для гипервизора KVM

Для модификации BIOS потребуется установить пару зависимостей

$ sudo aptitude install build-essential iasl

Внедрение секции ACPI_SLIC (используется SLIC той машины, где выполняется модификация) в BIOS для гипервизора KVM

$ git clone https://github.com/ghuntley/seaslic.git seaslic
$ cd seaslic
$ git clone git://git.seabios.org/seabios.git seabios.submodule
$ cd seabios.submodule
$ git checkout rel-1.7.3.2
$ cd ..
$ ./patch.sh

После завершения компиляции нужно установить модифицированную версию Seabios в систему (я не заменяю дистрибутивный BIOS, вместо этого устанавливается отдельная версия)

$ sudo mkdir /opt/seaslic
$ sudo cp seabios.submodule/out/bios.bin /opt/seaslic

Далее нужно отредактировать конфигурацию виртуальной машины

$ export LIBVIRT_DEFAULT_URI=qemu:///system
$ virsh edit vmname

В открывшемся редакторе нужно привести XML файл виртуальной машины к подобному виду

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
...
  <qemu:commandline>
    <qemu:arg value='-bios'/>
    <qemu:arg value='/opt/seaslic/bios.bin'/>
  </qemu:commandline>
</domain>

После сохранения файла и перезапуска виртуальной машины в BIOS будет доступна дополнительная секция.

Вы можете следить за обновлениями блога с помощью Atom/RSS и Telegram.