임베디드 Linux에서 구성 변수를 "내보내고" "가져오는" 방법은 무엇입니까?

임베디드 Linux에서 구성 변수를 "내보내고" "가져오는" 방법은 무엇입니까?

라우터는 BusyBox가 포함된 펌웨어를 실행하며 장치에는 플래시 메모리 외에 보조 저장소도 있습니다. USB 스틱은 다음 /media/Main위치에 설치됩니다 /opt.

# mount | grep sda
/dev/sda1 on /media/Main type ext4 (rw,noatime,data=ordered)
/dev/sda1 on /opt type ext4 (rw,noatime,data=ordered)

데이터베이스에서 중복 항목 찾기

문제는 updatedb인덱스 /media/opt. /opt/var/locatedb드라이브 설치를 변경하지 않고 이러한 중복 항목을 영구적으로 제거하고 싶습니다 . updatedbcron 및 셸에서 명령에 옵션을 추가하지 않고 이 명령을 사용하고 싶습니다 . alias옵션일 수도 있습니다 . "대상 데이터베이스 제외"에 대한 첫 번째 검색이 반환되었지만Arch Linux에서 "/etc/updatedb.conf" 사용을 권장하는 블로그 게시물.

데이터베이스 구성 파일 업데이트

/opt/etc/updatedb.conf첫 번째 시도는 다음 내용이 포함된 파일을 만드는 것입니다 .

# directories to execlude from the locate database
PRUNEPATHS="/media /mnt /tmp /var/tmp /var/cache /var/lock /var/run /var/spool"
export PRUNEPATHS

# filesystems to exclude from the locate database:
PRUNEFS="afs auto autofs binfmt_misc cifs coda configfs cramfs debugfs devpts devtmpfs ftpfs iso9660 mqueue ncpfs
nfs nfs4 proc ramfs securityfs shfs smbfs sshfs sysfs tmpfs udf usbfs vboxsf"
export PRUNEFS

이는 updatedb필수 구성을 사용하기에는 충분하지 않습니다. 다음은 GNU 포지셔닝 문서를 읽는 것입니다.GNU 업데이트 문서상태:

일반적으로 운영 체제에는 변수에 의해 정의된 구성을 "내보내는" 쉘 스크립트가 있으며, 다른 쉘 스크립트를 사용하여 구성 파일을 환경으로 "가져온" 다음 환경에서 updateb를 실행합니다.

내 임베디드 Linux는 구성 변수를 내보내고 소스로 사용합니까?

이 내장형 Linux 운영 체제에는 구성 변수를 내보내고 환경으로 반환하기 위한 GNU 권장 셸 스크립트가 있을 수 있습니다.

이 운영 체제의 내보내기 및 소스를 어떻게 확인합니까?

운영 체제가 이 작업을 수행하지 않는 경우 여기에서 구성 변수를 올바르게 내보내고 가져오려면 어떻게 해야 합니까?


환경

  • locate이 외부 저장 매체를 통해 GNU가 opkg설치 되었습니다.
  • BusyBox v1.24.1 기반/bin/sh --version
  • (GNU findutils) 4.6.0 찾기
  • 쉘은 다음 -sh을 기반으로 합니다.echo $0
  • /opt/home/admin/.ash_history존재하다

$ cat /opt/etc/profile
#!/bin/sh

export PATH='/opt/usr/sbin:/opt/sbin:/opt/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin'
export TMP='/opt/tmp'
export TEMP='/opt/tmp'

# This is for interactive sessions only
if [ "$PS1" ] ; then
  export TERM=xterm
  [ -d /opt/share/terminfo ] && export TERMINFO='/opt/share/terminfo'
  export LANG='en_US.UTF-8'
  export LC_ALL='en_US.UTF-8'
fi

export TERMINFO=/opt/share/terminfo

답변1

수출할 곳

읽고 나서https://bitbucket.org/padavan/rt-n56u/wiki/EN/UsingCron좋은 방법출구crontab 및 Shell에서 구성 변수를 사용하기 위해 해당 변수 /opt/opt/etc/profile.

원산지 및 원산지 방법

사용("원천") cron거기에 있는 변수 제안:

  1. 셸 래퍼 스크립트 만들기
  2. /etc/profile이 래퍼 스크립트의 소스 주석
    : /etc/profile은 /opt/etc/profile도 소스로 사용합니다.
  3. crontab 구성 콘텐츠 앞에 다음 줄을 추가하여 래퍼 스크립트를 호출합니다.SHELL=/etc/storage/cron/shell-wrapper.sh

관련 정보