Назад | Перейти на главную страницу

Как мне установить openssh v6.2 на Debian Squeeze?

Я сначала попробовал репозиторий backports, но 6.2 там нет. Тем не менее, он находится в тестовом репозитории, поэтому я добавил тестовый репозиторий в /etc/apt/sources.list, сделал обновление apt-get, затем apt-get install openssh-server openssh-client и получил:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libc6-dev : Breaks: gcc-4.4 (< 4.4.6-4) but 4.4.5-8 is to be installed
E: Broken packages

gcc и libc6-dev не являются зависимостями для openssh-server или openssh-client, так почему же он жалуется, что ему нужен libc6-dev? И как я могу это обойти?

Насколько я понимаю, «sudo aptitude install -f --safe-resolver openssh-server openssh-client» попытается разрешить все зависимости, поэтому я попробовал это, но получил:

Resolving dependencies...                
The following packages have been kept back:
  openssh-client openssh-server 
The following NEW packages will be installed:
  gcc-4.8-base{a} libgmp10{a} multiarch-support{a} 
The following packages will be REMOVED:
  libgmp3c2{u} 
The following packages will be upgraded:
  cpp-4.4 g++-4.4 gcc-4.4 gcc-4.4-base lib32gcc1 lib32stdc++6 libc-dev-bin libc6 libc6-dev libc6-i386 libgcc1 libgomp1 libmpfr4 libstdc++6 libstdc++6-4.4-dev locales make openssh-blacklist openssh-blacklist-extra 
19 packages upgraded, 3 newly installed, 1 to remove and 277 not upgraded.
Need to get 35.7 MB of archives. After unpacking 3,334 kB will be used.
Do you want to continue? [Y/n/?] n
Abort.

По сути, он не хотел устанавливать мои желаемые пакеты и хотел установить другие вещи. Не слишком полезно для меня.

Интересно, какой функционал именно этой версии вам нужен? squeeze.

Зависимости openssh-сервер (1: 6.2p2-6), включен в jessie, ссылайтесь на dep: libc6.1 (> = 2.16) и сжатие кораблей libc6.1 (2.11.3-4) включен в eglibc-source (2.11.3-4). Это не то, что вы могли бы легко перенести.

Попытка выполнить резервное копирование этого пакета для сжатия не удалась, потому что даже набор инструментов для резервного копирования пакетов слишком стар:

root@squeeze-chroot:~/openssh-6.2p2# apt-get build-dep openssh
Reading package lists... Done
Building dependency tree... Done
E: Build-Depends dependency for openssh cannot be satisfied because no available versions of package debhelper can satisfy version requirements

Однако вы все равно можете попробовать просто собрать его и установить в /usr/local дерево. Вам нужно будет добавить строку в свой sources.list:

deb-src http://ftp.XX.debian.org/debian squeeze main

И получаем все зависимости:

# apt-get build-dep openssh

После этого обычный ./configure && make && make install установит программное обеспечение в /usr/local дерево:

root@squeeze-chroot:~# /usr/local/sbin/sshd -X
sshd: illegal option -- X
OpenSSH_6.2p2, OpenSSL 0.9.8o 01 Jun 2010

Вы должны перенести сценарий инициализации в эту версию / расположение, попробуйте другие методы упаковки, например checkinstall или fpm, настройте configure варианты и др.