Dov'è l'ultimo codice sorgente del comando man per linux?


20

Sto cercando l'ultimo codice sorgente del comando man, la versione nel mio Linux è piuttosto vecchia (v1.6f), ma dopo un po 'di tempo ho fallito.

Intendo l'ultimo codice sorgente di man, non man-pagesma il file binario in /usr/bin/mansé che può essere compilato e installato.

Risposte:


19

Di solito puoi interrogare la tua distribuzione per vedere da dove provengono le fonti. Ad esempio, sono su Fedora e vedo che il mancomando proviene dal man-dbpacchetto:

$ rpm -qf /usr/bin/man
man-db-2.6.7.1-16.fc21.x86_64

Posso quindi interrogare il man-dbpacchetto per l'URL upstream:

$ rpm -qi man-db | grep -i url
URL         : http://www.nongnu.org/man-db/

Ed eccoti qui, http://www.nongnu.org/man-db/ .

È possibile eseguire una sequenza di passaggi simile con i sistemi di imballaggio utilizzati su altre distribuzioni.


Grazie, ho già ottenuto man-db dopo aver pubblicato questa domanda, sembra che non riesca a compilare man dal codice sorgente a causa di molte dipendenze.
CodyChan,

Questo è vero. Dovrai prima risolvere tutte le dipendenze. anche allora, il tuo binario new man potrebbe non esserti utile a causa delle dipendenze da altri binari più recenti.
fpmurphy

1
Se ci sono solo dipendenze lineari, questo è facile ;-) Ci sono sistemi di linea GNOME che hanno dipendenze circolari. Spero che alcuni sviluppatori OSS imparino a creare fonti con dipendenze lineari documentate.
schily,

1
Per riferimento futuro, sulle distribuzioni basate su Debian i comandi equivalenti sono dpkg -S /usr/bin/maneapt-cache show man-db | grep Homepage
Tim

2

Nelle distribuzioni basate su Debian, come Ubuntu, puoi trovare e scaricare il codice sorgente come di seguito:

$ which man
/usr/bin/man
$ dpkg --search /usr/bin/man
man-db: /usr/bin/man
$ apt-get source man-db

Ciò inserirà il codice sorgente nella directory di lavoro corrente.


Grazie, questo mi ha aiutato. Sarebbe bello se questa risposta potesse essere in qualche modo più generalizzata.
Aaron Hall,

-2

Linux non è un sistema operativo ma solo un kernel. Quindi, in teoria, ogni distribuzione è libera di usare quello che vuole.

Anche rpm non è necessariamente usato su ogni distribuzione Linux, quindi il primo passo è scoprire quale implementazione viene utilizzata. Questo in genere può essere fatto utilizzando stringssul binario e quindi utilizzare una stringa significativa tra virgolette doppie come stringa di ricerca su Google.


1
Se rpm -qfo dpkg -So l'equivalente per il tuo sistema di packaging per `" $ (comando -v man) "restituisce il nome di un pacchetto, allora quel metodo sarà molto più affidabile di cercare su Google stringhe trovate nel binario. Ricorda che la maggior parte delle distribuzioni corregge il software dall'upstream. Quindi il pacchetto sorgente per la tua distribuzione è l'unico posto dove cercare il codice sorgente esatto come compilato per il tuo / usr / bin / man.
Stéphane Chazelas,

Esistono più di una dozzina di diversi sistemi di packaging, quindi dovresti menzionare molti metodi ..... ma hai ragione: in generale, molte distribuzioni sono non collaborative e correggono bug nel software o non segnalano patch utili a monte.
schily,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.