ALT Linux Community general discussions
 help / color / mirror / Atom feed
* [Comm] Синхронизация и экономия трафика
@ 2009-04-07  6:54 alisher
  2009-04-07  7:35 ` AShen
  0 siblings, 1 reply; 14+ messages in thread
From: alisher @ 2009-04-07  6:54 UTC (permalink / raw)
  To: ALT Linux Community general discussions

Здравствуйте. Получил я локальную копию пятого бранча, спасибо Назарову 
Денису. И хочу теперь синхронизировать, но не целиком, потому как трафик 
ограниченный и инет только на работе, а обновлять домашний. Так вот, 
можно ли получить от apt список rpm, которые установлены на моем 
компьютере? А потом уже только эти пакеты обновлять.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Comm] Синхронизация и экономия трафика
  2009-04-07  6:54 [Comm] Синхронизация и экономия трафика alisher
@ 2009-04-07  7:35 ` AShen
  2009-04-07  8:35   ` Dmitriy M. Maslennikov
                     ` (2 more replies)
  0 siblings, 3 replies; 14+ messages in thread
From: AShen @ 2009-04-07  7:35 UTC (permalink / raw)
  To: ALT Linux Community general discussions

alisher пишет:
> Здравствуйте. Получил я локальную копию пятого бранча, спасибо 
> Назарову Денису. И хочу теперь синхронизировать, но не целиком, потому 
> как трафик ограниченный и инет только на работе, а обновлять домашний. 
> Так вот, можно ли получить от apt список rpm, которые установлены на 
> моем компьютере? А потом уже только эти пакеты обновлять. 
1) создать свой локальный репозитарий. как сделать сказано здесь:
http://freesource.info/wiki/DmitriyKruglikov/Repository?v=f2g&search=repo
2) а вот для того, что б подтянуть из инета пакеты, которые установленны 
в системе, но отсуствуют в кэше apt'а, я мспользую такой скрипт:
cat autodownloadcache
#!/bin/sh
#Очищаем кэш от устаревших файлов пакетов
#apt-get autoclean

#обновляем БД по пакетам
#apt-get update

#получаем список установленных в систему пакетов
rm -f /tmp/installrpm
rpm -qa --qf='%{NAME}\n' | sort > /tmp/installrpm

#получаем список имеющих в кэше файлов пакетов в виде "только имена пакетов"
rm -f /tmp/presentfiles
cd /var/cache/apt/archives
ls * | sort > /tmp/presentfiles
rm -f /tmp/presentrpm
cat /tmp/presentfiles | while read FILEPKG; do
rpm -qp $FILEPKG --queryformat "%{NAME}\n" >> /tmp/presentrpm
done
comm -23 /tmp/installrpm /tmp/presentrpm > /tmp/dwrpm

#докачиваем отсутствующие в кэше файлы установленных пакетов
cat /tmp/dwrpm | while read PKG; do
apt-get reinstall -d -y $PKG
done

#EOF

Да скрипт отрабатывает достаточно долго. Из-за вызова apt'а для каждого 
пакета отдельно. Если нашему apt'у передать на вход зараз весь список 
пакетов, то ему сносит голову: слишком длинная строка входных параметров 
(примерно так, в вольном изложеии). Вот по сему надёжней передавать 
apt'у отдельно имя каждого пакета. Обчыно данный скрипт я запускаю на 
ночь, а придя утром, получаю в кэше apt'а наличие всех файлов 
установленных у меня пакетов. Ну а дальше 1).


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Comm] Синхронизация и экономия трафика
  2009-04-07  7:35 ` AShen
@ 2009-04-07  8:35   ` Dmitriy M. Maslennikov
  2009-04-07  9:57   ` Michael Shigorin
  2009-04-07 10:26   ` alisher
  2 siblings, 0 replies; 14+ messages in thread
From: Dmitriy M. Maslennikov @ 2009-04-07  8:35 UTC (permalink / raw)
  To: ashen, ALT Linux Community general discussions

7 апреля 2009 г. 11:35 пользователь AShen <ashen@nsrz.ru> написал:
> #докачиваем отсутствующие в кэше файлы установленных пакетов
> cat /tmp/dwrpm | while read PKG; do
> apt-get reinstall -d -y $PKG
> done
>
> #EOF
>
> Да скрипт отрабатывает достаточно долго. Из-за вызова apt'а для каждого
> пакета отдельно. Если нашему apt'у передать на вход зараз весь список
> пакетов, то ему сносит голову: слишком длинная строка входных параметров
> (примерно так, в вольном изложеии). Вот по сему надёжней передавать apt'у
> отдельно имя каждого пакета.
Откройте для себя xargs

-- 
Dmitriy M. Maslennikov
rlz@etersoft.ru
rlz@altlinux.org
maslennikovdm@gmail.com
master@armory.ru

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Comm] Синхронизация и экономия трафика
  2009-04-07  7:35 ` AShen
  2009-04-07  8:35   ` Dmitriy M. Maslennikov
@ 2009-04-07  9:57   ` Michael Shigorin
  2009-04-07 13:07     ` AShen
  2009-04-07 10:26   ` alisher
  2 siblings, 1 reply; 14+ messages in thread
From: Michael Shigorin @ 2009-04-07  9:57 UTC (permalink / raw)
  To: ALT Linux Community general discussions

On Tue, Apr 07, 2009 at 11:35:32AM +0400, AShen wrote:
> #получаем список установленных в систему пакетов
> rm -f /tmp/installrpm

Так можно получить вывод rpm где-нить в /etc/passwd,
если кто-нить из пользователей решит пошутить...

Рекомендую mktemp(1) или хотя бы /root/tmp/

> rpm -qa --qf='%{NAME}\n' | sort > /tmp/installrpm

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Comm] Синхронизация и экономия трафика
  2009-04-07  7:35 ` AShen
  2009-04-07  8:35   ` Dmitriy M. Maslennikov
  2009-04-07  9:57   ` Michael Shigorin
@ 2009-04-07 10:26   ` alisher
  2009-04-07 10:42     ` Dmitriy Kruglikov
  2009-04-07 12:48     ` AShen
  2 siblings, 2 replies; 14+ messages in thread
From: alisher @ 2009-04-07 10:26 UTC (permalink / raw)
  To: ALT Linux Community general discussions


> 1) создать свой локальный репозитарий. как сделать сказано здесь:
> http://freesource.info/wiki/DmitriyKruglikov/Repository?v=f2g&search=repo
Т.е. если я получу список по rpm -qa, затем на его основе создам 
локальный репозиторий. Я смогу его обновить, скажем принеся на работу на 
болванке?


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Comm] Синхронизация и экономия трафика
  2009-04-07 10:26   ` alisher
@ 2009-04-07 10:42     ` Dmitriy Kruglikov
  2009-04-07 11:23       ` alisher
  2009-04-07 12:48     ` AShen
  1 sibling, 1 reply; 14+ messages in thread
From: Dmitriy Kruglikov @ 2009-04-07 10:42 UTC (permalink / raw)
  To: ALT Linux Community general discussions

7 апреля 2009 г. 13:26 пользователь alisher  написал:
>
>> 1) создать свой локальный репозитарий. как сделать сказано здесь:
>> http://freesource.info/wiki/DmitriyKruglikov/Repository?v=f2g&search=repo
>
> Т.е. если я получу список по rpm -qa, затем на его основе создам локальный
> репозиторий. Я смогу его обновить, скажем принеся на работу на болванке?
Не всегда ...
Бывают (не очень часто) случаи, когда для установки пакета А нужен пакет Б,
но после установки С выносится пакет Б ...
В списке будут А и С, а Б не попадет в репозиторий ...
Несколько раз натыкался ...

Думаю, проще один раз "синкнуть" себе репозиторий с нужными группами
(на быстром канале), а потом его обновлять регулярно...
http://sisyphus.ru/rsync.shtml

Но я этого не проверял на практике...


-- 
Как правильно задавать вопросы:
http://maddog.sitengine.ru/smart-question-ru.html

Помогает:
http://search.altlinux.org

Best regards,
 Dmitriy L. Kruglikov
 Dmitriy.Kruglikov_at_gmail_dot_com
 DKR6-RIPE
 DKR6-UANIC
 XMPP: Dmitriy.Kruglikov_at_gmail_dot_com

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Comm] Синхронизация и экономия трафика
  2009-04-07 10:42     ` Dmitriy Kruglikov
@ 2009-04-07 11:23       ` alisher
  2009-04-07 11:49         ` Dmitriy Kruglikov
  0 siblings, 1 reply; 14+ messages in thread
From: alisher @ 2009-04-07 11:23 UTC (permalink / raw)
  To: ALT Linux Community general discussions


> Не всегда ...
> Бывают (не очень часто) случаи, когда для установки пакета А нужен пакет Б,
> но после установки С выносится пакет Б ...
> В списке будут А и С, а Б не попадет в репозиторий ...
> Несколько раз натыкался ...
>   
Это какой-нибудь командой можно проследить?


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Comm] Синхронизация и экономия трафика
  2009-04-07 11:23       ` alisher
@ 2009-04-07 11:49         ` Dmitriy Kruglikov
  0 siblings, 0 replies; 14+ messages in thread
From: Dmitriy Kruglikov @ 2009-04-07 11:49 UTC (permalink / raw)
  To: ALT Linux Community general discussions

7 апреля 2009 г. 14:23 пользователь alisher написал:

>
> Это какой-нибудь командой можно проследить?
>
Боюсь, у меня нет ответа на это вопрос ...
Вероятно, да, но я этого не знаю ...


-- 
Как правильно задавать вопросы:
http://maddog.sitengine.ru/smart-question-ru.html

Помогает:
http://search.altlinux.org

Best regards,
 Dmitriy L. Kruglikov
 Dmitriy.Kruglikov_at_gmail_dot_com
 DKR6-RIPE
 DKR6-UANIC
 XMPP: Dmitriy.Kruglikov_at_gmail_dot_com

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Comm] Синхронизация и экономия трафика
  2009-04-07 10:26   ` alisher
  2009-04-07 10:42     ` Dmitriy Kruglikov
@ 2009-04-07 12:48     ` AShen
  2009-04-08 14:10       ` Timur Batyrshin
  1 sibling, 1 reply; 14+ messages in thread
From: AShen @ 2009-04-07 12:48 UTC (permalink / raw)
  To: ALT Linux Community general discussions

alisher пишет:
>
>> 1) создать свой локальный репозитарий. как сделать сказано здесь:
>> http://freesource.info/wiki/DmitriyKruglikov/Repository?v=f2g&search=repo 
>>
> Т.е. если я получу список по rpm -qa, затем на его основе создам 
> локальный репозиторий. Я смогу его обновить, скажем принеся на работу 
> на болванке?
Что бы свой локальный репо был полон по установленным у вас пакетам, я 
использу приведённый мной скрипт. apt сам часто чистит свой кэш от 
"устаревшых" файлов пакетов. Так что тупое сбрасывание себе на диск 
содержимого /var/cache/apt/archives/*rpm часто не прокатывает. Пакет в 
списке установленных значится, а в кэше его уже дааааааааавно нет. Ну 
как вы будете обеспечивать полноту локлаьного репо в таком случае?


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Comm] Синхронизация и экономия трафика
  2009-04-07  9:57   ` Michael Shigorin
@ 2009-04-07 13:07     ` AShen
  2009-04-07 13:14       ` Michael Shigorin
  2009-04-07 14:27       ` Ivan Fedorov
  0 siblings, 2 replies; 14+ messages in thread
From: AShen @ 2009-04-07 13:07 UTC (permalink / raw)
  To: shigorin, ALT Linux Community general discussions

Michael Shigorin пишет:
> On Tue, Apr 07, 2009 at 11:35:32AM +0400, AShen wrote:
>   
>> #получаем список установленных в систему пакетов
>> rm -f /tmp/installrpm
>>     
>
> Так можно получить вывод rpm где-нить в /etc/passwd,
> если кто-нить из пользователей решит пошутить...
>
> Рекомендую mktemp(1) или хотя бы /root/tmp/
>
>   
>> rpm -qa --qf='%{NAME}\n' | sort > /tmp/installrpm
>>     
Так,Миш, я ж в /tmp пишу временные файлы. Чётко указав куда именно и как 
называется.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Comm] Синхронизация и экономия трафика
  2009-04-07 13:07     ` AShen
@ 2009-04-07 13:14       ` Michael Shigorin
  2009-04-07 14:27       ` Ivan Fedorov
  1 sibling, 0 replies; 14+ messages in thread
From: Michael Shigorin @ 2009-04-07 13:14 UTC (permalink / raw)
  To: ALT Linux Community general discussions

On Tue, Apr 07, 2009 at 05:07:05PM +0400, AShen wrote:
> >Рекомендую mktemp(1) или хотя бы /root/tmp/
> Так,Миш, я ж в /tmp пишу временные файлы. Чётко указав куда
> именно и как называется.

_Никогда_ так не делай.

http://www.tech-faq.com/race-condition.shtml
http://www.infosecwriters.com/texts.php?op=display&id=159
http://seclists.org/fulldisclosure/2005/Dec/0646.html

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Comm] Синхронизация и экономия трафика
  2009-04-07 13:07     ` AShen
  2009-04-07 13:14       ` Michael Shigorin
@ 2009-04-07 14:27       ` Ivan Fedorov
  1 sibling, 0 replies; 14+ messages in thread
From: Ivan Fedorov @ 2009-04-07 14:27 UTC (permalink / raw)
  To: community

[-- Attachment #1: Type: text/plain, Size: 875 bytes --]

AShen <ashen-sDNZARemlCQ@public.gmane.org> writes:

> Michael Shigorin пишет:
>> On Tue, Apr 07, 2009 at 11:35:32AM +0400, AShen wrote:
>>   
>>> #получаем список установленных в систему пакетов
>>> rm -f /tmp/installrpm
>>>     
>>
>> Так можно получить вывод rpm где-нить в /etc/passwd,
>> если кто-нить из пользователей решит пошутить...
>>
>> Рекомендую mktemp(1) или хотя бы /root/tmp/
>>
>>   
>>> rpm -qa --qf='%{NAME}\n' | sort > /tmp/installrpm
>>>     
> Так,Миш, я ж в /tmp пишу временные файлы. Чётко указав куда именно и
> как называется.

ln -sf /etc/passwd /tmp/installrpm
ln -sf /boot/vmlinuz /tmp/installrpm

ну и так далее...

[-- Attachment #2: Type: application/pgp-signature, Size: 196 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Comm] Синхронизация и экономия трафика
  2009-04-07 12:48     ` AShen
@ 2009-04-08 14:10       ` Timur Batyrshin
  2009-04-08 14:14         ` AShen
  0 siblings, 1 reply; 14+ messages in thread
From: Timur Batyrshin @ 2009-04-08 14:10 UTC (permalink / raw)
  To: community

[-- Attachment #1: Type: text/plain, Size: 1449 bytes --]

On Tue, 07 Apr 2009 16:48:13 +0400
AShen wrote:

> >> 1) создать свой локальный репозитарий. как сделать сказано здесь:
> >> http://freesource.info/wiki/DmitriyKruglikov/Repository?v=f2g&search=repo 
> >>
> > Т.е. если я получу список по rpm -qa, затем на его основе создам 
> > локальный репозиторий. Я смогу его обновить, скажем принеся на
> > работу на болванке?
> Что бы свой локальный репо был полон по установленным у вас пакетам,
> я использу приведённый мной скрипт. apt сам часто чистит свой кэш от 
> "устаревшых" файлов пакетов. Так что тупое сбрасывание себе на диск 
> содержимого /var/cache/apt/archives/*rpm часто не прокатывает. Пакет
> в списке установленных значится, а в кэше его уже дааааааааавно нет.
> Ну как вы будете обеспечивать полноту локлаьного репо в таком случае?

А что-нибудь типа

apt-get update && apt-get --print-uris --reinstall install `cat list-of-my-rpms` > ~/urls-to-download

не поможет?

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Comm] Синхронизация и экономия трафика
  2009-04-08 14:10       ` Timur Batyrshin
@ 2009-04-08 14:14         ` AShen
  0 siblings, 0 replies; 14+ messages in thread
From: AShen @ 2009-04-08 14:14 UTC (permalink / raw)
  To: ALT Linux Community general discussions

Timur Batyrshin пишет:
> А что-нибудь типа
>
> apt-get update && apt-get --print-uris --reinstall install `cat list-of-my-rpms` > ~/urls-to-download
>
> не поможет?
>   
точно такую же задачу решаю в том скрипте ... ;)


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2009-04-08 14:14 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-04-07  6:54 [Comm] Синхронизация и экономия трафика alisher
2009-04-07  7:35 ` AShen
2009-04-07  8:35   ` Dmitriy M. Maslennikov
2009-04-07  9:57   ` Michael Shigorin
2009-04-07 13:07     ` AShen
2009-04-07 13:14       ` Michael Shigorin
2009-04-07 14:27       ` Ivan Fedorov
2009-04-07 10:26   ` alisher
2009-04-07 10:42     ` Dmitriy Kruglikov
2009-04-07 11:23       ` alisher
2009-04-07 11:49         ` Dmitriy Kruglikov
2009-04-07 12:48     ` AShen
2009-04-08 14:10       ` Timur Batyrshin
2009-04-08 14:14         ` AShen

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.community


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git