Обновить то как?

Аватар пользователя ArbyZ

Парни!Вот вопрос. Например устнавливаю я mplayer а он начинает ругаться,типа что никуя вот такого пакета нет и такого..У меня есть отдельная папка, где собраны ВСЕ пакета асп 10. Как ему(в смысле mplayerу) объяснить,что типа если чего не хватает, то доустанавливай сам вот с этой папочки.

Аватар пользователя sergeil

Re: обновить то как?

Цитата:
ArbyZ пишет:
Парни!Вот вопрос. Например устнавливаю я mplayer а он начинает ругаться,типа что никуя вот такого пакета нет и такого..У меня есть отдельная папка, где собраны ВСЕ пакета асп 10. Как ему(в смысле mplayerу) объяснить,что типа если чего не хватает, то доустанавливай сам вот с этой папочки.

Зайди в "эту папочку" где лежат RPM и набери
createrepo .

У меня репозитарий в /BigSpace/ASPLinux-10/RPMS/
То есть, я делаю так
cd /BigSpace/ASPLinux-10/RPMS/
createrepo .

Потом правим конфиги репозитария yum

[sergeil@homedesk ~]$ cat /etc/yum.repos.d/asplinux-base.repo
[base]
name=ASPLinux $releasever - $basearch - Base
baseurl=file:///BigSpace/ASPLinux-10/RPMS/

А теперь совсем просто

root# yum install mplayer
Он сам возьмет чего не хватает...

Аватар пользователя ArbyZ

Re: обновить то как?

[arbyz@localhost RPMS]$ createrepo
bash: createrepo: command not found
Вот такую месагу я получаю! Как лечить? :-o

Аватар пользователя sergeil

Re: обновить то как?

ArbyZ

Цитата:
[arbyz@localhost RPMS]$ createrepo
bash: createrepo: command not found
Вот такую месагу я получаю! Как лечить? :-o

[sergeil@homedesk ~]$ rpm -qf `which createrepo`
createrepo-0.4.1-1

Установить пакет createrepo

Аватар пользователя ArbyZ

Re: обновить то как?

[root@localhost RPMS]# yum install mplayer
Setting up Install Process
Setting up Repo: base
file:///home/arbyz/Desktop/RPMS/repodata/repomd.xml: [Errno 5] OSError: [Errno 2] No such file or directory: '/home/arbyz/Desktop/RPMS/repodata/repomd.xml'
Trying other mirror.
Cannot open/read repomd.xml file for repository: base
failure: repodata/repomd.xml from base: [Errno 256] No more mirrors to try.

И это при:
[root@localhost RPMS]# cat /etc/yum.repos.d/asplinux-base.repo
[base]
name=ASPLinux $releasever - $basearch - Base
# Moscow
baseurl=file:///home/arbyz/Desktop/RPMS/
#baseurl=http://download.asplinux.ru/$basearch/RPMS.$releasever/

# Moscow2
#baseurl=http://download2.asplinux.ru/install/ftp/$basearch/RPMS.$releasever/
# UA-IX only
#baseurl=ftp://ftp.asp-linux.com.ua/pub/$basearch/RPMS.$releasever/

Аватар пользователя sergeil

Re: обновить то как?

ArbyZ

Цитата:
directory: '/home/arbyz/Desktop/RPMS/repodata/repomd.xml'
Trying other mirror.
Cannot open/read repomd.xml file for repository: base
failure: repodata/repomd.xml from base: [Errno 256] No more mirrors to try.

После установки пакета createrepo Вы должны были сгенерировать заголовки репозитария.

$cd /home/arbyz/Desktop/RPMS/
$createrepo .

Будет создана директория /home/arbyz/Desktop/RPMS/repodata, в которой будут слежубные файлы репозитария (repomd.xml в том числе)

Аватар пользователя ArbyZ

Re: обновить то как?

Вот что происходит:
[root@localhost arbyz]# cd /home/arbyz/Desktop/RPMS/

[root@localhost RPMS]# createrepo .
254/254 - libgnomecups-0.2.0-2.i386.rpm
Saving Primary metadata
Saving file lists metadata
Saving other metadata

[root@localhost RPMS]# yum install mplayer
Setting up Install Process
Setting up Repo: base
repomd.xml 100% |=========================| 951 B 00:00
Setting up Repo: updates
http://download.asplinux.ru/i386/updates/10/repodata/repomd.xml: [Errno 4] IOError:
Trying other mirror.
Cannot open/read repomd.xml file for repository: updates
failure: repodata/repomd.xml from updates: [Errno 256] No more mirrors to try.

Вот кофиги yum'a может где -нить здесь лишний слэш стоит?
[root@localhost RPMS]# cat /etc/yum.repos.d/asplinux-base.repo
[base]
name=ASPLinux $releasever - $basearch - Base
# Moscow
baseurl=file:///home/arbyz/Desktop/RPMS/
#baseurl=http://download.asplinux.ru/$basearch/RPMS.$releasever/

# Moscow2
#baseurl=http://download2.asplinux.ru/install/ftp/$basearch/RPMS.$releasever/
# UA-IX only
#baseurl=ftp://ftp.asp-linux.com.ua/pub/$basearch/RPMS.$releasever/

Аватар пользователя slavaz

Re: обновить то как?

Это недостаток yum'а - вместо того, чтобы проигнорировать недоступный репозитарий, он орёт об ошибке и счастливо вываливается.
Твой yum пытается прочитать репозитарий обновлений с download.asplinux.ru, но он не доступен (ты запускал yum без подключения к инету).
попробуй запустить yum так:

yum --disablerepo=updates install mplayer
Аватар пользователя slavaz

Re: обновить то как?

Кстати, ещё решение:
/etc/yum.repos.d/asplinux-updates.repo:

Цитата:
[updates]
name=ASPLinux $releasever - $basearch - Updates
# Moscow
baseurl=http://download.asplinux.ru/$basearch/updates/$releasever/
baseurl=file:///home/arbyz/Desktop/RPM_UPDATES/
# Moscow2
#baseurl=http://download2.asplinux.ru/install/ftp/$basearch/updates/$releasever/
# UA-IX only
#baseurl=ftp://ftp.asp-linux.com.ua/pub/$basearch/updates/$releasever/
#enable=0

То есть указать два baseurl - один в Интернете, а второй - у себя, локально. Тогда не будет отваливаться с ошибкой (при условии, что в /home/arbyz/Desktop/RPM_UPDATES положишь пару пакетов обновлений и запустишь createrepo)

Аватар пользователя ArbyZ

Re: обновить то как?

[root@localhost RPMS]# yum --disablerepo=updates install mplayer
Setting up Install Process
Setting up Repo: base
repomd.xml 100% |=========================| 951 B 00:00
Reading repository metadata in from local files
primary.xml.gz 100% |=========================| 96 kB 00:00
MD Read : ################################################## 254/254
base : ################################################## 254/254
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for mplayer to pack into transaction set.
mplayer-1.0-0.16.pre7.2.f 100% |=========================| 25 kB 00:00
---> Package mplayer.i386 0:1.0-0.16.pre7.2.fc4 set to be installed
--> Running transaction check
--> Processing Dependency: liblirc_client.so.0 for package: mplayer
--> Processing Dependency: liblzo.so.1 for package: mplayer
--> Processing Dependency: libXvMCW.so.1 for package: mplayer
--> Processing Dependency: libaa.so.1 for package: mplayer
--> Processing Dependency: mplayer-fonts for package: mplayer
--> Processing Dependency: libpostproc.so.0 for package: mplayer
--> Processing Dependency: libpostproc= 1.0-0.16.pre7.2.fc4 for package: mplayer
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for lirc to pack into transaction set.
lirc-0.6.6-4.1.fc3.rf.i38 100% |=========================| 22 kB 00:00
---> Package lirc.i386 0:0.6.6-4.1.fc3.rf set to be installed
---> Downloading header for lzo to pack into transaction set.
lzo-1.08-4.1.fc3.rf.i386. 100% |=========================| 4.4 kB 00:00
---> Package lzo.i386 0:1.08-4.1.fc3.rf set to be installed
---> Downloading header for aalib to pack into transaction set.
aalib-1.4.0-0.rc5.4.i386. 100% |=========================| 5.3 kB 00:00
---> Package aalib.i386 0:1.4.0-0.rc5.4 set to be installed
---> Downloading header for mplayer-fonts to pack into transaction set.
mplayer-fonts-1.1-3.fc.no 100% |=========================| 14 kB 00:00
---> Package mplayer-fonts.noarch 0:1.1-3.fc set to be installed
---> Downloading header for libpostproc to pack into transaction set.
libpostproc-1.0-0.16.pre7 100% |=========================| 11 kB 00:00
---> Package libpostproc.i386 0:1.0-0.16.pre7.2.fc4 set to be installed
--> Running transaction check
--> Processing Dependency: libXvMCW.so.1 for package: mplayer
--> Finished Dependency Resolution
Error: missing dep: libXvMCW.so.1 for pkg mplayer

меняю baseurl=file:///home/arbyz/Desktop/RPMS/ на
baseurl=http://download.asplinux.ru/$basearch/RPMS.$releasever/

запускаю yum install libXvMCW но он ничего в нэте не находит как быть?

Аватар пользователя sergeil

Re: обновить то как?

ArbyZ

Цитата:
--> Finished Dependency Resolution
Error: missing dep: libXvMCW.so.1 for pkg mplayer

libXvMCW.i386 0.9.3-1.2.fc4 installed
Matched from:
/usr/X11R6/lib/libXvMCW.so.1
/usr/X11R6/lib/libXvMCW.so.1.0.0
libXvMCW.so.1

Странно, что yum не нашел это
:-?

Ладно, смотрим здесь...
ftp://ftp.asplinux.ru/pub/i386/RPMS.11/libXvMCW-0.9.3-1.2.fc4.i386.rpm

Аватар пользователя woodoo

Re: обновить то как?

slavaz

Цитата:
baseurl=http://download.asplinux.ru/$basearch/updates/$releasever/
baseurl=file:///home/arbyz/Desktop/RPM_UPDATES/

Позвольте здесь несколько подправить (сам некоторое время работал с такой ошибкой). При двух и более включениях `baseurl=' работать будет только последнее упоминание - как единственное. Т.е. я бы рекомендовал сделать следующее:

Цитата:
baseurl=file:///home/arbyz/Desktop/RPM_UPDATES/
http://download.asplinux.ru/$basearch/updates/$releasever/
failovermethod=priority

А вот каталоги ../repodata стоит синхронизировать по крону с помощью wget.
Структура подкаталогов удаленного и локального репозиторииев должны быть полностью идентичны - данные репозиториев содержат пути к пакетам относительно корня репозитория.
В такой схеме обновление будет происходить по схеме:
1. yum вычитает из локального репозитория repodata-файлы. Естественно, на момент последнего обновления.
2. разрешит зависимости и составит список пакетов для получения
3. если пакеты присутствуют в локальном репозитории (протокол file:///...) он даже не будет помещать их в кэш.
4. Как только встретится первый отсутствующий пакет yum переключится на следующий в списке репозиторий и все оставшиеся пакеты будет получать оттуда. Как только встретится очередной отстутствующий пакет - произодйет переключение на следующий репо и так далее.
5. После получения всех пакетов произойдет обновление.
6. После обновления полученные из удаленных репозиториев пакеты можно переместить в локальный, опять же соблюдая структуру подкаталогов. Например, для официальных апдейтов asplinux - i386-пакеты в подкаталог i386, i686 - в i686 и т.д.

Комментарий к п.4: к сожалению у yum есть понятие "текущий репозиторий", а не "текущий объект". Параметр failovermethod имеет 2 значения roundrobin (случайный репозиторий из списка) и priority (использовать репозитории именно в указанном порядке). Это позволяет исключить ошибки yum в случае, если недоступен какой-либо репозиторий, но не снижает существенно объемы закачки - при первой же ошибке он переключается на удаленный репозиторий. А не использует приоритет репо для каждого запрошенного объекта.
В любом случае - при частом использовании информационных команд yum расположение repodata локально ускоряет работу.

RSS-материал