La diferencia entre la instalación del código fuente y la instalación de yum: instalación del código fuente de Linux.
El sistema operativo Linux es un sistema operativo gratuito de código abierto y su código fuente está disponible de forma gratuita.
Descargas el CD de instalación del sistema Linux y eliges instalar el código fuente durante la instalación. Después de la instalación, el código fuente está en el directorio /usr/src.
Un código fuente más accesible es el sistema operativo FreeBSD. Puede iniciar sesión en el sitio web FTP de FreeBSD y seleccionar el código fuente desde la versión más reciente hasta la más antigua.
¿Cómo instalar y ejecutar software tar en entorno Linux?
1. Abra la terminal 2 y use el comando cd para ingresar al directorio donde se encuentra el paquete comprimido del código fuente. De hecho, puede abrir directamente el directorio donde se encuentra TAR.GZ y luego abrir la terminal en este directorio. La fusión de estos dos pasos, de todos modos soy un vago.
3.tar-zxvf * * *. tar.gz4. Utilice el comando CD para ingresar al directorio descomprimido. 5. Ingrese el comando de compilación del archivo:. /configure6, luego el comando: MAKE7. Luego instale el comando de archivo: makeinstall. Preste atención al comando de retorno en cada paso, como make. Si la devolución no tiene éxito, significa que a tu LINUX le falta un componente y tienes que ir al centro de software. Ningún recordatorio de que hice MAKEINSRALL cientos de veces ese año.
¿Cómo instalar un nuevo kernel para Linux?
Primero, obtenga el código fuente del kernel
En segundo lugar, descomprima el código fuente del kernel
Primero inicie sesión como root y luego ingrese al subdirectorio /usr/src . Si el usuario instala el código fuente del kernel al instalar Linux, encontrará un subdirectorio de linux-x.y.z. Este directorio almacena el código fuente del kernel x.y.z. Además, encontrará un enlace a este directorio, Linux. Elimine la conexión, luego copie los archivos fuente del nuevo kernel en el directorio /usr/src y descomprima:
# tarzxvfLinux-2 3 . El archivo se publicó correctamente. Después de eso, se generará un subdirectorio de Linux en el directorio /usr/src. Contiene todo el código fuente del kernel 2.3.14. Vincule /usr/include/asm, /usr/inlude/linux y /usr/include/scsi a los directorios correspondientes en el directorio /usr/src/linux/include.
#cd/usr/include
#rm-Rfasmlinux
# ln-s/usr/src/Linux/include/ASM-i386 ASM p>
# ln-s/usr/src/Linux/include/Linux Linux
# ln-s/usr/src/Linux/include/SCSI iscsi
Eliminar El resto. o archivos y otros archivos relacionados en el directorio del código fuente.
#cd/usr/src/linux
# makemrproper
Tres. Parches incrementales
A veces no es necesario realizar una reinstalación completa, solo se requiere un parche incremental, similar a una actualización, que se ejecuta en el directorio raíz del código fuente del kernel:
Patch-p1 ../patch-x.y.z
Cuatro. Directorio del árbol de código fuente del kernel:
Arch: contiene código relacionado con la arquitectura del hardware y cada plataforma ocupa un directorio correspondiente. Los códigos relacionados con PC de 32 bits se almacenan en el directorio i386, los más importantes son kernel (núcleo del kernel), mm (administración de memoria), math-emu (simulación de unidades de punto flotante), lib (funciones de herramientas relacionadas con el hardware), programa de arranque (arranque), pci (bus PCI), alimentación (estado relacionado con la CPU).
Bloquear: Algunos bloquean los controladores de dispositivos.
Cripto: Algoritmos de cifrado y hash de uso común (como AES, SHA, etc.), así como algunos algoritmos de compresión y verificación CRC.
Documentación: Explicaciones generales y comentarios sobre varias partes del kernel.
Driver: Controlador del dispositivo, cada controlador diferente ocupa un subdirectorio.
Fs: Varios sistemas de archivos compatibles, como ext, fat, ntfs, etc.
Incluye: archivos de cabecera. Entre ellos, los archivos de encabezado relacionados con el sistema se colocan en el subdirectorio de Linux.
Init: código de inicialización del kernel (nota, no código de arranque del sistema).
Ipc: código para comunicación entre procesos.
Kernel: La parte central del kernel, incluida la programación de procesos, temporizadores, etc. Algunos códigos relacionados con la plataforma se colocan en el directorio arch/*/kernel.
Lib: código de archivo de biblioteca.
Mm: código de gestión de memoria, algunos códigos relacionados con la plataforma se colocan en el directorio arch/*/mm.
Net: código relacionado con la red, que implementa varios protocolos de red comunes.
Script: Archivo de script utilizado para configurar el archivo del kernel.
Seguridad: Principalmente un módulo de SELinux.
Sonido: controladores para dispositivos de audio habituales, etc.
Usr: cpio implementado.
En el sistema i386, el arranque del sistema se ejecutará desde arch/i386/kernel/head.s, y luego se llamará a la función main() en init/main.c para inicializar el kernel.
Verb (abreviatura de verbo) configura el kernel
#cd/usr/src/linux
Existen tres métodos de configuración del kernel:
(1) Línea de comando: makeconfig
(2) Interfaz de configuración del modo menú: makemenuconfig
(3) Xwindow: makexconfig
El configurador del kernel de Linux proporciona A gama de opciones de configuración. Para cada opción de configuración, el usuario puede seleccionar "y", "m" o "n". Entre ellos, "y" significa que la función correspondiente o el controlador de dispositivo se compila en el kernel; "M" significa que el soporte o controlador de dispositivo con las características correspondientes se compila en un módulo cargable, que el kernel puede agregar. sistema o el propio usuario cuando sea necesario; "n" indica que el kernel no proporciona soporte para la característica o controlador correspondiente. Debido a que existen muchas opciones de configuración del kernel, este artículo solo presenta algunas de las más importantes.
1. Desarrollo de madurez del código (opción de madurez del código)
promptfordevelopment/orincollectode/drivers(config _ experimental) Si los usuarios desean utilizar código o controladores que aún se encuentran en la etapa de prueba, pueden seleccionar "Y". Si desea compilar un kernel estable, seleccione "n".
2.Processortypeandfeatures (tipo de procesador y características)
(1), familia de procesadores (386486/CX 486586/K5/5x 86, Pentium/K6/TSC, PPRO/ 6x8MX) , el valor predeterminado es PPRO/6x8MX.
(2) Memoria física máxima (1 GB, 2 GB) La memoria máxima admitida por el kernel es 1G de forma predeterminada.
(3) El coprocesador config _ Math _ Emulation no emula de forma predeterminada.
(4), soporte MTRR (MemoryTypeRangeRegister) (CONFIG_MTRR)
Seleccione esta opción, el sistema generará un archivo /proc/MTRR para administrar el MTRR de Xserver.
(5) Seleccione "Y" para indicar soporte de multiprocesamiento simétrico (config_SMP), y el kernel admitirá multiprocesadores simétricos.
3.Loadablemodulesupport (compatible con módulos cargables)
(1), seleccione "Y" para EnableLoadableModuleSupport (config_modules), el kernel admitirá la carga de módulos.
(2) Seleccione "Y" en Kernelmoduleloader (CONFIG_KMOD), el kernel cargará automáticamente esos módulos cargables; de lo contrario, el usuario deberá cargarlos manualmente.
4. Configuración general (configuración general)
(1), Networkingsupport (CONFIG_NET) Esta opción establece si se debe proporcionar soporte de red en el kernel.
(2) PCIsupport(CONFIG_PCI) Esta opción establece si se proporciona soporte PCI en el kernel.
(3) Modo de acceso PCI (BIOS, Directo, Cualquiera) Esta opción establece la forma en que Linux detecta los dispositivos PCI. Seleccione "BIOS", Linux usará el BIOS, seleccione "Directo", Linux no pasará por el BIOS, seleccione "y Linux detectará directamente el dispositivo PCI. Si falla, utilice el BIOS.
(4) Seleccione "Y" indica compatibilidad con puertos paralelos (config_parport) y el kernel admitirá puertos paralelos.
5. (CONFIG_PNP) seleccione "Y", el kernel configurará automáticamente el dispositivo plug-and-play.
(2) IsaPlugandPlaySupport(config_isapnp) selecciona "Y", el kernel configurará automáticamente el dispositivo plug-and-play. dispositivo de reproducción basado en el bus ISA.
p>
6. Dispositivo de bloqueo (dispositivo de bloqueo)
Seleccione "Y" para (1) y normalpcflopdisksupport (config _ blk _ dev _ FD), y el kernel proporcionará soporte para disquetes
(2) Seleccione "Y" para indicar compatibilidad mejorada con disco IDE/MFM/RLL/CDROM/cinta/disquete (config _ BLK). _ dev _ IDE). El kernel proporcionará soporte para discos duros, CDROM y unidades de cinta IDE mejorados
Opciones de red (opciones de red)
(1), seleccione ". Y" para Packetsocket (CONFIG_PACKET). Algunas aplicaciones utilizarán el protocolo PACKET para comunicarse directamente con dispositivos de red. No se requieren otros protocolos intermedios en el kernel.
(2) Seleccione "Y" para firewall de red ( config_firewall), y el kernel admitirá el firewall
(3)TCP/IP Si selecciona "Y" para redes (CONFIG_INET), el kernel admitirá el protocolo TCP/IP. >
(4) Seleccione "Y" para ipXprotocol (config_IPX), y el kernel admitirá el protocolo IPX.
(5) AppletalkDDP (CONFIG _ ATALK) seleccione "Y", el kernel. admite el protocolo DDP de Apple Talk
Soporte 8.SCSI (soporte SCSI)
Si el usuario desea utilizar dispositivos SCSI, puede configurar las opciones correspondientes
.9. Compatibilidad con dispositivos de red
Seleccione "y" para indicar compatibilidad con dispositivos de red (config_netdevices) y el kernel proporcionará compatibilidad con controladores de red.
10, Ethernet (. 10 o 100 Mbit) (Ethernet de 10 m o 100 m)
En esta configuración, el sistema proporciona muchos controladores de tarjeta de red, los usuarios solo necesitan seleccionar su propio controlador de tarjeta de red. Además, los usuarios pueden agregar soporte para FDDI, PPP y SLIP LAN (WirelessLAN) en el kernel según sea necesario.
11. Dispositivo de caracteres (dispositivo de caracteres)
(1), seleccione "Y" para Virtualterminal (CONFIG_VT) y el kernel admitirá terminales virtuales.
(2), supportforconsolenvuritualternal(CONFIG_VT_CONSOLE)
Seleccione "Y", el kernel puede usar una terminal virtual como consola del sistema.
(3), Soporte serie estándar/universal (tonto) (Configuration_Serial)
Seleccione "Y", el kernel admitirá el puerto serie.
(4). Admitir puerto serie de consola (configurar consola serie)
Seleccione "Y", el kernel puede usar el puerto serie como consola del sistema.
12. Ratón (mouse)
El mouse PS/2 (también conocido como "dispositivo auxiliar") admite (config_psmouse). Se debe seleccionar Y".
13. Sistema de archivos (sistema de archivos)
(1), seleccione "Y" para admitir cuotas (CONFIG_QUOTA), el kernel admitirá cuotas de disco.
(2) Soporte de montaje automático del kernel (config _ autofs _ fs) Seleccione "Y", el kernel proporcionará soporte para el montaje automático, lo que permitirá que el sistema monte automáticamente el sistema de archivos remoto al inicio.
(3)dosfatsupport(CONFIG _ FAT _ FS FAT _ FS) Seleccione "Y", el kernel admitirá el sistema de archivos DOSFAT.
(4), soporte del sistema de archivos CDROM (configurar el sistema de archivos ISO9660)
Seleccione "Y", el kernel admitirá el sistema de archivos cdrom injudich.
(5), compatibilidad con el sistema de archivos NTFS (solo lectura) (CONFIG_NTFS_FS)
Seleccione "y", los usuarios pueden acceder al sistema de archivos NTFS en modo de solo lectura.
(6), /procfilesystemsupport(config _ proc _ fs)/proc es un sistema de archivos virtual utilizado para almacenar el estado de ejecución del sistema Linux. Se debe seleccionar "Y" para este elemento.
(7) Soporte de extensión secundaria (config _ ext2 _ fs) ext2 es el sistema de archivos estándar de Linux y también se debe seleccionar "y" para este elemento.
14. Sistema de archivos de red (sistema de archivos de red)
(1), nfsfilesystemsupport(config_NFS_fs) seleccione "Y", el kernel admitirá el sistema de archivos NFS.
(2), SMBfilesystemsupport(tomountwwfwsharesetc.) (Sistema de archivos de configuración)
Seleccione "Y", el kernel admitirá el sistema de archivos SMB.
(3), NCPfilesystemsupport(tomountnetware volumes)(CONFIG_NCP_FS)
Seleccione "Y", el kernel admitirá el sistema de archivos NCP.
15, Tipo de partición (Tipo de partición)
Esta opción admite algunos tipos de partición poco comunes. Si es necesario, el usuario puede seleccionar "Y" en la opción correspondiente.
16, Controlador de consola (Controlador de consola)
Seleccione "y" en vgatextconsole(config_VGA_console), los usuarios pueden usar Linux en el modo de visualización VGA estándar.
17, Sonido (sonido)
Soporte de tarjeta de sonido (CONFIG_SOUND) seleccione "Y", el kernel puede proporcionar soporte para la tarjeta de sonido.
18, Kernelhacking (monitoreo del kernel)
magicsyrqkey (config_magic_sysrq) selecciona "Y" y el usuario puede controlar parcialmente el sistema. Normalmente, seleccione "n".
Sexto, compilar el kernel
(1). Crear los archivos de dependencia necesarios para la compilación
#cd/usr/src/linux
< p. >#makedep(2) Borre los archivos de destino compilados por el kernel.
#makeclean
(3) Compile el kernel
#makezImage
Después de que el kernel se haya compilado correctamente, estará en / usr/src/linux Genera un nuevo archivo de imagen del kernel zImage en el directorio /arch/i386/boot. Si el kernel compilado es grande, se le pedirá que utilice el comando makebzImage para compilar. En este punto, el compilador generará un archivo de imagen del kernel llamado bzImage.
(4) Compilar módulos cargables
Si el usuario configura módulos cargables al configurar el kernel, debe usar el comando insmod para compilarlos y cargarlos en el futuro.
#Module
#makemodelus_install
Después de una compilación exitosa, el sistema generará un subdirectorio 2.3.14 en el directorio /lib/modules, que almacenará el nuevo Todos los módulos cargables del kernel.
7. Inicie el nuevo kernel
(1) Copie el nuevo kernel y el archivo System.map al directorio /boot.
# CP/usr/src/Linux/arch/i386/boot/bzi mage/boot/vmlinuz-2 3
# CP/usr/src/Linux/. sistema .mapa/arranque/sistema .mapa-2 3 . .map-2 .3 .14 sistema .map
(2) Configure el archivo /etc/lilo.conf. Agregue las siguientes líneas al archivo:
Default=linux-2.3.14
image =/boot/vmlinuz-2 3
label=. linux-2.3.14
root=/dev/hda1
Solo lectura
(3), haz que la nueva configuración surta efecto
#/sbin/lilo
(4). Reinicie el sistema
#/sbin/reboot
Si el nuevo kernel no puede iniciarse normalmente, el usuario Puede reiniciar el sistema en LILO: mensaje para iniciar el kernel antiguo. Luego descubra la causa del fallo y vuelva a compilar el nuevo kernel.