dnf
사전에 아무것도 동기화하지 않고 Fedora에서 ( 를 사용하여) 패키지를 검색할 수 있는지 궁금합니다 .
나는 읽었다페도라 위키rpm
에 대해, 하지만 , 및 의 값을 이해하지 못하는 것 같습니다 . 제가 이해하고 있는 유일한 것은 패키지 다운로드를 관리하고 필요한 경우 패키지를 설치하는 것입니다.metadata_expire
metadata_timer_sync
dnf-makecache timer
dnf-automatic
true로 설정하면 캐시에 아직 없는 rpm 파일을 다운로드하려고 시도하지 않으므로 cacheonly
설치( )가 실패합니다 .sudo rpm install package_name
나는 달성하고 싶은 것을 설명하려고 노력할 것입니다.
- sudo 없이(그래서 긴 비밀번호를 입력할 필요가 없음) 사전에 메타데이터를 동기화할 필요 없이 패키지를 검색하는 기능... (이것이 sudo와 별도의 캐시인지는 상관없습니다).
- 최신 버전의 패키지를 오류 없이 설치할 수 있도록 설치 시(Sudo 사용) 필요한 모든 항목을 업데이트하세요.
두 가지 "모드" 중 첫 번째에서 캐시된 정보를 사용해야 하는 경우 이상적으로는 수동 개입 없이 "합리적인" 시간(예: 하루에 한 번?)마다 캐시를 업데이트하는 작업을 어떻게든 "자동화"하고 싶습니다. .
내 자신을 더 잘 설명하기 위해 내가 이 일을 하고 싶은 이유를 설명하려고 합니다.
(그래픽 소프트웨어 관리자를 사용하지 않기 때문에) 패키지를 많이 검색하는데 5~10초 정도의 대기 시간이 여러 번 정말 짜증납니다. 전체 웹 브라우저를 열고 인터넷 검색하는 것보다 더 빠른 방법으로 터미널에서 패키지를 검색해 보고 싶습니다.
다들 감사 해요! 저는 Fedora를 처음 접했고 패키지 관리자가 제가 원하는 방식으로 작동하도록 하는 방법이나 그것이 가능한지 잘 모르겠습니다.
답변1
sudo 없이 패키지 검색(따라서 긴 비밀번호를 입력할 필요 없음)...
이를 위해 에스컬레이션된 권한(예: )을 사용하지 않고도 저장소 내에서 검색하는 것이 전적으로 가능합니다 sudo
. 보통이면 dnf search packagename
충분합니다.
...그리고 사전에 메타데이터를 동기화할 필요가 없습니다... (이것이 sudo와 별도의 캐시인지는 상관없습니다).
제가 이해한 것이 맞다면 중앙 저장소에서 검색해 보시겠어요?아니요DNF를 먼저 통과해야 하나요? 글쎄요, 그건 불가능할 것 같습니다... (제가 아는) 어떤 패키지 관리자도 이 작업을 수행하지 않습니다.
최신 버전의 패키지를 오류 없이 설치할 수 있도록 설치 시(Sudo 사용) 필요한 모든 항목을 업데이트하세요.
다시 한 번 말씀드리지만, 제가 올바르게 이해했다면 다운로드하고 싶으실 것입니다.최신소프트웨어 버전에서는 캐시를 업데이트할 필요가 없나요? 대답은 '아니요'입니다. 캐시가 알고 있는 최신 버전을 다운로드합니다. 예를 들어 마지막으로 캐시를 업데이트했을 때 "패키지 X" 버전이 3.5이고 새 버전이 3.9인 경우 3.5를 다운로드합니다.
마지막 지점에 대한 연속체로서 캐시가 만료되지 않도록 설정할 수 있습니다(언급한 대로 수동으로 새로 고칠 계획이 아니라면 이는 좋은 생각이 아닙니다). 그러나 이 경우에는 더 좋습니다.연장하다타임 아웃. 이를 수행하려면 다음 /etc/dnf/dnf.conf
과 같이 편집할 수 있습니다.
# see `man dnf.conf` for defaults and possible options
[main]
gpgcheck=True
installonly_limit=3
clean_requirements_on_remove=True
best=False
skip_if_unavailable=True
fastestmirror=True
metadata_expire=72 # default is 48 hrs.
metadata_timer_sync=72 # default is 3 hrs.
이상적으로는 수동 개입 없이 "합리적인" 시간(예: 하루에 한 번?)마다 캐시를 업데이트하는 작업을 어떻게든 "자동화"하고 싶습니다.
필요한 경우 cronjob을 생성하여 백그라운드에서 캐시를 새로 고칠 수 있습니다. 어떻게 해야 할지 모르신다면 댓글로 @me를 남겨주시면 제가 해결해 드리겠습니다.
답변2
당신은 그것을 사용할 수 있습니다dnf -C search linux
맨페이지에서:
-C, --cacheonly
Run entirely from system cache, don't update the cache and use it even in case it is expired.
DNF uses a separate cache for each user under which it executes. The cache for the root user is called the system cache. This switch allows a
regular user read-only access to the system cache, which usually is more fresh than the user's and thus he does not have to wait for metadata
sync.