利用Cobbler批量快速网络安装CentOS
Cobbler是什么?
测试环境:
- [root@server1 ~]# wget http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
- [root@server1 ~]# rpm -ivh epel-release-5-4.noarch.rpm
- warning: epel-release-5-4.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 217521f6
- Preparing... ########################################### [100%]
- 1:epel-release ########################################### [100%]
- [root@server1 ~]#
- [root@server1 ~]# yum -y install cobbler httpd rsync tftp-server xinetd dhcp python-ctypes pykickstart cman
- ...
- cobbler-2.2.2-1.el5.rf.noarch from rpmforge has depsolving problems
- --> Missing Dependency: python-netaddr is needed by package cobbler-2.2.2-1.el5.rf.noarch (rpmforge)
- cobbler-2.2.2-1.el5.rf.noarch from rpmforge has depsolving problems
- --> Missing Dependency: mod_wsgi is needed by package cobbler-2.2.2-1.el5.rf.noarch (rpmforge)
- Error: Missing Dependency: python-netaddr is needed by package cobbler-2.2.2-1.el5.rf.noarch (rpmforge)
- Error: Missing Dependency: mod_wsgi is needed by package cobbler-2.2.2-1.el5.rf.noarch (rpmforge)
- You could try using --skip-broken to work around the problem
- You could try running: package-cleanup --problems
- package-cleanup --dupes
- rpm -Va --nofiles --nodigest
- [root@server1 ~]# wget ftp://rpmfind.net/linux/epel/5/i386/python-netaddr-0.5.2-1.el5.noarch.rpm
- [root@server1 ~]# rpm -ivh python-netaddr-0.5.2-1.el5.noarch.rpm
- warning: python-netaddr-0.5.2-1.el5.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 217521f6
- Preparing... ########################################### [100%]
- 1:python-netaddr ########################################### [100%]
- [root@server1 ~]# wget ftp://rpmfind.net/linux/epel/5/i386/mod_wsgi-3.2-2.el5.i386.rpm
- [root@server1 ~]# rpm -ivh mod_wsgi-3.2-2.el5.i386.rpm
- warning: mod_wsgi-3.2-2.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 217521f6
- Preparing... ########################################### [100%]
- 1:mod_wsgi ########################################### [100%]
- [root@server1 ~]# yum -y install cobbler httpd rsync tftp-server xinetd dhcp python-ctypes pykickstart cman
- ...中间省略
- [root@server1 ~]# chkconfig httpd on
- [root@server1 ~]# chkconfig cobblerd on
- [root@server1 ~]# chkconfig dhcpd on
- [root@server1 ~]# chkconfig xinetd on
- [root@server1 ~]#/etc/init.d/iptables stop
- [root@server1 ~]#chkconfig --level 35 iptables off
- [root@server1 ~]#chmod +x /etc/init.d/cobbler_all
- 用法:/etc/init.d/cobbler_all start|stop|startus|sync
- #!/bin/bash
- case $1 in
- start)
- /etc/init.d/httpd start
- /etc/init.d/xinetd start
- /etc/init.d/dhcpd start
- /etc/init.d/cobblerd start
- ;;
- stop)
- /etc/init.d/httpd stop
- /etc/init.d/xinetd stop
- /etc/init.d/dhcpd stop
- /etc/init.d/cobblerd stop
- ;;
- status)
- /etc/init.d/httpd status
- /etc/init.d/xinetd status
- /etc/init.d/dhcpd status
- /etc/init.d/cobblerd status
- ;;
- sync)
- cobbler sync
- ;;
- *)
- echo "Input error,please in put 'start|stop|status|sync'!";
- exit 2>&1 >/dev/null &
- ;;
- esac
- [root@server1 ~]# vim /etc/cobbler/settings
- next_server: 127.0.0.1 修改为:next_server: 192.168.0.45(是cobbler服务器的地址)
- server: 127.0.0.1 修改为: server: 192.168.0.45(是cobbler服务器的地址)
- manage_dhcp: 0 修改为 manage_dhcp: 1 (1意思就是由cobbler自动管理dhcpd)
- manage_rsync: 0 修改为 manage_rsync: 1 (1意思就是由cobbler自动管理rsync)
- [root@server1 ~]# vim /etc/httpd/conf/httpd.conf 在LoadModule附近 添加以下行
- LoadModule suexec_module modules/mod_suexec.so
- LoadModule disk_cache_module modules/mod_disk_cache.so
- LoadModule file_cache_module modules/mod_file_cache.so
- LoadModule mem_cache_module modules/mod_mem_cache.so
- LoadModule cgi_module modules/mod_cgi.so
- LoadModule version_module modules/mod_version.so
- LoadModule wsgi_module modules/mod_wsgi.so <- 在这里添加这行
- [root@server1 ~]# service httpd start
- 启动 httpd: [确定]
- [root@server1 ~]# service cobblerd start
- Starting cobbler daemon: [确定]
- [root@server1 ~]#
- [root@server1 ~]# vim /etc/xinetd.d/rsync
- service rsync
- {
- disable = no 修改yes 为 no(就是启用)
- socket_type = stream
- wait = no
- user = root
- server = /usr/bin/rsync
- server_args = --daemon
- log_on_failure += USERID
- }
- [root@server1 ~]# vim /etc/xinetd.d/tftp
- service tftp
- {
- socket_type = dgram
- protocol = udp
- wait = yes
- user = root
- server = /usr/sbin/in.tftpd
- server_args = -s /tftpboot
- disable = no 修改yes 为 no(就是启用)
- per_source = 11
- cps = 100 2
- flags = IPv4
- }
- [root@server1 ~]# vim /etc/cobbler/dhcp.template
- ddns-update-style interim;
- allow booting;
- allow bootp;
- ignore client-updates;
- set vendorclass = option vendor-class-identifier;
- subnet 192.168.0.0 netmask 255.255.255.0 {
- option routers 192.168.0.1;
- option domain-name-servers 192.168.0.1;
- option subnet-mask 255.255.255.0;
- range dynamic-bootp 192.168.0.10 192.168.0.20;
- filename "/pxelinux.0";
- default-lease-time 21600;
- max-lease-time 43200;
- next-server $next_server;
- }
- [root@server1 ~]# cobbler check
- The following are potential configuration items that you may want to fix:
- 1 : some network boot-loaders are missing from /var/lib/cobbler/loaders, you may run 'cobbler get-loaders' to download them, or, if you only want to handle x86/x86_64 netbooting, you may ensure that you have installed a *recent* version of the syslinux package installed and can ignore this message entirely. Files in this directory, should you want to support all architectures, should include pxelinux.0, menu.c32, elilo.efi, and yaboot. The 'cobbler get-loaders' command is the easiest way to resolve these requirements.
- 2 : debmirror package is not installed, it will be required to manage debian deployments and repositories
- 3 : The default password used by the sample templates for newly installed machines (default_password_crypted in /etc/cobbler/settings) is still set to 'cobbler' and should be changed, try: "openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'" to generate new one
- Restart cobblerd and then run 'cobbler sync' to apply changes.
- [root@server1 ~]# cobbler get-loaders
- task started: 2012-12-09_055900_get_loaders
- task started (id=Download Bootloader Content, time=Sun Dec 9 05:59:00 2012)
- downloading http://dgoodwin.fedorapeople.org/loaders/README to /var/lib/cobbler/loaders/README
- downloading http://dgoodwin.fedorapeople.org/loaders/COPYING.elilo to /var/lib/cobbler/loaders/COPYING.elilo
- downloading http://dgoodwin.fedorapeople.org/loaders/COPYING.yaboot to /var/lib/cobbler/loaders/COPYING.yaboot
- downloading http://dgoodwin.fedorapeople.org/loaders/COPYING.syslinux to /var/lib/cobbler/loaders/COPYING.syslinux
- downloading http://dgoodwin.fedorapeople.org/loaders/elilo-3.8-ia64.efi to /var/lib/cobbler/loaders/elilo-ia64.efi
- downloading http://dgoodwin.fedorapeople.org/loaders/yaboot-1.3.14-12 to /var/lib/cobbler/loaders/yaboot
- downloading http://dgoodwin.fedorapeople.org/loaders/pxelinux.0-3.61 to /var/lib/cobbler/loaders/pxelinux.0
- downloading http://dgoodwin.fedorapeople.org/loaders/menu.c32-3.61 to /var/lib/cobbler/loaders/menu.c32
- downloading http://dgoodwin.fedorapeople.org/loaders/grub-0.97-x86.efi to /var/lib/cobbler/loaders/grub-x86.efi
- downloading http://dgoodwin.fedorapeople.org/loaders/grub-0.97-x86_64.efi to /var/lib/cobbler/loaders/grub-x86_64.efi
- *** TASK COMPLETE *** <-看到这就代表成功完成
- [root@server1 ~]# openssl passwd -1 -salt 'thinkpad' '123456'
- $1$thinkpad$NIq68XbeN51UgdtXiSOAE.
- default_password_crypted: "$1$thinkpad$NIq68XbeN51UgdtXiSOAE."
- [root@server1 log]# mkdir /mnt/centos5.6
- [root@server1 log]# mount /dev/cdrom /mnt/centos5.6/
- mount: block device /dev/cdrom is write-protected, mounting read-only
- [root@server1 log]# cobbler import --path=/mnt/centos5.6/ --name=centos5.6-i386 这个进行的时间比较长
- task started: 2012-12-09_064244_import
- task started (id=Media import, time=Sun Dec 9 06:42:44 2012)
- Found a redhat compatible signature: CentOS
- adding distros
- creating new distro: centos5.6-xen-i386
- creating new profile: centos5.6-xen-i386
- creating new distro: centos5.6-i386
- creating new profile: centos5.6-i386
- associating repos
- traversing distro centos5.6-xen-i386
- descent into /var/www/cobbler/ks_mirror/centos5.6-i386
- processing repo at : /var/www/cobbler/ks_mirror/centos5.6-i386
- need to process repo/comps: /var/www/cobbler/ks_mirror/centos5.6-i386
- looking for /var/www/cobbler/ks_mirror/centos5.6-i386/repodata/*comps*.xml
- running: createrepo -c cache -s sha --groupfile /var/www/cobbler/ks_mirror/centos5.6-i386/repodata/comps.xml /var/www/cobbler/ks_mirror/centos5.6-i386
- 2644/2644 - CentOS/boost-doc-1.33.1-10.el5.i386.rpm pm86.rpm
- Saving Primary metadata
- Saving file lists metadata
- Saving other metadata
- received on stderr: This option is deprecated
- traversing distro centos5.6-i386
- descent into /var/www/cobbler/ks_mirror/centos5.6-i386
- processing repo at : /var/www/cobbler/ks_mirror/centos5.6-i386
- need to process repo/comps: /var/www/cobbler/ks_mirror/centos5.6-i386
- looking for /var/www/cobbler/ks_mirror/centos5.6-i386/repodata/*comps*.xml
- running: createrepo -c cache -s sha --groupfile /var/www/cobbler/ks_mirror/centos5.6-i386/repodata/comps.xml /var/www/cobbler/ks_mirror/centos5.6-i386
- 2644/2644 - CentOS/boost-doc-1.33.1-10.el5.i386.rpm pm86.rpm
- Saving Primary metadata
- Saving file lists metadata
- Saving other metadata
- received on stderr: This option is deprecated
- associating kickstarts
- *** TASK COMPLETE *** <-看到这就代表成功完成
- [root@server1 ~]# service cobblerd restart
- Stopping cobbler daemon: [确定]
- Starting cobbler daemon: [确定]
- [root@server1 ~]# cobbler sync
- task started: 2012-12-09_070816_sync
- task started (id=Sync, time=Sun Dec 9 07:08:16 2012)
- running pre-sync triggers
- cleaning trees
- removing: /var/www/cobbler/p_w_picpaths/centos5.6-i386
- removing: /var/www/cobbler/p_w_picpaths/centos5.6-xen-i386
- removing: /tftpboot/pxelinux.cfg/default
- removing: /tftpboot/grub/efidefault
- removing: /tftpboot/grub/grub-x86_64.efi
- removing: /tftpboot/grub/p_w_picpaths
- removing: /tftpboot/grub/grub-x86.efi
- removing: /tftpboot/s390x/profile_list
- copying bootloaders
- trying hardlink /var/lib/cobbler/loaders/grub-x86_64.efi -> /tftpboot/grub/grub-x86_64.efi
- trying hardlink /var/lib/cobbler/loaders/grub-x86.efi -> /tftpboot/grub/grub-x86.efi
- copying distros to tftpboot
- copying files for distro: centos5.6-xen-i386
- trying hardlink /var/www/cobbler/ks_mirror/centos5.6-i386/p_w_picpaths/xen/vmlinuz -> /tftpboot/p_w_picpaths/centos5.6-xen-i386/vmlinuz
- trying hardlink /var/www/cobbler/ks_mirror/centos5.6-i386/p_w_picpaths/xen/initrd.img -> /tftpboot/p_w_picpaths/centos5.6-xen-i386/initrd.img
- copying files for distro: centos5.6-i386
- trying hardlink /var/www/cobbler/ks_mirror/centos5.6-i386/p_w_picpaths/pxeboot/vmlinuz -> /tftpboot/p_w_picpaths/centos5.6-i386/vmlinuz
- trying hardlink /var/www/cobbler/ks_mirror/centos5.6-i386/p_w_picpaths/pxeboot/initrd.img -> /tftpboot/p_w_picpaths/centos5.6-i386/initrd.img
- copying p_w_picpaths
- generating PXE configuration files
- generating PXE menu structure
- copying files for distro: centos5.6-xen-i386
- trying hardlink /var/www/cobbler/ks_mirror/centos5.6-i386/p_w_picpaths/xen/vmlinuz -> /var/www/cobbler/p_w_picpaths/centos5.6-xen-i386/vmlinuz
- trying hardlink /var/www/cobbler/ks_mirror/centos5.6-i386/p_w_picpaths/xen/initrd.img -> /var/www/cobbler/p_w_picpaths/centos5.6-xen-i386/initrd.img
- copying files for distro: centos5.6-i386
- trying hardlink /var/www/cobbler/ks_mirror/centos5.6-i386/p_w_picpaths/pxeboot/vmlinuz -> /var/www/cobbler/p_w_picpaths/centos5.6-i386/vmlinuz
- trying hardlink /var/www/cobbler/ks_mirror/centos5.6-i386/p_w_picpaths/pxeboot/initrd.img -> /var/www/cobbler/p_w_picpaths/centos5.6-i386/initrd.img
- rendering DHCP files
- generating /etc/dhcpd.conf
- rendering TFTPD files
- generating /etc/xinetd.d/tftp
- cleaning link caches
- rendering Rsync files
- running post-sync triggers
- running python triggers from /var/lib/cobbler/triggers/sync/post/*
- running python trigger cobbler.modules.sync_post_restart_services
- running: dhcpd -t -q
- received on stdout:
- received on stderr:
- running: service dhcpd restart
- received on stdout: 关闭 dhcpd:[确定]
- 启动 dhcpd:[确定]
- received on stderr:
- running shell triggers from /var/lib/cobbler/triggers/sync/post/*
- running python triggers from /var/lib/cobbler/triggers/change/*
- running python trigger cobbler.modules.scm_track
- running shell triggers from /var/lib/cobbler/triggers/change/*
- *** TASK COMPLETE *** <-看到这就代表成功完成
[root@server1 ~]# cobbler distro list
centos5.6-i386 <- 这是刚刚导入的镜像的名字
centos5.6-xen-i386
Yum Utilities
拨号联网支持
系统工具
网络服务器
邮件服务器
- [root@server1 ~]# cobbler profile edit --name=centos5.6-i386 --distro=centos5.6-i386 --kickstart=/var/lib/cobbler/kickstarts/centos5.6-i386.ks
- #platform=x86, AMD64, or Intel EM64T
- # System authorization information
- auth --useshadow --enablemd5
- # System bootloader configuration
- bootloader --location=mbr
- # Partition clearing information
- clearpart --all --initlabel
- # Use text mode install
- text
- # Firewall configuration
- firewall --disable
- # Run the Setup Agent on first boot
- firstboot --disable
- # System keyboard
- keyboard us
- # System language
- lang zh_CN.UTF-8
- # Use network installation
- url --url=$tree
- # If any cobbler repo definitions were referenced in the kickstart profile, include them here.
- $yum_repo_stanza
- # Network information
- $SNIPPET('network_config')
- # Reboot after installation
- reboot
- #Root password
- rootpw --iscrypted $default_password_crypted
- # SELinux configuration
- selinux --disabled
- # Do not configure the X Window System
- skipx
- # System timezone
- timezone Asia/Shanghai
- # Install OS instead of upgrade
- install
- # Clear the Master Boot Record
- zerombr
- # Allow anaconda to partition the system as needed
- # autopart
- #NO LVM 这里的分区没有配置LVM
- part /boot --bytes-per-inode=4096 --fstype="ext3" --size=200
- part swap --bytes-per-inode=4096 --fstype="swap" --size=800
- part / --bytes-per-inode=4096 --fstype="ext3" --size=5000
- part /data --bytes-per-inode=4096 --fstype="ext3" --grow --size=1
- #LVM Setting 这的分区有配置LVM
- #part /boot --bytes-per-inode=4096 --fstype="ext3" --size=200
- #part swap --bytes-per-inode=4096 --fstype="swap" --size=800
- #part pv.01 --size=1 --grow
- #volgroup myvg pv.01
- #logvol / --vgname=myvg --size=5000 --name=rootvol --bytes-per-inode=4096 --fstype="ext3"
- #logvol /data --vgname=myvg --size=1 --grow --name=datavol --bytes-per-inode=4096 --fstype="ext3"
- # network configure
- network --bootproto=dhcp --device=eth0 --noipv6 --onboot=on --hostname=test.com
- # network --bootproto=static --device=eth1 --ip=192.168.1.2 --netmask=255.255.255.0 --gateway=192.168.1.1 --noipv6 --onboot=on
- %pre
- $SNIPPET('log_ks_pre')
- $SNIPPET('kickstart_start')
- $SNIPPET('pre_install_network_config')
- # Enable installation monitoring
- $SNIPPET('pre_anamon')
- %packages
- #$SNIPPET('func_install_if_enabled')
- #$SNIPPET('puppet_install_if_enabled')
- @base
- @editors
- @development-libs
- @development-tools
- @x-software-development
- @system-tools
- @text-internet
- @chinese-support
- imake
- expect
- %post
- $SNIPPET('log_ks_post')
- # Start yum configuration
- $yum_config_stanza
- # End yum configuration
- $SNIPPET('post_install_kernel_options')
- $SNIPPET('post_install_network_config')
- $SNIPPET('func_register_if_enabled')
- $SNIPPET('puppet_register_if_enabled')
- $SNIPPET('download_config_files')
- $SNIPPET('koan_environment')
- $SNIPPET('redhat_register')
- $SNIPPET('cobbler_register')
- # Enable post-install boot notification
- $SNIPPET('post_anamon')
- # Start final steps
- $SNIPPET('kickstart_done')
- # End final steps
- %post
- echo "ulimit -SHn 102400" >> /etc/rc.local
- sed -i 's/HISTSIZE\=1000/HISTSIZE\=50/' /etc/profile
- sed -i "s/ca::ctrlaltdel:\/sbin\/shutdown -t3 -r now/#ca::ctrlaltdel:\/sbin\/shutdown -t3 -r now/" /etc/inittab
- sed -i '48,50 s/^/#/' /etc/inittab
- /sbin/init q
- sed -i "8 s/^/alias vi='vim'/" /root/.bashrc
- cat >> /root/.vimrc << EOF
- syntax on
- set number
- set autoindent
- set shiftwidth=4
- set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936
- EOF
- sed -i -e '74 s/^/#/' -i -e '76 s/^/#/' /etc/ssh/sshd_config
- sed -i "s/#UseDNS yes/UseDNS no/" /etc/ssh/sshd_config
- sed -i -e '44 s/^/#/' -i -e '48 s/^/#/' /etc/ssh/sshd_config
- for i in `ls /etc/rc3.d/S*`
- do
- CURSRV=`echo $i|cut -c 15-`
- echo $CURSRV
- case $CURSRV in
- crond | irqbalance | microcode_ctl | network | random | sshd | syslog | local )
- echo "Base services, Skip!"
- ;;
- *)
- echo "change $CURSRV to off"
- chkconfig --level 235 $CURSRV off
- service $CURSRV stop
- ;;
- esac
- done
- true > /etc/sysctl.conf
- cat >> /etc/sysctl.conf << EOF
- kernel.sysrq = 0
- kernel.core_uses_pid = 1
- kernel.msgmnb = 65536
- kernel.msgmax = 65536
- kernel.shmmax = 68719476736
- kernel.shmall = 4294967296
- net.core.wmem_default = 8388608
- net.core.rmem_default = 8388608
- net.core.rmem_max = 16777216
- net.core.wmem_max = 16777216
- net.core.netdev_max_backlog = 262144
- net.core.somaxconn = 262144
- net.ipv4.ip_forward = 0
- net.ipv4.conf.default.rp_filter = 1
- net.ipv4.conf.default.accept_source_route = 0
- net.ipv4.tcp_syncookies = 1
- net.ipv4.tcp_max_tw_buckets = 6000
- net.ipv4.tcp_sack = 1
- net.ipv4.tcp_window_scaling = 1
- net.ipv4.tcp_rmem = 4096 87380 4194304
- net.ipv4.tcp_wmem = 4096 16384 4194304
- net.ipv4.tcp_max_orphans = 3276800
- net.ipv4.tcp_max_syn_backlog = 262144
- net.ipv4.tcp_timestamps = 0
- net.ipv4.tcp_synack_retries = 1
- net.ipv4.tcp_syn_retries = 1
- net.ipv4.tcp_tw_recycle = 1
- net.ipv4.tcp_tw_reuse = 1
- net.ipv4.tcp_mem = 94500000 915000000 927000000
- net.ipv4.tcp_fin_timeout = 1
- net.ipv4.tcp_keepalive_time = 1200
- net.ipv4.ip_local_port_range = 1024 65535
- EOF
- /sbin/sysctl -p
启动 dhcpd: [失败]
Dec 9 06:19:23 server1 dhcpd: To get the same behaviour as in 3.0b2pl11 and previous
Dec 9 06:19:23 server1 dhcpd: versions, add a line that says "ddns-update-style ad-hoc;"
Dec 9 06:19:23 server1 dhcpd: Please read the dhcpd.conf manual page for more information. **
转载于:https://blog.51cto.com/linux5588/1085345
利用Cobbler批量快速网络安装CentOS相关推荐
- u盘启动pxe安装linux,U盘启动安装centos5.5+centos6.3+PXE网络安装CentOS
此U盘启动安装盘的功能: 1.0pe可用来进行系统维护: 2.0pe可安装windows 2003原版系统: 3.0pe可作为pxe服务器进行网络安装,加上http服务器软件可提供网络安装CentOS ...
- 利用Cobbler批量布署CentOS
从事网游运维的兄弟们应该深有感触,往往在开新服的时候需要大批量的布署新的服务器,时间紧迫而且量大,装系统.初始化,枯燥而又乏味,有时还容易出错, 为了解放我们的双手,所以要实现自动化,Red Hat ...
- 网络安装Centos x64 6.10
1.下载老毛桃PE最新增强版本,然后生成一个可启动U盘. 2.在U盘或移动硬盘中创建一个目录 MYEXT,然后把centos的安装iso放到里面. 3.引导选择从外置ISO进行安装. https:// ...
- linux网络引导安装windows,pxe启动网络安装CentOS(win平台)
准备: 1. windows电脑一台,并且下载CentOS 5.X 版本的iso 2. 用于被安装的Linux Server,主板支持PXE启动并且设置为第一启动顺序. 3. 下载windows下的t ...
- 如何利用cobbler 实现系统自动化安装及web管理
1 安装包和配置服务 root:~# yum install cobbler dhcp -y root:~# systemctl enable tftp dhcpd httpd cobblerd ro ...
- 利用cobbler 实现系统自动化安装及web管理
1 安装包和配置服务 root:~# yum install cobbler dhcp -y root:~# systemctl enable tftp dhcpd httpd cobblerd ro ...
- 68.第十五章 运维自动化之系统部署 -- 利用Cobbler实现自动化安装(三)
5.利用 cobbler 实现自动化安装 5.1 Cobbler 简介 Cobbler是一款Linux生态的自动化运维工具,基于Python2开发,用于自动化批量部署安装操作系统:其提供基于CLI的管 ...
- centos树莓派安装mysql_用树莓派实现网络批量自动安装CentOS
一个让网络安装centos更轻松的项目. 使用树莓派 + Archlinux + tftp + dhcp + vsftp 来实现. 你只需要做的事就是搞一个ks.cfg, 放到指定的位置, 然后带着树 ...
- ESXi安装CentOS
ESXi安装 参考:https://blog.csdn.net/tongxin_tongmeng/article/details/129466704 CentOS安装 镜像:http://mirror ...
最新文章
- android自定义线程池工具类,妈妈再也不用担心你不会使用线程池了(ThreadUtils)...
- 装箱问题C语言报告,装包装箱问题 (C语言代码)
- Linux线程(六)
- 【CCNA Exploration 4.0 路由协议和概念3】
- spss20安装许可证代码_Spss 23软件下载与安装
- 测试ai模糊软件,“马赛克视频”还原软件被疯传!实际测试后,效果差距太大!...
- Linux中编译mdio命令,linux网络设备—mdio总线
- 11年电赛综合测评——单运放三角波发生器
- 物联网NB-IoT技术商用正全面铺开 竞争日趋激烈
- html表格如何创建搜索,6.如何创建HTML表格
- 大学四年对比度:看的见的青春渐变
- 轻松学编曲,论FL钢琴卷帘
- 使用mac电脑生成 icns图标
- 鲁能群英荟萃 萝卜开会
- 【3D游戏模型】在ZBrush中制作3D兽人
- 嘉楠科技任命成进为首席财务官:高管变动频繁,多名核心股东减持
- 基础SQL Server 操作问题——仅当使用了列表并且IDENTITY_INSERT为ON时,才能为表中的标识列制定显示值
- ADC的积分非线性和微分非线性
- Lecture 22
- SAP 生产订单/流程订单中日期的解释