openSUSE / zypper

World's most powerful command line package manager
http://en.opensuse.org/Portal:Zypper
Other
403 stars 110 forks source link

zypper failed when special characters in the package name #474

Closed yangbo7907 closed 1 year ago

yangbo7907 commented 1 year ago

Hi there,

I got failed when I tried "zypper install package" that filename has "+" sign, zypper and rpm uses wget to download the packages, see the followings:

iZv2t01cawb2kl45cwqd4vZ:~ # zypper install corosync Loading repository data... Reading installed packages... Resolving package dependencies...

The following 7 packages are going to be upgraded: bash libfreebl3 libfreebl3-hmac libsoftokn3 libsoftokn3-hmac mozilla-nspr mozilla-nss

The following 12 NEW packages are going to be installed: bash-sh corosync libcfg6 libcmap4 libcorosync_common4 libcpg4 libqb100 libquorum5 libsam4 libtotem_pg5 libvotequorum8 mozilla-nss-tools

7 packages to upgrade, 12 new. Overall download size: 2.8 MiB. Already cached: 495.3 KiB. After the operation, additional 3.6 MiB will be used. Continue? [y/n/v/...? shows all options] (y): y Retrieving package bash-4.4-150400.25.22.x86_64 (1/19), 521.6 KiB ( 1.1 MiB unpacked) Retrieving: bash-4.4-150400.25.22.x86_64.rpm ............................................................................................[done] Retrieving package bash-sh-4.4-150400.25.22.x86_64 (2/19), 31.9 KiB ( 0 B unpacked) Retrieving: bash-sh-4.4-150400.25.22.x86_64.rpm ............................................................................[done (15.4 KiB/s)] In cache libfreebl3-3.68.3-150400.1.7.x86_64.rpm (3/19), 393.7 KiB (764.7 KiB unpacked) In cache libfreebl3-hmac-3.68.3-150400.1.7.x86_64.rpm (4/19), 101.6 KiB ( 1.8 KiB unpacked) Retrieving package libqb100-2.0.4+20211112.a2691b9-150400.2.4.x86_64 (5/19), 86.9 KiB (180.1 KiB unpacked) Retrieving: libqb100-2.0.4+20211112.a2691b9-150400.2.4.x86_64.rpm ..................................................................[not found] File './x86_64/libqb100-2.0.4+20211112.a2691b9-150400.2.4.x86_64.rpm' not found on medium 'http://repo.oss-cn-suzhou-sisdc-d01-a.ops.cloud.sisdc.net/suse/sles15sp4/disk1/Module-Basesystem' Abort, retry, ignore? [a/r/i/...? shows all options] (a): a Problem occurred during or after installation or removal of packages: Installation has been aborted as directed. Please see the above error message for a hint. iZv2t01cawb2kl45cwqd4vZ:~ # wget http://repo.oss-cn-suzhou-sisdc-d01-a.ops.cloud.sisdc.net/suse/sles15sp4/disk1/Module-Basesystem/x86_64/libqb100-2.0.4+20211112.a2691b9-150400.2.4.x86_64.rpm --2022-12-22 12:56:44-- http://repo.oss-cn-suzhou-sisdc-d01-a.ops.cloud.sisdc.net/suse/sles15sp4/disk1/Module-Basesystem/x86_64/libqb100-2.0.4+20211112.a2691b9-150400.2.4.x86_64.rpm Resolving repo.oss-cn-suzhou-sisdc-d01-a.ops.cloud.sisdc.net (repo.oss-cn-suzhou-sisdc-d01-a.ops.cloud.sisdc.net)... 10.208.36.33 Connecting to repo.oss-cn-suzhou-sisdc-d01-a.ops.cloud.sisdc.net (repo.oss-cn-suzhou-sisdc-d01-a.ops.cloud.sisdc.net)|10.208.36.33|:80... connected. HTTP request sent, awaiting response... 404 Not Found 2022-12-22 12:56:44 ERROR 404: Not Found.

iZv2t01cawb2kl45cwqd4vZ:~ # wget http://repo.oss-cn-suzhou-sisdc-d01-a.ops.cloud.sisdc.net/suse/sles15sp4/disk1/Module-Basesystem/x86_64/libqb100-2.0.4%2B20211112.a2691b9-150400.2.4.x86_64.rpm --2022-12-22 12:57:00-- http://repo.oss-cn-suzhou-sisdc-d01-a.ops.cloud.sisdc.net/suse/sles15sp4/disk1/Module-Basesystem/x86_64/libqb100-2.0.4%2B20211112.a2691b9-150400.2.4.x86_64.rpm Resolving repo.oss-cn-suzhou-sisdc-d01-a.ops.cloud.sisdc.net (repo.oss-cn-suzhou-sisdc-d01-a.ops.cloud.sisdc.net)... 10.208.36.33 Connecting to repo.oss-cn-suzhou-sisdc-d01-a.ops.cloud.sisdc.net (repo.oss-cn-suzhou-sisdc-d01-a.ops.cloud.sisdc.net)|10.208.36.33|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 88940 (87K) [application/octet-stream] Saving to: ‘libqb100-2.0.4+20211112.a2691b9-150400.2.4.x86_64.rpm’

libqb100-2.0.4+20211112.a2691b9-150 100%[==================================================================>] 86.86K --.-KB/s in 0s

2022-12-22 12:57:00 (391 MB/s) - ‘libqb100-2.0.4+20211112.a2691b9-150400.2.4.x86_64.rpm’ saved [88940/88940]

iZv2t01cawb2kl45cwqd4vZ:~ # rpm -ivh http://repo.oss-cn-suzhou-sisdc-d01-a.ops.cloud.sisdc.net/suse/sles15sp4/disk1/Module-Basesystem/x86_64/libqb100-2.0.4+20211112.a2691b9-150400.2.4.x86_64.rpm Retrieving http://repo.oss-cn-suzhou-sisdc-d01-a.ops.cloud.sisdc.net/suse/sles15sp4/disk1/Module-Basesystem/x86_64/libqb100-2.0.4+20211112.a2691b9-150400.2.4.x86_64.rpm curl: (22) The requested URL returned error: 404 Not Found error: skipping http://repo.oss-cn-suzhou-sisdc-d01-a.ops.cloud.sisdc.net/suse/sles15sp4/disk1/Module-Basesystem/x86_64/libqb100-2.0.4+20211112.a2691b9-150400.2.4.x86_64.rpm - transfer failed iZv2t01cawb2kl45cwqd4vZ:~ # rpm -ivh http://repo.oss-cn-suzhou-sisdc-d01-a.ops.cloud.sisdc.net/suse/sles15sp4/disk1/Module-Basesystem/x86_64/libqb100-2.0.4%2B20211112.a2691b9-150400.2.4.x86_64.rpm Retrieving http://repo.oss-cn-suzhou-sisdc-d01-a.ops.cloud.sisdc.net/suse/sles15sp4/disk1/Module-Basesystem/x86_64/libqb100-2.0.4%2B20211112.a2691b9-150400.2.4.x86_64.rpm Preparing... ################################# [100%] Updating / installing... 1:libqb100-2.0.4+20211112.a2691b9-1################################# [100%] iZv2t01cawb2kl45cwqd4vZ:~ #

if there anyway we can by pass this issue? Originally I got this issue with "zypper update" which will update many many packages with "git+" in the packages name, it' so despressed. Thanks.

yangbo7907 commented 1 year ago

when I changed the "+" to "%2B" , it succeeded, but zypper/yum update offen update many many packages, human can't do this manually.

mlandres commented 1 year ago

Could you please attach the /var/log/zypper.log showing the failed install. Zypper does not use wget and we have lot's of packages with a '+' in name or version. This usually does not cause any issues.

yangbo7907 commented 1 year ago

@mlandres , thanks for your response. The log:

zypper.log

mlandres commented 1 year ago

This is appears to be a server side issue. Or better said, repo.oss-cn-suzhou-sisdc-d01-a.ops.cloud.sisdc.net is the 1st server I see, which would require a + to be escaped in the URL path. Maybe you can try the d.o.o. URL below. It will tell whether a + does not work for you in general or whether issue is limited to your (internal) server.

wget https://download.opensuse.org/distribution/leap/15.4/repo/oss/x86_64/libqb100-2.0.4+20211112.a2691b9-150400.2.4.x86_64.rpm
--2022-12-23 15:41:39--  https://download.opensuse.org/distribution/leap/15.4/repo/oss/x86_64/libqb100-2.0.4+20211112.a2691b9-150400.2.4.x86_64.rpm
Resolving download.opensuse.org (download.opensuse.org)... 195.135.221.134, 2001:67c:2178:8::13
Connecting to download.opensuse.org (download.opensuse.org)|195.135.221.134|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://ftp.uni-erlangen.de/opensuse/distribution/leap/15.4/repo/oss/x86_64/libqb100-2.0.4+20211112.a2691b9-150400.2.4.x86_64.rpm [following]
--2022-12-23 15:41:39--  https://ftp.uni-erlangen.de/opensuse/distribution/leap/15.4/repo/oss/x86_64/libqb100-2.0.4+20211112.a2691b9-150400.2.4.x86_64.rpm
Resolving ftp.uni-erlangen.de (ftp.uni-erlangen.de)... 131.188.12.211, 2001:638:a000:1021:21::1
Connecting to ftp.uni-erlangen.de (ftp.uni-erlangen.de)|131.188.12.211|:443... connected.
HTTP request sent, awaiting response... 200 OK

(on vacation until Jan.9.)

yangbo7907 commented 1 year ago

@mlandres , thanks for you tips, it is really what you said. I checked and cofirmed from the cloud provider.