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/.
Opium dla mas...a dokładniej -- dla mas używających apt-get. Na uniwersytecie w San Diego powstaje narzędzie, które próbuje zastąpić to słynne polecenie. Opium (PDF) to po prostu "Optimal Package Install/Uninstall Manager", czyli "optymalny menedżer instalacji i deinstalacji pakietów". Twórcy Opium nie skorzystali z metody wyliczania zależności międzypakietowych za pomocą grafów, stosowanej w apt. Problem polega na tym, że jest to bardzo wymagający sposób i apt musi arbitralnie ograniczać głębokość rekurencji, co w niektórych wypadkach powoduje błędy. Korzystając z metod heurystycznych autorzy Opium stworzyli prototyp menedżera, który skutecznie dba o stan zależności między pakietami. Inne jego zalety to możliwość określania preferencji użytkownika (na przykład pobieranie jak najmniejszej ilości danych lub tylko stabilnych wersji) oraz usuwanie podczas deinstalacji jak najmniejszej koniecznej ilości pakietów. Test porównawczy, na losowej próbie 600 złożonych akcji instalacji/deinstalacji wziętych z życia, czyli z logów Linspire, wykazał, że Opium jest rzeczywiście bezbłędne. Jedyne nieudane przypadki wynikały z błędów opiekunów pakietów (35 na 52.668 pojedynczych instalacji), podczas gdy apt nie poradził sobie z 357 pojedynczymi przypadkami (0,61% błędów własnych), i w efekcie zawiódł w 23,3% złożonych akcji. Teoretycznie prędkość działania Opium jest sporo mniejsza niż apta, ale w praktyce często nie będzie to wielka różnica. Instalacje nie wymagające rozwiązywania konfliktów (czyli 84,3% przypadków) wyliczane są średnio 3,5 razy wolniej, a jeśli konflikty występują, to aż 6-krotnie wolniej. Jednak dzięki oszczędnościom w pobieraniu całkowity czas jest bliski standardowej instalacji przez apt-get: przy łączu 300 kB/s to tylko o 34% gorzej, przy linii 100-kilobitowej już tylko o 11,2% wolniej, a przy ściąganiu z prędkością modemową (10 kB/s) nawet o 0,2% szybciej. Ta oszczędność przy pobieraniu pakietów wyniosła przeciętnie 2 MB, w 7 wypadkach było to ponad 100 MB, a w krańcowej sytuacji nawet 129 MB. W pełnych akcjach widać to jeszcze wyraźniej: w 95,9% akcji Opium wygrywa średnio o 7,7 MB, a największa różnica to aż 185 MB! Tylko w 0,2% apt-get zaoszczędził więcej niż Opium (średnio 1,6 MB), ale trzeba pamiętać o jego skłonności do zbyt łatwego pozbywania się pakietów związanych zależnościami. Raz skończyło się nawet na tym, że wśród 61 "zbędnych" pakietów chciał usunąć jądro systemu, podczas gdy Opium poprzestało na 21 usuniętych pakietach i bynajmniej nie próbowało się pozbyć jądra. Twórcy Opium wymienili tylko dwa podobne do niego projekty. WP2 (z projektu EDOS) jest narzędziem do wyliczania zależności w repozytoriach, jest więc przeznaczony dla opiekunów pakietów i dystrybucji, a nie dla końcowych użytkowników. Smart z kolei stara się uzyskać dokładność wyliczając wszelkie możliwości, czyli nadrabia braki apt-get przez uwzględnianie pomijanych w nim przypadków, co grozi np. przekroczeniem zasobów systemu. Konkurencja więc raczej mu nie grozi, choć może za to zostać wykorzystany jako element innych menedżerów. W artykule nie ma żadnej wzmianki o innych dystrybucjach ani formatach pakietów, ale przy tak zachęcających wynikach Opium ma szanse uzależnić dużo szersze masy.
zrodlo: linuxnews.pl
Offline
ciekawe jak wypada jego porównanie z aptitude
dopisek: i poldkiem ;)
Offline
azhaq czy mnie oczy nie myla?? czyzbys sie do wawy przeniosl?? :)[/quote]
tak, jakieś 22 lata temu ;)
Błogosławieni, którzy czynią FAQ.
[url=http://www.opencaching.pl]opencaching[/url] :: [url=http://dug.net.pl/sources.list]debian sources.list[/url] :: [url=http://www.linuxportal.pl/blogi/azhag/wpisy]coś jakby blog[/url] :: [url=http://dug.net.pl/]polski portal debiana[/url] :: linux user #403712
Offline
w krk mieszkasz[/quote]
nie, w Chworwacji byłem tylko raz, w [url=http://hr.wikipedia.org/wiki/Krk_(grad)]Krk[/url] w ogóle nie byłem :)
ale rozmywamy :)
Błogosławieni, którzy czynią FAQ.
[url=http://www.opencaching.pl]opencaching[/url] :: [url=http://dug.net.pl/sources.list]debian sources.list[/url] :: [url=http://www.linuxportal.pl/blogi/azhag/wpisy]coś jakby blog[/url] :: [url=http://dug.net.pl/]polski portal debiana[/url] :: linux user #403712
Offline
Panowie na prv sie na tetate umawiać a nei z temat rozmywać ;p
Offline
[b]Rumi napisal:[/b]
Panowie na prv sie na tetate umawiać a nei z temat rozmywać ;p[/quote]
A co tam... niech powiedza co gdzie i kiedy to sie moze ktos dolaczy.... ;> :P
[img]http://blackevo.kewlnet.tk/userbar/ThinkPad_userbar.jpg[/img]
[img]http://blackevo.kewlnet.tk/userbar/Archlinux_userbar.jpg[/img]
Offline
Browarek na polach mokotowskich? O kazdej porze dnia i nocy! ;-)
Offline
Time (s) | Query |
---|---|
0.00015 | SET CHARSET latin2 |
0.00006 | SET NAMES latin2 |
0.00219 | 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.141.47.163' WHERE u.id=1 |
0.00110 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.141.47.163', 1732432801) |
0.00073 | SELECT * FROM punbb_online WHERE logged<1732432501 |
0.00275 | 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=8232 AND t.moved_to IS NULL |
0.00011 | SELECT search_for, replace_with FROM punbb_censoring |
0.00242 | 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=8232 ORDER BY p.id LIMIT 0,25 |
0.00233 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=8232 |
Total query time: 0.01184 s |