LEDE에 설치된 모든 패키지를 어떻게 업그레이드합니까?


26

나는 그에 상응하는 것이 무엇인지 궁금합니다.

apt-get upgrade
apt upgrade
yum update

OpenWRT 또는 LEDE?

답변:


54

아무 단일 명령이나 인수,하지만 당신은 쉽게 할 수 있습니다. 모든 패키지를 업그레이드하기 위해 LEDE는 ,

opkg list-upgradable | cut -f 1 -d ' ' | xargs opkg upgrade 

사람들이 AWK 등을 사용하는 다른 덜 효율적인 방법이 있습니다.

중요한주의해야 할 점은 종종 LEDE의 광범위한 사용과 다음 / OpenWRT의opkg

LEDE 펌웨어는 기본 시스템을 압축 된 읽기 전용 파티션에 저장하므로 기본 시스템 패키지에 대한 모든 업데이트는 읽기 / 쓰기 파티션에 기록되므로 압축 된 버전에서 이전 버전을 덮어 쓰는 경우보다 더 많은 공간을 사용합니다 시스템 파티션. 내부 플래시 메모리에서 사용 가능한 공간과 기본 시스템 패키지 업데이트를위한 공간 요구 사항을 확인하는 것이 좋습니다.


1
이를 수행하는 또 다른 방법은 쉘 for 루프를 사용하는 것입니다. 예를 들어`opkg리스트 업그레이드 가능 | cut -f 1 -d ''`; opkg 업그레이드 "$ a"수행; 완료
Scott

5

opkg-upgrade더 나은 방법으로 업그레이드를 처리하기 위해 작은 스크립트를 만들었습니다 .

github에서 사용할 수 있습니다 :
https://github.com/tavinus/opkg-upgrade

다음과 같이 쉽게 업그레이드 할 수 있습니다.
opkg-upgrade

컬 / Wget 설치 방법은 여기!


readme.md 파일에서 언급했듯이 업그레이드에 문제가있을 수 있습니다.

가능한 문제 :

  • squashfs 문제 (ROM은 읽기 전용이므로 업그레이드시 플래시 또는 extroot에 추가 공간이 필요함) .
  • dev에 / 트렁크 (베타) 문제 (베타 버전이 업그레이드에 소프트 벽돌로 할 수있다) .
  • 공간 문제 (다운로드 및 설치를위한 충분한 여유 공간이 필요함) .

또한 CRON에서 업그레이드하는 것은 매우 나쁜 생각입니다!
정기적 인 Linux Distro Blind 업그레이드에서도 좋은 아이디어는 아닙니다.
업그레이드시 잘못 될 수있는 많은 것들이 있으며 OpenWrt는 일반적으로 브릭 킹 할 수있는 장치에서 실행되므로 무인 작업을 수행하는 것이 훨씬 의미가 없습니다.

간단히 말해, 내가 업그레이드 할 유일한 경우는 다음과 같습니다.

  • 거대한 USB 스틱에서 extroot를 사용하는 경우
  • 내부 플래시가 32Mb 이상인 경우
  • dev / trunk (베타)를 사용 하지 않는 경우
  • 충분한 공간이있는 ext4 FS에서 실행하는 경우 (x86 금속, VM 등)

여전히 cron에서 업그레이드하지 않을 것입니다.
또한 내부 플래시를 업그레이드하기 전에 20 배를 생각할 것입니다.

내 스크립트에는 사용 가능한 업데이트가 포함 된 전자 메일 보고서를 보내는 옵션이 있습니다.
따라서보고 도구를 cron에 추가하면 전자 메일을받은 후 사람들이 수동으로 업그레이드 할 수 있습니다. 이것은 업그레이드를 수정하는 옵션을 제공하면서 더 안전하게 만듭니다.

건배!
거스

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.