Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam.
Pierwszy raz jak instalowałem debiana użyłem zwykłego obrazu ściągniętego z ftp'a. Około 700mb w tym podstawowy system + masa aplikacji, z których więkrzość i tak jest dla mnie nie przydatna. Pomyślałem więc że leprzym rozwiązaniem będzie instalowanie z netinstall. Bazowy system a potem doinstalowanie tego czego konkretnie potrzebuje. Niestety debiana i ogulnie linuxa mam nie za długo więc ciągle coś instaluje, sprawdzam konfoguruje itp. Prowadzi to do tego że co jakiś czas, częściej niż normalnie, przeinstalowuje system. Denerwuje mnie jednak że za każdym razem jak instaluje bazowy system musze dociągać wszystkie pakiety od nowa (mam neostrade 512 podzielna na 3 kompy po równo). W takim wypadku instalacja bazowego systemu+kilku najpotrzebniejszych dla mnie paczek wraz z konfiguracją która sporwadza się do skopiowania staych konfigów trwa cały dzień.
I tu przchodzimy do sedna.
Poszperałem troche po necie i zainteresowałem się programem build-simple-cdd, który jest w repozytoriach. Chodzi mi o to żeby wszystko co i tak instaluje za każdym razem jak stawiam system było instalowane odrazu z płyty cd, a najlepiej żeby podczas instalacji wogule nie było potrzebne połączenie z netem. Ściągnąc raz zrobić obraz i mieć spokój.
Ściągnąłem ów program i zaczołem działać.
Wydaje polecenie:
$ build-simple-cdd --profiles-udeb-dist lenny
no i cierpliwie czekam aż ściągnie się basic cd. Przechodze do katalogu który się ściągnął, tworze w nim katalog profiles i daje następne polecenie:
$ for p in gnome-core samba ntfs-3g xorg moc i wszystko inne czego potrzbuje ; do echo $p >> profiles/mojdebian.packages ; done
i znowu grzecznie czekam aż przylecą do mnie wszystkie pakiety.
Po skończeniu wklepuje
$ build-simple-cdd --profiles mojdebian --profiles-udeb-dist lenny
żeby stworzyć obraz płyty. Myślałem ze program grzecznie poskłada to co mu wcześniej ściągał w jedną całość i już będę miał gotową instalkę w postaci iso. Jednak znowu zaczął coś pobierać. Pobrał (trochę to trwało) i wkońcu stworzył moje upragnione ".iso".
Instaluje qemu zeby sprawdzić czy jest tak jak chciałem.
Daje pokolei polecenia:
$ qemu-img create debian.img 1500M $ qemu debian.img -cdrom /home/horrigan/my-simple-cdd/images/debian-testing-i386-CD-1.iso -boot d
System się instaluje niby wszystko ok. Troche to trwa, no ale czekam cierpliwie bo wkońcu emulowane. Pod koniec instalacji systemu zaczyna się coś pobierać. No dobra 11 pakietów to można poczekać. Kończy się instalacja, to zabieram się za uruchamianie systemu.
Wklepuje:
$ qemu -boot c debian.img
Uruchamia się system jednak okazuje się że niema w nim tego co chciałem. Wklepuje moc i sie okazuje ze pakietu niema, tak samo z innymi które chciałem żeby były.
W zasadzie mam to samo co po zwykłej instalacji netinstall.
Niewiem co robie źle. Może ktoś z was wie jak zrobić własną instalke systemu. Idealnie bylo by też żeby dało się zainstalować system z moimi konfigami, i sterami od grafy itp, tak żeby po zainstalowaniu systemu zrestartować komputer i mieć już wszystko gotowe.
Pozdrawiam
Horri
Offline
W tej chwili (nie znam tego narzędzia -- po świętach postaram się je przetestować) wydaje mi się, że pakiety wprawdzie się znajdują na płycie, jednak nie są domyślnie podawane do instalacji.
Na razie mogę zaproponować inne rozwiązanie -- za pomocą debootstrapa przygotuj obraz chroot, poinstaluj co chcesz, wrzuć konfigi jakie chcesz, spakuj jako tar.gz. Następnie spod live przygotuj partycje, rozpakuj, chrootnij się, skonfiguruj bootloader i voila.
Ostatnio edytowany przez azhag (2008-12-23 13:58:34)
Offline
Hmm jeżeli dobrze zrozumialem to na początku mam zrobić coś podobnego jak [url=http://night.jogger.pl/2007/06/16/instalacja-systemu-z-wykorzystaniem-debootstrap/]tutaj[/url]. Zainstalować powiedzmy lennego przez debootstrapa do jakiegos katalogu. Poinstalować to co chcem, skonfigurować tak jak chcem (oczywiście już przez chroota). Potem spakować cały folder z tym systemem do tar.gz i... gotowe ? :)
A puźniej jak będe chcial zainstalować system od nowa to odpalam livecd, rozpakowuje i kopiuje ten systemik na przygotowaną partycje i juz mam system postawiony od nowa ? :)
Jak się myle to poprawcie. :P
Ogólnie całkiem ciekawe rozwiązanie, jak tylko będę miał chwilę czasu to od razu sprawdze.
Fajne bo ponowna instalacja/konfiguracja systemu zajmie tylko chwile, kwestia skopiowania plików :D potem restart i mam cały świeży system gotowy do pracy. Już mi się zaczyna podobać. Jak tylko wypróbuje dam znać jak mi poszło :)
Dzięki azhag
Offline
Z grubsza tak. Tylko:
1. po rozpakowaniu chroota musisz zainstalować bootloader
2. "świeży" ten system będzie przez jakiś czas od wygenerowania ;) w miarę upływu czasu, będzie coraz więcej pakietów do aktualizacji po takiej "instalacji"
Mam jeszcze jeden pomysł. Po prawdzie to nie będzie Debian w ścisłym rozumieniu tego słowa, ale system w pełni z Debianem zgodny.
Zaletą jest, że od razu masz live'a ze swoim systemem na jednej płytce. Co więcej ów live jest twoim systemem. :)
Tylko to zadanie będzie nieco trudniejsze, raczej wątpię, by za pierwszym (ba, za trzecim ;]) razem udało ci się wygenerować live'a tak jak byś sobie tego życzył.
Otóż jest taka fantastyczna dystrybucja live jak [url=http://www.grml.org]grml[/url]. Posiada ona wiele zalet, o których można się rozwodzić długo i namiętnie, ale teraz wystarczą dwie z nich: grml-live i grml2hd.
Za pomocą grml-live (http://grml.org/grml-live/) wygenerujesz własne iso grmla na bazie wybranej gałęzi Debiana, z pakietami jakie tylko sobie zapragniesz, z konfigami jakie tylko sobie zapragniesz — albo przez utworzenie pakietów z nimi (służę skrytem do tego służącym) i dodaniem ich do listy instalowanych pakietów, albo przez utowrzenie najpierw zwykłego iso, następnie dodaniem konfigów w obrazie chroot i uruchomieniem [tt]grml-live[/tt] z opcją [tt]-b[/tt] (build only).
Jak już będziesz miał własne iso, możesz je zainstalować na dysku za pomocą grml2hd (http://grml.org/grml2hd/)
Ostatnio edytowany przez azhag (2008-12-23 23:31:15)
Offline
O i jeszcze lepiej :D
Już się ściąga grml-medium, odpale i wybadam te grml-live.
albo przez utworzenie pakietów z nimi[/quote]
A można w ten sposób dorzucić sterownik od grafy, xorg do niego i załadować odpowiednie moduły ? :)
Offline
Sterowniki do ati i nvidii sa w repozytorium grmla (przynajmniej kiedyś były), podczas budowania własnego iso możesz je dodać (na standardowych obrazach ich nie ma).
Nie musisz pobierać grmla, żeby użyć grml-live. Możesz go zainstalować na Debianie, po dodaniu grmlowego repozytorium. Ewentualnie pobrać pakiet i zainstalować ręcznie (po czym uzupełnić jego zależności).
Offline
Hmm mam mały problem. Mianowicie chrootuje sie do grml_chroot. Instaluje potrzebne mi pakiety i wszystko konfiguruje. Potem wpisuje:
$ grml-live -a i386 -b -i grml.iso -s lenny -c GRMLBASE,GRML_SMALL,I386
I nigdzie nie tworzy mi się plik grml.iso ani żadne inne iso. Próbowałem też z innymi opcjami, ale tak czy siak nie chce stworzyć obrazu płyty. Tworzy tylko pliki w folderze grml_cd, których wygląda jak zwykły obraz cd nagrany na płytke. Myślałem o nagraniu całej zawartości tego folderu na cd ale dwóch plików nie chce nagrać, tj. grml.squashfs i grml-small.squashfs.
Offline
$ grml-live
zawsze myślałem, że należy to odpalać jako root ;)
przyznam się, że poza tym nie wiem co o tym sądzić. Spróbuj dorwać któregoś z deweloperów grmla (mika chyba się najlepiej w tym temacie orientuje, zresztą to chyba on pisał to narzędzie) na #grml@freenode
Offline
[b]Horrigan[/b], wiesz jaki jest najprostszy sposób na to aby nie pobierać niepotrzebnych pakietów sieci. Robię w ten sposób kopie instalowanych systemów znajomym.
[tt]1.[/tt] Instaluję system bazowy z płytki [tt]netinstall[/tt].
[tt]2.[/tt] Konfiguruję połączenie z internetem.
[tt]3.[/tt] Instaluję i konfiguruję środowisko graficzne, karta grafiki, muzyczna itp.
[tt]4.[/tt] Instaluję i konfiguruję dodatkowe elementy potrzebne do zestawienia połączenia z internetem u znajomych wifi itp.
[tt]5.[/tt] Doinstalowuję potrzebne programy użytkowe.
[tt]6.[/tt] Aktualizacja i sprawdzenie systemu.
[tt]7.[/tt] Wykonuję kopię zawartości katalogu [tt]/var/cache/apt/archives[/tt] nagrywając go na płycie CD/DVD RW łącznie z obrazem płytki [tt]netinstall[/tt]. Dodaję do tego pliki konfiguracyjne wymagane do zestawienia połączenia z internetem.
Tak uzbrojony, doprowadzam system do pełnej używalności w bardzo krótkim czasie (zależnym od ilości wymaganych pakietów).
[tt]1.[/tt] Nagranie na płytce cd rw obrazu [tt]netinstall[/tt] (mogę to zrobić z poziomu dowolnego livecd).
[tt]2.[/tt] Instalacja systemu bazowego z płytki [tt]netinstall[/tt].
[tt]3.[/tt] Przekopiowanie z płytki wszystkich pakietów do katalogu [tt]/var/cache/apt/archives[/tt]
[tt]4.[/tt] Wejście do katalogu jako [tt]root[/tt]
cd /var/cache/apt/archives
[tt]5.[/tt] Wydanie jako [tt]root[/tt] polecenia
dpkg -i *.deb
[tt]6.[/tt] Przekopiowanie plików wymaganych do nawiązania połączenie z internetem do miejsca ich przeznaczenia.
Pierwszy raz wygląda to może skomplikowanie mnie się sprawdza.
Offline
[quote=azhag]zawsze myślałem, że należy to odpalać jako root ;)[/quote]
Oczywiście odpalam jako root, tylko nie dopisałem.
Pokombinuje jeszcze troche z grml'em, jak sie nie uda to narazie zrobie sposobem fnmirk'a :)
Ostatnio edytowany przez Horrigan (2008-12-26 23:08:34)
Offline
Time (s) | Query |
---|---|
0.00008 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00081 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.142.131.51' WHERE u.id=1 |
0.00075 | UPDATE punbb_online SET logged=1732712513 WHERE ident='3.142.131.51' |
0.00040 | SELECT * FROM punbb_online WHERE logged<1732712213 |
0.00095 | DELETE FROM punbb_online WHERE ident='54.36.148.47' |
0.00039 | SELECT topic_id FROM punbb_posts WHERE id=106518 |
0.00006 | SELECT id FROM punbb_posts WHERE topic_id=13028 ORDER BY posted |
0.00049 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=13028 AND t.moved_to IS NULL |
0.00027 | SELECT search_for, replace_with FROM punbb_censoring |
0.00304 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=13028 ORDER BY p.id LIMIT 0,25 |
0.00226 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=13028 |
Total query time: 0.00954 s |