17 июля 2015

Слеза админа: итеративность Windows Update

Разворачиваю свежую виртуалку с Windows 7 на борту - нужно обновить информацию о таймзонах. Нужное мне обновление KB3013410, но просто скачать его и установить не выйдет - говорит, что не применимо к моей системе:


Начинаю обновлять через Windows update. Сначала нужно установить обновление самого windows update и перезагрузиться, затем поиск обновлений находит лишь 4 важных и 50 опциональных. Среди опциональных нужного апдейта нету - ставлю все кроме локализации и перезагружаюсь. Далее поиск находит 20 важных и 50 опциональных - и опять там нет нужного апдейта!

Почему нельзя сделать как в Linux - поставить ВСЕ обновления за один раз и перезагрузиться?! Да фиг с однократной перезагрузкой - я хочу скомандовать: ставить апдейты непрерывно не отвлекаясь ни на что, мне фиолетово на нагрузку и тормоза, мне нужна полностью обновленная система и как можно скорее. Выбор варианта автоматической установки обновлений не дает желаемого.

Может есть способ обновить систему "быстро, без регистрации и смс"? Может лучше стало в Win8/Win10?

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

16 июля 2015

Ошибка "NO_PUBKEY 836CC41976FB442E" при выполнении apt-get update

При смене gpg ключа на моем репозитории не обошлось без проблем - сегодня при выполнении apt-get update на одном из хостов получил ошибку:

$ sudo apt-get update

W: A error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://www.tataranovich.com wheezy Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 836CC41976FB442E

W: Failed to fetch http://www.tataranovich.com/debian/dists/wheezy/Release: 
W: Some index files failed to download. They have been ignored, or old ones used instead.

На этом хосте не установлен пакет tataranovich-keyring и ключ не обновился автоматически. Чтобы решить эту проблему достаточно выполнить команду:

$ sudo apt-key adv --keyserver pgp.mit.edu --recv-key 836CC41976FB442E

Затем обновить информацию APT и установить пакет tataranovich-keyring, чтобы избежать подобных проблем в будущем:

$ sudo apt-get update
$ sudo apt-get install tataranovich-keyring

Альтернативным решением будет скачать пакет tataranovich-keyring отсюда и установить его руками:

$ wget http://www.tataranovich.com/debian/pool/sid/main/t/tataranovich-keyring/tataranovich-keyring_2015.07.13_all.deb
$ sudo dpkg -i tataranovich-keyring_2015.07.13_all.deb

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

15 июля 2015

Reverting merge in git

Чтобы отменить неудачный мерж в git нужно узнать его sha-хеш в логе и выполнить git revert -m 1 %hash%. Параметр -m требуется чтобы указать git какого из родителей мерж комита нужно оставить.

$ git revert -m 1  975a217272bb91fd 
[master 268298c] Revert "Merge branch 'fix_permissions' into 'master'"
 99 files changed, 3222 insertions(+), 4898 deletions(-)

При этом в истории появится что-то вроде этого:

commit 268298ce95363a2c0c383c2249d4836617484dc5
Author: Andrey Tataranovich <tataranovich@gmail.com>
Date:   Wed Jul 15 16:17:09 2015 +0300

    Revert "Merge branch 'fix_permissions' into 'master'"
    
    This reverts commit 975a217272bb91fd5cd32cc6ea4ea9af189fbcc2, reversing
    changes made to 0c2c54e1a29576afd760bbdaa7f986f14c2c28cd.

commit 975a217272bb91fd5cd32cc6ea4ea9af189fbcc2
Merge: 0c2c54e 4eb3dd6
Author: John Doe <john.doe@example.com>
Date:   Wed Jul 15 14:15:03 2015 +0300

    Merge branch 'fix_permissions' into 'master'
    
    fix permissions
    
    fix permissions
    update order-notes-and-files
    
    See merge request !12

Осталось запушить изменения на сервер. Более подробную инфу по отмене мержа можно найти тут.

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

13 июля 2015

Flashplugin 11.2.202.481 crashing

Пользуюсь firefox и вчера обновил flashplugin до 11.2.202.481 - в итоге имею пачку segfault при попытке просмотреть запись вебинара:


в dmesg при этом:

[77541.452527] plugin-containe[22314]: segfault at 0 ip ae9c2fbe sp bf900864 error 4 in libflashplayer.so[ae3e7000+1024000]
[79194.784129] plugin-containe[22803]: segfault at 0 ip ae9c2fbe sp bffd8404 error 4 in libflashplayer.so[ae3e7000+1024000]
[79205.180568] plugin-containe[22893]: segfault at 0 ip ae8c2fbe sp bfa7bc04 error 4 in libflashplayer.so[ae2e7000+1024000]
[85649.150525] plugin-containe[25522]: segfault at 0 ip ae8c2fbe sp bfc30814 error 4 in libflashplayer.so[ae2e7000+1024000]

Попробую вечером собрать freshplayer для интеграции pepperflash в firefox.

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

Новый GPG ключ для моего репозитория

С сегодняшнего дня мой репозиторий подписывается PGP ключем 0x76FB442E (4A49 2741 9308 3320 450B 7E4D 836C C419 76FB 442E). Импортировать ключ в APT можно установив пакет tataranovich-keyring или выполнив команду:

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 76FB442E

Старый ключ (2EE7EF82, ACBE C1C1 FC07 5E80 359A 7CC2 FE27 2604 2EE7 EF82) будет отозван после проведения июльского KSP в Минске.

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

10 июля 2015

Запрет запуска сервисов в chroot при установке пакетов

Чтобы не засорять ноутбук девелоперскими пакетами (которые часто бывают сильно разных версий squeeze, wheezy, jessie) я использую chroot, а точнее schroot. Для запрета запуска сервисов при установке пакетов по зависимостям внутри chroot нужно создать в chroot файл /usr/sbin/policy-rc.d (подсмотрено тут).

Для моего chroot с jessie это выглядит так:

% schroot -c jessie-dev
(jessie-dev) $ echo 'exit 101' | sudo tee /usr/sbin/policy-rc.d
(jessie-dev) $ sudo chmod +x /usr/sbin/policy-rc.d
(jessie-dev) $ sudo invoke-rc.d dbus start
invoke-rc.d: policy-rc.d denied execution of start.

Теперь при установке сервисов они не запускаются автоматически. Стоит отметить, что данный запрет не действует, если в preinst или postinst используют /sbin/service foo start или /etc/init.d/foo start.

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

08 июля 2015

Удалить пароли из gpg-agent

Чтобы удалить пароли из gpg-agent нужно выполнить следующую команду:

$ pkill -HUP gpg-agent

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