Титла: update на Gentoo Публикувано от: senser в Jan 11, 2006, 16:01 Привет,
Ситуацията е следната: от известно време насам останах без домашен достъп до интернет и засега не се очертава да имам такъв. Искам да мога, въпреки това, редовно да update-вам домашното Gentoo, както и ако ми потрябва да си инсталирам някой нов пакет. За целта смятам на един външен HDD на USB да синхронизирам през деня на работа и вечерта примерно като се прибера да го ползвам вкъщи. На въпросния HDD ще има примерно "/usr/portage" от която ще правя "emrge sync" при зададен
В същото време трябва на същия HDD трябва да направя и mirror на "/distfiles" за да мога пак от него да взимам сорсовете при инсталиране. Като гледам дотук нищо не съм питал ![]() ![]() Поздрави! Титла: update на Gentoo Публикувано от: ray в Jan 11, 2006, 19:24 Здравей,
Виж на www.gentooexperimental.org (има доста скриптове) имаше и един или бяха два точно за това. Синхронизираш, сваляш само новите пакети и после само ги копираш и компилираш. Не си спомням подробностите виж на сайта. PS: иначе има и ежедневно версия на portage, на www.itdnet.net/gentoo (само си сваляш последния portage), нещо като това което прави 'emerge-webrsync' или нещо подобно беше. Май дори не е необходим rsyncd а само rsync. PS2:нещо гледам огледалото на "itdnet.net" не работи (сайта е там но за gentoo няма нищо). Успех.Румен Титла: update на Gentoo Публикувано от: sole в Jan 11, 2006, 20:03 адресът е http://gentoo.itdnet.net/
Всъщност аз съм се захванал да правя нещо подобно - да си поддържам една машина под Gentoo, която няма Интернет, осъвременена. Имам написани няколко скрипта (на bash и python). Ще гледам да ги кача някъде и ще дам линк пак тук по-късно довечера или утре. Титла: update на Gentoo Публикувано от: ray в Jan 11, 2006, 21:32 Здравейте,
Грешката е моя, линка е както в пред. отговор. Всичко си работи. Румен Титла: update на Gentoo Публикувано от: senser в Jan 13, 2006, 09:24 Снощи успях да направя синхронизация от HDD, само чрез конфигуриране на rsync, и задаване на SYNC в /etc/make.conf.
Днес се надявам да ми остане време да направя и един mirror за пакетите. Ако всичко тръгне нормално ще пост-на конфигурационните файлове. Поздрави! П.П. @Румен: www.gentooexperimental.org от два дена не е достъпен .... Титла: update на Gentoo Публикувано от: growchie в Jan 13, 2006, 10:50 Като сте заговорили за ъпдейт може ли за попитам нещо и аз.
Правилно ли съм разбрал, че за да си сложа gnome 2.12 трябва да демастирам пакета и в /etc/portage/package.keywords да добавя =gnome-base/gnome-2.12 ~x86 и всички пакети от ебилда за тази версия на gnome. Ако е вярно след това само emerge -vu gnome ли е достатъчно? Четох викито на сайта на gentoo но стъпка "демаскиране" не ми е от най-ясните. Титла: update на Gentoo Публикувано от: senser в Jan 13, 2006, 11:32
Какво искаш да кажеш с "демаскирам" - това че за твойта архитектура Gnome 2.12 е masked. Ако е така с добавяне на gnome в USE /etc/make.conf и инсталирането на гноме чрез:
Това е при положение, че пакета е "~ testing". Ако е примерно "M~ testing / hard masked" може да "пипнеш" ebuild-a ..... ама май не мн препоръчително ![]() Титла: update на Gentoo Публикувано от: growchie в Jan 13, 2006, 11:56 Аха 10х ще видя какво ще "изплува".
Титла: update на Gentoo Публикувано от: senser в Jan 13, 2006, 13:16 Ако приемем, че ъпдейтването работи - остава да се направи нещо като локален миррор на distfiles. Докато търсех инфо по жапроса попаднах на тези две теми във форумите на Gentoo:
link_1 link_2 В общи линии и там проблема със синхронизирането са го решили така, но по въпроса със сорсовете на пакетите има няколко варианта, които се обсъждат - proxy, nfs, ....etc. Тези варианти не са подходящи за моя случай ![]() Мина ми през главата да направя следното - с помощта на wget да дръпна целия контент на http://gentoo.itdnet.net/gentoo/distfiles/ ..... което не е много "елегантен" начин, но ....... що пък не :-) Ако се спра на този начин единственото което може да се оптимизира май, че е проверката за най-новите пакети, т.е. да се теглят само най новите версии ....... но не се знае дали най новата версия ще може да се компилира за съответната архитектура. Предложения ![]() Edit: Също така стои и проблема с проверката дали съществува вече този файл, и ако го има да не се тегли отново - най-тъпото за което се сещам е "wget -c", но това е адски бавен и тромав вариант Титла: update на Gentoo Публикувано от: aylov в Jan 13, 2006, 13:31 Ами моят начин по ъпдейта е по първобитен, но ще го споделя.
1. Свалям последния portage от snapshots и след това tar -xvpf...; emerge --metadata. 2. След това вземам линковете със следната команда: emerge -fp package 2>/dev/stdout |awk '{ print $1}' |grep :// копирам ги в един текстов файл 3. На компа с инет достъп пускам едно wget -i текстовия файл 4. След като имам вече пакетите , копирам ги в distfiles и изпълнявам emerge package. Ами това е. Титла: update на Gentoo Публикувано от: senser в Jan 13, 2006, 13:47
Това е интересен вариант ..... единственото, което не ми допада е, че ако искам вечерта да инсталирам нещо примерно, трябва на другия ден да изтегля сорса от нета и тогава да го инсталирам у нас...., което предвид на обстоятелствата не е болка за умиране ![]() Титла: update на Gentoo Публикувано от: sole в Jan 13, 2006, 16:18 Бях затрупан с работа и затова чак сега се връщам на темата. При мен ситуацията е следната един компютър с 5G HDD, който няма Internet, така че не се хвърлих да дублирам http://gentoo.itdnet.net/gentoo/distfiles
![]() ![]() Нещата съм ги разделил по следният начин: 1. Създаване на списък с URL-та за необходимите при emerge файлове. Всъщност ползвам:
което видях някъде из handbook-a и което гледам и други ползват. 2. Създаване (чрез скрипт) на списък с файловете от списъка с URL-та. 3. Преценка (чрез скрипт) кои файлове вече ги имаме (в /usr/portage/distfiles или другаде - настроеваемо е) и промяна на списъка с URL-та и файлове, така че да останат само тези, които наистина ми трябват. 4. Прехвърляне на двата списъка на вторият компютър. 5. Ако той има някакви distfiles се преминава пак през стъпка номер 3, като има и скрипт за копиране на вече наличните файлове в отделна директория. 6. Списъкът с URL-та се подава на програма за теглене. Изтеглените (и изкопирани файлове) се записват на CD/DVD/USB flash card и се прехвърлят на първият компютър. 7. emerge package_name Подал съм заявка в openfmi.net за проект там (скриптовете може и да се дообогатят). Щяло да има отговор до 24 часа. Титла: update на Gentoo Публикувано от: sole в Jan 18, 2006, 10:18 От OpenFMI одобриха проекта и качих скриптовете, за които говорех. Адресът на проекта е
https://openfmi.net/projects/netlessportage/ Всякакви смислени коментари са добре дошли. Ако имате проблем - пишете. Титла: update на Gentoo Публикувано от: senser в Jan 18, 2006, 10:43
Налага се тези дни да попътувам и не ми остава време да разгледам скриптовете, но при първа възможност ще го направя, понеже варианта с тегленето на всички сорсове се оказа много тежък (ако бях помислил малко трябваше и сам да се сетя, но .....). Поздрави! Титла: update на Gentoo Публикувано от: sole в Jan 19, 2006, 23:50 Вече е на разположение версия 0.2.1.0, в която съм отстранил няколко груби грешки. Когато имаш време направо погледни последната версия. Ако има още нещо сигурно пак ще пусна съобщение и тук, тъй като предполагам по-често се минава от тук (или пък повече хора минават от тук), отколкото да следят страницата на проекта. В събота/неделя най вероятно ще си сложа svn и ще гледам да направя достъпно и дървото с файловете. (То не че тези zip-ове са огромни.)
Титла: update на Gentoo Публикувано от: senser в Jan 30, 2006, 16:32
Разгледах скриптовете ти, но за съжаление не се ориентирах нещо ![]() Не ме разбирай погрешно - не съм се задълбочавал много поради липса на време. За сметка на това пробвах скрипта, за който беше споменал (може да се изтегли оттук) писан на ruby и останах удовлетоврен. Съмнявам се това решение да има голямо приложение поради факта, че вече почти навсякъде има достъп до Интернет, но все пак ще опиша накратко как реших нещата при мен: 1. За да се обновява portage дървото (т.е. emerge sync) от външен хард/CD/flash etc промених един ред в /etc/make.conf:
също трябва да се конфигурира rsync демона кои директории да предоставя при синхронизация. За целта ето част от /etc/rsyncd.conf:
/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 за даунлоуд на сорсовете се генерира чрез:
Взимате файла на другиа ден на работа, давате го на wget да го тегли (wget -c -i packages.upd), вечерта копирате изтеглените пакети в /usr/portage/distfiles и може вече по стандартния начин "emerge -uD --newuse world" да поддържате системата up-to-date. Дано съм бил полезен на някой ![]() П.П. Ето нещо като "трик" как най лесно да получите portage дървото на външния хард (поне при мен е ХДД). Следните редове в /etc/make.conf: PORTDIR=/mnt/tmp/portage SYNC="rsync://localhost/gentoo-portage" на компютър който се обновява ежедневно през нета. Естествено пак трябва да се пипне малко и rsyncd.conf, но този начин е определено по-удобен от копирането на директорията /usr/portage Титла: update на Gentoo Публикувано от: sole в Feb 02, 2006, 14:37 скриптовете ми не са имали за цел обновяване на Portage дървото. виждал съм го това:
и ми направи впечатление че така си затриваш и папките /usr/portage/distfiles и /usr/portage/packages които аз поне ползвам. е то в /etc/make.conf можеш да зададен друг път за тях, както и да е. не съм се задълбочавал, но скриптът на ruby ти дава всички необходими файлове или само тези, които вече ги няма на системата ти (най-вероятно в /usr/portage/distfiles) скриптовете ми са именно за филтриране на списъка от всички файлове необходими за определен пакет до само тези, които вече не са налични. също и да копираш, а не теглиш от Интернет, необходими файлове от определена директория. писах на python за да го науча и защото за един скрипт не ми се слагаше ruby (а и на него попаднах по-късно). една съвсем странична употреба е и това да определиш кои файлове в /usr/portage/distfiles ти са необходими за emerge -e world и да изтриеш source-овете на стари версии на приложенията или приложения, които вече не ползваш. "документацията" определено не е най-разбираемата, но за момента не мога да й отделя повече време. Радвам се все пак че си намерил решение на проблема си. Титла: update на Gentoo Публикувано от: senser в Feb 02, 2006, 15:40
За съжаление малко прибързах да се радвам (че и похваля ![]() Иначе идеата на скрипта е примерно да си ъпдейтнеш системата по същия начин като с "emerge -uD world" т.е. такъв списък с URL-та изплюва накрая. Когато прегледах файла с адресите на пакетите се оказа че има доста голяма част дублирани редове ........ Както и да е - в момента не мога да отделя време да човъркам скрипта, но примерно следната команда:
изкарва точно списък с URL-тата на пакетите и би трябвало да няма проблем после да се дръпнат с wget. Проблема беше че не можах да преансоча изхода на командата към някой файл.
не сработва и мисля, че заради извикването на скрипт на Python ..... но понеже си нямам идея от python не съм се задълбочавал много. @solе aко тук можеш да помогнеш ще ми спестиш малко четене ....... което всъщност никога не е излишно ![]() Титла: update на Gentoo Публикувано от: sole в Feb 02, 2006, 15:58
доколкото знам пренасочва стандартния изход към файла.
докато това пренасочва изхода за грешки към файла. можеш да сравниш и с написаното от aylov и ще видиш че си изпуснал да напишеш една двойка. с такова пренасочване губиш предишното съдържание на файла. добавяне (append) към съществуващото съдържание става с ">>" вместо ">". това не е съвсем по темата, но го вмятам защото може да ти е полезно за нещо сходно. не бях наясно с разликата между -f и -F, погледнах в man страницата на emerge и пак не я разбрах. това го споменавам само защото в emerge_get скрипта ми ползвам -f. пак там и съм оставил като коментар че може да се сменят два реда и извикването да е с -pfuD вместо само с -pf Титла: update на Gentoo Публикувано от: sole в Feb 02, 2006, 16:01 да не би -F да върши същото като mirror при FEATURES?
Титла: update на Gentoo Публикувано от: senser в Feb 02, 2006, 16:28
Аз поне както го разбирам тези опции само трябва да изтеглят нужните файлове, въпреки че сега погледнах на др машина какво се получава - и "emerge -upDF world" доста URL-та изкарва, а в същото време "emerge -uрD world" показва, че ще ъпдейтне само кернел-а ![]() Титла: update на Gentoo Публикувано от: sole в 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 хедърите ще се инсталират, а само че ще се изтеглят. Титла: update на Gentoo Публикувано от: ray в Feb 02, 2006, 21:20 Здравейте,
Мисля пак да погледна, но май разликата е че при "-F" се теглят и всички пачове и др. файлове, независимо от зададените USE флагове. Така целият сорс необходим за компилиране другаде ще бъде наличен независимо от зададените (другаде) различни USE флагове. Успех.Румен Титла: update на Gentoo Публикувано от: sole в Feb 02, 2006, 21:29 може. не знам. написах го с презумцията че върши същото като FEATURE-а mirror. то, не че и него съм го ползвал някога, но поне в man страницата за /etc/make.conf нещата ги разбрах едностранно.
Титла: update на Gentoo Публикувано от: sole в Jul 25, 2006, 12:02 След дълга пауза от моя страна по netlessportage намерих време да погледна отново проекта и съм пуснал нова версия 0.3.0.0, достъпна от тук. Проектът не е само за да върши работа, но и за да се уча (пък и някой друг да се учи, ако намери нещо смислено в него
![]() Титла: update на Gentoo Публикувано от: senser в Jul 25, 2006, 13:16
Ще го пробвам и ще си кажа мнението - мерси ;-) |