вівторок, 17 грудня 2013 р.

Після встановлення OpenSUSE

Оновлюємо систему:
su
zypper refresh
zypper update
Якщо потрібно — зробити перезавантаження системи.

Встановлюємо Nvidia драйвер в OpenSUSE — http://en.opensuse.org/SDB:NVIDIA_drivers

Встановлюємо мультимедійні кодеки в OpenSUSE — http://opensuse-community.org/codecs-kde.ymp

Встановлюємо Flash Player в OpenSUSE — http://software.opensuse.org/package/flash-player

Встановлюємо медіаплеєр VCL в OpenSUSE — http://software.opensuse.org/package/vlc

Встановлюємо Chromium в OpenSUSE — http://software.opensuse.org/package/chromium

Встановлюємо Dropbox в OpenSUSE — http://software.opensuse.org/package/dropbox

Встановлюємо Google Chrome в OpenSUSE
su
##Для 32-бітної версії OpenSUSE##
zypper ar http://dl.google.com/linux/chrome/rpm/stable/i386 Google-Chrome
##Для 64-бітної версії OpenSUSE##
zypper ar http://dl.google.com/linux/chrome/rpm/stable/x86_64 Google-Chrome

zypper ref
zypper in google-chrome-stable

вівторок, 19 листопада 2013 р.

Мініатюри для відео-файлів у Dolphin

Розширення додає мініатюри для відео-файлів у Dolphin:

zypper in kffmpegthumbnailer
Налаштування Dolphin => Загальне = > вкладка «Перегляд» => ставимо галку Video Files (kffmpegthumbnailer)

четвер, 14 березня 2013 р.

Реліз Linux-дистрибутива openSUSE 12.3

Після шести місяців розробки представлено реліз Linux-дистрибутива openSUSE 12.3. Дистрибутив доступний для 32- та 64-розрядних x86-систем в чотирьох збірках: універсальний інсталяційний DVD (4.7 Гб), Live з GNOME 3.6, Live з KDE 4.10 і скорочена версія для встановлення по мережі. Крім того, вперше в рамках штатного випуску поставляється стабільна збірка openSUSE для ARMv7, експериментальна збірка для ARM64 (AArch64) і спеціалізована Live-збірка для відновлення після збоїв.


Особливості openSUSE 12.3:
  • Постачання нових версій десктоп-оточень KDE 4.10, GNOME 3.6, Xfce 4.10, LXDE, KDE 3 і Razor-Qt 0.5. До складу дистрибутива також включено десктоп-оточення Enlightenment E17 і додані віконні менеджери Sawfish і Awesome.
  • Перероблена інфраструктура дистрибутива: Видалена підтримка класичної системи ініціалізації Sysvinit. Завершено переклад дистрибутива на системний менеджер systemd, який поновлений у openSUSE 12.3 до версії 195. Для ведення системних логів задіяна підсистема journald. Бібліотеки і виконувані файли перенесені з кореня в ієрархію директорії /usr. Точки монтування перенесені в каталог /run/user/. Для забезпечення переходу в сплячий режими чекання, а також для управління індикаторами на ноутбуках, задіяні механізми systemd;
  • За замовчуванням замість MySQL тепер пропонується СУБД MariaDB. Підтримка MySQL збережена і користувачі можуть встановити дану СУБД зі штатних репозиторіїв, але всі залежності для потребуючих MySQL сторонніх пакетів тепер пов'язані з MariaDB;
  • Реалізована повноцінна підтримка завантаження в режимі UEFI і експериментальна підтримка завантаження в режимі UEFI Secure Boot, заснована на використанні завантажувача Shim, підписаного ключем Microsoft. У режимі UEFI Secure Boot можлива не тільки верифікація початкового завантажувача, але і перевірка завантажуються в подальшому GRUB2 і ядра Linux, при цьому для їх перевірки використовуються цифрові підписи на основі ключів openSUSE (також передбачений варіант використання власних ключів користувача);
  • Оновлені версії системних компонентів: ядро ​​Linux 3.7, Glibc 2.16, zsh 5.0, libpng 1.5, binutils 2.23;
  • Нові версії додатків та графічного стека: X-сервер 1.13, Mesa 9, свіжі відеодрайвери, LibreOffice 3.6 (з додаткових репозиторіїв доступний LibreOffice 4.0), DigiKam 3.0, Amarok 2.7, rhythmbox 2.98, Banshee 2.6, Blender 2.64, Ekiga 4.0, Scribus 1.4 .2, Rekonq 2.0, KTorrent 4.3.1;
  • Нові версії серверних пакетів і засобів віртуалізації: PostgreSQL 9.2, OpenStack «Folsom», Virtualbox 4.2, QEMU 1.3, Squid 3.2.6, Nagios 3.4.4;
  • Нові версії засобів для розробників: LLVM 3.2, gdb 7.5, GCC 4.7.2, Python 3.3 (за умовчанням по колишньому Python 2.7.3), Mono 3, Qt Creator 2.6, Glade 3.14, MonoDevelop 3, Valgrind 3.8, KDevelop 4.4;

  • Здійснено перехід на GStreamer 1.0 і звуковий сервер PulseAudio 3. До складу включена бібліотека libopus з підтримкою звукового кодека OPUS;
  • Для роботи із зображеннями JPEG за замовчуванням задіяний пакет jpeg-turbo;
  • Зі складу дистрибутива видалений давно застарілий конфігуратор SuSEconfig, створений багато років тому для заміни /etc/rc.config;
  • Бібліотека libzypp оновлена ​​до версії 12.6. Проведена робота по збільшенню надійності засобів для роботи з пакетами. Повністю переписаний бекенд PackageKit для zypper;
  • Розмір образів LiveCD розширений до 1 Гб, що дозволило вмістити більше програм, але виключило можливість запису на CD. Зокрема, в Live образ були додані повний LibreOffice, GIMP, OpenJDK, набір корисних інструментів для відновлення після збою і резервного копіювання, таких як gparted, grsync, dd_rescue і photorec;
  • Підготовлена ​​офіційна версія openSUSE 12.3 для архітектури ARMv7. Дистрибутив доступний в збірках для платформ на базі процесорів Cortex-A (ARMv7) — Texas Instruments OMAP3/OMAP4 і Freescale I.MX51, а також пристроїв і плат на їхній базі, таких як BeagleBoard (xM), Panda Board, Calxeda Highbank, i .MX53 Loco, CuBox, Origen Board і Efika MX. Неофіційна підтримка забезпечена для нетбука Toshiba AC100. Базове десктоп-оточення ARM-редакції openSUSE побудовано на основі Xfce 4.10, але можна використовувати GNOME, KDE, IceWM, Enlightenment або WindowMaker;
  • Оновлення утиліти snapper до версії 0.1.0. Утиліта призначена для управління створенням снапшотів зі зрізами стану файлової системи і дозволяє в наочному режимі переглядати відмінності між поточним і минулими станами файлів в системі, при необхідності зміни можна відкотити, наприклад, повернути випадково перезаписаний файл або відновити стан системи після установки пакетів. Нова версія примітна забезпеченням можливості роботи Snapper з правами звичайного користувача, при цьому окремим користувачам необхідно призначити область їх повноважень. Наприклад, користувачеві можна дозволити створення снапшотов тільки для його домашньої директорії. Додана експериментальна підтримка роботи зі снапшоти LVM;
  • Внесена порція змін, пов'язаних з безпекою: в sshd активований більш жорсткий режим ізоляції. Замість пакета pwdutils, який є форком shadow, задіяний основний пакет shadow. За замовчуванням для нових установок тепер включаються PAM-модулі pam_unix.so і pam_cracklib.so;

Встановлюємо Chromium в OpenSUSE

Встановлюємо Chromium в OpenSUSE: http://software.opensuse.org/package/chromium

пʼятниця, 8 березня 2013 р.

Керування пакетами в OpenSUSE за допомогою zypper

Для керування пакетами в різних версіях OpenSUSE як високорівневий засіб використовується Yast, який насправді використовує zypper (а якщо ще точніше, то його бібліотеку libzypp). Zypper — засіб для керування пакетами в текстовому режимі. Також zypper досить універсальний в плані підключення різних репозиторіїв — він розуміє:
  • «Рідний» формат репозиторіїв yast;
  • репозиторії yum (rpm repo-md);
  • iso-образи репозиторіїв;
  • локальний каталог з rpm-пакетами;
  • те, що писати вже практично не обов'язково — різні мережеві джерела репозиторіїв — http, ftp, nfs.
З версії openSUSE 11.2 в zypper нарешті була додана опція, яка давно в нього просилася, а саме, опція попереднього викачування пакетів при оновленні. Раніше zypper працював так. Наприклад, потрібно оновити з десяток пакетів. Zypper викачував їх всі і встановлював по одному. В принципі, нічого страшного. Якщо канал в мережу хороший і надійний. А це в наших широтах не завжди зустрічається. В основному конфігураційному файлі /etc/zypp/zypp.conf дана поведінка описується опцією commit.download.mode (опція закоментована за замовчуванням), яка має наступні варіанти:
  • DownloadOnly — опція, яка легко замінюється ключем — dry-run, тобто звантаження всіх необхідних пакетів для поновлення без їх встановлення.
  • DownloadInAdvance — спочатку звантажити всі пакети, що вимагають відновлення, потім почати процес їх встановлення.
  • DownloadInHeaps — опція аналогічна попередній, але в даному випадку звантаження та встановлення пакетів виконується «порціями», не порушуючи цілісність системи. Приблизно також поводиться пакетний менеджер в Mandriva.
  • DownloadAsNeeded — традиційна поведінка. Звантаження та встановлення здійснюється по одному пакету.
Наступною цікавою можливістю zypper є скорочений варіант його опцій, тобто для встановлення пакета можна написати zypper install foopackage, а можна zypper in foopackage. Далі я буду приводити саме скорочений варіант опцій, а повний варіант писати в дужках.

Пошук пакетів

Для того, щоб знайти потрібний пакет в підключених репозиторіях використовується наступна команда:

zypper se foopackage — виконати пошук (se — search) пакета foopackage.

Якщо ви хочете знайти якусь програму, але не знаєте в якому пакеті її шукати, можна зробити так:
# zypper wp vi
Loading repository data...
Reading installed packages...
S | Name | Type | Version | Arch | Repository
--+--------------+---------+----------+------+------------------
| gvim | package | 7.2-16.7 | i586 | openSUSE-11.2-Oss
i | vim | package | 7.2-16.7 | i586 | openSUSE-11.2-Oss
| vim-enhanced | package | 7.2-16.7 | i586 | openSUSE-11.2-Oss
Опція wp (what-provides) дозволяє шукати пакет з будь-якого можливого параметру: ім'я виконуваного файлу, шлях до виконуваного файлу, набір символів з ​​опису пакета. В даному випадку я попросив знайти пакет, що містить редактор vi.

Спробуємо пошукати в якому пакеті у нас знаходиться бібліотека libpng:
# zypper wp libpng
Loading repository data...
Reading installed packages...
S | Name | Type | Version | Arch | Repository
--+------------+---------+------------+--------+------------------
i | libpng12-0 | package | 1.2.39-2.2 | x86_64 | openSUSE-11.2-Oss
v | libpng12-0 | package | 1.2.39-2.2 | i586 | openSUSE-11.2-Oss

Цікаво, а в якому пакеті знаходиться файл /bin/bash?
# zypper wp /bin/bash
Loading repository data...
Reading installed packages...
S | Name | Type | Version | Arch | Repository
--+------+---------+------------+--------+----------------------------
i | bash | package | 4.0-18.4.1 | x86_64 | Updates for openSUSE 11.2-0
v | bash | package | 4.0-18.4.1 | i586 | Updates for openSUSE 11.2-0
v | bash | package | 4.0-18.3 | x86_64 | openSUSE-11.2-Oss
v | bash | package | 4.0-18.3 | i586 | openSUSE-11.2-Oss 
Перший стовпчик показує статус пакета, де «i» означає — встановлений.
Переглянути інформацію про пакет можна командою zypper info <назва пакунка>.

Встановлення і видалення пакетів

Встановлення пакетів з підключених репозиторіїв виконується командою:
zypper in foopackage
Дана команда (in — install) встановлює пакет foopackage з усіма його залежностями.

Для видалення пакетів використовується опція rm (remove):
zypper rm foopackage
Дана команда видалить пакет foopackage з вашої системи.

Для перевірки цілісності системи на предмет задоволення залежностей існує команда verify:
zypper ve
Якщо чогось не буде вистачати — zypper запропонує доустановити пакети (або навіть видалити непотрібні).

Також є ще два ключа, які не є обов'язковими, але можуть дуже допомогти, якщо ви викликаєте zypper з скриптів. Перший ключ «-y» змушує пакетний менеджер відповідати на всі питання «так»/«yes». Другий ключ «-l» (маленька L) — має схоже значення, він змушує zypper погоджуватися з ліцензійними угодами окремих пакетів (наприклад, таких як Adobe Flash).

Оновлення

Виконувати оновлення системи zypper дозволяє двома способами — на основі патчів і на основі пакетів. Перший спосіб рекомендується для серверів. В даному випадку проводиться тільки накладення патчів, виправляються помилки безпеки на встановлене програмне забезпечення, причому цей спосіб оновлень повинен підтримуватися тими, хто веде репозиторій, з якого ви оновлюється. Стандартні репозиторії openSUSE підтримують даний спосіб.
Другий спосіб виконує встановлення нових пакетів в систему. Стандартні репозиторії openSUSE «заморожують» номери версій програм, так що в принципі ці два способи рівноцінні (але тільки для них). Це все була теорія. Тепер трохи практики.
Оновити метадані репозиторію можна командою:
zypper ref
Це необхідно робити щоразу перед виконанням оновлення (або включити autorefresh для всіх репозиторіїв — див.нижче).

Переглянути список доступних патчів (list-patches) можна командою:
zypper lp

Переглянути інформацію про конкретний патч можна командою (про опцію-t нижче):
zypper info -t patch foopatch

Встановити патчі можна командою:
zypper patch

Оновлення системи на основі пакетів виконується командою:
zypper up [ім'я пакета]
Дана команда (up/update) виконує оновлення або зазначеного пакунка, або всієї системи.

Друга команда призначається для оновлення системи між релізами (dist-upgrade):
zypper dup
Остання команда має кілька цікавих ефектів. Як відомо всі пакети rpm мають поле Vendor, в якому вказаний збирач пакета. Пакети зі стандартних репозиторіїв мають в даному полі openSUSE (або просто SUSE для ентерпрайзових версій). Пакети зібрані на openSUSE Build Service мають в даному полі слово obs із зазначенням виду репозиторію. Так от команда zypper up виконує оновлення таким чином, щоб поле Vendor не мінялося при оновленні. zypper dup, навпаки, може віддати перевагу змінити вендора пакета при оновленні.

Наступна цікава можливість стосується тих, хто як я любить поекспериментувати з системою. Припустимо, ви хочете поставити останню версію KDE, підключаєте репозиторій (про це нижче) KDE4: Factory (даний репозиторій для розробників і тестерів), виконуєте zypper dup (при цьому Vendor змінюється з openSUSE на щось подібне obs://build.opensuse.org/KDE/KDE4: Factory) і отримуєте її. Але потім, ви виявляєте, що в ній ще купа помилок і ви хотіли б повернутися назад. Що ж робити? Невже нічого не можна поправити?! А нічого страшного! Прибираєте даний репозиторій (видаляєте файл з його описом чи просто вимикаєте його) і знову виконуєте zypper dup. При цьому zypper вам запропонує виконати downgrade всіх оновлених раніше пакетів. Тобто zypper dup виконує оновлення системи таким чином, щоб вона завжди відповідала підключеним репозиторіям. Заради справедливості, варто відзначити, що downgrade не завжди проходить гладко. Іноді, при несприятливому положенні зірок і планет, в системі залишаються бібліотеки від нових репозиторіїв, які можуть перешкодити роботі програм. Так що можливо, доведеться потім позайматися таким «захоплюючим» заняттям, як troubleshooting.

Управління репозиторіями

Як зазначалося вище zypper універсальний в плані можливих репозиторіїв. Подивитися що ж у вас підключено в даний момент можна наступною командою:
zypper lr
У першій колонці наведено порядковий номер репозиторію, у другій і третій його назву і опис. Четверта і п'ята колонки показують включений даний репозиторій і чи включено його автооновлення (autorefresh). Якщо остання можливість включена, то при кожному своєму запуску zypper буде перевіряти чи потрібно оновлення метаданих репозиторію і, якщо потрібно, виконувати його. В іншому випадку, вам потрібно буде робити це власноруч командою zypper ref (refresh).

Додати репозиторій можна командою zypper ar URI alias, де — URI ідентифікатор репозиторію, alias — це зрозуміле вам ім'я репозиторію, що дозволяє ідентифікувати його та відрізнити від інших, ar — скорочений варіант addrepo. Приклад команди:
zypper ar nfs://192.168.0.254/srv/ftp/sles11 sles11
Adding repository 'sles11' [done]
Repository 'sles11' successfully added
Enabled: Yes
Autorefresh: No
URI: nfs://192.168.0.254/srv/ftp/sles11

Видалити репозиторій можна командою zypper rr. Наприклад:
zypper rr 13
Removing repository 'sles11' [done]
Repository 'sles11' has been removed.
Тут я видалив репозиторій, вказавши його ID (тобто номер). Його можна побачити у виводі команди zypper lr. Аналогічного ефекту я б добився, вказавши zypper rr sles11. Тобто в даному випадку вказувати потрібно або ID репозиторію, або його псевдонім.

Модифікація параметрів репозиторію виконується командою: zypper mr [options]. Список опцій можна отримати наступним чином:
zypper mr
Alias or an aggregate option is required.
modifyrepo (mr) ...
modifyrepo (mr) <--all data-blogger-escaped-local="" data-blogger-escaped-medium-type="" data-blogger-escaped-remote="">

Modify properties of repositories specified by alias, number, or URI, or by the
'--all, --remote, --local, --medium-type' aggregate options.

Command options:
-d, --disable Disable the repository (but don't remove it).
-e, --enable Enable a disabled repository.
-r, --refresh Enable auto-refresh of the repository.
-R, --no-refresh Disable auto-refresh of the repository.
-n, --name Set a descriptive name for the repository.
-p, --priority Set priority of the repository.
-k, --keep-packages Enable RPM files caching.
-K, --no-keep-packages Disable RPM files caching.

-a, --all Apply changes to all repositories.
-l, --local Apply changes to all local repositories.
-t, --remote Apply changes to all remote repositories.
-m, --medium-type Apply changes to repositories of specified type. 
Наприклад, наступна команда включить параметр autorefresh для всіх репозиторіїв:
zypper mr -ra
Опція -r ввімкне автооновлення для репозиторіїв (а -R вимкне його), а опція -a говорить застосувати це до всіх репозиторіїв.

Сховища можуть мати пріоритети, які можуть додатково вказувати zypper ваші уподобання (менше значення — більший пріоритет). Робота з пріоритетами аналогічна тому, що відбувається в yum. Тільки тут не потрібно ставити ніяких додаткових плагінів. Щоб задати пріоритет репозиторію можна скористатися командою zypper mr, але на мій погляд, набагато простіше відкрити файл .repo репозиторію і дописати в ньому, наприклад, такий рядок — priority = 100. Стандартні репозиторії openSUSE мають пріоритет 90, а репозиторій Updates пріоритет 20. Майте це на увазі, коли будете задавати власні пріоритети. Після зміни пріоритетів обов'язково необхідно запустити, спочатку zypper ref (якщо не обрано autorefresh для репозиторіїв), а потім zypper dup, для того, щоб zypper встановив пакети відповідно до висловлених вами вподобань.

Але, по-моєму, набагато зручніше для управління репозиторіями використовувати відповідний модуль yast:
yast repositories
Шанувальники графічного інтерфейсу Yast можуть скористатися його графічним меню, або набравши в консолі:
yast2 repositories

Ну і найпростіший спосіб підключення репозиторіїв — це звантажити файл з його описом звідси. У кожному з репозиторіїв є текстовий .repo файл, який потрібно помістити в каталог /etc/zypp/repos.d/ і підредагувати на предмет пріоритетів, якщо це потрібно.

Типи пакетів

Ну і найцікавіша можливість zypper в тому, що він дозволяє використовувати різні типи «пакетів» при встановленні. В даному випадку під «пакетами» розуміємо:
  • власне, пакети (і якщо нічого не вказувати спеціально, то маються на увазі саме вони);
  • патчі (patch) (сховища можуть містити просто патчі, а не пакети з оновленнями);
  • шаблони (pattern) — групи пакетів, що встановлюють ту чи іншу функціональність;
  • продукти (product) — це групи пакетів для роботи того чи іншого продукту;

Тип пакета вказується опцією -t. Наприклад, отримати список доступних шаблонів можна командою zypper patterns. І поставити той, що потрібен, командою:
zypper in-t pattern x11
Тут pattern це тип встановлюваного пакету, тобто ми вказуємо, що маємо на увазі саме шаблон. x11 — ім'я встановлюваного шаблону. Найгірше при використанні шаблонів це те, що видаляти пакети шаблонами zypper поки не вміє.

субота, 9 лютого 2013 р.

Встановлення Google Chrome в OpenSUSE 12.2

Встановлення актуальної версії інтернет-браузера Google Chrome в OpenSUSE 12.2.

Для OpenSUSE 12.2 32-бітної
zypper ar http://dl.google.com/linux/chrome/rpm/stable/i386 Google-Chrome

Для OpenSUSE 12.2 64-бітної
zypper ar http://dl.google.com/linux/chrome/rpm/stable/x86_64 Google-Chrome

Оновлюємо свіжі пакунки:
zypper ref

Встановлення найновішої стабільної версії Google Chrome:
zypper in google-chrome-stable