Alpine: Как насильно Удалите пакет, даже если он сломал зависимости?

Нет, не существует способа POSIX, кроме компиляции программы на C, которая это делает. Как быстрый и грязный:

$ echo 'int main(int c,char*v[]){
  execvp(v[1],&v[2]);perror(v[1]);return 127;}'>r.c && make r
$ ./r ps zzz -f
UID        PID  PPID  C STIME TTY          TIME CMD
chazelas  7412  7411  0 10:44 pts/4    00:00:00 /bin/zsh
chazelas 21187  7412  0 22:33 pts/4    00:00:00 zzz -f

exec -a поддерживается ksh93 , bash , zsh , busybox ash ] (начиная с версии 1.27.0), yash , mksh ( начиная с версии r50e ), Schily Bourne Shell (с августа 2015 г. ) поэтому является наиболее распространенным среди снарядов.

Вероятно, наиболее переносимым было бы прибегнуть к perl , который с большей вероятностью будет доступен, чем компилятор C.

$ perl -e 'exec {shift} @ARGV' ps zzz -f
UID        PID  PPID  C STIME TTY          TIME CMD
chazelas  7554  7411  0 10:58 pts/12   00:00:00 /bin/zsh
chazelas  7630  7554  0 11:02 pts/12   00:00:00 zzz -f

4
13.10.2018, 10:18
1 ответ

APK Tools не поддерживает принудительное удаление пакетов , так как это нарушит граф, используемый для представления пакетов.

Чтобы ответить, как удалить прошивку :, вы можете установить linux-firmware-none, который предоставляет linux-firmware-anyи удовлетворяет зависимости пакета ядра. В этот момент вы сможете удалить linux-firmware.

3
27.01.2020, 21:01

Теги

Похожие вопросы