Как обновить пакеты в Red Hat Linux?

В моем нынешнем классе компьютерных наук мы программируем на C. Когда я ssh на своих школьных серверах, работающих под управлением Red Hat Linux, компилятор и отладчик устарели по сравнению с моими Mac (например, clang не распознается на моем школьном сервере).

Как узнать и получить самую последнюю среду? Это просто предпочтение пользователя?

Нет, это не просто предпочтение пользователя. Вы можете увидеть, есть ли доступный пакет, который предоставляет clang с помощью инструмента управления пакетами YUM.

 $ yum search clang Loaded plugins: auto-update-debuginfo, changelog, langpacks, refresh-packagekit =============================== N/S matched: clang ============================ clang-devel.i686 : Header files for clang clang-devel.x86_64 : Header files for clang clang-doc.noarch : Documentation for Clang csmock-plugin-clang.noarch : csmock plug-in providing the support for Clang clang.i686 : AC language family front-end for LLVM clang.x86_64 : AC language family front-end for LLVM clang-analyzer.x86_64 : A source code analysis framework clang-analyzer.noarch : A source code analysis framework csclng.x86_64 : A compiler wrapper that runs Clang in background Name and summary matches only, use "search all" for everything. 

Из вышесказанного вы можете увидеть, что есть несколько доступных пакетов, которые включают строку «clang».

Если пакет clang уже был установлен, и он отставал в версиях, вы могли бы использовать yum check-update clang чтобы узнать, есть ли более новая версия.

Установка обновлений

Однако, если пакет не установлен или отстает в версиях, вы должны быть администратором для его установки и / или обновления. Это означает, что вам либо нужно иметь возможность стать «корневым» пользователем в системе, либо иметь привилегии sudo .

Команда sudo – это средство, которое обычно входит в состав Unix-систем, так что функции администратора могут быть удалены другим пользователям без необходимости предоставления им полного «корневого» доступа или пароля пользователя root.

Установка как non-root

Вы можете скомпилировать исходный код и установить множество инструментов в свой домашний каталог $HOME . Компилятор, clang , является одним из таких инструментов. Подробные сведения о том, как это сделать, рассматриваются в этом вопросе о переполнении стека: « Установить Clang как пользователь» (нет корневых привилегий)? , Кроме того, вы можете использовать этот скрипт, который размещен на GitHub, под названием: install-clang , который сделает все тяжелое поднятие загрузки, настройки и установки clang в ваш каталог $HOME .

Из yum страниц yum :

  • update [package1] [package2] [...]

Обновить

Если вы запускаете без каких-либо пакетов, обновление обновит каждый установленный пакет. Если указан один или несколько пакетов или глобусов пакетов, Yum будет обновлять только перечисленные пакеты. При обновлении пакетов yum обеспечит выполнение всех зависимостей. (Дополнительную информацию см. В разделе «Указание имен пакетов»). Если указанные пакеты или глобусы соответствуют пакетам, которые в настоящее время не установлены, обновление не будет их устанавливать. Обновление работает с группами, файлами, файлами и файловыми списками, как и команда «install».

Таким образом, команда, которую вы хотите запустить:

 sudo yum update 

Обратите внимание, что это будет работать только в RPM-дистрибутивах, что и есть Red Hat Linux. Однако для обновления программного обеспечения в системе требуется root-доступ, который системный администратор вашей школы не предоставил вам.