RHEL에 특정 애플리케이션을 설치하기 위해 dnf에 추가할 저장소를 어떻게 알 수 있나요?

RHEL에 특정 애플리케이션을 설치하기 위해 dnf에 추가할 저장소를 어떻게 알 수 있나요?

저는 오랫동안 Windows를 사용하여 Linux를 기본 운영 체제로 사용하려고 노력하고 있습니다.

  • 저는 RHEL 9.3(Plow) 64비트를 사용하고 있습니다.
  • 설치하려고 하는데셔터.
  • dnf install shutter지시대로 달렸을 때여기다음과 같은 오류 메시지가 나타납니다.
sudo dnf install shutter [sudo] password for simon: Updating
Subscription Management repositories. Last metadata expiration check:
0:08:13 ago on Sat 06 Apr 2024 13:38:27 BST. No match for argument:
shutter Error: Unable to find a match: shutter

인터넷 검색/ChatGPT를 수행했는데 dnf패키지 관리자가 현재 활성화된 저장소에서 "shutter"라는 패키지를 찾을 수 없기 때문이라고 생각합니다.

내 질문:dnf특정 애플리케이션을 설치 하기 위해 어떤 저장소를 추가해야 하는지 어떻게 확실하게 알 수 있나요 ? 어떤 종류의 검색 엔진이 있나요? Shutter 프로젝트가 자신의 웹사이트에 이 내용을 나열하지 않는다는 사실에 조금 놀랐지만 다른 프로젝트의 웹사이트에서도 본 적이 없습니다. 따라서 내 접근 방식에 근본적으로 문제가 있는 것이 틀림없다고 생각하게 됩니다.

노트:EPEL 저장소를 추가하려고 시도했지만 셔터가 나열되지 않습니다.

✘ simon@localhost  /  dnf repolist
Not root, Subscription Management repositories not updated
repo id                                                                                                                                          repo name
code                                                                                                                                             Visual Studio Code
codeready-builder-for-rhel-9-x86_64-rpms                                                                                                         Red Hat CodeReady Linux Builder for RHEL 9 x86_64 (RPMs)
epel                                                                                                                                             Extra Packages for Enterprise Linux 9 - x86_64
epel-cisco-openh264                                                                                                                              Extra Packages for Enterprise Linux 9 openh264 (From Cisco) - x86_64
google-chrome                                                                                                                                    google-chrome
rhel-9-for-x86_64-appstream-rpms                                                                                                                 Red Hat Enterprise Linux 9 for x86_64 - AppStream (RPMs)
rhel-9-for-x86_64-baseos-rpms                                                                                                                    Red Hat Enterprise Linux 9 for x86_64 - BaseOS (RPMs)
 simon@localhost  /  dnf list --available | grep -i shutter
 ✘ simon@localhost  /  

답변1

특정 애플리케이션을 설치하기 위해 어떤 저장소를 dnf에 추가해야 하는지 어떻게 확실하게 알 수 있나요?

RHEL에서는 다른 배포판(주로 Fedora)에는 있지만 Red Hat에서는 지원하지 않는 패키지를 RHEL로 가져오기 위한 커뮤니티 노력인 EPEL이 필요할 수 있습니다. dnf install -y epel-release; dnf check-update그것을 활성화합니다.

그러나 이 경우 shutterEPEL에도 없습니다.

어떤 종류의 검색 엔진이 있나요?

여러 가지가 있지만 다음을 수행하는 것이 좋습니다. 프로젝트 홈 페이지를 조사하는 것부터 시작합니다. 결과가 나오지 않고 Red Hat의 공식 소스나 EPEL에 셔터가 없다면 다음을 사용해야 한다는 의미입니다.제3자 포장;특정 배포판에 대해 관심 있는 소프트웨어를 충분한 시간 내에 패키지했지만 패키지를 "업스트림"하는 단계를 수행하지 못한 사람을 먼저 찾아야 하기 때문에 이는 매우 좋은 상황은 아닙니다. 그들은 소프트웨어 개발자가 공식적으로 권장하는 것을 만들기 위해 프로젝트와 협력하지 않았거나 패키징 커뮤니티에서 공식적으로 인정받기 위해 배포판/EPEL과 협력하지 않았습니다. 이는 일반적으로 "실험적인" 패키징/소프트웨어의 경우이거나 단순히 누구도 이를 원하지 않는 경우입니다.

내 생각엔 셔터가 아직 "아직 실험적"인 버전 번호에 있는 동안(당신은대개사람들에게 아직 최종 사용자가 사용할 준비가 되지 않았다고 알리고 싶지 않다면 버전 0으로 출시하지 마세요. 후자의 경우입니다. 누구도 Fedora 패키지를 사용하지 않고 이를 내보내기 위해 RHEL 패키지를 만들려고 시도하지 않습니다( 일반적으로 매우 간단함) EPEL에 제출하고 각 업데이트마다 작업하는 데 시간을 투자하세요.

따라서 일반 검색 엔진에서는 아무것도 찾을 수 없을 것 같습니다.

운명! 소프트웨어를 직접 구축하거나 데스크톱 환경과 함께 이미 제공되는 것과 같은 대체 스크린샷 프로그램을 사용해야 합니다.

스스로 소프트웨어를 구축하는 것은 어렵지 않습니다.대개. 그러나 Shutter에는 종속성 목록이 제공되지 않으며 시스템에 대한 종속성을 감지하는 빌드 시스템이 부족하므로 RHEL에서 작업을 수행하려면 업스트림 개발자가 일반적으로 수행하는 작업을 수행해야 합니다. 솔직히,아마도이 시점에서는 셔터가 아직 너무 실험적입니다. 누군가가 물건을 적절하게 포장하는 방법을 알아낼 때까지 약간 더 나은 지원을 제공하는 제품을 사용하세요.

누군가가 실제로 시도해 볼 수 있도록, RHEL 9의 단계는 다음과 같습니다.무엇Fedora에서 패키지를 다음과 같이 포팅하세요. 이것은 테스트되지 않았으므로 디버깅하는 데 도움이 되지 않습니다. 이는 Fedora와 RHEL 간의 패키지 이름 차이를 수정하려고 시도하지도 않습니다.예상되는또한 셔터의 종속성을 포팅해야 합니다. 솔직히 말해서 2024년에 Perl로 최신 데스크톱용 스크린샷 유틸리티를 작성하는 것은 이식성이 매우 뛰어난 옵션이 아닙니다. Perl은 다양한 목적을 위한 훌륭한 언어이지만 확실히 지난 20년 동안 그래픽 애플리케이션은 아니었습니다. 에서 인기 있는 언어입니다.

RPMNAME=shutter
sudo dnf install -y epel-release
sudo dnf install -y --refresh fedpkg
fedpkg clone --anonymous "rpms/${RPMNAME}"
cd "${RPMNAME}"
fedpkg mockbuild
# after the build there will be a results* subdirectory
# bash: enable recursive globs
shopt -s globstar
sudo dnf install result*/**/*.rpm

관련 정보