
On Mon, May 28, 2012 at 6:18 AM, Nelson Marques <nmo.marques@gmail.com> wrote:
2012/5/27 Marguerite Su <i@marguerite.su>:
在 2012-5-28 上午3:25,"Nelson Marques" <nmo.marques@gmail.com>写道:
2012/5/27 Marguerite Su <i@marguerite.su>:
Hi, all,
users complained to me many times about yast2's slowness on forums.o.o, twitter or gtalk groups. (of course in a form of flame war like apt vs. yast, yum vs. yast...I don't want to say much about that.)
I didn't believe it, until today I broke my zypp cache, and had to retrieve them all...and I found many ugly things. let me be clear one by one.
1. yast-ncurses.
you have to use `LANG=en zypper [option]` if you set your locale to non-En environment.
or texts will be displayed as unreadable ??????.
see screenshot: http://paste.opensuse.org/40229867
any ideas on this one?
2. if you broke your zypp cache, yast-ncurses will always tell you that you have insufficient permissions so can only see part of its modules, even you logged in with root. (maybe not producible)
3. yast have to download every local package descrs, no matter whether you need it or not.
Yes, you and everyone else. It's that metadata that allows zypper to resolve dependencies and other things. If you don't have it available you defeat the whole purpose of a repository.
I think just download packages.en.gz and packages.your_locale.gz will be enough. (nowadays it downloads all of them...du, kr, zh_TW, pl, blabla...)
and it's the cause of its slowness..
it took me 40 minutes to refresh it all...even with local mirrors on.
You most likely have a transparent proxy somewhere in the middle that is introducing erratic behavior or limiting down; that sounds the most reasonable explanation.
hi,nelson,
do you mean some isp slow me down in the middle of the transition from server to me?
I am not network expert...I cant quite follow this part
Yes, there can be a problem somewhere in the network, and it might be bottlenecking somewhere, which could cause issues on your end.
I'll switch all my repo from d.o.o to twaren then try again. if that comes faster...I'll change all the links on zh.o.o wiki to guide new users.
I have a 4MB download speed, but can only download at a speed of < 10KB/s.
I can top my home line to 1.2Mbytes/sec (12Mbit ADSL); And I can get far more higher speeds through my office.
yes.
so are you suggesting me upgrading my internet plan to use opensuse?like buy a new computer to install opensuse?
No, I'm trying to tell you that if it was a problem on dl.opensuse.org, we would suffer from it to. If I can get those speeds, you should as aswell; for a 4Mbit downstream window you should get around 400Kb/sec. If you are not getting them, that's because there's an issue somewhere, right ?
yes...actually I highly suspect the Eu-Asia continent fiber-wire lost its speed into China. (because I never see any Russian guys complain about slowness of yast.) I'll do some traceroute and see.
Now, depending on the type of your connection there can be lots of factors, from transparent proxies, to network bottlenecks on your ISP side, crazed routing tables, etc.
For example, ADSL connections you have phisical factors, like the distance between your house to the central that serves you, etc.
if my computer is obsolete. i will. but actually 4mb is the largest internet speed in Chinese...I can't immigrate only to update my opensuse box. right?
so the question I want to ask is how to or is there any possible way to speed zypper refresh based on the infrastructure I have.
There's nothing you or anyone else can do on zypper if the problem is related with a network bottleneck for example or crazed routing tables.
I knew it's slow, but I don't know it's that slow...
the standard procedure to use yast is: a. launch b. min it and do something else c. after half an hour, operate, min it again d. wait until it closes itself.
I think we really need to improve it. like:
(1) try merge package descrs among repositories. most of same packages' descrs among repos are the same. we don't need to download it several times.
I would belive that this would introduce chaos and havoc in operational theaters that contemplate concorrent repositories. Why should my repo metadata be replaced by some other repo metadata? Simples example:
- My repo has a version of PostgreSQL without UUID support. If you merge metada and mine gets replaced with the one from a repo which has PostgreSQL built with UUID support, users will most likely get a broken PostgreSQL. You will blow up the majority of systems with concorrent repositories.
do you mean packages.en.gz is used to solve dependencies?I think they are just translations. I never mean to merge oss and k:d:l contents together. but packages descr. eg %description instead of gpg keys....or rpms themeselves.
If we are talking about the files in 'repodata' or similiar depending if it's rpm-db or yast2 (which I believe we are), those files are created so that the package manager tools (zypper, yum) can read the metadata from the RPMs available instead of querying them all.
So if you so for example a query on zypper and you dont have those files, there's an error. If you rmeove info from those files, it can lead to malformed dependencies.
Like I said in my last email, there's most likely a global community living from those repos, you might not have interest on descriptions, but I and other people have.
yes. but actually we were talking about different things... I was talking about /var/cache/zypp/download.opensuse.org-oss/suse/setup/descr/package.locale.gz and you were talking about /var/cache/zypp/download.opensuse.org-oss/suse/setup/descr/package.gz and packge.DU.gz although they look like the same thing. but actually they're different... and I didn't see anything is repodata controls dependencies. dependencies seems to be solved by RPM program itself. :)
eg:you may have two packages in different repos with the same %description. then why do we need to download such descriptions twice?
If dump a lot of RPMs into a directory and you run 'createrepo' on it. It extracts the metadata from all RPMs and creates those file lists or injects it into a sqlite database. This information (like I said before) is used by the package manager tools (zypper) to resolve dependencies and show information to the user.
Try to search a bit for what RPM NEVRA is.
packages.en.gz has nothing to do with dependencies. or specfiles
Then we are maybe speaking of different things. I was assuming you were mentioning the files on 'repodata'. If they are... we shouldnt mess with them.
they are copied out simple texts by coolo's script work in i18n 50-tools
(2) make a daemon to download them in background when system starts.
Uncool stuff and bloat. How would that feature help a system with 1000 days uptime? You can easilly setup a local repo with mrepo and run a local mirror to overcome all the dificulties you are presenting.
yes.
but I dont know how...
someone said descrs are downloaded from suse original server and packages are downloaded from mirrors.
so to me it means I can get a fast speed if I set up a server to fetch all rpms from a mirror and install them by rpm command. or if I use yast,I have to download descrs from original server. that will be slow.
if I have such server,why I still use yast....
(3) give user options to not download and display descrs/summaries, but to find and install only using package names.
You are away that by doing such, you are suggesting that we strip off zypper functionality that will affect dependency resolution? How will this help? For example:
- # zypper install /usr/bin/ssh
Now what does zypper do if he can't access the repo metadata? :)
do you mean package.en.gz is metadata controling dependencies?
Well maybe we need some yast expert to tell us....because I translated such packages.en.gz and didnt find any dependencies in it. I dont know if there are autoscripts adding such dependencies to my translations.
I'm pretty sure I'm not one of them, neither I want to be.
if there is. it will be design default. because rpm dont know chinese...how can it solve dependencies in packages.zh_cn.gz?
just some ideas in thin air....I don't how to implement it.
PS: I think we should remove the "OSS might be slow" string from translations and yast itself.
a warning is something you can avoid and don't do it. but repositories?
you have to enable it not matter how many warnings it warns, if you want to do things using it.
but are those things dangerous or risky? no. come on, it's our own OSS repo. it's just slow.
and can you avoid that slow? no...
so it sounds to warn users something they can't change. useless and feels forcibly.
it does us more harms than benefits if you think it deeper.
we give our users a bad first impression that it is slow, so it has to be fast like a flash to change their such minds.
Please consider that there is a world outside China ;)
yes...
without any part, it cant be called world...so we have to solve the problem in the worst place instead of the best place...
actually,off topic,opensuse has little users in China partially because it is hard to download(big iso)and update (slow yast). most people's internet speed is even slower than mine....
What I meant is that openSUSE serves a global community, therefore, because I only use English, doesnt mean that German, Russian, Portuguese and other should be removed on behalf of my own needs because there are other people for which those are important.
yes. it seems openSUSE has done it well. because zypp will download locale descriptions.(if translators contribute such translations.)
greetings,marguerite
from my Android.
Regards
Marguerite -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
-- Nelson Marques // I've stopped trying to understand sandwiches with a third piece of bread in the middle...
-- Nelson Marques // I've stopped trying to understand sandwiches with a third piece of bread in the middle...
Marguerite -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org