首页
归档
时光轴
推荐
Cloud
图床
导航
Search
1
Deploy OpenStack offline based on Kolla
737 阅读
2
openstact 基础环境安装 (手动版)
686 阅读
3
Mariadb 主从复制&读写分离
642 阅读
4
Typecho 1.2.0 部署
640 阅读
5
FusionCompute8.0 体验
573 阅读
Python
Linux
随笔
mysql
openstack
Search
标签搜索
linux
Pike
python
爬虫
openstack
mysql
Essay
Ansible
docker
Zabbix
kolla
Internet
Redis
1+X
Hyper-V
jenkins
Kickstart
自动化
sh
pxe
Acha
累计撰写
77
篇文章
累计收到
1
条评论
首页
栏目
Python
Linux
随笔
mysql
openstack
页面
归档
时光轴
推荐
Cloud
图床
导航
搜索到
28
篇与
的结果
2024-06-13
ipxe autoinstall debian12.4
ipxe autoinstall debian12.4 配置文件 目录结构 使用镜像源 mount -o loop /root/debian-12.4.0-amd64-DVD-1.iso /var/www/html/debian/ initrd.gz、linux # /var/www/html [root@localhost html]# tree -L 2 . ├── debian ├── ipxe │ ├── boot.ipxe │ ├── initrd.gz │ ├── ipxe.efi │ ├── linux │ └── undionly.kpxe └── preseed.cfg initrd.gz 改动 添加 scsi-modules https://mirrors.tuna.tsinghua.edu.cn/debian/pool/main/l/linux-signed-amd64/scsi-modules-6.1.0-15-amd64-di_6.1.69-1_amd64.udeb 修改 /usr/share/debconf/confmodule # 第四行添加 忽略源gpg报错 [ -f /usr/lib/apt-setup/generators/50mirror ] && \ sed -i 's/trusted=""/trusted="[trusted=yes] "/g' /usr/lib/apt-setup/generators/50mirror boot.ipxe #!ipxe kernel http://192.168.1.11/ipxe/linux vga=788 auto=true priority=critical preseed/url=http://192.168.1.11/preseed.cfg initrd http://192.168.1.11/ipxe/initrd.gz boot preseed.cfg ### 本地化 # 语言 d-i debian-installer/locale string en_US ### 键盘 d-i keyboard-configuration/xkb-keymap select us ### 网络 d-i netcfg/choose_interface select auto d-i netcfg/enable boolean true ### Mirror d-i mirror/country string manual d-i mirror/http/hostname string 192.168.1.11 d-i mirror/http/directory string /debian d-i mirror/http/proxy string ### Account setup d-i passwd/root-login boolean false d-i passwd/user-fullname string user d-i passwd/username string user d-i passwd/user-password password 123 d-i passwd/user-password-again password 123 ### 时区 d-i clock-setup/utc boolean true d-i time/zone string Asia/Shanghai d-i clock-setup/ntp boolean true ### 分区 d-i partman-auto/disk string /dev/sda d-i partman-auto/method string regular d-i partman-lvm/device_remove_lvm boolean true d-i partman-md/device_remove_md boolean true d-i partman-auto/choose_recipe select atomic d-i partman-partitioning/confirm_write_new_label boolean true d-i partman/choose_partition select finish d-i partman/confirm boolean true d-i partman/confirm_nooverwrite boolean true ### Apt setup d-i apt-setup/non-free boolean false d-i apt-setup/contrib boolean false d-i apt-setup/services-select multiselect main d-i debian-installer/allow_unauthenticated boolean true ### Package selection tasksel tasksel/first multiselect standard cinnamon-desktop # 选择桌面环境 d-i pkgsel/upgrade select none d-i pkgsel/language-packs multiselect en, zh d-i pkgsel/update-policy select none # d-i pkgsel/include string nano ### Boot loader installation d-i grub-installer/only_debian boolean true d-i grub-installer/bootdev string default ### Finishing up the installation d-i finish-install/keep-consoles boolean true dnsmasq 安装 yum install -y dnsmasq httpd 配置 dnsmasq.conf [root@localhost html]# grep -Ev '^#|^$' /etc/dnsmasq.conf conf-dir=/etc/dnsmasq.d,.rpmnew,.rpmsave,.rpmorig bind-interfaces dhcp-range=192.168.1.200,192.168.1.250,255.255.255.0,8h dhcp-option=option:router,192.168.1.2 dhcp-option=option:dns-server,223.5.5.5,223.6.6.6 enable-tftp tftp-root=/var/www/html/ipxe dhcp-match=set:bios,option:client-arch,0 dhcp-match=set:ipxe,175 dhcp-boot=tag:!ipxe,tag:bios,undionly.kpxe dhcp-boot=tag:!ipxe,tag:!bios,ipxe.efi dhcp-boot=tag:ipxe,boot.ipxe httpd rm /etc/httpd/conf.d/welcome.conf 添加配置文件 1. 上传 ipxe-debian12.4.tar.xz 2. 解压 tar xf ipxe-debian12.4.tar.xz -C /var/www/html 3. 修改 ip [root@localhost html]# grep -r 192.168.1.11 . ./ipxe/boot.ipxe:kernel http://192.168.1.11/ipxe/linux vga=788 auto=true priority=critical preseed/url=http://192.168.1.11/preseed.cfg ./ipxe/boot.ipxe:initrd http://192.168.1.11/ipxe/initrd.gz ./preseed.cfg:d-i mirror/http/hostname string 192.168.1.11 启动 systemctl start httpd systemctl start dnsmasq
2024年06月13日
170 阅读
0 评论
0 点赞
2023-09-25
makeself 制作 run包
makeself.sh 1. 安装 [root@thinkpad-e490 ~]# wget https://github.com/megastep/makeself/archive/refs/tags/release-2.4.5.zip [root@thinkpad-e490 ~]# unzip release-2.4.5.zip [root@thinkpad-e490 ~]# ls makeself-release-2.4.5 COPYING make-release.sh makeself-2.4.5 makeself.lsm README.md run-tests.sh VERSION Makefile makeself.1 makeself-header.sh makeself.sh release test [root@thinkpad-e490 ~]# cp makeself-release-2.4.5/makeself.sh /usr/bin/ 2. 使用 示例 makeself.sh [args] archive_dir file_name label startup_script [script_args] makeself --nox11 --nowait --bzip2 --base64 update-os/ update-os.run 'update os.' ./install.sh 参数 参数 参数使用说明 --version 打印版本号 --needroot 需要root用户才可以执行 --gzip 默认使用gzip工具进行压缩 --pigz gzip的多线程解决方案 --bzip2 使用bzip2代替gzip进行更好的压缩 --pbzip2 bzip2的多线程解决方案 --xz 使用xz代替gzip进行更好的压缩(远程支持多线程压缩) --zstd 使用zstd代替gzip进行更好的压缩 --threads thds 限制支持多线程解压缩工具所使用的线程数量 --base64 用Base64格式将存档编码为ASCII格式而不进行压缩 --gpg-encrypt 使用gpg -ac -z $COMPRESS_LEVEL加密归档文件,需要输入密码 --ssl-encrypt 使用openssl aes-256-cbc -a -salt加密归档文件,需要输入密码 --ssl-passwd pass 设置openssl加密归档文件需要输入的密码 --compress 使用UNIX系统的compress`命令压缩数据(在没有 gzip 时默认) --nocomp 不对存档文件进行压缩,默认是一个tar包 --complevel lvl 指定压缩级别,默认使用9级别 --notemp 生成的归档文件不会将文件解压缩到临时目录,而解压到当前目录的创建的新目录中 --current 文件将被提取到当前目录,而不是子目录中(同--notemp一样,但会提取没有文件夹) --follow 存储指向的文件而不是链接本身 --append file 将数据追加到现有存档中,而不是创建新文件 --header file 使用指定的脚本来代替默认的makeself-header.sh文件(默认与makeself文件同级) --cleanup file 指定在执行中断或成功完成时运行的脚本 --nomd5/--nocrc 禁止检查存档文件的MD5或CRC校验和 --tar-extra opt 在tar命令行中附加更多选项 --keep-umask 保持umask设置为shell默认值,而不是在执行自解压缩存档时覆盖 --packaging-date date 使用提供的字符串作为打包日期而不是当前日期 --license 附加许可证文件 --nooverwrite 如果指定的目标目录已经存在则不要解压缩存档 --header file 指定头部信息脚本文件的位置,默认为makeself-header.sh文件 --help-header file 在存档的--help输出中添加标题 --export-conf 将配置变量导出到startup_script脚本中 --nox11 禁用 xterm 的自动生成 --nowait 执行后不要等待用户输入 --noprogress 解压期间不显示进度
2023年09月25日
366 阅读
0 评论
0 点赞
2023-09-25
修改 deb 软件包
重新编译 deb TIPS: 使用 src源 对应 os 1、添加 src 源 # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware apt-get clean all apt update 2、安装编译环境 apt-get install dpkg-dev devscripts build-essential 3、编译 # 创建 文件夹 mkdir nginx cd nginx # 下载源码包 apt-get source nginx # 修改 源码、编译参数 ... # 提交修改 dpkg-buildpackage commit # 编译 dpkg-buildpackage -us -uc # 清理 dpkg-buildpackage -rfakeroot -Tclean
2023年09月25日
141 阅读
0 评论
0 点赞
2023-07-26
安装 Arch Linux
Arch Linux 1、获取镜像 http://mirrors.163.com/archlinux/iso/latest/ 2、安装前的准备 准备安装介质 启动到 Live 环境 验证引导模式 连接到互联网 更新系统时间 硬盘分区 格式化分区 挂载分区 # 验证引导模式 root@archiso ~ # [ -d /sys/firmware/efi/efivars/ ] && echo "Uefi" || echo "Bios" Uefi 磁盘 Uefi 磁盘分区选 GPT Bios 磁盘分区选 MBR grub 引导 # 获取 IP root@archiso ~ # ip addr | awk '/inet / {print $2}' | grep -v "127.0.0.1/8" 10.52.17.32/24 root@archiso ~ # ping www.baidu.com -c 2 PING www.a.shifen.com (36.152.44.96) 56(84) bytes of data. 64 bytes from 36.152.44.96 (36.152.44.96): icmp_seq=1 ttl=57 time=6.32 ms 64 bytes from 36.152.44.96 (36.152.44.96): icmp_seq=2 ttl=57 time=6.75 ms --- www.a.shifen.com ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 5135ms rtt min/avg/max/mdev = 6.319/6.532/6.745/0.213 ms root@archiso ~ # timedatectl set-timezone Asia/Shanghai root@archiso ~ # timedatectl status Local time: Tue 2023-04-04 13:16:06 CST Universal time: Tue 2023-04-04 05:16:06 UTC RTC time: Tue 2023-04-04 05:16:06 Time zone: Asia/Shanghai (CST, +0800) System clock synchronized: yes NTP service: active RTC in local TZ: no {collapse} {collapse-item label="分区" close} root@archiso ~ # lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS loop0 7:0 0 687.9M 1 loop /run/archiso/airootfs sda 8:0 0 149.1G 0 disk ├─sda1 8:1 0 149G 0 part │ └─ventoy 254:0 0 809.3M 1 dm └─sda2 8:2 0 32M 0 part mmcblk0 179:0 0 115.3G 0 disk ├─mmcblk0p1 179:1 0 500M 0 part ├─mmcblk0p2 179:2 0 2G 0 part └─mmcblk0p3 179:3 0 112.8G 0 part mmcblk0boot0 179:8 0 4M 1 disk mmcblk0boot1 179:16 0 4M 1 disk root@archiso ~ # fdisk /dev/mmcblk0 Welcome to fdisk (util-linux 2.38.1). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): p Disk /dev/mmcblk0: 115.25 GiB, 123748745216 bytes, 241696768 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x4746e965 Device Boot Start End Sectors Size Id Type /dev/mmcblk0p1 2048 1026047 1024000 500M ef EFI (FAT-12/16/32) /dev/mmcblk0p2 1026048 5220351 4194304 2G 82 Linux swap / Solaris /dev/mmcblk0p3 5220352 241696767 236476416 112.8G 83 Linux Command (m for help): d Partition number (1-3, default 3): Partition 3 has been deleted. Command (m for help): d Partition number (1,2, default 2): Partition 2 has been deleted. Command (m for help): d Selected partition 1 Partition 1 has been deleted. Command (m for help): p Disk /dev/mmcblk0: 115.25 GiB, 123748745216 bytes, 241696768 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x4746e965 Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): Using default response p. Partition number (1-4, default 1): First sector (2048-241696767, default 2048): Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-241696767, default 241696767): +1G Created a new partition 1 of type 'Linux' and of size 1 GiB. Partition #1 contains a vfat signature. Do you want to remove the signature? [Y]es/[N]o: y The signature will be removed by a write command. Command (m for help): n Partition type p primary (1 primary, 0 extended, 3 free) e extended (container for logical partitions) Select (default p): Using default response p. Partition number (2-4, default 2): First sector (2099200-241696767, default 2099200): Last sector, +/-sectors or +/-size{K,M,G,T,P} (2099200-241696767, default 241696767): +2G Created a new partition 2 of type 'Linux' and of size 2 GiB. Command (m for help): n Partition type p primary (2 primary, 0 extended, 2 free) e extended (container for logical partitions) Select (default p): Using default response p. Partition number (3,4, default 3): First sector (6293504-241696767, default 6293504): Last sector, +/-sectors or +/-size{K,M,G,T,P} (6293504-241696767, default 241696767): Created a new partition 3 of type 'Linux' and of size 112.2 GiB. Command (m for help): p Disk /dev/mmcblk0: 115.25 GiB, 123748745216 bytes, 241696768 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x4746e965 Device Boot Start End Sectors Size Id Type /dev/mmcblk0p1 2048 2099199 2097152 1G 83 Linux /dev/mmcblk0p2 2099200 6293503 4194304 2G 83 Linux /dev/mmcblk0p3 6293504 241696767 235403264 112.2G 83 Linux Filesystem/RAID signature on partition 1 will be wiped. Command (m for help): t Partition number (1-3, default 3): 1 Hex code or alias (type L to list all): L 00 Empty 27 Hidden NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT- 01 FAT12 39 Plan 9 83 Linux c4 DRDOS/sec (FAT- 02 XENIX root 3c PartitionMagic 84 OS/2 hidden or c6 DRDOS/sec (FAT- 03 XENIX usr 40 Venix 80286 85 Linux extended c7 Syrinx 04 FAT16 <32M 41 PPC PReP Boot 86 NTFS volume set da Non-FS data 05 Extended 42 SFS 87 NTFS volume set db CP/M / CTOS / . 06 FAT16 4d QNX4.x 88 Linux plaintext de Dell Utility 07 HPFS/NTFS/exFAT 4e QNX4.x 2nd part 8e Linux LVM df BootIt 08 AIX 4f QNX4.x 3rd part 93 Amoeba e1 DOS access 09 AIX bootable 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O 0a OS/2 Boot Manag 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor 0b W95 FAT32 52 CP/M a0 IBM Thinkpad hi ea Linux extended 0c W95 FAT32 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD eb BeOS fs 0e W95 FAT16 (LBA) 54 OnTrackDM6 a6 OpenBSD ee GPT 0f W95 Ext'd (LBA) 55 EZ-Drive a7 NeXTSTEP ef EFI (FAT-12/16/ 10 OPUS 56 Golden Bow a8 Darwin UFS f0 Linux/PA-RISC b 11 Hidden FAT12 5c Priam Edisk a9 NetBSD f1 SpeedStor 12 Compaq diagnost 61 SpeedStor ab Darwin boot f4 SpeedStor 14 Hidden FAT16 <3 63 GNU HURD or Sys af HFS / HFS+ f2 DOS secondary 16 Hidden FAT16 64 Novell Netware b7 BSDI fs f8 EBBR protective 17 Hidden HPFS/NTF 65 Novell Netware b8 BSDI swap fb VMware VMFS 18 AST SmartSleep 70 DiskSecure Mult bb Boot Wizard hid fc VMware VMKCORE 1b Hidden W95 FAT3 75 PC/IX bc Acronis FAT32 L fd Linux raid auto 1c Hidden W95 FAT3 80 Old Minix be Solaris boot fe LANstep 1e Hidden W95 FAT1 81 Minix / old Lin bf Solaris ff BBT 24 NEC DOS Aliases: linux - 83 swap - 82 extended - 05 uefi - EF raid - FD lvm - 8E linuxex - 85 Hex code or alias (type L to list all): ef Changed type of partition 'Linux' to 'EFI (FAT-12/16/32)'. Command (m for help): t Partition number (1-3, default 3): 2 Hex code or alias (type L to list all): 82 Changed type of partition 'Linux' to 'Linux swap / Solaris'. Command (m for help): p Disk /dev/mmcblk0: 115.25 GiB, 123748745216 bytes, 241696768 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x4746e965 Device Boot Start End Sectors Size Id Type /dev/mmcblk0p1 2048 2099199 2097152 1G ef EFI (FAT-12/16/32) /dev/mmcblk0p2 2099200 6293503 4194304 2G 82 Linux swap / Solaris /dev/mmcblk0p3 6293504 241696767 235403264 112.2G 83 Linux Filesystem/RAID signature on partition 1 will be wiped. Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks. root@archiso ~ # fdisk -l /dev/mmcblk0 Disk /dev/mmcblk0: 115.25 GiB, 123748745216 bytes, 241696768 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x4746e965 Device Boot Start End Sectors Size Id Type /dev/mmcblk0p1 2048 2099199 2097152 1G ef EFI (FAT-12/16/32) /dev/mmcblk0p2 2099200 6293503 4194304 2G 82 Linux swap / Solaris /dev/mmcblk0p3 6293504 241696767 235403264 112.2G 83 Linux root@archiso ~ # mkfs.ext4 /dev/mmcblk0p3 mke2fs 1.47.0 (5-Feb-2023) Discarding device blocks: done Creating filesystem with 29425408 4k blocks and 7356416 inodes Filesystem UUID: c7bfd5b1-7e6b-4ae5-b483-e1b4a2ed2674 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872 Allocating group tables: done Writing inode tables: done Creating journal (131072 blocks): done Writing superblocks and filesystem accounting information: done root@archiso ~ # mkswap /dev/mmcblk0p2 Setting up swapspace version 1, size = 2 GiB (2147479552 bytes) no label, UUID=5c75e41d-ee5a-4e2f-9346-eafc20ae1b1a root@archiso ~ # mkfs.fat -F 32 /dev/mmcblk0p1 mkfs.fat 4.2 (2021-01-31) {/collapse-item} {/collapse} root@archiso ~ # mount /dev/mmcblk0p3 /mnt root@archiso ~ # mount --mkdir /dev/mmcblk0p1 /mnt/boot/efi root@archiso ~ # swapon /dev/mmcblk0p2 3、安装 配置镜像源 安装软件包 root@archiso ~ # nano /etc/pacman.d/mirrorlist # 第一行添加 Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch root@archiso ~ # pacman -Syy :: Synchronizing package databases... core extra 153.9 KiB 719 KiB/s 00:00 [#########################################] 100% community 1746.2 KiB 13.4 MiB/s 00:00 [#########################################] 100% root@archiso ~ # pacman -S archlinux-keyring root@archiso ~ # pacstrap /mnt base base-devel linux-lts linux-firmware linux-lts-headers pacstrap /mnt base base-devel linux-lts linux-firmware linux-lts-headers 48.63s user 29.30s system 85% cpu 1:31.19 total root@archiso ~ # pacstrap /mnt networkmanager dhcpcd openssh vim git grub efibootmgr intel-ucode man-db man-pages ntfs-3g noto-fonts-cjk noto-fonts-emoji 4、安装后的配置 配置 Fstab Chroot 设置时区 设置区域语言 网络配置 & 主机名 root 密码 安装引导程序 重启 root@archiso ~ # genfstab -U /mnt >> /mnt/etc/fstab root@archiso ~ # cat /mnt/etc/fstab # Static information about the filesystems. # See fstab(5) for details. # <file system> <dir> <type> <options> <dump> <pass> # /dev/mmcblk0p3 UUID=c7bfd5b1-7e6b-4ae5-b483-e1b4a2ed2674 / ext4 rw,relatime 0 1 # /dev/mmcblk0p1 UUID=4973-14CE /boot vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro 0 2 # /dev/mmcblk0p2 UUID=5c75e41d-ee5a-4e2f-9346-eafc20ae1b1a none swap defaults 0 0 root@archiso ~ # arch-chroot /mnt [root@archiso /]# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime [root@archiso /]# date Tue Apr 4 14:00:44 CST 2023 [root@archiso /]# hwclock --systohc [root@archiso /]# vim /etc/locale.gen # 171 en_US.UTF-8 UTF-8 # 496 zh_CN.UTF-8 UTF-8 [root@archiso /]# locale-gen Generating locales... en_US.UTF-8... done zh_CN.UTF-8... done Generation complete. [root@archiso /]# echo "Arch" > /etc/hostname [root@archiso /]# passwd New password: Retype new password: passwd: password updated successfully {tabs} {tabs-pane label="Uefi"} [root@archiso /]# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB Installing for x86_64-efi platform. Installation finished. No error reported. [root@archiso /]# grub-mkconfig -o /boot/grub/grub.cfg {/tabs-pane} {tabs-pane label="Bios"} [root@archiso /]# grub-install # grub-install --target=i386-pc /dev/sda Installing for x86_64-efi platform. Installation finished. No error reported. [root@archiso /]# grub-mkconfig -o /boot/grub/grub.cfg {/tabs-pane} {/tabs} [root@archiso /]# useradd -m acha -G wheel [root@archiso /]# passwd acha New password: Retype new password: passwd: password updated successfully
2023年07月26日
113 阅读
0 评论
0 点赞
2023-05-15
Kickstart 自动装机
Kickstart 自动装机 参考: Kickstart Installations :: CentOS Docs Site Kickstart 命令选项 * 示例 #version=DEVEL # System authorization information # 系统 身份验证 auth --enableshadow --passalgo=sha512 # Use CDROM installation media # 使用 光驱 执行安装 cdrom # Use graphical install # 使用 图形化 安装界面 graphical # Run the Setup Agent on first boot # 系统第一次引导时启动 初始化设置 # 设置语言、鼠标、键盘、root 密码、安全级别、时区以及默认网络配置 firstboot --enable --reconfig # 接受最终用户许可证协议 # eula --agreed # 忽略其他盘,指定使用 sda # ignoredisk --only-use=sda # Keyboard layouts # 使用 美式键盘 keyboard --vckeymap=us --xlayouts='us' # System language # 系统 默认语言 lang en_US.UTF-8 # Network information # 网络 信息 # 设置主机名 network --hostname=localhost.localdomain # IP 设置,需指定 device,否则会取消后续所有network指令 # network --bootproto=static --device=ens33 --ip=172.16.1.10 --netmask=255.255.255.0 --gateway=172.16.1.2 --nameserver=8.8.8.8 --ipv6=auto --activate # Root password # root 密码 rootpw --iscrypted $6$CRq8DBBEWuqc6LMC$IsuckHWPV8S3mpq0WfceGChzqA6nNVZZGni5oTgQ/tZisMqOrHlmGHqbZKCZchcmuFEBEF8OVT78qzZTiTrNK. user --name=acha --plaintext --password=q --groups=wheel # System services # 系统 服务 services --enabled="chronyd" # 禁用 firewalld & selinux firewall --disabled selinux --disabled # System timezone # 系统 时间 timezone Asia/Shanghai --utc --ntpservers=ntp.aliyun.com # System bootloader configuration # 启动 引导配置 | grub2-mkpasswd-pbkdf2 设置密码 # bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda --password=grub.pbkdf2.sha512.10000.6CCA5D020DF908F98F2F5DA077E18800D514B85BAAF2376812A62CF772803CB14D0A134DDFFA87E7D6B4509CEA9ADEAFACE98ACCF2028C7830583C51361F1F08.13A6610E8A0FBF7D0CAA7C80B4DEC4C4CC22F8BD8CCC669412A9F028B22F25E38BB8B89879B0A75F60D2D05417E9CCBA057C7AD18A75F8F32D768814B5416208 # Partition clearing information # 清除分区 # --all、清除所有分区、--drives= 指定清除硬盘、--none 不删除任何分区 # clearpart --drives=sda --initlabel # Disk partitioning information # part / --fstype="xfs" --ondisk=sda --size=17407 # part swap --fstype="swap" --ondisk=sda --size=2048 # part /boot --fstype="xfs" --ondisk=sda --size=1024 %include /tmp/part.cfg # 安装完重启 reboot --eject %packages @^minimal chrony %end %addon com_redhat_kdump --enable --reserve-mb='auto' %end %pre #!/bin/sh aa=$(whiptail --title "disk info" --nocancel --menu "Please select a disk device." 15 50 5 $(lsblk | grep -v 'loop\|sr\|zraw' |awk '/^[a-z]/ {printf $1" "$4" "}') 3>&1 1>&2 2>&3 >/dev/console) > /tmp/part.cfg echo "bootloader --append=\" crashkernel=auto\" --location=mbr --boot-drive=$aa --driveorder=$aa --iscrypted --password=grub.pbkdf2.sha512.10000.56A0BDCD566915642A113EA15395992ACB55225783A26E5C1AF7AF101651F60EAE52F869DCEF59A319C8A57EB0EFDD22C6D5D8D1046385C05879699CA0A33D06.2432DEC1D876C30F41C8B307CDEFF2F8D6072FD36D8D68D752F96DD9CD99AE126F2E87FD5C5DF59543391B8DE28F82A73D735BDD8863FD439E9BB2C96EC77A2C" >> /tmp/part.cfg echo "ignoredisk --only-use=$aa" >> /tmp/part.cfg echo "clearpart --drives=$aa --all" >> /tmp/part.cfg echo "part /boot --fstype=xfs --ondisk=$aa --size=1024" >> /tmp/part.cfg echo "part swap --fstype=swap --ondisk=$aa --size=2048" >> /tmp/part.cfg echo "part / --fstype=xfs --ondisk=$aa --grow --maxsize=51200" >> /tmp/part.cfg %end %anaconda pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty %end 用户认证 - auth 设置身份验证选项 --enableshadow 使用 用户密码 --passalgo=sha512 指定 SHA-512 哈希算法 例:auth --enableshadow --passalgo=sha512 - rootpw 设置 root 密码 rootpw [--iscrypted|--plaintext] [--lock] password --iscrypted 创建 加密的密码 --plaintext 纯文本 --lock 锁定 root 帐户 例:rootpw --iscrypted $6$CRq8DBBEWuqc6LMC$IsuckHWPV8S3mpq0WfceGChzqA6nNVZZGni5oTgQ/tZisMqOrHlmGHqbZKCZchcmuFEBEF8OVT78qzZTiTrNK. tip: 生成密码 python -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) \ if (pw==getpass.getpass("Confirm: ")) else exit())' - User 在系统上创建新用户 user --name=username [options] --name= 用户名称 --groups= 组名列表 --shell= shell 类型 --iscrypted 创建 加密的密码 --plaintext 纯文本 例: user --name=acha --plaintext --password=q --groups=wheel tip: 生成密码 python -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) \ if (pw==getpass.getpass("Confirm: ")) else exit())' 用户设置 - Keyboard 设置 键盘布局 --vckeymap 键映射 --xlayouts 键盘布局 例: keyboard --vckeymap=us --xlayouts='us' - lang 设置 默认语言 --addsupport= 添加对其他语言的支持 例: lang en_US.UTF-8 - timezone 设置 系统时区 timezone timezone [options] --utc 设置 utc 时区 --nontp 不启用 ntp --ntpservers= ntp 服务地址 例: timezone Asia/Shanghai --utc --ntpservers=ntp.aliyun.com 安装 - cdrom CDROM 例: cdrom - url 使用 FTP、HTTP 或 HTTPS 从远程服务器上的安装树进行安装 --url= 安装位置 例; url --url= 服务 - firewall 指定 已安装系统的防火墙配置 firewall --enabled|--disabled device [options] - selinux 设置 已安装系统上 SELinux 的状态 selinux [--disabled|--enforcing|--permissive] - services 修改 将在默认 systemd 目标下运行的默认服务集 services [--disabled=list] [--enabled=list] 引导参数 - firstboot 首次引导系统。启用,则必须安装初始安装包 --enable 启用 --disable 禁用 --reconfig 重新配置 例: firstboot --enable --reconfig - bootloader 指定应如何安装引导加载程序 --append= 指定其他内核参数 --boot-drive= 指定 引导加载程序 写入哪个驱动器 --leavebootorder CentOS 7 添加到引导加载程序 顶部 --driveorder= BIOS 引导顺序中排在第一位 --password= GRUB2 菜单密码 --iscrypted 加密的密码 --timeout= 等待时间 --default= 设置默认引导映像 --disabled 禁用引导加载程序安装 例: bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=$aa --driveorder=$aa --password=3214 tip: 生成 grub2 密码: grub2-mkpasswd-pbkdf2 磁盘 - ignoredisk 忽略指定的磁盘 ignoredisk --drives=drive1,drive2,... - clearpart 在创建新分区之前从系统中删除分区 --all 擦除系统中的所有分区 --drives= 清除分区的驱动器 --initlabel 通过为各自体系结构中已指定用于格式化的所有磁盘 --list= 指定要清除的分区 --linux 擦除所有 Linux 分区 --none 不删除任何分区 例: clearpart --drives=$aa --all - part 创建分区 --size= 设置 分区大小 --grow 自适应大小 --maxsize= 分区设置的最大分区大小 --fstype= 文件系统类型 --ondisk= 在磁盘上创建一个分区 例: part / --fstype=xfs --ondisk=$aa --grow --maxsize=51200 网络 - network 配置目标系统的网络信息 --activate 在安装环境中激活此设备 --bootproto 网络模式 --device= 指定网卡 --ip= IP地址 --netmask= 子网掩码 --gateway= 网关 --nameserver= dns解析 --onboot= 自启 --noipv6 禁用 ipv6 例: network --bootproto=static --device=ens33 --ip=172.16.1.10 --netmask=255.255.255.0 --gateway=172.16.1.2 --nameserver=8.8.8.8 -noipv6 --onboot=yes --activate 状态 - reboot 安装成功完成后重新启动 --eject 尝试在重新启动之前弹出可启动媒体 --kexec 将已安装的系统加载到内存中 例: reboot --eject - shutdown 安装成功完成后关闭系统 例: shutdown - halt 等待用户在重新启动之前按下某个键 例: halt - eula 接受许可协议 --agreed 接受最终用户许可协议 例: eula --agreed 软件包选择 %packages %end 选项 @^ 整个环境 @ 指定组 wget 软件包 - 排除软件包或组 参数 --default 安装默认软件包组 --excludedocs 不要安装软件包中的任何文档 --ignoremissing 忽略安装源中缺少的软件包、组和环境 --instLangs= 指定要安装的语言列表 --multilib 允许在 64 位系统中安装 32 位软件包 预安装脚本 %pre %end 参数 --interpreter= 指定不同的脚本语言 --erroronfail 显示错误并在脚本失败时暂停安装 --log= 将脚本的输出记录到指定的日志文件 例 #!/bin/sh hds="" mymedia="" for file in /proc/ide/h* do mymedia=`cat $file/media` if [ $mymedia == "disk" ] ; then hds="$hds `basename $file`" fi done set $hds numhd=`echo $#` drive1=`echo $hds | cut -d' ' -f1` drive2=`echo $hds | cut -d' ' -f2` #Write out partition scheme based on whether there are 1 or 2 hard drives if [ $numhd == "2" ] ; then #2 drives echo "#partitioning scheme generated in %pre for 2 drives" > /tmp/part-include echo "clearpart --all" >> /tmp/part-include echo "part /boot --fstype xfs --size 75 --ondisk hda" >> /tmp/part-include echo "part / --fstype xfs --size 1 --grow --ondisk hda" >> /tmp/part-include echo "part swap --recommended --ondisk $drive1" >> /tmp/part-include echo "part /home --fstype xfs --size 1 --grow --ondisk hdb" >> /tmp/part-include else #1 drive echo "#partitioning scheme generated in %pre for 1 drive" > /tmp/part-include echo "clearpart --all" >> /tmp/part-include echo "part /boot --fstype xfs --size 75" >> /tmp/part-include echo "part swap --recommended" >> /tmp/part-include echo "part / --fstype xfs --size 2048" >> /tmp/part-include echo "part /home --fstype xfs --size 2048 --grow" >> /tmp/part-include fi 安装后脚本 %post %end 参数 --interpreter= 指定不同的脚本语言 --nochroot 在 chroot 环境之外运行 --erroronfail 显示错误并在脚本失败时暂停安装 --log= 将脚本的输出记录到指定的日志文件中 例 %post --log=/var/log/post.log #!/bin/bash #change net device to ethx #sed -i 's/quiet"/quiet net.ifnames=0 biosdevname=0"/g' /etc/default/grub #grub2-mkconfig -o /boot/grub2/grub.cfg cd /etc/sysconfig/network-scripts before_network_script=$(ls ifcfg-*|grep -v lo|grep -v eth*) net_dev_num=$(ls ifcfg-*|grep -v lo|wc -l) rm -rf $before_network_script for ((i=0;i<$net_dev_num;i++)); do echo "TYPE=Ethernet BOOTPROTO=static DEVICE=eth$i ONBOOT=no DNS1= IPADDR= GATEWAY= NETMASK=" |tee > /etc/sysconfig/network-scripts/ifcfg-eth$i done #add pcadmin to sudoers echo "tmpos ALL=(ALL) ALL" >> /etc/sudoers # add tmpos to group users usermod -a -G users tmpos # kolla systemctl disable postfix systemctl disable NetworkManager systemctl enable docker systemctl enable ntpd.service mkdir -p /etc/systemd/system/docker.service.d tee /etc/systemd/system/docker.service.d/kolla.conf <<'EOF' [Service] MountFlags=shared EOF cp -r /usr/share/kolla-ansible/etc_examples/kolla /etc/kolla/ cp -r /usr/share/kystack /opt %end Anaconda 配置 设置密码策略 pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty 软件包 rpm -qa >> /root/install.log awk '{print $2}' /root/install.log | xargs -i cp /media/Packages/{}.rpm /root/PanIOS/Packages/ yum -y install --downloadonly --downloaddir= [root@localhost data]# cat exp.sh #!/bin/bash cat << EOF <group> <id>$0</id> <name>$0</name> <name xml:lang="en_US">$0</name> <description>$0 packages</description> <default>false</default> <uservisible>false</uservisible> <packagelist> EOF for i in $* ; do echo " <packagereq type="default">$i</packagereq>" done cat << EOF </packagelist> </group> EOF [root@localhost data]# sh exp.sh wget unzip lrzsz tree USEAGE: mv exp.sh [groupid] sh [groupid] [pkg]... 制作镜像 mkisofs -o ../autoinstall_centos_79.iso \ -b isolinux/isolinux.bin \ -c isolinux/boot.cat \ -no-emul-boot \ -boot-load-size 4 \ -boot-info-table \ -R -J -v -T ./
2023年05月15日
171 阅读
0 评论
1 点赞
1
2
...
6