From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <rider@altlinux.com> Message-ID: <4497A5FB.8070705@altlinux.com> Date: Tue, 20 Jun 2006 11:38:35 +0400 From: Anton Farygin <rider@altlinux.com> User-Agent: Thunderbird 1.5.0.2 (X11/20060502) MIME-Version: 1.0 To: ALT Devel discussion list <devel@lists.altlinux.org> References: <20060619010637.GE6065@localhost.localdomain> <20060620000409.GU6065@localhost.localdomain> <20060620001725.GA6623@basalt.office.altlinux.org> <20060620005501.GV6065@localhost.localdomain> <20060620011500.GA7821@basalt.office.altlinux.org> <20060620020202.GZ6065@localhost.localdomain> In-Reply-To: <20060620020202.GZ6065@localhost.localdomain> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [devel] full list of unmets X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.7 Precedence: list Reply-To: ALT Devel discussion list <devel@lists.altlinux.org> List-Id: ALT Devel discussion list <devel.lists.altlinux.org> List-Unsubscribe: <https://lists.altlinux.org/mailman/listinfo/devel>, <mailto:devel-request@lists.altlinux.org?subject=unsubscribe> List-Archive: <http://lists.altlinux.org/pipermail/devel> List-Post: <mailto:devel@lists.altlinux.org> List-Help: <mailto:devel-request@lists.altlinux.org?subject=help> List-Subscribe: <https://lists.altlinux.org/mailman/listinfo/devel>, <mailto:devel-request@lists.altlinux.org?subject=subscribe> X-List-Received-Date: Tue, 20 Jun 2006 07:32:12 -0000 Archived-At: <http://lore.altlinux.org/devel/4497A5FB.8070705@altlinux.com/> List-Archive: <http://lore.altlinux.org/devel/> List-Post: <mailto:devel@altlinux.org> Alexey Tourbin wrote: > On Tue, Jun 20, 2006 at 05:15:00AM +0400, Dmitry V. Levin wrote: >> Что каÑаетÑÑ Ð±Ð¾Ð»ÐµÐµ Ñложной обработки, то тут надо вÑпомнить математику и >> хорошенько подумать. > > Ðу в общем да. Ðужно оÑилить топологию и теорию графов. Потом нужно > перепиÑать apt на ocaml'е. :) Ð¡ÐµÐ¹Ñ‡Ð°Ñ Ðº апту очень ÑÐµÑ€ÑŒÐµÐ·Ð½Ð°Ñ Ð¿Ñ€ÐµÑ‚ÐµÐ½Ð·Ð¸Ñ: > библиотека libapt-pkg не дает доÑтупа к оÑновным алгоритмам. То еÑÑ‚ÑŒ > например алгоритм 'apt-get --print-uris install' закоден непоÑредÑтвенно > в apt-get. Чтобы попробовать узнать, можно уÑтановить отдельно взÑтый > пакет или нет, приходитÑÑ Ð·Ð°Ð¿ÑƒÑкать apt-get и парÑить его вывод. > Каждый такой запуÑк Ñтоит порÑдка Ñекунды, а Ð±Ð¾Ð»ÑŒÑˆÐ°Ñ Ñ‡Ð°ÑÑ‚ÑŒ времени > уходит на чтение/инициализацию кеша. То еÑÑ‚ÑŒ Ð½ÐµÐ»ÑŒÐ·Ñ Ð´Ð¾Ñтаточно быÑтро > проверить, какие пакеты в Ñизифе уÑтанавливаемы, а какие нет. ÐÐµÐ»ÑŒÐ·Ñ > загрузить кеш один раз и проверить вÑе пакеты в пределах одного > процеÑÑа. Ð”Ð»Ñ Ñтого еÑÑ‚ÑŒ apt-pipe, который вполне реально IMHO научить жить под обычным пользователем (Ñоздавать Ñокет в заданном каталоге). ÑÐµÐ¹Ñ‡Ð°Ñ Ñто выглÑдит вот так (тормозит только первый запуÑк): [root@rider ~]# time apt-pipe ls >/dev/null 0.00user 0.00system 0:02.81elapsed 0%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (2major+615minor)pagefaults 0swaps [root@rider ~]# time apt-pipe ls >/dev/null 0.00user 0.00system 0:00.03elapsed 43%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+567minor)pagefaults 0swaps [root@rider ~]# time apt-pipe showpkg icewm >/dev/null 0.00user 0.00system 0:00.01elapsed 80%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+568minor)pagefaults 0swaps > > libapt-pkg дает доÑтуп только ко внутренним Ñтруктурам данных, но не > к алгоритмам. Ðи --print-uris, ни unmets из libapt-pkg извлечь нельзÑ. > Чем думали авторы апта? авторов apt'а было Ñлишком много, что бы они могли чем-то думать ;) Rgds, Rider