CentOS: установка HTOP из исходных кодов

Автор: | 14/03/2014
 

centos-logo-01Появилась необходимость установить утилиту HTOP для отдельного пользователя, и без использования sudo (правда – он всё-равно потребовался).

Установка выполняется на:

# cat /etc/redhat-release
CentOS release 6.5 (Final)
# uname -r
2.6.32-431.5.1.el6.x86_64

Качаем исходники:

http://sourceforge.net/projects/htop/postdownload?source=dlp

Создаём директорию, в которой будем хранить нашу копию htop:

$ mkdir /home/setevoy/bin/htop
$ cd /home/setevoy/tmp

Распаковываем архив:

$  tar xfp htop-1.0.2.tar.gz
$  cd htop-1.0.2

Помощь по установке можно найти в файле INSTALL:

$ less INSTALL

И с помощью ключа -h для configure:

$ ./configure -h

Тут в данном случае интересует следующее:

By default, `make install’ will install all the files in
`/usr/local/bin’, `/usr/local/lib’ etc.  You can specify
an installation prefix other than `/usr/local’ using `–prefix’,
for instance `–prefix=$HOME’.

Т.к. необходимо установку выполнить не в каталог /usr/local/bin – то запускаем configure с опцией --prefix и указанием каталога, в который будем устанавливать:

$  ./configure --prefix=/home/setevoy/bin/htop/

В случае ошибки вида:

...
configure: error: missing libraries:  libncurses
...

Необходимо установить пакет:

# yum -y install ncurses-devel

Если потребуется что-либо изменить после configure – запустите clean:

$ make clean
rm -f htop
rm -rf .libs _libs
rm -f *.o
rm -f *.lo

После успешного configure – запускаем сборку и установку:

$ make install
...
/usr/bin/install -c -m 644 htop.png '/home/setevoy/bin/htop/share/pixmaps'
make[2]: Leaving directory `/home/setevoy/tmp/htop-1.0.2'
make[1]: Leaving directory `/home/setevoy/tmp/htop-1.0.2'

В результате – в нужном каталоге появятся такие папки:

$ cd /home/setevoy/bin/htop/
$ ls -l
total 8
drwxrwxr-x 2 setevoy setevoy 4096 Mar 14 11:11 bin
drwxrwxr-x 5 setevoy setevoy 4096 Mar 14 11:11 share

Файл для запуска расположен в bin:

$ ls -l bin/
total 528
-rwxr-xr-x 1 setevoy setevoy 537825 Mar 14 11:11 htop

Запускаем:

$ ./bin/htop

htop

Готово.