데비안 테스트 출시 날짜를 기준으로 업데이트를 정렬하는 방법은 무엇입니까?

데비안 테스트 출시 날짜를 기준으로 업데이트를 정렬하는 방법은 무엇입니까?

저는 데비안 테스트를 기반으로 하는 Linux mint debian linux distro의 사용자입니다. 데비안 베타는 롤링 릴리스입니다. 이 배포판의 테스트 특성으로 인해 일부 패키지 업데이트에 버그가 발생합니다. 출시 날짜별로 패키지를 정렬하는 방법을 찾고 있습니다. 오류를 최소화하기 위해 설치 당일에 업데이트가 출시된 후 업데이트를 설치하고 싶습니다. 나는 패키지를 설치하기 전에 보고된 버그를 보여줌으로써 보고된 버그를 찾는 데 도움이 되는 apt-listbugs라는 좋은 프로그램에 이미 익숙합니다.

간단히 말해서:데비안 테스트 출시 날짜를 기준으로 업데이트를 정렬하는 방법은 무엇입니까?

답변1

다운로드 전용 업그레이드를 수행할 수 있다고 생각합니다.

sudo apt-get --download-only dist-upgrade

그런 다음 에서 파일의 타임스탬프를 확인하세요 /var/cache/apt/archives. 이것은 생각하는 다운로드 타임스탬프가 아니라 서버에 있는 동일한 .deb 파일의 타임스탬프입니다.

따라서 너무 많은 새 파일을 삭제한 다음( find의 도움을 받는 것이 좋습니다) 다운로드 없는 업그레이드를 수행하면 이전 디렉터리의 나머지 파일이 사용됩니다.

sudo apt-get --no-download dist-upgrade

ls-lR.gz또는 서버에 있는 파일에서 업그레이드 가능한 패키지의 타임스탬프를 얻을 수 있지만 이 경우 다운로드 용량도 6~7MB가 됩니다. 다음은 순서가 지정된 목록을 가져오는 스크립트입니다.

#!/bin/bash

server_list_url="http://ftp.debian.org/debian/ls-lR.gz"
server_list="${server_list_url##*/}"
LANG=en

# get urls of upgradable packages
apt-get --print-uris --yes dist-upgrade |
  awk -F \' '/(ht|f)tp/ { print $2 }' |
  sed -r 's/^.*\///' >local_list

if [[ -s local_list ]]; then

  wget -qN "$server_list_url"

  # sort older packages by time (8th fiels is year)
  zgrep -F -f local_list "$server_list" |
    awk '$8 !~ /:/' |
    sort -k8,8n -k6,6M -k7,7n -k9

  # sort newer packages by time (8th field is hour:min)
  zgrep -F -f local_list "$server_list" |
    awk '$8 ~ /:/' |
    sort -k6,6M -k7,7n -k8,8 -k9
else
  echo "No package to upgrade" >&2
fi

답변2

귀하의 질문을 이해했는지 잘 모르겠지만 다음을 사용할 수 있습니다.wajig비슷한 목적으로. 해당 upgrade명령은 현재 설치된 패키지의 DEB 파일을 생성합니다(사용dpkg-repack)가 곧 업그레이드될 예정입니다. 이는 업그레이드하기 전에 발생합니다. 명령은 다음과 같습니다.

wajig --backup=/path/to/dir upgrade

생성된 패키지는 디렉토리("/경로/대상/디렉토리) 이름은 현재 날짜와 시간입니다.

관련 정보