foozzi,
по порядку.
1) проверить, установлен ли пакет pkgtools:
Консоль:
$ ls /var/log/packages/pkgtools-*
2) installpkg и upgradepkg ожидают в качестве параметра
имена файлов пакетов
в файловой системе для установки/обновления.
По приведённой выше ссылке в качестве одного из вариантов рекомендовано взять пакеты шрифтов из GnomeSlackBuild и выполнить
Консоль:
# installpkg *font*.t?z
Как и почему это работает?
Символ "#" в примере указывает, что команду нужно выполнить от имени root-а. Этот символ выбран потому, что именно на него в Slackware изменяется стандартное приглашение ввода bash у суперпользователя, для обычного пользователя используется "$". Сами символы "#" или "$" набирать не надо, это часть приглашения bash.
Если в текущем каталоге лежат пакеты (их имена оканчиваются на .txz, .tgz), имеющие в имени font, например, ls *font*t?z говорит:
terminus-font-4.35-noarch-1.txz
ttf-ubuntu-font-family-0.70.1-noarch-1.txz
то символы масок "*" будут раскрыты bash-ем (globbing) и набранная команда
Консоль:
# installpkg *font*.t?z
будет превращена bash-ем в:
Консоль:
# installpkg terminus-font-4.35-noarch-1.txz ttf-ubuntu-font-family-0.70.1-noarch-1.txz
3) В Slackware переменная окружения PATH (список путей, по которым ищутся исполняемые файлы), отличается для root и обычных пользователей. У обычных пользователей эта переменная содержит дополнительно текущий каталог (./) и не содержит каталогов /sbin, /usr/sbin, в которых лежат утилиты администратора. У пользователя root, наоборот, содержит /sbin и /usr/sbin и не содержит текущего каталога. Поэтому на попытку выполнить installpkg (лежит в /sbin/) от простого пользователя bash ответит, что команда не найдена.
Консоль:
$ installpkg
-bash: installpkg: команда не найдена
# installpkg
Usage: installpkg [options] <package_filename>
...
Откуда берётся разница в содержимом PATH? Когда bash выполняется в качестве login shell, исполняется /etc/profile, в котором есть строки, отвечающие за это. Вы скажете, что bash может исполняться не в качестве login shell и будете правы. Например, если получить права root вызовом "su", а не "su -" или "su -l", несмотря на то, что пользователь root, переменная окружения PATH, да и всё остальное окружение (environment) останется от пользователя, команды из /sbin, /usr/sbin не будут находиться. Что делать? Вариантов несколько: пользоваться "su -"; выполнить source /etc/profile; выполнить export /sbin:/usr/sbin:$PATH; ... И да, не пользоваться "просто su", если не можете детально описать, к чему это приводит.