Есть вопрос?
Зайди на форум

Поиск на сайте: Advanced

Denix - новый дистрибутив Linux. Русификация Ubuntu и установка кодеков

dkws.org.ua
Форум сайта dkws.org.ua
 
Главная    ТемыТемы    АльбомАльбом    РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Система управления ПО в OpenSUSE (для новичков!)
На страницу 1, 2  След.
 
Начать новую тему Ответить на тему    Список форумов dkws.org.ua -> OpenSUSE
 
Автор Сообщение
ruslan89

Завсегдатай


Зарегистрирован: 09.01.2010
Сообщения: 799

СообщениеДобавлено: Сб Янв 23, 2010 6:14 pm    Заголовок сообщения: Система управления ПО в OpenSUSE (для новичков!)
Ответить с цитатой

Система управления ПО в OpenSUSE (статейка расчитана на новичков!).
В данном топике я хотел бы описать процесс управления репозитариями и ПО в СуСе.

Введение.
В отличае от M$ windows, в которой каждая программа имеет свой инсталятор, в linux существует одна программа (Пакетный менеджер - ПМ), который и устанавливает программы (в терминалогии linux - "пакеты").

Градация дистрибутивов линукс:
1) бинарные дистрибутивы - сборки операционных систем на базе ядра линукс, ПО для которых распространяется в виде пакетов! - пакетные дистрибутивы.
1.1) rpm-based (RH-like, SuSe, Mandriva ...);
1.2) deb-based (Debian, Ubuntu, Mint ...);
2) дистрибутивы, ПО для которых распространяется в исходниках (Slackware ...) - сырцовые дистрибутивы.

Соответственно и методы управления ПО для дистров различны.
Особенно хочу выделить мысль, которую мне долго вдалбливали (и с которой я согласился): нельзя устанавливать программы из исходников в пакетные дистры и наоборот! Вы рискуете привести систему к краху. почиму? в пакетных дистрах управление ПО производиться ПМ, которые не будут иметь понятья о ПО, которое вы поставите вручную! и в случае чего (при соблюдении зависимостей др. пакетов и т.д.) ПМ может затереть файлы, установленные вручную. да и вручную обрабатывать все зависимости при установке ПО "неинтересно" и муторно, в то время как ПМ сделает это за сикунды (собственно для чего он и придуман). И что тогда делать? Ответ:
1) искать ПО в репозитариях;
2) собирать пакеты самим.
Хотя, лично я не вижу ничего страшного в том чтобы ставить из изходников какие-либо небольшие программы, но в специально отведённое место!!! Также стоит отметить, что пакеты, собранные для одного дистрибутива (например Mandriva) не желательно ставить в др. дистр (например в RH), хоть и "расширение" у данных пакетов одинаковое, но формат может отличаться (и мне не понятно, почему девелаперы не могут прийти к консенсусу...но это др. история) и быстрее всего работать они не будут, но в редких случаях работоспособность сохраняется!

Как правило, система управления пакетами работает со множеством пакетов, хранящихся в специальном репозитории. Репозиторий может храниться как на локальных запоминающих устройствах(оптическом или жёстком диске), так и на удалённой машине (HTTP, FTP). Репозиторий — место, где хранятся и поддерживаются какие-либо данные. Чаще всего данные в репозитории хранятся в виде файлов, доступных для дальнейшего распространения по сети.

Примеры ПМ:
-rmp;
-dpkg...

Система управления ПО (СУ ПО) - это инструмент для управления ПО из Репозитория (можно рассматривать как "надстройку" над ПМ). Приведу примеры СУ ПО:
-apt;
-zypper;
-urpm;
-yum;
-Portage...

У каждого ПМ есть свои плюсы и минусы. Если поверхностно (тема всё таки не про них), то rpm - "проще", deb - "функциональнее", но для конечного пользователя разница практически не заметна.

Итак про SuSe. Для неё характерен тандем "rpm + zypper" (хотя есть возможномть использовать apt вместо zypper!).
Основные комманды:
1) rpm. Пакеты rpm обычно имеют следующее название "<название>-<версия>-<релиз>.<архитектура>.rpm", например: "nano-0.98-2.i386.rpm".
"rpm -ivh пакет.rpm" - установить пакет. (-v и -h необязательные флаги, включают вывод дополнительной информации).
"rpm -U пакет.rpm" - обновить установленный пакет, если пакет не установлен - установить.
"rpm -e пакет.rpm" - удалить установленный пакет.
"rpm -q пакет.rpm" - вывод списка установленных пакетов.
- В случае изменений в системе, выполненных с помощью программы "rpm", обязательно выполните следующий шаг!
Код:

ruslan@ruslan-linux:~> sudo /sbin/SuSEconfig
Starting SuSEconfig, the SuSE Configuration Tool...
...................
Finished.
ruslan@ruslan-linux:~>

SuSEconfig настраивает систему, основываясь на данных, записанных в различных "/etc/sysconfig/" файлах. Внимание!!! После любых манипуляций с пакетами (установка, удаление)
из командной строки (без использования yast2) необходимо выполнить "sudo /sbin/SuSEconfig"!!!
2) zypper. Имеет файл настроек "/etc/zypp/zypp.conf", интересного там ничего нет, кроме одной единственной опции "packagesdir = /var/cache/zypp/packages", в данной строке
прописывается путь - куда бы вы хотели кешировать скаченные файлы-обновления Smile! Файлы описаний репозитариев находятся в директории "/etc/zypp/zypper.d".
2.1) Пример файла репозитария:
Код:

ruslan@ruslan-linux:~> cat /etc/zypp/repos.d/openSUSE-11.2-DVD-i586.iso_1.repo
[openSUSE-11.2-DVD-i586.iso_1]
name=openSUSE-11.2-DVD-i586.iso
enabled=1
autorefresh=0
baseurl=iso:///?iso=openSUSE-11.2-DVD-i586.iso&url=file:///mnt/data/iso%20-%20disk's/linux/
path=/
type=yast2
keeppackages=0
ruslan@ruslan-linux:~>

Всё просто. Особенно хочу отметить последнюю строку, присвоив "1" вы заставите zypper резервировать пакеты, устанавливаемые из этого репа. При самостоятельном создании
репозитария лучше использовать инструменты yast2 (причём yast можно использовать и из консоли - функциональность ничем не отличается!).
2.2) Использование zypper.
"sudo zypper se bind" - будет осуществлён поиск пакета с именем "bind" в репах.
"sudo zypper in bind" - будет установлен пакет с имененем "bind".
"sudo zypper rm bind" - будет удалён пакет с имененем "bind".

Приведу пример использования zypper. Просмотрим наличае обновлений и, если они есть, то установим их:
- Проверяем, включен ли реп с обновлениями:
Код:

ruslan@ruslan-linux:~> sudo zypper ls
#  | Псевдоним                    | Имя                          | Включён | Обновление | Тип
---+------------------------------+------------------------------+---------+------------+-------
1  | Libdvdcss repository         | Libdvdcss repository         | Нет     | Да         | rpm-md
.........
9  | repo-update                  | openSUSE-11.2-Update         | Да      | Да         | rpm-md
ruslan@ruslan-linux:~>

мы увидели список зарегистрированных репозитариев, среди них реп с обновлениями, причём он включен - что нам и нужно.
- Обновим репы (Внимание! Обновятся только те, для которых включена эта опция!)
Код:

ruslan@ruslan-linux:~> sudo zypper ref
Получение метаданных репозитория 'openSUSE-11.2-Update' [готово]
Сбор кэша репозитория 'openSUSE-11.2-Update' [готово]
...

- Просмотрим перечень актуальных обновлений:
Код:

ruslan@ruslan-linux:~> sudo zypper lu
Загрузка данных о репозиториях...
Чтение установленных пакетов...
С | Репозиторий          | Имя        | Текущая версия | Доступная версия | Архитектура
--+----------------------+------------+----------------+------------------+------------
v | openSUSE-11.2-Update | bind-libs  | 9.6.1P2-1.1.1  | 9.6.1P3-1.1.1    | i586
v | openSUSE-11.2-Update | bind-utils | 9.6.1P2-1.1.1  | 9.6.1P3-1.1.1    | i586
ruslan@ruslan-linux:~>

zypper сам проверит, устарели файлы описаний реп (не путать с конфигами реп) или нет. видим что обновления есть!
- Ставим их (необязательный флаг "-n" должен устанавливаться сразу после "zypper"; приняв этот флаг zypper не будет задавать дополнительные вопросы! поэкспериментируйте
с этим флагом и поймёте):
Код:

ruslan@ruslan-linux:~> sudo zypper -n up
Загрузка данных о репозиториях...
Чтение установленных пакетов...

Будут обновлены следующие пакеты:
  bind-libs bind-utils

2 пакета для обновления.
Полный размер загрузки: 983,0 KiB. После этой операции дополнительное дисковое пространство не будет использовано или освобождено.
Продолжить? [y/n/?] (y): y
Получение пакет bind-libs-9.6.1P3-1.1.1.i586 (1/2), 829,0 KiB (2,7 MiB после распаковки)
Получение: bind-libs-9.6.1P3-1.1.1.i586.rpm [готово (27,3 KiB/s)]
Установка: bind-libs-9.6.1P3-1.1.1 [готово]
Получение пакет bind-utils-9.6.1P3-1.1.1.i586 (2/2), 154,0 KiB (456,0 KiB после распаковки)
Получение: bind-utils-9.6.1P3-1.1.1.i586.rpm [готово (41,7 KiB/s)]
Установка: bind-utils-9.6.1P3-1.1.1 [готово]
Запущены некоторые программы, использующие файлы, удалённые недавним обновлением. Возможно, некоторые необходимо перезапустить. Запустите 'zypper ps' для получения списка этих программ.
ruslan@ruslan-linux:~>

- В случае использования "zypper" утилита "/sbin/SuSEconfig" выполненяется автоматически (в случае необходимости)!

Про логи: логи zypper'a лежат в "/var/log/":
Код:

 ruslan-linux:/var/log # ls -ls ./ | grep zypp
 1792 -rw-r----- 1 root root  1827928 Янв 13 22:51 pk_backend_zypp
    4 drwxr-xr-x 2 root root     4096 Дек  9 00:48 zypp
 9384 -rw-r----- 1 root root  9590836 Янв 25 23:02 zypper.log
  616 -rw-r----- 1 root root   623444 Дек 12 22:30 zypper.log-20091212.bz2
  408 -rw-r----- 1 root root   411668 Дек 31 19:45 zypper.log-20091231.bz2
  384 -rw-r----- 1 root root   385109 Янв 14 17:30 zypper.log-20100114.bz2
ruslan-linux:/var/log #

заархивированные файлы - устаревшие логи, которые можно иногда чистить. Хотя в логах интересного прктически нет, в случае появления проблем, стоит тута заглянуть! Также существует файл истории использования "/var/log/zypp/history".

Было дело я использовал "Автоматическое обновление" (включал его в "yast") - проблем замечено не было! Но так как за компьютером я проважу много времени, то делаю это ручками.


///добавлено
во время обновления можно нарваться на следующее
Код:

ruslan@linux-ruslan:~> sudo zypper up
Загрузка данных о репозиториях...
Чтение установленных пакетов...

Следующее обновление НЕ будет установлено:
  apparmor-utils audacity bind-libs bind-utils boost-license1_42_0 DirectFB ethtool gpg2 hal hal-32bit iputils jpeg kdeartwork4-screensaver
  libboost_program_options1_42_0 libftgl2 libGLEW1_5 libjpeg8 libjpeg8-32bit libMagickCore3 libMagickCore3-32bit libMagickWand3 libmodman0 libproxy1........

данное сообщение появляется потому что некоторые обновления распространяются ввиде ПАТЧЕЙ (это по простому если! подробнее см. http://ru.opensuse.org/Zypper/Использование). а для установки патчей делаем
Код:

ruslan@linux-ruslan:~> sudo zypper patch
Загрузка данных о репозиториях...
Чтение установленных пакетов...
Разрешение зависимостей пакетов...

Будут установлены следующие НОВЫЕ пакеты:
  libgle3 libjpeg6 libjpeg6-32bit xscreensaver-data-extra...

///добавлено


http://ru.wikipedia.org/wiki/RPM
http://ru.opensuse.org/Zypper/Usage
http://ru.opensuse.org/SuSEconfig
ну и конечно, "man rpm" и "man zypper"!


Последний раз редактировалось: ruslan89 (Пт Авг 13, 2010 4:49 pm), всего редактировалось 6 раз(а)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
den

Старожил


Зарегистрирован: 31.01.2006
Сообщения: 13870
Откуда: Кировоград, Украина

СообщениеДобавлено: Сб Янв 23, 2010 6:29 pm    Заголовок сообщения:
Ответить с цитатой

ruslan89, ждем продолжения
Вернуться к началу
Посмотреть профиль Отправить личное сообщение dhsilabs@jabber.ru
ruslan89

Завсегдатай


Зарегистрирован: 09.01.2010
Сообщения: 799

СообщениеДобавлено: Пн Янв 25, 2010 5:36 pm    Заголовок сообщения:
Ответить с цитатой

статья подпрвлена и дописана Smile ! обсуждаем, правим. помойму, не плохо получилась!
den, если бутет желание включить статью (или отдельные части) в очередной самоучитель по СуСе - я только за Question .
да, и вот - главное понимать принципы работы, а дистр не так важет! названия утилит может быть различным но у них большенство параметров даже одинаковые.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
ruslan89

Завсегдатай


Зарегистрирован: 09.01.2010
Сообщения: 799

СообщениеДобавлено: Пт Авг 13, 2010 4:29 pm    Заголовок сообщения:
Ответить с цитатой

подправил

во время обновления можно нарваться на следующее
Код:

ruslan@linux-ruslan:~> sudo zypper up
Загрузка данных о репозиториях...
Чтение установленных пакетов...

Следующее обновление НЕ будет установлено:
  apparmor-utils audacity bind-libs bind-utils boost-license1_42_0 DirectFB ethtool gpg2 hal hal-32bit iputils jpeg kdeartwork4-screensaver
  libboost_program_options1_42_0 libftgl2 libGLEW1_5 libjpeg8 libjpeg8-32bit libMagickCore3 libMagickCore3-32bit libMagickWand3 libmodman0 libproxy1........

данное сообщение появляется потому что некоторые обновления распространяются ввиде ПАТЧЕЙ (это по простому если! подробнее см. http://ru.opensuse.org/Zypper/Использование). а для установки патчей делаем
Код:

ruslan@linux-ruslan:~> sudo zypper patch
Загрузка данных о репозиториях...
Чтение установленных пакетов...
Разрешение зависимостей пакетов...

Будут установлены следующие НОВЫЕ пакеты:
  libgle3 libjpeg6 libjpeg6-32bit xscreensaver-data-extra...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Ingvar

Завсегдатай


Зарегистрирован: 07.02.2008
Сообщения: 623
Откуда: Москва

СообщениеДобавлено: Сб Авг 14, 2010 6:28 am    Заголовок сообщения:
Ответить с цитатой

ruslan89, очень неплохо, спасибо! Idea
Linux надо популяризировать и нести в массы.
_________________
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Anton99

Neo


Зарегистрирован: 26.11.2006
Сообщения: 1676

СообщениеДобавлено: Сб Авг 14, 2010 12:47 pm    Заголовок сообщения:
Ответить с цитатой

Ingvar писал(а):
ruslan89, очень неплохо, спасибо! Idea
Linux надо популяризировать и нести в массы.
Но только не openSUSE.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
den

Старожил


Зарегистрирован: 31.01.2006
Сообщения: 13870
Откуда: Кировоград, Украина

СообщениеДобавлено: Сб Авг 14, 2010 3:38 pm    Заголовок сообщения:
Ответить с цитатой

Anton99, why?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение dhsilabs@jabber.ru
Шульц

Завсегдатай


Зарегистрирован: 10.02.2009
Сообщения: 583
Откуда: Russland

СообщениеДобавлено: Сб Авг 14, 2010 4:35 pm    Заголовок сообщения:
Ответить с цитатой

Anton99 писал(а):
Ingvar писал(а):
ruslan89, очень неплохо, спасибо! Idea
Linux надо популяризировать и нести в массы.
Но только не openSUSE.



В массы надо нести только Arch Linux... А ещё Gentoo, Slackware и что-нибудь посложнее, чтобы простой народ яйца с мозгами сломал. Very Happy Very Happy Very Happy
_________________
Life is short - write better code!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Ingvar

Завсегдатай


Зарегистрирован: 07.02.2008
Сообщения: 623
Откуда: Москва

СообщениеДобавлено: Сб Авг 14, 2010 4:44 pm    Заголовок сообщения:
Ответить с цитатой

den писал(а):
Anton99, why?
Да, действительно, why?
_________________
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
ruslan89

Завсегдатай


Зарегистрирован: 09.01.2010
Сообщения: 799

СообщениеДобавлено: Вс Авг 15, 2010 4:54 am    Заголовок сообщения:
Ответить с цитатой

троллите потихоньку...ну-ну Cool . битва за дистры - Bayan . каждому своё Question
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
den

Старожил


Зарегистрирован: 31.01.2006
Сообщения: 13870
Откуда: Кировоград, Украина

СообщениеДобавлено: Вс Авг 15, 2010 2:25 pm    Заголовок сообщения:
Ответить с цитатой

Цитата:

В массы надо нести только Arch Linux... А ещё Gentoo, Slackware и что-нибудь посложнее, чтобы простой народ яйца с мозгами сломал.

Оно только кажется что слака намного сложнее. Потом когда начинаешь работать, вполне нормальный дистр.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение dhsilabs@jabber.ru
Anton99

Neo


Зарегистрирован: 26.11.2006
Сообщения: 1676

СообщениеДобавлено: Вт Авг 17, 2010 6:05 pm    Заголовок сообщения:
Ответить с цитатой

den писал(а):
Оно только кажется что слака намного сложнее. Потом когда начинаешь работать, вполне нормальный дистр.

den писал(а):
Оно только кажется что арч намного сложнее. Потом когда начинаешь работать, вполне нормальный дистр.

фиксед
den писал(а):
Anton99, why?
Ask in #boycottnovell on irc.freenode.net Very Happy

On a serious note, there are quite a few reasons not to use openSUSE. I won't waste my time recalling all of them, but main reason is lack of new packages in openSUSE - it still has 2.6.34.1, while Arch has 2.6.35 for a week or so already.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Шульц

Завсегдатай


Зарегистрирован: 10.02.2009
Сообщения: 583
Откуда: Russland

СообщениеДобавлено: Вт Авг 17, 2010 6:40 pm    Заголовок сообщения:
Ответить с цитатой

Impressive and exhaustive post! Shocked By the way, den wrote only about Slackware.
_________________
Life is short - write better code!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Anton99

Neo


Зарегистрирован: 26.11.2006
Сообщения: 1676

СообщениеДобавлено: Вт Авг 17, 2010 7:34 pm    Заголовок сообщения:
Ответить с цитатой

Шульц писал(а):
By the way, den wrote only about Slackware.
His post was a reply to your post, which mentioned Arch.

captain_obvious.jpg
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Шульц

Завсегдатай


Зарегистрирован: 10.02.2009
Сообщения: 583
Откуда: Russland

СообщениеДобавлено: Вт Авг 17, 2010 8:05 pm    Заголовок сообщения:
Ответить с цитатой

I see... Smile
_________________
Life is short - write better code!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему Ответить на тему    Список форумов dkws.org.ua -> OpenSUSE Часовой пояс: GMT
На страницу 1, 2  След.
Страница 1 из 2
 Главная страница сайта
 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
© Колисниченко Денис