¿Consultar todas las rutas en todos los paquetes/repositorios sin instalar?

¿Consultar todas las rutas en todos los paquetes/repositorios sin instalar?

Digamos que quiero crear un nuevo paquete que instale un comando, es decir, agregue un nuevo archivo a /bin o /usr/bin.

Pero todavía tengo que nombrar el comando. Entonces, si tengo conflictos, quiero averiguarlo lo antes posible.

Entonces, dado que tengo algunos repositorios (Fedora, RPM fusion...), ¿hay alguna consulta que me ayude a verificar que ningún otro paquete disponible actualmente instalará un archivo/comando en particular?

Respuesta1

No sigas el camino de simplemente verificar Fedora, porque entonces te encontrarás con un problema cuando quieras empaquetarlo en otro lugar, o Fedora trae una aplicación existente cuyo nombre choca con el tuyo.

Un empaquetador de distribución me obligó a cambiar el nombre (corto y ágil) de un comando en una aplicación que escribí cuando entró en los repositorios oficiales, porque chocó con algún archivo antiguo, pero aún disponible. También podrías conseguirlo ahora mismo.

Comience con un nombre razonablemente único ybuscar en la redusando un motor de búsqueda (o dos). También buscaral menos fuenteforjaygithubdirectamente. Incluso si algo parece apuntar a un sistema operativo completamente diferente (Windows, IOS, etc.), evite la colisión.

Si no puede buscar en la red usando solo el nombre del comando (es decir, no busque "linux mycommandname") porque devuelve demasiados datos no relacionados, entonces la palabra no es lo suficientemente única (esto incluye palabras que resultan existir en un idioma extranjero). , marcas de pop de Australia, etc). Probablemente esto signifique al menos 5 caracteres; menos que eso en este momento es simplemente una coincidencia, y probablemente más sea mejor. Es mejor usar un nombre largo y descriptivo para un comando ( superFooBar) y dejar que las personas creen su propio alias corto ( foo) si así lo desean, que crear uno corto y casi sin significado (acrónimos, palabras sin vocales, etc.). Esto no se incluirá en POSIX en el corto plazo, es una aplicación oscura y opcional y debe etiquetarse para mayor claridad y no para conveniencia.


Si todo lo que desea hacer es buscar los repositorios disponibles en un sistema en particular, puede usar yum provides:

yum provides "*/superFooBar"

Tenga en cuenta las comillas con una estrella dentro; esto evita la expansión del shell, por lo que se pasará literalmente a yum, que lo trata como un comodín de la misma manera. Esto buscará la ruta completa de todos los archivos instalados por todos los paquetes en todos los repositorios, por lo que las coincidencias pueden incluir /usr/bin/superFooBar, /etc/default/superFooBaretc.

Nuevamente, no recomiendo esto si tiene alguna intención de distribuirlo de forma pública o privada dentro de una organización. Si es sólo para usted y las máquinas sobre las que tiene alguna responsabilidad personal, está bien; de lo contrario, no es lo suficientemente completo.

información relacionada