`install -D file /file` fails and loses the file when the destination's parent is /

Aperta Adatta ai principianti
#13,232 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
72/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Tranquilla
Stack tecnologico
rust
Ambito
cli

Direzione di ricerca

Inizia dalla gestione dell’opzione -D da parte del comando di installazione e riproduci il problema con install -D -m755 file /file. Verifica che il file sorgente rimanga disponibile, che /file venga creato e che la sua modalità sia 0755, in linea con il comportamento di GNU install.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

U - install

When the destination of install -D is a single-component absolute path (i.e. its parent directory is the filesystem root /), install fails with a chmod error and does not produce the destination file. GNU coreutils handles this correctly.

Steps to reproduce

ubuntu@resolute-racoon:~$ ls
folder file
ubuntu@resolute-racoon:~$ install -D -m755 file /file
install: No such file or directory
ubuntu@resolute-racoon:~$ ls
folder

the file disappears and is not to be found even in /file.

Environmnet

ubuntu 26.04
install (uutils coreutils) 0.8.0

Expected behavior

Per the GNU install(1) documentation for -D:

-D — create all leading components of DEST except the last, then copy SOURCE to DEST

For DEST = /file, the only leading component except the last is /, which already exists. install should simply copy file to /file and set mode 0755.

Lingua principale
Rust
Stelle
24.1k
Fork
2k
Merge medio
1g 3h
PR unite (30g)
374

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di uutils/coreutils

Tutte le issue di uutils/coreutils

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.