Сервер под FreeBSD. Начальная настройка

FreeBSD Logo

В предыдущей статье мы установили на наш сервер FreeBSD и настроили сеть + ssh. Теперь у нас есть доступ к серверу по сети и нет необходимости сидеть в серверной/датацентре.

Теперь приступим к начальной настройке для последующей удобной работы. Также не помешает обновить систему и пересобрать ядро - это best practice.

Начальная настройка

Обновление портов FreeBSD

Пересобирание ядра FreeBSD


Начальная настройка FreeBSD

Перемещения

Для единого места хранения временных файлов, удалим директорию /tmp и создадим hard link на /var/tmp. Еще перенесем порты, исходники и объекты:

rm -rf /tmp && ln -s /var/tmp /tmp
mv -f /cdrom* /mnt/
cd /mnt && mkdir flash

Шифрование паролей

Для паролей включим шифрование Blowfish, вместо MD5 и добавим минимальную длинну и сложность. Для этого в /etc/login.conf изменим/добавим:

ee /etc/login.conf
default:\
        :passwd_format=blf:\
        :mixpasswordcase=true:\
        :minpasswordlen=8:\

И в /etc/auth.conf:

ee /etc/auth.conf
crypt_default=blf

Не забываем после этих движений "ребилдить" базу:

cap_mkdb /etc/login.conf

И изменить пароли уже созданным пользователям (руту в том числе) командой passwd. После этого в /etc/master.passwd хеши паролей будут начинаться с $2a$.

Sudo

Установим sudo и отредактируем его конфиг /usr/local/etc/sudoers:

pkg_add -r sudo
ee /usr/local/etc/sudoers
## User privilege specification
root ALL=(ALL) ALL
## Uncomment to allow members of group wheel to execute any command
%wheel ALL=(ALL) ALL

Prompt

Для удобства нужно настроить prompt - приглашение командного интерпретатора - изменить приглашение и редактор. Так что редактируем файл .cshrc (он лежит в домашней директории). Для рута делаем его таким:

ee /root/.cshrc
alias h         history 25
alias j         jobs -l
alias la        ls -a
alias lf        ls -FA
alias ll        ls -lA

# A righteous umask
umask 22

set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin $HOME/bin)

setenv  EDITOR  ee
setenv  PAGER   more
setenv  BLOCKSIZE       K

if ($?prompt) then
        # An interactive shell -- set some stuff up
        set prompt = '%{^[[40;32;1m%}%$cwd#'
        set filec
        set history = 100
        set savehist = 100
        set mail = (/var/mail/$USER)
        if ( $?tcsh ) then
                bindkey "^W" backward-delete-word
                bindkey -k up history-search-backward
                bindkey -k down history-search-forward
        endif
endif

Для пользователя делаем таким:

ee /home/rublin/.cshrc
alias h         history 25
alias j         jobs -l
alias la        ls -a
alias lf        ls -FA
alias ll        ls -lA

# A righteous umask
umask 22

set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin $HOME/bin)

setenv  EDITOR  ee
setenv  PAGER   more
setenv  BLOCKSIZE       K

if ($?prompt) then
        # An interactive shell -- set some stuff up
        set prompt = '%{^[[40;32;1m%}%$cwd>'
        set filec
        set history = 100
        set savehist = 100
        set mail = (/var/mail/$USER)
        if ( $?tcsh ) then
                bindkey "^W" backward-delete-word
                bindkey -k up history-search-backward
                bindkey -k down history-search-forward
        endif
endif

И после переподключения увидим такое:

/home/rublin>

Screen

Устанавливаем Screen - менеджер окон, который позволяет в одном терминале запускать несколько шеллов и переключаться между ними. Для работы за консолью он не нужен, там и так достаточно "рабочих столов". Но мы же не за консолью, а уже по ssh. По этому без screen-ов не обойтись.

cd /usr/ports/sysutils/screen/ && make install clean && rehash 

Запускаем и работаем:

# screen
Ctrl-A + C - создать новый шелл
Ctrl-A + P - переключать шеллы
Ctrl-A + K - удалить текущий шелл
Ctrl-A + D - закрыть шелл не удаляя (возобновить шелл можно по screen -r)

Подробнее про скрины читаем тут.

Обновление портов FreeBSD

О важности обновлений говорить не буду - каждый уважающий себя администратор сам это понимает. По этому ближе к делу.

Устанавливаем CVSup:

cd /usr/ports/net/cvsup-without-gui/
make install clean

После установки копируем и редактируем файлик настроек:

cp /usr/share/examples/cvsup/standard-supfile /usr/local/etc/supfile
ee /usr/local/etc/supfile

Мой файл настроек такой:

less /usr/local/etc/supfile
#
#       cvsup -g -L 2 standard-supfile
#
# IMPORTANT: Change the next line to use one of the CVSup mirror sites
# listed at http://www.freebsd.org/doc/handbook/mirrors.html.
*default host=cvsup2.ua.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=RELENG_8_2
*default delete use-rel-suffix

*default compress

# src-all
ports-all tag=.

 

Выбор сервера обновлений пал на cvsup2.ua.FreeBSD.org только потому, что пинг на него минимальный. Теперь запускаем:

cvsup -g -L 2 /usr/local/etc/supfile

...и наблюдаем матрицу )))
Первый раз на обновление всего дерева портов уходит довольно много трафика. В дальнейшем его будет гораздо меньше. Также, первое обновление самое долгое.
Вот, пожалуй и всё. Теперь у нас свежая версия портов, и можно не волноваться за то, что устанавливаемое ПО давно устарело.

Обновление портов с помощью portsnap

Вот более новый метод обновить порты. Может он и удобнее будет...

Первый запуск. Скачать снапшот портов и распаковать его полностью:

portsnap fetch
portsnap extract

Последующие запуски. Скачиваем снапшот обновляем порты одной коммандой:

portsnap fetch update

"Мир" и "Ядро" во FreeBSD

Теперь соберем "мир". Для этого почитаем файлик /usr/src/Makefile:

less /usr/src/Makefile
#  1.  `cd /usr/src'       (or to the directory containing your source tree).
#  2.  `make buildworld'
#  3.  `make buildkernel KERNCONF=YOUR_KERNEL_HERE'     (default is GENERIC).
#  4.  `make installkernel KERNCONF=YOUR_KERNEL_HERE'   (default is GENERIC).
#       [steps 3. & 4. can be combined by using the "kernel" target]
#  5.  `reboot'        (in single user mode: boot -s from the loader prompt).
#  6.  `mergemaster -p'
#  7.  `make installworld'
#  8.  `make delete-old'
#  9.  `mergemaster'                         (you may wish to use -U or -ai).
# 10.  `reboot'
# 11.  `make delete-old-libs' (in case no 3rd party program uses them anymore)

Все как написано и будем делать. Под пунктом 3 идем сборка ядра. Этим мы и воспользуемся и соберем ядро с нужными нам опциями, ненужные опции исключим. Для этого копируем и редактируем GENERIC:

cd /sys/i386/conf/ && cp GENERIC RublinKERN
ee RublinKERN

Если у нас процессор AMD (х64)- то ядро будет тут:

cd /sys/amd64/conf/ && cp GENERIC RublinKERN

Меняем название (должно соответствовать имени файла ядра):

ident           RublinKERN

Комментим опции:

# options       INET6                   # IPv6 communications protocols
# options       UFS_ACL                 # Support for access control lists
# options       MD_ROOT                 # MD is a potential root device
# options       NFSSERVER               # Network Filesystem Server
# options       NFS_ROOT                # NFS usable as /, requires NFSCLIENT
# options       SCSI_DELAY=5000         # Delay (in ms) before probing SCSI
# options       KTRACE                  # ktrace(1) support
#options        KDTRACE_HOOKS           # Kernel DTrace hooks

Добавляем свои опции:

#
# Rublin options
#
options         HZ=1000
options         PANIC_REBOOT_WAIT_TIME=16
options         SC_DISABLE_REBOOT
options         SC_NORM_ATTR=(FG_GREEN|BG_BLACK)
options         SC_KERNEL_CONS_ATTR=(FG_YELLOW|BG_BLACK)
options         SC_TWOBUTTON_MOUSE
options         SUIDDIR
options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=100
options         IPFIREWALL_FORWARD
options         IPFIREWALL_DEFAULT_TO_ACCEPT
options         IPDIVERT
options         IPSTEALTH
options         DUMMYNET

Комментим неиспользуемые девайсы (SCSI, RAID, PCMCIA, NICs, Wireless, USB Ethernet, FireWire). То, что используется - оставляем!

Если не знаем, какое железо используется на нашем сервере - смотрим в файл /var/run/dmesg.boot (сообщения при загрузке сервера) или командой pciconf.

В итоге у меня получился такой файл:

cpu             I686_CPU
ident           RublinKERN


options         SCHED_ULE               # ULE scheduler
options         PREEMPTION              # Enable kernel thread preemption
options         INET                    # InterNETworking
# options       INET6                   # IPv6 communications protocols
options         SCTP                    # Stream Control Transmission Protocol
options         FFS                     # Berkeley Fast Filesystem
options         SOFTUPDATES             # Enable FFS soft updates support
# options       UFS_ACL                 # Support for access control lists
options         UFS_DIRHASH             # Improve performance on big directories
options         UFS_GJOURNAL            # Enable gjournal-based UFS journaling
# options       MD_ROOT                 # MD is a potential root device
options         NFSCLIENT               # Network Filesystem Client
# options       NFSSERVER               # Network Filesystem Server
options         NFSLOCKD                # Network Lock Manager
# options       NFS_ROOT                # NFS usable as /, requires NFSCLIENT
options         MSDOSFS                 # MSDOS Filesystem
options         CD9660                  # ISO 9660 Filesystem
options         PROCFS                  # Process filesystem (requires PSEUDOFS)
options         PSEUDOFS                # Pseudo-filesystem framework
options         GEOM_PART_GPT           # GUID Partition Tables.
options         GEOM_LABEL              # Provides labelization
options         COMPAT_43TTY            # BSD 4.3 TTY compat (sgtty)
options         COMPAT_FREEBSD4         # Compatible with FreeBSD4
options         COMPAT_FREEBSD5         # Compatible with FreeBSD5
options         COMPAT_FREEBSD6         # Compatible with FreeBSD6
options         COMPAT_FREEBSD7         # Compatible with FreeBSD7
# options       SCSI_DELAY=5000         # Delay (in ms) before probing SCSI
# options       KTRACE                  # ktrace(1) support
options         STACK                   # stack(9) support
options         SYSVSHM                 # SYSV-style shared memory
options         SYSVMSG                 # SYSV-style message queues
options         SYSVSEM                 # SYSV-style semaphores
options         P1003_1B_SEMAPHORES     # POSIX-style semaphores
options         _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
options         PRINTF_BUFR_SIZE=128    # Prevent printf output being interspersed.
options         KBD_INSTALL_CDEV        # install a CDEV entry in /dev
options         HWPMC_HOOKS             # Necessary kernel hooks for hwpmc(4)
options         AUDIT                   # Security event auditing
options         MAC                     # TrustedBSD MAC Framework
options         FLOWTABLE               # per-cpu routing cache
#options        KDTRACE_HOOKS           # Kernel DTrace hooks
options         INCLUDE_CONFIG_FILE     # Include this file in kernel

options         KDB                     # Kernel debugger related code
options         KDB_TRACE               # Print a stack trace for a panic
#
# Rublin options
#
options         HZ=1000
options         PANIC_REBOOT_WAIT_TIME=16
options         SC_DISABLE_REBOOT
options         SC_NORM_ATTR=(FG_GREEN|BG_BLACK)
options         SC_KERNEL_CONS_ATTR=(FG_YELLOW|BG_BLACK)
options         SC_TWOBUTTON_MOUSE
options         SUIDDIR
options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=100
options         IPFIREWALL_FORWARD
options         IPFIREWALL_DEFAULT_TO_ACCEPT
options         IPDIVERT
options         IPSTEALTH
options         DUMMYNET

# To make an SMP kernel, the next two lines are needed
options         SMP                     # Symmetric MultiProcessor Kernel
device          apic                    # I/O APIC

# CPU frequency control
device          cpufreq

# Bus support.
device          acpi
# device        eisa
device          pci

# Floppy drives
#device         fdc

# ATA and ATAPI devices
device          ata
device          atadisk         # ATA disk drives
device          ataraid         # ATA RAID drives
device          atapicd         # ATAPI CDROM drives
#device         atapifd         # ATAPI floppy drives
#device         atapist         # ATAPI tape drives
#options        ATA_STATIC_ID   # Static device numbering

# SCSI Controllers
#device         ahb             # EISA AHA1742 family
#device         ahc             # AHA2940 and onboard AIC7xxx devices
#options        AHC_REG_PRETTY_PRINT    # Print register bitfields in debug
                                        # output.  Adds ~128k to driver.
#device         amd             # AMD 53C974 (Tekram DC-390(T))
#device         hptiop          # Highpoint RocketRaid 3xxx series
#device         isp             # Qlogic family
#device         ispfw           # Firmware for QLogic HBAs- normally a module
#device         mpt             # LSI-Logic MPT-Fusion
#device         ncr             # NCR/Symbios Logic
#device         sym             # NCR/Symbios Logic (newer chipsets + those of `ncr')
#device         trm             # Tekram DC395U/UW/F DC315U adapters

#device         adv             # Advansys SCSI adapters
#device         adw             # Advansys wide SCSI adapters
#device         aha             # Adaptec 154x SCSI adapters
#device         aic             # Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
#device         bt              # Buslogic/Mylex MultiMaster SCSI adapters

#device         ncv             # NCR 53C500
#device         nsp             # Workbit Ninja SCSI-3
#device         stg             # TMC 18C30/18C50

# SCSI peripherals
#device         scbus           # SCSI bus (required for SCSI)
#device         ch              # SCSI media changers
#device         da              # Direct Access (disks)
#device         sa              # Sequential Access (tape etc)
#device         cd              # CD
#device         pass            # Passthrough device (direct SCSI access)
#device         ses             # SCSI Environmental Services (and SAF-TE)

# RAID controllers interfaced to the SCSI subsystem
#device         amr             # AMI MegaRAID
#device         arcmsr          # Areca SATA II RAID
#device         asr             # DPT SmartRAID V, VI and Adaptec SCSI RAID
#device         ciss            # Compaq Smart RAID 5*
#device         dpt             # DPT Smartcache III, IV - See NOTES for options
#device         hptmv           # Highpoint RocketRAID 182x
#device         hptrr           # Highpoint RocketRAID 17xx, 22xx, 23xx, 25xx
#device         iir             # Intel Integrated RAID
#device         ips             # IBM (Adaptec) ServeRAID
#device         mly             # Mylex AcceleRAID/eXtremeRAID
#device         twa             # 3ware 9000 series PATA/SATA RAID

# RAID controllers
#device         aac             # Adaptec FSA RAID
#device         aacp            # SCSI passthrough for aac (requires CAM)
#device         ida             # Compaq Smart RAID
#device         mfi             # LSI MegaRAID SAS
#device         mlx             # Mylex DAC960 family
#device         pst             # Promise Supertrak SX6000
#device         twe             # 3ware ATA RAID

# atkbdc0 controls both the keyboard and the PS/2 mouse
device          atkbdc          # AT keyboard controller
device          atkbd           # AT keyboard
device          psm             # PS/2 mouse

device          kbdmux          # keyboard multiplexer

device          vga             # VGA video card driver

device          splash          # Splash screen and screen saver support

# syscons is the default console driver, resembling an SCO console
device          sc

device          agp             # support several AGP chipsets

# Power management support (see NOTES for more options)
#device         apm
# Add suspend/resume support for the i8254.
device          pmtimer

# PCCARD (PCMCIA) support
# PCMCIA and cardbus bridge support
#device         cbb             # cardbus (yenta) bridge
#device         pccard          # PC Card (16-bit) bus
#device         cardbus         # CardBus (32-bit) bus

# Serial (COM) ports
#device         uart            # Generic UART driver

# Parallel port
#device         ppc
#device         ppbus           # Parallel port bus (required)
#device         lpt             # Printer
#device         plip            # TCP/IP over parallel
#device         ppi             # Parallel port interface device
#device         vpo             # Requires scbus and da

# If you've got a "dumb" serial or parallel PCI card that is
# supported by the puc(4) glue driver, uncomment the following
# line to enable it (connects to sio, uart and/or ppc drivers):
#device         puc

# PCI Ethernet NICs.
device          de              # DEC/Intel DC21x4x (``Tulip'')
#device         em              # Intel PRO/1000 Gigabit Ethernet Family
#device         igb             # Intel PRO/1000 PCIE Server Gigabit Family
#device         ixgb            # Intel PRO/10GbE Ethernet Card
#device         le              # AMD Am7900 LANCE and Am79C9xx PCnet
#device         ti              # Alteon Networks Tigon I/II gigabit Ethernet
#device         txp             # 3Com 3cR990 (``Typhoon'')
#device         vx              # 3Com 3c590, 3c595 (``Vortex'')

# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device          miibus          # MII bus support
#device         ae              # Attansic/Atheros L2 FastEthernet
#device         age             # Attansic/Atheros L1 Gigabit Ethernet
#device         alc             # Atheros AR8131/AR8132 Ethernet
#device         ale             # Atheros AR8121/AR8113/AR8114 Ethernet
#device         bce             # Broadcom BCM5706/BCM5708 Gigabit Ethernet
#device         bfe             # Broadcom BCM440x 10/100 Ethernet
#device         bge             # Broadcom BCM570xx Gigabit Ethernet
#device         dc              # DEC/Intel 21143 and various workalikes
#device         et              # Agere ET1310 10/100/Gigabit Ethernet
#device         fxp             # Intel EtherExpress PRO/100B (82557, 82558)
#device         jme             # JMicron JMC250 Gigabit/JMC260 Fast Ethernet
#device         lge             # Level 1 LXT1001 gigabit Ethernet
#device         msk             # Marvell/SysKonnect Yukon II Gigabit Ethernet
#device         nfe             # nVidia nForce MCP on-board Ethernet
#device         nge             # NatSemi DP83820 gigabit Ethernet
#device         nve             # nVidia nForce MCP on-board Ethernet Networking
#device         pcn             # AMD Am79C97x PCI 10/100 (precedence over 'le')
#device         re              # RealTek 8139C+/8169/8169S/8110S
#device         rl              # RealTek 8129/8139
#device         sf              # Adaptec AIC-6915 (``Starfire'')
#device         sge             # Silicon Integrated Systems SiS190/191
#device         sis             # Silicon Integrated Systems SiS 900/SiS 7016
#device         sk              # SysKonnect SK-984x & SK-982x gigabit Ethernet
#device         ste             # Sundance ST201 (D-Link DFE-550TX)
#device         stge            # Sundance/Tamarack TC9021 gigabit Ethernet
#device         tl              # Texas Instruments ThunderLAN
#device         tx              # SMC EtherPower II (83c170 ``EPIC'')
#device         vge             # VIA VT612x gigabit Ethernet
#device         vr              # VIA Rhine, Rhine II
#device         wb              # Winbond W89C840F
#device         xl              # 3Com 3c90x (``Boomerang'', ``Cyclone'')

# ISA Ethernet NICs.  pccard NICs included.
#device         cs              # Crystal Semiconductor CS89x0 NIC
# 'device ed' requires 'device miibus'
#device         ed              # NE[12]000, SMC Ultra, 3c503, DS8390 cards
#device         ex              # Intel EtherExpress Pro/10 and Pro/10+
#device         ep              # Etherlink III based cards
#device         fe              # Fujitsu MB8696x based cards
#device         ie              # EtherExpress 8/16, 3C507, StarLAN 10 etc.
#device         sn              # SMC's 9000 series of Ethernet chips
#device         xe              # Xircom pccard Ethernet

# Wireless NIC cards
#device         wlan            # 802.11 support
#options        IEEE80211_DEBUG # enable debug msgs
#options        IEEE80211_AMPDU_AGE # age frames in AMPDU reorder q's
#options        IEEE80211_SUPPORT_MESH  # enable 802.11s draft support
#device         wlan_wep        # 802.11 WEP support
#device         wlan_ccmp       # 802.11 CCMP support
#device         wlan_tkip       # 802.11 TKIP support
#device         wlan_amrr       # AMRR transmit rate control algorithm
#device         an              # Aironet 4500/4800 802.11 wireless NICs.
#device         ath             # Atheros pci/cardbus NIC's
#device         ath_hal         # pci/cardbus chip support
#options        AH_SUPPORT_AR5416       # enable AR5416 tx/rx descriptors
#device         ath_rate_sample # SampleRate tx rate control for ath
#device         ral             # Ralink Technology RT2500 wireless NICs.
#device         wi              # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
#device         wl              # Older non 802.11 Wavelan wireless NIC.

# Pseudo devices.
device          loop            # Network loopback
device          random          # Entropy device
device          ether           # Ethernet support
device          vlan            # 802.1Q VLAN support
device          tun             # Packet tunnel.
device          pty             # BSD-style compatibility pseudo ttys
#device         md              # Memory "disks"
#device         gif             # IPv6 and IPv4 tunneling
#device         faith           # IPv6-to-IPv4 relaying (translation)
device          firmware        # firmware assist module

# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
# Note that 'bpf' is required for DHCP.
device          bpf             # Berkeley packet filter

# USB support
#options        USB_DEBUG       # enable debug msgs
#device         uhci            # UHCI PCI->USB interface
#device         ohci            # OHCI PCI->USB interface
#device         ehci            # EHCI PCI->USB interface (USB 2.0)
#device         usb             # USB Bus (required)
#device         udbp            # USB Double Bulk Pipe devices
#device         uhid            # "Human Interface Devices"
#device         ukbd            # Keyboard
#device         ulpt            # Printer
#device         umass           # Disks/Mass storage - Requires scbus and da
#device         ums             # Mouse
#device         urio            # Diamond Rio 500 MP3 player
# USB Serial devices
#device         u3g             # USB-based 3G modems (Option, Huawei, Sierra)
#device         uark            # Technologies ARK3116 based serial adapters
#device         ubsa            # Belkin F5U103 and compatible serial adapters
#device         uftdi           # For FTDI usb serial adapters
#device         uipaq           # Some WinCE based devices
#device         uplcom          # Prolific PL-2303 serial adapters
#device         uslcom          # SI Labs CP2101/CP2102 serial adapters
#device         uvisor          # Visor and Palm devices
#device         uvscom          # USB serial support for DDI pocket's PHS
# USB Ethernet, requires miibus
#device         aue             # ADMtek USB Ethernet
#device         axe             # ASIX Electronics USB Ethernet
#device         cdce            # Generic USB over Ethernet
#device         cue             # CATC USB Ethernet
#device         kue             # Kawasaki LSI USB Ethernet
#device         rue             # RealTek RTL8150 USB Ethernet
#device         udav            # Davicom DM9601E USB
# USB Wireless
#device         rum             # Ralink Technology RT2501USB wireless NICs
#device         uath            # Atheros AR5523 wireless NICs
#device         ural            # Ralink Technology RT2500USB wireless NICs
#device         zyd             # ZyDAS zb1211/zb1211b wireless NICs

# FireWire support
#device         firewire        # FireWire bus code
#device         sbp             # SCSI over FireWire (Requires scbus and da)
#device         fwe             # Ethernet over FireWire (non-standard!)
#device         fwip            # IP over FireWire (RFC 2734,3146)
#device         dcons           # Dumb console driver
#device         dcons_crom      # Configuration ROM for dcons

Практически ничего не удалял - для наглядности. На самом деле лучше и легче просто удалять ненужные строки.

Конфиг ядра готов. Можно запускать сборку:

cd /usr/src/ && make buildworld && make buildkernel KERNCONF=RublinKERN && make installkernel KERNCONF=RublinKERN

И снова наблюдаем матрицу )))

По завершению (если не было ошибок) перезагружаемся:

shutdown -r now

Если все ок - загрузиться наша FreeBSD с новым ядром. Если же возникли проблемы и система не грузится - нужно загрузиться с ядром GENERIC и снова пересобрать свое ядро, исправив допущенную ошибку. Для этого нужно выбрать шестой пункт (Escape to a loader prompt) запуска системы и выполнить:

unload kernel
boot /boot/kernel.old/kernel

Это загрузит предыдущую версию ядра.

Важно! Нужно помнить, что при следующей попытке пересобрать ядро kernel.old будет заменен нерабочим.

Продолжим действия, описанные в файле /usr/src/Makefile:

cd /usr/src
mergemaster -p
make installworld
make delete-old
mergemaster  shutdown -r now

И последний штрих:

cd /usr/src && make delete-old-libs

Вот и все, ничего сложного. Сервер готов для дальнейшего использования.

Tags: 

Post new comment

Filtered HTML

  • Адреси сторінок і електронної пошти атоматично перетворюються у посилання.
  • Дозволені теги HTML: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Рядки та параграфи відокремлюються автоматично.

Plain text

  • HTML теґи не відображаються
  • Адреси сторінок і електронної пошти атоматично перетворюються у посилання.
  • Рядки та параграфи відокремлюються автоматично.
By submitting this form, you accept the Mollom privacy policy.
© rublin.org, 2009 - 2012 Буду вдячний за зворотнє посилання, при використанні матеріалів сайту. Powered by Rublin Team.