Skip to content


Просмотр изменений в пакетах через yum

Часто бывает интересно при установке обновлений что же именно было изменено в устанавливаемом пакете (иногда такое знание даже помогает принять правильное решение о целесообразности установки нового пакета вообще). Можно, конечно, скачать rpm-файл, распаковать, найти файл CHANGELOG, почитать... Но удобнее воспользоваться плагином к yum-у, который так и называется: yum-changelog. Устанаваливаем:

# yum install yum-changelog
Подготовка к установке
Разрешение зависимостей
--> Проверка сценария
---> Пакет yum-plugin-changelog.noarch 0:1.1.28-1.fc14 помечен для установки
--> Обработка зависимостей: python-dateutil для пакета: yum-plugin-changelog-1.1.28-1.fc14.noarch
--> Проверка сценария
---> Пакет python-dateutil.noarch 0:1.5-3.fc14 помечен для установки
--> Проверка зависимостей окончена
.....

Пользуемся:

$ yum changelog 2011-09 tzdata
Загружены модули: changelog, langpacks, presto, refresh-packagekit
Adding ru_RU to language list
Listing changelogs since 2011-09-14
==================== Available Packages ====================
tzdata-2011k-0.1.20110921.fc14.noarch    updates
* Wed Sep 21 15:00:00 2011 Petr Machata <pmachata@redhat.com> - 2011k-0.1.20110921
- Upstream 2011j:
  - Fix the Samoa date line skip
  - Changes in past timestamp typos several Africa zones
- Proposed upstream 2011k:
  - Belarus and Ukraine adopt permanent DST in 2011
  - Palestine suspends DST during Ramadan in 2011
  - Gaza and West Bank split in 2011.  West Bank is tracked in the
    timezone Asia/Hebron.  zone.tab update accordingly.
- Resolves: #737896
changelog stats. 2 pkgs, 2 source pkgs, 1 changelog

В данном случае команда вывела изменения, которые были внесены в пакет tzdata с сентября 2011 по текущий момент.

Можно также просто вывести заданное количество последних изменений, без указания даты. Например, следующая команда покажет 2 последних изменения в пакете tzdata:

$ yum changelog 2 tzdata
Загружены модули: changelog, langpacks, presto, refresh-packagekit
Adding ru_RU to language list
Listing 2 changelogs
==================== Installed Packages ====================
tzdata-2011k-0.1.20110921.fc14.noarch    installed
* Wed Sep 21 15:00:00 2011 Petr Machata <pmachata@redhat.com> - 2011k-0.1.20110921
- Upstream 2011j:
  - Fix the Samoa date line skip
  - Changes in past timestamp typos several Africa zones
- Proposed upstream 2011k:
  - Belarus and Ukraine adopt permanent DST in 2011
  - Palestine suspends DST during Ramadan in 2011
  - Gaza and West Bank split in 2011.  West Bank is tracked in the
    timezone Asia/Hebron.  zone.tab update accordingly.
- Resolves: #737896
 
* Mon Aug 29 15:00:00 2011 Petr Machata <pmachata@redhat.com> - 2011h-1
- Upstream 2011i:
  - Add Africa/Juba (South Sudan) zone
  - Samoa skips over the date line on 2011-12-30
  - Use KALT as abbreviation for Europe/Kalinigrad
  - Canonical version of the Newfoundland patch
  - Change America/Resolute use of EST to 2006-2007 only
  - Assume Metlakatla abandoned use of daylight saving in 1983
  - Sync iso3166.tab and zone.tab with above
- Resolved: #734063
 
changelog stats. 1 pkg, 1 source pkg, 2 changelogs

Альтернативный метод смотреть историю изменений пакета:

$ rpm -q --changelog skype
* Tue Feb 05 2008 Skype Technologies S.A. <info@skype.net> 2.1.0.10
- bugfix: #98304, Groups: No menus without surprise key.
 - bugfix: #98312, Debug logs have different Filenames.
 - bugfix: fix for tabs issue with qt 4.4.0 forward ported from 2.0.
 - internal: disable prelink for skype on fc9 and fc10.
 - internal: lib update

А вот так можно посмотреть список зависимостей пакета:

$ rpm -qR skype
/bin/sh
/bin/sh
alsa-plugins-pulseaudio(x86-32)
config(skype) = 4.3.0.37-fc16
libQtCore.so.4
libQtDBus.so.4
libQtGui.so.4
libQtNetwork.so.4
libQtWebKit.so.4
libQtXml.so.4
libX11.so.6
libXScrnSaver
libXext.so.6
libXss.so.1
libXv
libXv.so.1
libc.so.6
libc.so.6(GLIBC_2.0)
libc.so.6(GLIBC_2.1)
libc.so.6(GLIBC_2.1.3)
libc.so.6(GLIBC_2.2)
libc.so.6(GLIBC_2.3)
libc.so.6(GLIBC_2.3.2)
libc.so.6(GLIBC_2.3.4)
libc.so.6(GLIBC_2.4)
libc.so.6(GLIBC_2.7)
libdl.so.2
libdl.so.2(GLIBC_2.0)
libdl.so.2(GLIBC_2.1)
libgcc_s.so.1
libgcc_s.so.1(GCC_3.0)
libgcc_s.so.1(GLIBC_2.0)
libm.so.6
libm.so.6(GLIBC_2.0)
libm.so.6(GLIBC_2.1)
libpng
libpthread.so.0
libpthread.so.0(GLIBC_2.0)
libpthread.so.0(GLIBC_2.1)
libpthread.so.0(GLIBC_2.2)
libpthread.so.0(GLIBC_2.3.2)
librt.so.1
librt.so.1(GLIBC_2.2)
libstdc++.so.6
libstdc++.so.6(CXXABI_1.3)
libstdc++.so.6(GLIBCXX_3.4)
libstdc++.so.6(GLIBCXX_3.4.9)
pulseaudio-libs
qt >= 4.6
qtwebkit
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)

Posted in *nix, Howto.

Tagged with , , .


Определение размера страницы памяти

Страница памяти (Memory page) - это диапазон последовательно идущих адресов в пространстве виртуальной памяти. Размер страницы всегда является степенью числа 2. Эти виртуальные адреса транслируются в соответствующий диапазон физических адресов. Размер страницы памяти является архитектурно-зависимым.
В архитектурах x86 и x86_64 размер страницы памяти равен 4КБ, у Intel Itanium (IA64) - 16КБ. Определить размер страницы на кокретной машине под ОС Unix можно с помощью системного вызова getpagesize. Вот пример программы на языке C, которая возвращает размер страницы памяти в байтах:

#include <unistd.h>
#include <stdio.h>
 
int main(int argc, char* argv[])
{
        long mempagesize = sysconf(_SC_PAGESIZE);
        printf("memory pagesize on this box : %i\n", mempagesize);
        return 0;
}

Компилировать, например, так:

gcc -o getpagesize getpagesize.c

Posted in *nix.

Tagged with , .


Толкование и лечение ошибок ядра из dmesg в Linux

В этом посте будут собираться различные сообщения об ошибках ядра, которые время от времени появляются почти на любом нагруженном linux-сервере. Чтобы не рыться долго в интернетах в поисках решения, когда оно в очередной раз вылезет на очередном сервере.

Текст сообщения: TCP: time wait bucket table overflow
Лечение (способ N1): Увеличить параметр /proc/sys/net/ipv4/tcp_max_tw_buckets
Лечение (способ N2): Уменьшить тайм-аут для состояния TIME_WAIT TCP-соединений.

Текст сообщения: Neighbour table overflow
Лечение:

echo 256 > /proc/sys/net/ipv4/neigh/default/gc_thresh1
echo 1024 > /proc/sys/net/ipv4/neigh/default/gc_thresh2
echo 2048 > /proc/sys/net/ipv4/neigh/default/gc_thresh3

Posted in *nix, Howto.


HTC официально разрешает разблокирование загрузчиков

HTC опубликовала на сайте htcdev.com обещанное ранее web-приложение Bootloader Unlock, предназначенное для разблокирования загрузчика и отключения NAND-защиты для выпущенного в 2011 году телефона HTC Sensation (и более поздних моделей). Суть работы Bootloader Unlock состоит в генерации ключа для заранее предусмотренного производителем режима разблокировки. Ключ отправляется пользователю после добавления идентификатора устройства через специальную форму на сайте.

Последовательность получения ключа разблокировки для новых моделей телефонов на платформе android

По словам Питера Чоу, руководителя HTC, компания решила пойти навстречу клиентам, которые все чаще желают получить полный контроль над телефоном для модификации прошивки и получения дополнительных возможностей. Данным шагом HTC намерена показать, что компания прислушивается к мнению пользователей и готова пойти навстречу их пожеланиям. Разблокировка позволит энтузиастам легально заменить прошивку, например, установить такие альтернативные прошивки, как CyanogenMod или Replicant. Однако, при разблокировании телефона пользователь соглашается с потерей гарантии и невозможности использования контента, доступ к которому производится с привлечением технических средств защиты авторских прав (DRM). Кроме того, разблокирование невозможно для телефонов, привязанных к определенным операторам связи, например, HTC EVO 3D Sprint и HTC Sensation 4G T-Mobile.

Источник: http://www.opennet.ru/opennews/art.shtml?num=31505

Posted in Android.