This translation is older than the original page and might be outdated. See what has changed.

FIXME This page is not fully translated, yet. Please help completing the translation.
(remove this paragraph once the translation is finished)

Opkg ekleri

  • Bu yönerge Opkg'nin işlevselliğini genişletir.
  • Hızlı kurulum için otomatik kısmını takip et.
  • Opkg profilleri kaydetme, geri yükleme, ve geri alma
  • Otomatik ve özel prfil desteği.
  • RWM, overlay ve extroot paketleri desteği.
  • Kullanıcının kaldırdığı/yüklediği paketleri tanımlama.
  • Bellenim yükseltme sonrası otomatik yükleme.
  • Yükseltilebilir tüm paketleri yükseltme.
  • Yeni yapılandırmalar bulma.
  • Opkg çağrılarını pürüzsüz çağrı yöntemi sağlamak üzere sarmalama.
  • Profilleri depolamak ve yönetmek için UCI ve yedekleme varsayılanlarına dayanır.
  • Paket tiplerini grep ve find, ve RWM'i mount ile tanımlar.
  • kullanıcı─yüklemesi paketleri Sysupgrade'den içe aktarmayı destekler.
  • WAN bağlanabilirliğinin tespiti ve profil geri-yüklemenin tetiklenmesi için Use Hotplug kullanır.
  • Döngülerden ve mücadele durumlarından sakınmak için lock ile kilit-dosyalarından yararlanır.
  • Otomatik profil geri-yükleme sonrası değişiklikleri uygulamak için yeniden başlat ortaya koyar.
  • Sorun-giderme için etkileşimsiz günlükleri Syslog ile yazar ve okur.
  • El ile özelleştirilmediyse, geri-yüklemek veya geri almak için varsayılan profili UCI'den getirir.
  • Profilleri geri-yüklerken paket çatışmalarından sakınmak için kaldırmayı yüklemeden üstün kılar.
  • İşlem sahasını zaman kazanmak için sınırlandırır: yüklüyü kaldır, eksiği yükle, yükseltilebiliri yükselt.
  • Paketleri, kaynak tüketimini olabildiğince azaltmak ve aktarma hatasından sakınmak için birer birer işler.
Alt-komut Tanım
init Opkg yapılandırmasını başlatma.
uci [<prof>] < <uciprof> stdin'den veya dosyadan UCI'ye Opkg profili ithal etme.
import [<bakprof>] Sysupgrade yedeğinden UCI'ye Opkg profili ithal etme.
save [<prof>] Geçerli Opkg profilini UCI'ye kaydet.
restore [<prof>] Opkg profilini geri-yükle:
auto ya da hiç - varsayılan profil,
rwm - RWM profili,
custom - özel profil.
rollback [<prof>] Opkg profilini geri-al:
kullanıcı-yüklemesi paketleri kaldır,
kullanıcı-kaldırması paketleri yükle,
yükseltilmiş paketleri atla.
upgr [<pkgtype>] Paketleri tipe göre yükselt:
ai veya hiç - tüm yüklenmişler,
oi - bindirmeli-yüklenmişler.
export [<pkgtype>] Paketleri tipe göre ihrac et:
ai ya da hiç - tüm yüklenmişler,
au - tüm yükseltilebilirler,
ri - ROM'a yüklenmişler,
wr - RWM-kaldırılmışlar,
wi - RWM-yüklenmişler,
or - bindirmeli-kaldırılmışlar,
oi - bindirmeli-yüklenmişler,
ur - kullanıcıca-kaldırılmışlar,
ui - kullanıcıca-yüklenmişler,
pr - profilce-kaldırılmışlar,
pi - profilce-kaldırılmışlar.
proc <cmd> < <pkgs> Paketleri stdin'den verili alt-komut ile işle.
reinstall <pkgs> Belirli paketleri yeniden-yükle.
newconf [<path>] Yeni yapılandırmaları bul.

Takip eden kodu kopyalayım SSH veya uçbirim üzerinde kullanın.

# Configure profile
mkdir -p /etc/profile.d
cat << "EOF" > /etc/profile.d/opkg.sh
opkg() {
local OPKG_CMD="${1}"
local OPKG_UCI="$(uci -q get opkg.defaults."${OPKG_CMD}")"
case "${OPKG_CMD}" in
(init|uci|import|save|restore|rollback\
|upgr|export|newconf|proc|reinstall) opkg_"${@}" ;;
(*) command opkg "${@}" ;;
esac
}
 
opkg_init() {
uci import opkg < /dev/null
uci -q batch << EOI
set opkg.defaults='opkg'
set opkg.defaults.import='/etc/backup/installed_packages.txt'
set opkg.defaults.save='auto'
set opkg.defaults.restore='auto'
set opkg.defaults.rollback='auto'
set opkg.defaults.upgr='ai'
set opkg.defaults.export='ai'
set opkg.defaults.proc='--force-depends'
set opkg.defaults.reinstall='--force-reinstall'
set opkg.defaults.newconf='/etc'
EOI
}
 
opkg_uci() {
local OPKG_OPT="${1:-${OPKG_UCI}}"
local OPKG_OPT="${OPKG_OPT:-auto}"
if ! uci -q get opkg > /dev/null
then opkg init
fi
uci -q batch << EOI
delete opkg.'${OPKG_OPT}'
set opkg.'${OPKG_OPT}'='opkg'
$(sed -r -e "s/^(.*)\s(.*)$/\
del_list opkg.'${OPKG_OPT}'.'\2'='\1'\n\
add_list opkg.'${OPKG_OPT}'.'\2'='\1'/")
commit opkg
EOI
}
 
opkg_import() {
local OPKG_OPT="${1:-${OPKG_UCI}}"
if [ -e "${OPKG_OPT}" ]
then sed -n -r -e "s/\s(overlay|unknown)$/\
\tipkg/p" "${OPKG_OPT}" \
| opkg uci auto
fi
}
 
opkg_save() {
local OPKG_OPT="${1:-${OPKG_UCI}}"
local OPKG_WR="$(opkg export wr)"
local OPKG_WI="$(opkg export wi)"
local OPKG_UR="$(opkg export ur)"
local OPKG_UI="$(opkg export ui)"
if uci -q get fstab.rwm > /dev/null \
&& grep -q -e "\s/rwm\s" /etc/mtab
then {
sed -e "s/$/\trpkg/" "${OPKG_WR}"
sed -e "s/$/\tipkg/" "${OPKG_WI}"
} | opkg uci init
fi
{
sed -e "s/$/\trpkg/" "${OPKG_UR}"
sed -e "s/$/\tipkg/" "${OPKG_UI}"
} | opkg uci "${OPKG_OPT}"
rm -f "${OPKG_WR}" "${OPKG_WI}" "${OPKG_UR}" "${OPKG_UI}"
}
 
opkg_restore() {
local OPKG_OPT="${1:-${OPKG_UCI}}"
local OPKG_CONF="${OPKG_OPT}"
local OPKG_AI="$(opkg export ai)"
local OPKG_PR="$(opkg export pr)"
local OPKG_PI="$(opkg export pi)"
grep -x -f "${OPKG_AI}" "${OPKG_PR}" \
| opkg proc remove
grep -v -x -f "${OPKG_AI}" "${OPKG_PI}" \
| opkg proc install
rm -f "${OPKG_AI}" "${OPKG_PR}" "${OPKG_PI}"
}
 
opkg_rollback() {
local OPKG_OPT="${1:-${OPKG_UCI}}"
local OPKG_CONF="${OPKG_OPT}"
local OPKG_UR="$(opkg export ur)"
local OPKG_UI="$(opkg export ui)"
local OPKG_PR="$(opkg export pr)"
local OPKG_PI="$(opkg export pi)"
if uci -q get opkg."${OPKG_CONF}" > /dev/null
then opkg restore "${OPKG_CONF}"
grep -v -x -f "${OPKG_PI}" "${OPKG_UI}" \
| opkg proc remove
grep -v -x -f "${OPKG_PR}" "${OPKG_UR}" \
| opkg proc install
fi
rm -f "${OPKG_UR}" "${OPKG_UI}" "${OPKG_PR}" "${OPKG_PI}"
}
 
opkg_upgr() {
local OPKG_OPT="${1:-${OPKG_UCI}}"
case "${OPKG_OPT}" in
(ai|oi) opkg_"${OPKG_CMD}"_type ;;
esac | opkg proc upgrade
}
 
opkg_upgr_type() {
local OPKG_AI="$(opkg export ai)"
local OPKG_OI="$(opkg export oi)"
local OPKG_AU="$(opkg export au)"
case "${OPKG_OPT::1}" in
(a) grep -x -f "${OPKG_AI}" "${OPKG_AU}" ;;
(o) grep -x -f "${OPKG_OI}" "${OPKG_AU}" ;;
esac
rm -f "${OPKG_AI}" "${OPKG_OI}" "${OPKG_AU}"
}
 
opkg_export() {
local OPKG_OPT="${1:-${OPKG_UCI}}"
local OPKG_TEMP="$(mktemp -t opkg.XXXXXX)"
case "${OPKG_OPT}" in
(ai|au) opkg_"${OPKG_CMD}"_cmd ;;
(ri|wr|wi|or|oi) opkg_"${OPKG_CMD}"_type ;;
(ur|ui) opkg_"${OPKG_CMD}"_run ;;
(pr|pi) opkg_"${OPKG_CMD}"_uci ;;
esac > "${OPKG_TEMP}"
echo "${OPKG_TEMP}"
}
 
opkg_export_cmd() {
local OPKG_TYPE
case "${OPKG_OPT:1}" in
(i) OPKG_TYPE="installed" ;;
(u) OPKG_TYPE="upgradable" ;;
esac
opkg list-"${OPKG_TYPE}" \
| sed -e "s/\s.*$//"
}
 
opkg_export_type() {
local OPKG_INFO="/usr/lib/opkg/info"
local OPKG_TYPE
case "${OPKG_OPT::1}" in
(r) OPKG_INFO="/rom${OPKG_INFO}" ;;
(w) OPKG_INFO="/rwm/upper${OPKG_INFO}" ;;
(o) OPKG_INFO="/overlay/upper${OPKG_INFO}" ;;
esac
case "${OPKG_OPT:1}" in
(r) OPKG_TYPE="c" ;;
(i) OPKG_TYPE="f" ;;
esac
find "${OPKG_INFO}" -name "*.control" \
-type "${OPKG_TYPE}" 2> /dev/null \
| sed -e "s/^.*\///;s/\.control$//"
}
 
opkg_export_run() {
local OPKG_AI="$(opkg export ai)"
local OPKG_RI="$(opkg export ri)"
case "${OPKG_OPT:1}" in
(r) grep -v -x -f "${OPKG_AI}" "${OPKG_RI}" ;;
(i) grep -v -x -f "${OPKG_RI}" "${OPKG_AI}" ;;
esac
rm -f "${OPKG_AI}" "${OPKG_RI}"
}
 
opkg_export_uci() {
local OPKG_TYPE
case "${OPKG_OPT:1}" in
(r) OPKG_TYPE="rpkg" ;;
(i) OPKG_TYPE="ipkg" ;;
esac
uci -q get opkg."${OPKG_CONF}"."${OPKG_TYPE}" \
| sed -e "s/\s/\n/g"
}
 
opkg_proc() {
local OPKG_OPT="${OPKG_UCI}"
local OPKG_CMD="${1:?}"
local OPKG_PKG
while read -r OPKG_PKG
do opkg "${OPKG_CMD}" "${OPKG_PKG}" ${OPKG_OPT}
done
}
 
opkg_reinstall() {
local OPKG_OPT="${OPKG_UCI}"
opkg install "${@}" ${OPKG_OPT}
}
 
opkg_newconf() {
local OPKG_OPT="${1:-${OPKG_UCI}}"
find "${OPKG_OPT}" -name "*-opkg"
}
EOF
. /etc/profile.d/opkg.sh
 
# Configure hotplug
mkdir -p /etc/hotplug.d/online
cat << "EOF" > /etc/hotplug.d/online/50-opkg-restore
OPKG_CONF="init main"
for OPKG_CONF in ${OPKG_CONF}
do if [ ! -e /etc/opkg-restore-"${OPKG_CONF}" ] \
&& lock -n /var/lock/opkg-restore \
&& opkg update
then . /etc/profile.d/opkg.sh
opkg restore "${OPKG_CONF/main}" 2>&1 \
| logger -t opkg
touch /etc/opkg-restore-"${OPKG_CONF}"
lock -u /var/lock/opkg-restore
reboot
break
fi
done
EOF
cat << "EOF" >> /etc/sysupgrade.conf
/etc/hotplug.d/online/50-opkg-restore
EOF
# Save Opkg profile
opkg save
 
# Restore Opkg profile
opkg update
opkg restore
 
# Roll back Opkg profile
opkg rollback
 
# Set up a custom Opkg profile
uci set opkg.defaults.restore="custom"
uci set opkg.custom="opkg"
uci add_list opkg.custom.rpkg="dnsmasq"
uci add_list opkg.custom.rpkg="ppp"
uci add_list opkg.custom.ipkg="curl"
uci add_list opkg.custom.ipkg="diffutils"
uci add_list opkg.custom.ipkg="dnsmasq-full"
uci commit opkg
 
# Check Opkg log
logread -e opkg
 
# Upgrade packages
opkg update
opkg upgr
uclient-fetch -O opkg-extras.sh "https://openwrt.org/_export/code/docs/guide-user/advanced/opkg_extras?codeblock=0"
. ./opkg-extras.sh

Gözetimli sistem yükseltme: luc-app-attended-sysupgrades veya auc

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2023/01/16 23:36
  • by vgaetera