He estado usando Windows y Mac OS durante los últimos 5 años y ahora estoy considerando usar Linux a diario. Instalé Ubuntu en una máquina virtual y trato de entender cómo puedo usar Linux para mi trabajo diario (como programador / diseñador web js).
Perdón por la pregunta de los novatos, pero se me ocurre que a veces cuando instalo un programa make config
y make install
cambia mi sistema de manera que no es reversible fácilmente. En Windows, cuando instala un programa, puede desinstalarlo y, con suerte, si se reproduce según el libro, no quedarán rastros del programa en el sistema de archivos o en el registro, etc. En Mac OS simplemente elimine una aplicación como un archivo.
Pero en Linux hay apt-get
y luego hay make
. No entendía bien cómo puedo mantener mi instalación de Linux limpia y ordenada. Parece que cualquier instalación de una nueva aplicación puede dañar mi sistema. Pero entonces Linux tiene la reputación de ser muy robusto, por lo que debe haber algo que no entiendo acerca de cómo la instalación y desinstalación de aplicaciones afecta el sistema. ¿Alguien puede arrojar algo de luz sobre esto?
Actualización: al instalar una aplicación, sus archivos pueden extenderse en cualquier lugar realmente (los administradores de paquetes manejan parte del problema), pero hay un truco genial al respecto: use Docker para instalar aplicaciones y guárdelas en su caja de arena, especialmente si no va a Úselos con demasiada frecuencia. También es posible ejecutar aplicaciones GUI como Firefox por completo en un "sandbox" de Docker.
apt-get
lugar demake
instalar software.make install
se usa cuando necesita construir la última versión (posiblemente inestable) de un software a partir de fuentes, que aún no está disponible como paquete.apt
es más simple y proporciona un mejor tui que el usoapt-get
.*.app
archivo era insuficiente, ya que las instalaciones de aplicaciones a menudo ensuciaban otros lugares (por ejemplo, el directorio de la Biblioteca, de la memoria). Además, si construye manualmente desde la fuente en Ubuntu conmake install
, usecheckinstall
en su lugar para permitir una fácil eliminación../configure ; make ; make install
camino. Todo lo que necesitas es aprender la fabulosa herramienta fpm .Respuestas:
Una nueva instalación rara vez dañará su sistema (a menos que haga cosas raras como mezclar fuente y binario).
Si usa binarios precompilados en Ubuntu, puede eliminarlos y no tener que preocuparse por romper su sistema, porque un binario debe enumerar lo que necesita para ejecutarse y su administrador de paquetes enumerará qué programas dependen de ese programa para que los revise.
Cuando usa la fuente, debe tener más cuidado para no eliminar algo crítico (como glib). No hay advertencias ni nada más cuando desinstala de la fuente. Esto significa que puede romper completamente su máquina.
Si desea desinstalar usando
apt-get
, lo usaráapt-get remove package
como se indicó anteriormente. Cualquier programa que dependa de ese paquete también se desinstalará y tendrás la oportunidad de revisarlo.Si desea desinstalar, generalmente el proceso es
make uninstall
. No hay advertencia (como dije anteriormente).make config
no alterará su sistema, pero lomake install
hará.Como principiante, recomiendo usar
apt-get
o cualquier distribución que use para paquetes binarios. Mantiene las cosas agradables y organizadas y, a menos que realmente lo desee, no dañará su sistema.Con suerte, eso aclara todo.
fuente
--purge
opción conapt-get
En teoría,
make uninstall
debería eliminar lomake install
agregado y su sistema no acumularía cruft. El problema, por supuesto, es que no todos los archivos MAKE se crean de la misma manera.Algunos pueden omitir la
uninstall
regla, dejándote que descubras qué hizo lainstall
regla. Peor aún, si la regla de instalación sobrescribió una biblioteca vinculada, launinstall
rutina tonta puede romper las dependencias de algún otro programa.La mejor solución para las instalaciones de origen es utilizar un prefijo diferente al de los paquetes instalados por el administrador de paquetes del sistema. Apt instala archivos para
/usr/
usar la/usr/local/
jerarquía para las instalaciones de origen. Eso hace que sea mucho más fácil hacer un seguimiento de qué archivos pertenecen a qué paquetes y desinstalaciones no dañarán el sistema../configure --prefix=/usr/local
funciona para muchos scripts de configuración. De lo contrario, puede editar Makefile manualmente. O simplemente copie los archivos manualmente.Apt y otros gerentes de paquetes realizan un seguimiento de los archivos que han instalado y sus dependencias inversas para que sus funciones de desinstalación sean seguras de usar.
fuente
Le recomendaría que utilice
apt-get install
para instalar cualquier paquete en Linux yapt-get remove
(nombre del paquete) oapt-get purge
(nombre del paquete) que eliminará no solo el paquete principal que desea desinstalar sino todos los paquetes o dependencias asociados que se instalaron durante la instalación.Ahora, para mantener su sistema más limpio, le recomiendo que use
apt-get clean
https://askubuntu.com/questions/144222/how-do-apt-get-clean-and-apt-get-clean-all-differ#144224 ( esta publicación es interesante sobre eso) que eliminará todos los archivos que se descargaron durante la instalación pero que ya no son necesarios.Otro comando que sería útil si desea eliminar todas las dependencias que están instaladas en su sistema pero no se eliminaron cuando lo desinstaló
apt-get autoremove
.Si instala un paquete a través de make and make install, será responsable de desinstalarlo usted mismo (tal vez haya un archivo README incluido en el paquete descargado que le indica cómo hacerlo), así como de intentar desinstalar todas las dependencias asociadas con él. . Es por eso que siempre se recomienda instalar paquetes en Linux que ofrece el administrador de paquetes de la distribución, si lo hace de esta manera, puede estar seguro de que su paquete ha sido probado lo suficiente como para funcionar con la distribución (sabor de Linux) que está utilizando y es muy poco probable que rompa su sistema. Además, puede estar seguro de que su paquete se actualizará cuando sea necesario, mientras que si lo instala usted mismo, usted es el responsable de hacer todo esto.
Espero que esto ayude :)
fuente
La forma normal de administrar aplicaciones instaladas en Linux es con un administrador de paquetes. La elección de los administradores de paquetes es una de las principales cosas que diferencian las distribuciones. Ubuntu, como Debian (en el que se basa), usa dpkg y APT ; la mayoría de las veces, solo necesita interactuar con una de las interfaces para APT, como
apt-get
(línea de comando), aptitude (línea de comando o modo de texto) o Synaptic (GUI).Un administrador de paquetes realiza un seguimiento de los archivos que pertenecen a cada programa instalado. Al igual que en Windows, los programas pueden ejecutar código arbitrario como parte de su procedimiento de instalación o desinstalación, pero generalmente se comportan bien y no rompen otros programas. Además, el código de (des) instalación lo escribe el responsable del paquete, no el autor principal (para los paquetes en la distribución principal). A diferencia de Windows, hay una interfaz unificada para la instalación, actualización y desinstalación: el administrador de paquetes. No necesita buscar el desinstalador (si lo hay), simplemente haga clic en el icono "desinstalar" en el administrador de paquetes gráfico o ejecute
apt-get remove PACKAGENAME
.Si necesita un software "exótico", es posible que deba instalarlo manualmente, ya sea desempacando un archivo o compilando desde la fuente. Los instaladores que vienen en forma de un programa ejecutable son raros en el mundo de Linux. Correr
make install
tiende a extenderse cada programa en varios directorios (/usr/local/bin
,/usr/local/man
,/usr/local/lib
, etc.). Para mantener las cosas ordenadas, recomiendo usar un "administrador de paquetes de pobre", como guardar . Con stow, cada paquete se instala en su propio directorio, y lastow
utilidad se encarga de crear enlaces simbólicos para que los comandos instalados por el paquete estén en la ruta de búsqueda de comandos, etc. Consulte Seguimiento de programas para obtener más detalles.fuente
apt-get
o similar). Pero solo ponen programas razonablemente populares en los repositorios, aquellos que tienen suficientes usuarios para estar seguros de que básicamente hacen lo que se supone que deben hacer.Casi todas las distribuciones tienen su propia opción de administrador de paquetes, hay varias populares. pacman, apt, rpm, emerge, ... las distribuciones basadas en Debian usan apt.
El documento parece desalentador, pero en realidad no es tan difícil hacer .debs para uso local , solo manténgase enfocado .
fuente
Debe intentar usar su administrador de paquetes (apt-get, aptitude, synaptic o aptdcon, software-center, mintinstall, ..) si es posible. El uso de una tarea make para la instalación es muy básico, no se garantiza que tenga una
uninstall
contraparte y no se garantiza que juegue bien con el resto del sistema (es solo un script vinculado al sistema de compilación de make, y a diferencia de un paquete revisado, las tareas make pueden contener cualquier código ejecutable, potencialmente malware).Si no encuentra una versión empaquetada del software que necesita, puede encontrar
checkinstall
(checkinstall make install
) útil.fuente
No soy un experto, y no sé mucho sobre la instalación de software desde el origen, pero con el uso
apt-get
, puede eliminar el software instalado conapt-get remove package-name
. Para eliminar también todos los archivos de configuración, useapt-get purge package-name
. La forma más segura de mantener ordenada su instalación de Linux es usar solo paquetes en los repositorios oficiales. Cuando se necesita un paquete que no está en los repositorios oficiales, a menudo se puede encontrar (ya que está usando Ubuntu) en un PPA .fuente
apt-get
no sirve de nada al OP que ha estado usandoconfigure
ymake install
Como dicen las otras respuestas, hoy en día es típico instalar la gran mayoría de su software utilizando el administrador de paquetes de su distribución de elección. ¡Esto es tan conveniente que probablemente lo perderá cuando regrese a Windows! En cierto sentido, los diversos "mercados" y "tiendas" van en esa dirección también para sistemas operativos comerciales.
Habiendo dicho eso, recuerdo que cuando comencé a aprender sobre Linux me sorprendió la forma en que normalmente se instala el software. Mientras que en Windows todos los archivos van en un solo directorio
c:\Programs
, la forma tradicional de "unix" es dispersarlos en "ubicaciones estándar" (los detalles no están tan estandarizados, [eche un vistazo a LSB para más información] [1] ), como los/usr/local/bin
ejecutables, la/usr/local/doc
documentación, etc.En cierto sentido, Windows "no sabe" dónde están sus ejecutables. Sabe que están "en alguna parte debajo
c:\Program Files
", pero no mucho más. Escanear todos esos directorios para encontrarlos es, o solía ser, prohibitivamente costoso. Por lo tanto, un enlace al ejecutable se colocaría explícitamente en una ubicación conocida (el menú de inicio), y eso es lo que usaría para iniciarlo.En Unix / Linux, su shell, y la mayoría de los otros programas, buscarán automáticamente ejecutables u otros recursos en un conjunto conocido de ubicaciones. Por eso, simplemente copiando sus archivos en sus directorios apropiados, los "verá" automáticamente, sin tener que "registrarlos" en ningún lugar para que los usuarios los conozcan.
Ambos mecanismos tienen sus pros y sus contras, pero encontrará que el enfoque de Unix suele ser más flexible.
Tenga en cuenta que hay muchas excepciones y detalles que hacen que la imagen no sea tan clara como la describí, pero creo que este tipo de introducción puede ser útil para que los novatos al menos comprendan la lógica básica detrás de ella.
fuente
Creo que el mejor consejo es solo en esta publicación del foro . Estas son sus opciones (2 y 3 son más o menos lo mismo en términos de efecto, en realidad):
Si no puede hacer que ese método funcione, úselo
checkinstall
como otros lo han recomendado. Es un reemplazo directo muy simple para hacer la instalación:Esto debería compilar el software normalmente y luego ejecutarse
make install
en un entorno confinado que rastrea lo que hace y crea un paquete que haría exactamente esas cosas. Luego instala ese paquete con su administrador de paquetes. Eliminar entonces es como eliminar cualquier otro paquete, como en (2).make install
, supongo. Y espero que el desarrollador del software mantenga una rutina de desinstalación.fuente