debian
et ses dérivés (et probablement la plupart des autres distributions) viennent avec busybox
ce qui est utilisé dans le initramfs
.
busybox
regroupe la plupart des utilitaires de ligne de commande essentiels dans un seul exécutable.
Vous pouvez temporairement créer un lien symbolique /bin/rm
vers /bin/busybox
:
ln -s busybox /bin/rm
Pour obtenir un travail rm
(après quoi vous pouvez faire votre apt-get install --reinstall coreutils
).
Cette même méthode peut être utilisée pour tous les autres utilitaires busybox
inclus. Cette liste varie d'un déploiement à l'autre. Vous pouvez obtenir la liste avec busybox --list
.
Notez cependant qu'il s'agit de versions limitées des utilitaires correspondants. Ils supportent parfois les extensions GNU, mais généralement pas et certains d’entre eux ne supporteront même pas toutes les fonctionnalités standard / POSIX (certaines fonctionnalités peuvent être activées / désactivées lors de la compilation).
Alternativement, vous pouvez utiliser zsh
la fonction intégrée:
#! /bin/zsh
zmodload zsh/files
rm "$@"
Le zsh/files
module fournit avec quelques commandes internes supplémentaires ( rm
, mv
, ln
, mkdir
, rmdir
, chown
, chmod
, sync
). C'est utile dans ce genre de situation ou lorsque vous ne pouvez pas créer plus de processus mais que vous avez un zsh
fonctionnement interactif .
ksh93
a aussi un certain nombre de commandes supplémentaires / option buitin, mais pas rm
parmi eux ( basename
, chmod
, dirname
, getconf
, head
, mkdir
, logname
, cat
, cmp
, cut
, uname
, wc
, sync
). Vous pouvez les invoquer avec:
command /opt/ast/bin/the-command
dans un ksh93
script.