Автор Тема: update на Gentoo  (Прочетена 5695 пъти)

senser

  • Напреднали
  • *****
  • Публикации: 1328
    • Профил
update на Gentoo
« Отговор #15 -: Jan 30, 2006, 16:32 »
Цитат (sole @ Ян. 20 2006,00:50)
Вече е на разположение версия 0.2.1.0, в която съм отстранил няколко груби грешки. Когато имаш време направо погледни последната версия. Ако има още нещо сигурно пак ще пусна съобщение и тук, тъй като предполагам по-често се минава от тук (или пък повече хора минават от тук), отколкото да следят страницата на проекта. В събота/неделя най вероятно ще си сложа svn и ще гледам да направя достъпно и дървото с файловете. (То не че тези zip-ове са огромни.)

Разгледах скриптовете ти, но за съжаление не се ориентирах нещо '<img'>.
Не ме разбирай погрешно - не съм се задълбочавал много поради липса на време.
За сметка на това пробвах скрипта, за който беше споменал (може да се изтегли оттук) писан на ruby и останах удовлетоврен.
Съмнявам се това решение да има голямо приложение поради факта, че вече почти навсякъде има достъп до Интернет, но все пак ще опиша накратко как реших нещата при мен:
1. За да се обновява portage дървото (т.е. emerge sync) от външен хард/CD/flash etc промених един ред в /etc/make.conf:
Примерен код

SYNC="rsync://localhost/gentoo-portage"

също трябва да се конфигурира rsync демона кои директории да предоставя при синхронизация. За целта ето част от /etc/rsyncd.conf:
Примерен код

[gentoo-portage]
path=/mnt/tmp/portage
comment=Gentoo Portage
exclude=distfiles/ packages/

/mnt/tmp/portage трябва да се замени с мястото на монтиране на външният носител. Не е лошо да се разгледа "man rsyncd.conf" - има полезни опции които не съм paste-нал тук за да не става мн дълго.
Това е достатъчното за обновяване на portage дървото.

2. Теглене на необходимите файлове със сорс код за инсталиране на приложения. Както казах по-горе ползвам скрипта f2f написан на ruby. Ако няма инсталиран ruby трябва да се инсталира (emerge ruby). Понеже се предполага , че на съответното РС няма Интернет трябва предварително да се изтегли рuby-1.8.4.tar.gz (това е актуалната версия в момента) и да се сложи в /usr/portage/distfiles.
След инсталирането на ruby, скрипта f2f се копира в /usr/local/bin  и се прави изпълним - chmod 755".
Файла с необходимите URL за даунлоуд на сорсовете се генерира чрез:
Примерен код

f2f -t txt -f /home/user/packages.upd


Взимате файла на другиа ден на работа, давате го на wget да го тегли (wget -c -i packages.upd), вечерта копирате изтеглените пакети в /usr/portage/distfiles и може вече по стандартния начин "emerge -uD --newuse world"  да поддържате системата up-to-date.

Дано съм бил полезен на някой '<img'>

П.П. Ето нещо като "трик" как най лесно да получите portage дървото на външния хард (поне при мен е ХДД). Следните редове в /etc/make.conf:
PORTDIR=/mnt/tmp/portage
SYNC="rsync://localhost/gentoo-portage"
на компютър който се обновява ежедневно през нета. Естествено пак трябва да се пипне малко и rsyncd.conf, но този начин е определено по-удобен от копирането на директорията /usr/portage
Активен

sole

  • Участници
  • ***
  • Публикации: 11
    • Профил
update на Gentoo
« Отговор #16 -: Feb 02, 2006, 14:37 »
скриптовете ми не са имали за цел обновяване на Portage дървото. виждал съм го това:

Примерен код
cd /usr
rm -rf portage && tar xjvf /mnt/usbkey/portage-latest.tar.bz2 && emerge metadata


и ми направи впечатление че така си затриваш и папките /usr/portage/distfiles и /usr/portage/packages които аз поне ползвам. е то в /etc/make.conf можеш да зададен друг път за тях, както и да е.

не съм се задълбочавал, но скриптът на ruby ти дава всички необходими файлове или само тези, които вече ги няма на системата ти (най-вероятно в /usr/portage/distfiles)

скриптовете ми са именно за филтриране на списъка от всички файлове необходими за определен пакет до само тези, които вече не са налични. също и да копираш, а не теглиш от Интернет, необходими файлове от определена директория. писах на python за да го науча и защото за един скрипт не ми се слагаше ruby (а и на него попаднах по-късно).

една съвсем странична употреба е и това да определиш кои файлове в /usr/portage/distfiles ти са необходими за emerge -e world и да изтриеш source-овете на стари версии на приложенията или приложения, които вече не ползваш.

"документацията" определено не е най-разбираемата, но за момента не мога да й отделя повече време.

Радвам се все пак че си намерил решение на проблема си.
Активен

"Love is a moment of weakness that allows someone to hurt you more than you ever thought possible." -- Lewton, Discworld Noir

senser

  • Напреднали
  • *****
  • Публикации: 1328
    • Профил
update на Gentoo
« Отговор #17 -: Feb 02, 2006, 15:40 »
Цитат (sole @ Фев. 02 2006,15:37)
скриптовете ми не са имали за цел обновяване на Portage дървото. виждал съм го това:

Примерен код
cd /usr
rm -rf portage && tar xjvf /mnt/usbkey/portage-latest.tar.bz2 && emerge metadata


и ми направи впечатление че така си затриваш и папките /usr/portage/distfiles и /usr/portage/packages които аз поне ползвам. е то в /etc/make.conf можеш да зададен друг път за тях, както и да е.

не съм се задълбочавал, но скриптът на ruby ти дава всички необходими файлове или само тези, които вече ги няма на системата ти (най-вероятно в /usr/portage/distfiles)

скриптовете ми са именно за филтриране на списъка от всички файлове необходими за определен пакет до само тези, които вече не са налични. също и да копираш, а не теглиш от Интернет, необходими файлове от определена директория. писах на python за да го науча и защото за един скрипт не ми се слагаше ruby (а и на него попаднах по-късно).

една съвсем странична употреба е и това да определиш кои файлове в /usr/portage/distfiles ти са необходими за emerge -e world и да изтриеш source-овете на стари версии на приложенията или приложения, които вече не ползваш.

"документацията" определено не е най-разбираемата, но за момента не мога да й отделя повече време.

Радвам се все пак че си намерил решение на проблема си.

За съжаление малко прибързах да се радвам (че и похваля '<img'>) ) с такъв вид решение, защото се оказа, че скрипта на ruby не работи коректно. Това го разбрах след като изтеглих всички пакети които беше генерирал скрипта и после при ъпдейта на системата вкъщи се оказа, че им голяма част липсващи пакети.
Иначе идеата на скрипта е примерно да си ъпдейтнеш системата по същия начин като с "emerge -uD world" т.е. такъв списък с URL-та изплюва накрая. Когато прегледах файла с адресите на пакетите се оказа че има доста голяма част дублирани редове ........ Както и да е - в момента не мога да отделя време да човъркам скрипта, но примерно следната команда:
Примерен код

emerge -upDF world

изкарва точно списък с URL-тата на пакетите и би трябвало да няма проблем после да се дръпнат с wget. Проблема беше че не можах да преансоча изхода на командата към някой файл.
Примерен код

emerge -upDF world > url.list

не сработва и мисля, че заради извикването на скрипт на Python ..... но понеже си нямам идея от python не съм се задълбочавал много.
@solе aко тук можеш да помогнеш ще ми спестиш малко четене ....... което всъщност никога не е излишно '<img'>)
Активен

sole

  • Участници
  • ***
  • Публикации: 11
    • Профил
update на Gentoo
« Отговор #18 -: Feb 02, 2006, 15:58 »
Примерен код
some_command > some_file

доколкото знам пренасочва стандартния изход към файла.

Примерен код
some_command 2> some_file

докато това пренасочва изхода за грешки към файла.

можеш да сравниш и с написаното от aylov и ще видиш че си изпуснал да напишеш една двойка.

с такова пренасочване губиш предишното съдържание на файла. добавяне (append) към съществуващото съдържание става с ">>" вместо ">". това не е съвсем по темата, но го вмятам защото може да ти е полезно за нещо сходно.

не бях наясно с разликата между -f и -F, погледнах в man страницата на emerge и пак не я разбрах. това го споменавам само защото в emerge_get скрипта ми ползвам -f. пак там и съм оставил като коментар че може да се сменят два реда и извикването да е с -pfuD вместо само с -pf
Активен

"Love is a moment of weakness that allows someone to hurt you more than you ever thought possible." -- Lewton, Discworld Noir

sole

  • Участници
  • ***
  • Публикации: 11
    • Профил
update на Gentoo
« Отговор #19 -: Feb 02, 2006, 16:01 »
да не би -F да върши същото като mirror при FEATURES?
Активен

"Love is a moment of weakness that allows someone to hurt you more than you ever thought possible." -- Lewton, Discworld Noir

senser

  • Напреднали
  • *****
  • Публикации: 1328
    • Профил
update на Gentoo
« Отговор #20 -: Feb 02, 2006, 16:28 »
Цитат (sole @ Фев. 02 2006,17:01)
да не би -F да върши същото като mirror при FEATURES?

Примерен код

--fetchonly (-f)
              Instead  of  doing any package building, just perform fetches for all packages (the main package as
              well as all dependencies).

       --fetch-all-uri (-F)
              Instead of doing any package building, just perform fetches for all packages (the main  package  as
              well as all dependencies), grabbing all potential files.


Аз поне както го разбирам тези опции само трябва да изтеглят нужните файлове, въпреки че сега погледнах на др машина какво се получава - и "emerge -upDF world" доста URL-та изкарва, а в същото време "emerge -uрD world" показва, че ще ъпдейтне само кернел-а  '<img'>
Активен

sole

  • Участници
  • ***
  • Публикации: 11
    • Профил
update на Gentoo
« Отговор #21 -: Feb 02, 2006, 16:43 »
ами именно че ако сложиш "mirror" сред FEATURES в /etc/make.conf всеки emerge ще тегли всички файлове, необходими за emerge-а, независимо дали ги има вече изтеглени на локалната машина. предполагам -F прави същото.

и примерно за ядрото освен самото ядро се теглят и хедърите му (linux-headers).

така че ако имаш ядро 2.6.14 и при emerge -u world ще ти се сложи 2.6.15 и няма нова версия на хедърите, при -F ще се изтегли и ядрото (2.6.15) и хедърите, а при -f няма да се теглят хедърите, а само ядрото (2.6.15). като това не означава че при -F хедърите ще се инсталират, а само че ще се изтеглят.
Активен

"Love is a moment of weakness that allows someone to hurt you more than you ever thought possible." -- Lewton, Discworld Noir

ray

  • Напреднали
  • *****
  • Публикации: 1452
    • Профил
update на Gentoo
« Отговор #22 -: Feb 02, 2006, 21:20 »
Здравейте,
Мисля пак да погледна, но май разликата е че при "-F" се теглят и всички пачове и др. файлове, независимо от зададените USE флагове.
Така целият сорс необходим за компилиране другаде ще бъде наличен независимо от зададените (другаде) различни USE флагове.
Успех.Румен
Активен

sole

  • Участници
  • ***
  • Публикации: 11
    • Профил
update на Gentoo
« Отговор #23 -: Feb 02, 2006, 21:29 »
може. не знам. написах го с презумцията че върши същото като FEATURE-а mirror. то, не че и него съм го ползвал някога, но поне в man страницата за /etc/make.conf нещата ги разбрах едностранно.
Активен

"Love is a moment of weakness that allows someone to hurt you more than you ever thought possible." -- Lewton, Discworld Noir

sole

  • Участници
  • ***
  • Публикации: 11
    • Профил
update на Gentoo
« Отговор #24 -: Jul 25, 2006, 12:02 »
След дълга пауза от моя страна по netlessportage намерих време да погледна отново проекта и съм пуснал нова версия 0.3.0.0, достъпна от тук. Проектът не е само за да върши работа, но и за да се уча (пък и някой друг да се учи, ако намери нещо смислено в него '<img'>). Бих се радвал на коментари.



Активен

"Love is a moment of weakness that allows someone to hurt you more than you ever thought possible." -- Lewton, Discworld Noir

senser

  • Напреднали
  • *****
  • Публикации: 1328
    • Профил
update на Gentoo
« Отговор #25 -: Jul 25, 2006, 13:16 »
Цитат (sole @ Юли 25 2006,12:02)
След дълга пауза от моя страна по netlessportage намерих време да погледна отново проекта и съм пуснал нова версия 0.3.0.0, достъпна от тук. Проектът не е само за да върши работа, но и за да се уча (пък и някой друг да се учи, ако намери нещо смислено в него '<img'>). Бих се радвал на коментари.

Ще го пробвам и ще си кажа мнението - мерси ;-)
Активен

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
Update на KDE
Настройка на програми
Al_Kapone 10 6782 Последна публикация Apr 13, 2004, 18:07
от kicker
Gentoo (emerge --update --deep world) problem
Настройка на програми
taiko 4 2519 Последна публикация Jan 20, 2005, 23:59
от taiko
Networkless Gentoo inst && update
Хардуерни и софтуерни проблеми
Andrew 6 2326 Последна публикация Mar 22, 2005, 22:06
от ray
gentoo+update
Настройка на програми
growchie 7 2811 Последна публикация Dec 28, 2005, 16:58
от
Gentoo: update ама не съвсем
Настройка на програми
Agent_SMITH 1 1641 Последна публикация Mar 29, 2006, 07:36
от ray