apt-get install tzdata 비인터랙티브
내가 하려고 할 때
apt-get install -y tzdata
시간대 선택을 위한 명령줄 옵션이 표시됩니다.스크립트에서 이것을 사용하여 설정하려고 하는데 사용자 입력 없이 apt-get을 실행하려면 어떻게 해야 합니까?
나는 내가 할 수 있는 tz 데이터를 재구성하는 것을 알고 있습니다.
echo "America/New_York" > /etc/timezone
dpkg-reconfigure -f noninteractive tzdata
그러나 설치할 때 올바른 표준 시간대를 설정하지 않더라도 완전히 실행하려면 언제든지 다시 구성할 수 있습니다.
나는 노력했다.
echo 5 | apt-get install -y tzdata
하지만 예상대로 작동하지 않습니다.
이것은 제가 사용한 스크립트입니다.
(댓글에서 @elquimista의 입력으로 업데이트된 버전)
#!/bin/bash
ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime
DEBIAN_FRONTEND=noninteractive apt-get install -y tzdata
dpkg-reconfigure --frontend noninteractive tzdata
잘 작동하는 것 같습니다.
라이너 하나로:
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends tzdata
만약 누군가가 그것을 성취하기를 원한다면.Dockerfile
아래와 같이 사용합니다.
RUN DEBIAN_FRONTEND=noninteractive apt-get -y install tzdata
심볼릭 링크를 직접 사용하지 않고 구성을 한 번만 실행하려면 다음 명령을 사용하는 것이 좋습니다.
echo 'tzdata tzdata/Areas select Europe' | debconf-set-selections
echo 'tzdata tzdata/Zones/Europe select Paris' | debconf-set-selections
DEBIAN_FRONTEND="noninteractive" apt install -y tzdata
최근 Cingulata FHE 라이브러리를 구축하는 Docker 파일에서 다음 솔루션을 찾았습니다.
ln -snf /usr/share/zoneinfo/$(curl https://ipapi.co/timezone) /etc/localtime
기본적으로 ipapi.co 에서 제공하는 API를 사용하여 시간대 정보를 검색합니다.그러면 대화 상자를 건너뛰고 기본값(UTC)을 사용하는 대신 표준 시간대가 자동으로 구성됩니다.
이에 대한 모든 크레딧은 @PYA에 전달되어야 하지만 올바른 순서는 다음과 같습니다.
ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime
export DEBIAN_FRONTEND=noninteractive
apt-get install -y tzdata
dpkg-reconfigure --frontend noninteractive tzdata
제가 한 방법은 다음과 같습니다.
echo 1 > input.txt
echo 1 >> input.txt
apt-get install -y tzdata < input.txt
ln -fs /usr/share/zoneinfo/America/Los_Angeles /etc/localtime
echo America/Los_Angeles > /etc/timezone
처음 두 에코 문은 지리적 영역 메뉴와 도시/지역 메뉴의 선택 번호가 포함된 텍스트 파일을 만듭니다.그런 다음 이 파일은 apt-get install 명령에 대한 입력을 제공하는 데 사용됩니다.사용자 입력을 요청하지 않고 tz데이터 패키지가 설치됩니다.표준 시간대는 일반적으로 표시되는 메시지에 따라 1과 1을 입력한 것처럼 아프리카/아비잔으로 설정됩니다.그런 다음 마지막 두 명령으로 시간대를 원하는 대로 변경합니다.
1번과 1번 대신에, 당신이 원하는 지리적 지역과 시/지역의 실제 숫자를 사용할 수 있지만, 제가 보기에는 그 숫자들이 바뀔 수 있습니다.
제게 효과가 있었던 것은 다음과 같습니다.
from ubuntu:bionic
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y tzdata
RUN unlink /etc/localtime
RUN ln -s /usr/share/zoneinfo/America/New_York /etc/localtime
댓글을 읽고 TZ 환경변수를 사용하기 위해 아래의 두 단계를 수행했습니다.
- 도커 파일에 다음을 추가했습니다.
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends tzdata && apt-get clean
- 도커 CMD 스크립트에 다음을 추가했습니다.
if [ ! -z "${TZ}" ]; then
echo "${TZ}" > /etc/timezone
dpkg-reconfigure -f noninteractive tzdata
fi
이것은 저에게 효과가 있었고 컨테이너를 시작할 때 시간대를 설정할 수 있었습니다.
언급URL : https://stackoverflow.com/questions/44331836/apt-get-install-tzdata-noninteractive
'sourcetip' 카테고리의 다른 글
웹이란 무엇입니까?debug.config 및 Web.풀어주다.구성 파일: (0) | 2023.04.28 |
---|---|
특정 Git 분기를 복제하려면 어떻게 해야 합니까? (0) | 2023.04.28 |
자격 증명을 사용하여 신뢰할 수 없는 원격 도메인에서 UNC(공유 파일) 액세스 (0) | 2023.04.28 |
URL에서 bash 스크립트 실행 (0) | 2023.04.28 |
Excel이 텍스트로 포맷되도록 HTML 테이블 셀을 포맷하시겠습니까? (0) | 2023.04.23 |