sftp-server no longer in /usr/lib64/ssh/sftp-server

I just upgraded one of my machines using zypper dup and after the upgrade was completed I tried to use sftp to copy some files over and to my surprise this didnt work. After a little looking into it, the issue was because the sftp subsystem was pointing to /usr/lib64/ssh/sftp-server (where it existed in 11.x) but now it lives in /usr/lib/. So I guess my question is whether this is normal or not. I am running x86_64 so I guess I am wondering if this is the new norm for sftp-server or did my update go wrong somehow. Additionally there are other libs now linked to /usr/lib/ rather than /usr/lib64/.

On 11/16/2011 06:56 PM, baaldemon wrote:
>
> I just upgraded one of my machines using zypper dup … did my update go wrong somehow. Additionally there

you use two terms “update” and “upgrade” which did you intend to use?

please show us the terminal input/output from


zypper lr -d
uname -a
cat /etc/SuSE-release

copy/paste the in/output back to this thread using the instructions
here: http://goo.gl/i3wnr


DD http://gplus.to/DenverD
http://tinyurl.com/DD-Caveat
openSUSE®, the “German Automobiles” of operating systems

That’s a risk of upgrading, rather than doing a clean install. You have the left over configuration from the old system, which does not quite fit.

On 2011-11-16 23:46, nrickert wrote:
>
> baaldemon;2404412 Wrote:
>> I just upgraded one of my machines using zypper dup and after the
>> upgrade was completed I tried to use sftp to copy some files over and to
>> my surprise this didnt work. After a little looking into it, the issue
>> was because the sftp subsystem was pointing to
>> /usr/lib64/ssh/sftp-server (where it existed in 11.x) but now it lives
>> in /usr/lib/. So I guess my question is whether this is normal or not.
> That’s a risk of upgrading, rather than doing a clean install. You
> have the left over configuration from the old system, which does not
> quite fit.

Those are not configuration files, but binaries. If there are leftovers,
that’s a reportable bug. And it must be reported in order to be corrected.

Unless I understood wrongly the description.

If the configuration has changed, please remember that after a system
upgrade you have to review the configuration files named something.rpm*
(rpmnew, rpmsave…) - the listing was till now saved into
/var/adm/rpmconfigcheck by rcrpmconfigcheck. You have to carefully look at
that list and apply the needed changes manually.

And that is not a bug, but a job. Mr. root’s job. :slight_smile:


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

Upgrade was the term I meant to use, I went from 11.4 to 12.1. The fix was simple all I had to do was change a line in /etc/ssh/sshd_config took me about 5 seconds to figure out and fix, thats not my real question.

My real question is were the binaries for ssh supposed to go from being 64bit to noarch or back to 32bit within openSUSE 12.1? Can someone with a clean 64bit 12.1 install verify that you have sftp-server in /usr/lib/ rather than /usr/lib64/ (

output of the specified commands


username@username-linux:~> zypper lr -d
#  | Alias                            | Name                             | Enabled | Refresh | Priority | Type   | URI                                                                                    | Service
---+----------------------------------+----------------------------------+---------+---------+----------+--------+----------------------------------------------------------------------------------------+--------
 1 | ATI                              | ATI                              | No      | Yes     |   98     | rpm-md | http://geeko.ioda.net/mirror/ati/openSUSE_11.4/                                        |
 2 | Updates-for-openSUSE-11.4-11.4-0 | Updates for openSUSE 11.4 11.4-0 | No      | Yes     |   99     | rpm-md | http://download.opensuse.org/update/11.4/                                              |
 3 | Updates_OpenSuSE_12.1            | Updates for  openSUSE 12.1       | Yes     | Yes     |   99     | rpm-md | http://download.opensuse.org/update/12.1/                                              |
 4 | openSUSE-11.4-11.4-0             | openSUSE-11.4-11.4-0             | No      | Yes     |   99     | yast2  | hd:///?device=/dev/disk/by-id/usb-_USB_Flash_Memory_001D0F0A94F1B8B1E31E01CF-0:0-part1 |
 5 | openSUSE-12.1-Oss                | openSUSE-12.1-Oss                | Yes     | Yes     |   99     | yast2  | http://download.opensuse.org/distribution/12.1/repo/oss/                               |
 6 | openSUSE_12.1_non-oss_software   | openSUSE-12.1-Non-Oss            | Yes     | Yes     |   99     | yast2  | http://download.opensuse.org/distribution/12.1/repo/non-oss/                           |
 7 | repo-debug                       | openSUSE-11.4-Debug              | No      | Yes     |   99     | NONE   | http://download.opensuse.org/debug/distribution/11.4/repo/oss/                         |
 8 | repo-debug-update                | openSUSE-11.4-Update-Debug       | No      | Yes     |   99     | NONE   | http://download.opensuse.org/debug/update/11.4/                                        |
 9 | repo-non-oss                     | openSUSE-11.4-Non-Oss            | No      | Yes     |   99     | yast2  | http://download.opensuse.org/distribution/11.4/repo/non-oss/                           |
10 | repo-oss                         | openSUSE-11.4-Oss                | No      | Yes     |   99     | yast2  | http://download.opensuse.org/distribution/11.4/repo/oss/                               |
11 | repo-source                      | openSUSE-11.4-Source             | No      | Yes     |   99     | NONE   | http://download.opensuse.org/source/distribution/11.4/repo/oss/                        |
username@username-linux:~> uname -a
Linux username-linux 3.1.0-1.2-desktop #1 SMP PREEMPT Thu Nov 3 14:45:45 UTC 2011 (187dde0) x86_64 x86_64 x86_64 GNU/Linux
username@username-linux:~> cat /etc/SuSE-release
openSUSE 12.1 (x86_64)
VERSION = 12.1
CODENAME = Asparagus
username@username-linux:~>

Heres the difference in locations between 11.4 and 12.1


openSUSE 12.1 64
username@username-linux:~> ls /usr/lib/ssh/
sftp-server  ssh-askpass  ssh-keysign  ssh-pkcs11-helper  x11-ssh-askpass
username@username-linux:~> ls /usr/lib64/ssh/
ksshaskpass
username@username-linux:~>

openSUSE 11.4 64
username@baaldesk:~> ls /usr/lib64/ssh/
ksshaskpass  sftp-server  ssh-askpass  ssh-keysign  ssh-pkcs11-helper  x11-ssh-askpass
username@baaldesk:~>

robin_listas thanks for the reminder on the rcrpmconfigcheck completely forgot about that.

The “sftp” server is configured in “/etc/ssh/sshd_config”.

In 12.1, it is moved to “/usr/lib/ssh”. In previous versions, it was in “/usr/lib64/ssh”.

The OP has (or had) a bad line in “/usr/sshd_config” that is left over from his 11.4 configuration.

On 2011-11-17 03:06, baaldemon wrote:

> My real question is were the binaries for ssh supposed to go from being
> 64bit to noarch or back to 32bit within openSUSE 12.1? Can someone with
> a clean 64bit 12.1 install verify that you have sftp-server in /usr/lib/
> rather than /usr/lib64/ (

I don’t have it installed, and by that name I don’t see it:

Elanor:~ # zypper se sftp-server
Loading repository data…
Reading installed packages…
No packages found.

>
> output of the specified commands

You still have some 11.4 repos.

> robin_listas thanks for the reminder on the rcrpmconfigcheck completely
> forgot about that.

I know, it is little known.


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

On 2011-11-17 03:06, baaldemon wrote:
> My real question is were the binaries for ssh supposed to go from being
> 64bit to noarch or back to 32bit within openSUSE 12.1? Can someone with
> a clean 64bit 12.1 install verify that you have sftp-server in /usr/lib/
> rather than /usr/lib64/ (

Ah, My mistake. Late hours.


11.4:

/usr/lib64/ssh/sftp-server

12.1

/usr/lib/ssh/sftp-server

Elanor:~ # rpm -qf /usr/lib/ssh/sftp-server
openssh-5.8p2-3.1.3.x86_64

It is 64 bit code package, but no idea why the change of location.


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

On 11/17/2011 03:06 AM, baaldemon wrote:
> Upgrade was the term I meant to use, I went from 11.4 to 12.1.

i don’t know how, but you managed to do it with a mix of both 11.4 and
12.1 repos…i’m kinda amazed it will boot and run…

no doubt you have a mix of configs and binaries from both versions…not
a real good way to run…

so, i do not know the best way to recover a stable and dependable system
from where you are now…*

and, i’d suggest in the future instead of trying to ‘upgrade’ the way
you did this time, use one of the approved and recommended upgrade
methods, here:

http://tinyurl.com/35p966c
http://tinyurl.com/6kvoflv


DD http://gplus.to/DenverD
http://tinyurl.com/DD-Caveat
openSUSE®, the “German Automobiles” of operating systems
*

On 2011-11-17 11:15, DenverD wrote:
> On 11/17/2011 03:06 AM, baaldemon wrote:
>> Upgrade was the term I meant to use, I went from 11.4 to 12.1.
>
> i don’t know how, but you managed to do it with a mix of both 11.4 and
> 12.1 repos…i’m kinda amazed it will boot and run…

The 11.4 repos seem disabled, so they would not affect. It is confusing,
but I see no problem there.


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

On 11/17/2011 03:08 PM, Carlos E. R. wrote:
> 11.4 repos seem disabled

and so they are!!

sorry…i have no idea what the problem is…and, please @baaldemon
do NOT rip your 12.1 apart as i had said i would!!!


DD

http://tinyurl.com/DD-Caveat

I explained it above, but people either haven’t noticed or have said I was wrong.

The location of the sftp server is configured in “/etc/ssh/sshd_config”.

On a new install, it will be correct. But the OP upgraded from a previous install, and the upgrade kept his old config, presumably because one of the reasons people upgrade is to preserve old configs.

Because the location has moved, that line in “sshd_config” needs to be fixed:


:%s/lib64/lib/

(that should work with vi).

The original problem was solved before I even posted, the problem is more of a question being why are the 64bit files now located in the lib rather than lib64 directory for ssh when they are still the actual 64 bit versions of them. All but one of the files was moved from lib64 to lib in this release, im just kind of curious why this was done.

Sorry for leaving the 11.4 repos in my output, after I enabled the 12.1 I simply disabled rather than removed the 11.4 repos.

That, I can’t answer since I don’t read minds.

However, I do approve of this change. I can now keep “sshd_config” identical on all systems, instead of needing it to be different depending on whether 32 bit or 64 bit.

As for whether “lib64” - surely the use of “lib64” is a hack, to avoid conflicts between 32 bit libraries and 64 bit libraries. Since “sftp” is not a library, it does not need that hack. So, to my way of thinking, “/usr/lib/ssh” is the proper place for it.

On 2011-11-17 18:26, nrickert wrote:
>
> DenverD;2404926 Wrote:
>> sorry…i have no idea what the problem is…and
> I explained it above, but people either haven’t noticed or have said I
> was wrong.
>
> The location of the sftp server is configured in
> “/etc/ssh/sshd_config”.
>
> On a new install, it will be correct. But the OP upgraded from a
> previous install, and the upgrade kept his old config, presumably
> because one of the reasons people upgrade is to preserve old configs.

Yes, but remember what I said about .rpmnew, and .rpmsave files. In this
case I bet there is an sshd_config.rpmnew file with the new setting.

You have to be aware of that when you do upgrades or updates. You can not
simply do the zypper dup and all is ready: you have jobs to do.

And sometimes there are bugs.


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

Sorry for posting on this rather old post.

I also updated from 11.4 to 12.1 and stumbled across this problem. It was rather easy to fix. Nevertheless, I went on the internet and searched if this has been reported and what the comments are. I found this thread.

With all dear respect: /usr/lib/ssh is most certainly not the right place for this file, neither is lib64 a hack. The FHS 2.3 clearly states the following:

/lib64 and /lib32 : 64/32-bit libraries (architecture dependent)

The 64-bit architectures PPC64, s390x, sparc64 and AMD64 must place 64-bit libraries in /lib64, and 32-bit (or 31-bit on s390) libraries in /lib.

The 64-bit architecture IA64 must place 64-bit libraries in /lib.

Rationale
This is a refinement of the general rules for /lib<qual> and /usr/lib<qual>. The architectures PPC64, s390x, sparc64 and AMD64 support support both 32-bit (for s390 more precise 31-bit) and 64-bit programs. Using lib for 32-bit binaries allows existing binaries from the 32-bit systems to work without any changes: such binaries are expected to be numerous. IA-64 uses a different scheme, reflecting the deprecation of 32-bit binaries (and hence libraries) on that architecture.

Filesystem Hierarchy Standard

I know that the FHS talks about libraries and that sftp-server is not a library, but when moving the file from …lib64… to …lib… opensuse ends up in a situation where 64 bit files are placed in a 32 bit hierarchy. So either completely switch to using …lib… for 64 bit libraries like i.e. ubuntu is doing or stick to the FHS.

Currently, the situation is totally inconsistent: a 64 bit executable in the 32 bit /usr/lib/ hierarchy is linking to libraries in /lib64

bash user@host$ ldd /usr/lib/ssh/sftp-server
linux-vdso.so.1 => (0x00007fff1878c000)
libc.so.6 => /lib64/libc.so.6 (0x00007f4fef5b5000)
/lib64/ld-linux-x86-64.so.2 (0x00007f4fef944000)

Regards
Christian

On 02/08/2012 12:16 AM, wildcart wrote:
> Currently, the situation is totally inconsistent: a 64 bit executable
> in the 32 bit/usr/lib/ hierarchy is linking to libraries in /lib64

the way i read your post it seems to me that you are not asking a
question, instead you are highlighting a bug in the inconsistent way the
these files are handled…

is that correct?

if so, just be advised that bugs are not ‘reported’ just by mentioning
them in this forum…this forum is where users help other users with
their problem…

bugs, on the other hand must be reported into bugzilla for there to be
any expectation for their correction…the reason for that is the the
program developers and packagers very seldom come here (there head is
down working on the production of another version ever eight
months)…and, when they do come it is not in search of stuff to fix!

they have plenty of stuff to fix…all of it in bugzilla, so please
file the bug you have highlighted here: http://tinyurl.com/nzhq7j

thanks in advance.


DD http://tinyurl.com/DD-Caveat
Read what Distro Watch writes: http://tinyurl.com/SUSEonDW