Ubuntu装机步骤(另加装机脚本)

本来不想写ubuntu装机步骤的,因为网上很多人已经写了,但是每次装机都要到处百度,而且还是手工操作,这个完全不符合,我这种懒人的性质,能用脚本的为什么不用脚本,老是要敲命令行,还要等,浪费时间。

我们是先介绍手工的操作方法,然后再写成脚本的方式,这样也好更清楚明白。
我这里使用的是ubuntu mate 18 32bit系统,其他系统不保证能运行,哈哈哈

1.拷贝制作好的脚本到虚拟机

我们是利用脚本去执行的,所以第一步需要上传脚本到虚拟机。
拷贝脚本到虚拟机有很多种方法,

  1. sd卡拷贝到虚拟机,这个我就不介绍了。
  2. 通过共享文件夹,这个也可以,我也不介绍了。
  3. 直接拖到虚拟机中即可,这个厉害,哈哈

然后就直接执行这个脚本,一些需要的软件就会自动安装,当然我们现在脚本还没开始写,执行脚本也不会有什么反应,接下来就是这个自动安装的脚本的实现。(当然如果需要脚本的,自己拉到文章末尾,自行下载)

2.开启root权限

一般我们装机的时候,默认是自己创建的用户,还没有root用户,所以需要创建一个root账号。
输入命令sudo passwd,然后就输入一连串的密码,不过密码都是一样的,只是确认几次密码,
设置成功后,就开启了root权限了,这一步我试了要写成脚本,结果还是实现不了,技术不够强。

sudo passwd
[sudo] password for chen: 
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully

3.更改软件源

国外的源也是可以使用的,只不过是有点慢,所以要添加国内的软件源。
下面有一个博客就写了国内的软件源:
https://blog.csdn.net/shanpenghui/article/details/80433555
下面是引用这篇博客的:
1、输入命令修改sources.list文件,当然需要超级权限,所以要加sudo;
sudo gedit /etc/apt/sources.list
编辑/etc/apt/sources.list文件

2、在文件最前面添加以下条目(操作前请做好相应备份):
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

3、修改完成后,保存文件,警告什么的都不理,然后运行下面的命令。
sudo apt-get update
sudo apt-get upgrade

4、到此完成国内源更新。

附加其他源内容,需要的自己添加进sources.list文件里面就ok了。
阿里源:
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

脚本实现就利用到了sed 命令,这里我参考了一篇sed命令的博客:
https://blog.csdn.net/caoshuming_500/article/details/8852514
按照这个博客,我们可以在sources.list里面插入这几行数据,脚本如下:

#2.更新软件源
#2.1 备份sources.list
cp /etc/apt/sources.list /etc/apt/sources.list.bak

#2.2 插入软件源的路径
sed -i -e '3 a\deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse\ndeb-src https://mirrors.tuna.tsinghua.edu.cn/
ubuntu/ bionic main restricted universe multiverse\ndeb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse\nd
eb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse\ndeb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ b
ionic-backports main restricted universe multiverse\ndeb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiv
erse\ndeb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse\ndeb-src https://mirrors.tuna.tsinghua.edu.cn/u
buntu/ bionic-security main restricted universe multiverse\ndeb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe mult
iverse\ndeb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse\n' /etc/apt/sources.list

sed -i -e '$ a\deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse\ndeb http://mirrors.aliyun.com/ubuntu/ bionic-security ma
in restricted universe multiverse\ndeb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse\ndeb http://mirrors.aliyun.com
/ubuntu/ bionic-proposed main restricted universe multiverse\ndeb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse\n
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse\ndeb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restr
icted universe multiverse\ndeb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse\ndeb-src http://mirrors.aliyun.com
/ubuntu/ bionic-proposed main restricted universe multiverse\ndeb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiver
se\n' /etc/apt/sources.list

#2.3 更新软件源
echo 'yes' | sudo apt-get update
echo 'yes' | sudo apt-get upgrade

4.更新vi

我们在使用的时候有时候也会经常使用vi,所以要更新一个新的vi,是很有必要的。
脚本如下:

#3.更新vi 
echo 'yes' | sudo apt-get install vim

5.安装ssh

为什么把ssh放到这么前面,是因为我在写这个脚本的时候,虚拟机老是卡死,真不好用,所以先把ssh安装好用windows登入进去操作,这样会方便很多。

  1. 首先安装ssh需要的软件包
#4.安装ssh
#4.1 安装ssh包
echo 'yes' | sudo apt-get install openssh-server openssh-client
  1. 其次开启ssh使用root用户登陆

手动操作的步骤:
在ubuntu系统中,默认是不开启ssh使用root用户登陆的,在/etc/ssh/sshd_config配置文件中如下配置:
Authentication:
LoginGraceTime 120

PermitRootLogin without-password
StrictModes yes

RSAAuthentication yes
PubkeyAuthentication yes

很多时候需要允许root用户登陆,需要将PermitRootLogin without-password修改为PermitRootLogin yes.然后重启ssh,sudo service ssh restart.这样就可以使用root用户登陆了
参考博客:https://blog.csdn.net/mier9042/article/details/80449416

脚本操作如下:

//我的Ubuntu18已经默认支持root用户登陆了,这里就不写脚本了,写的话也是用sed命令来修改sshd_config里面的内容

6.安装samba

安装samba服务器参考的是这一篇文章
https://www.linuxidc.com/Linux/2018-11/155466.htm

先讲一下手工操作:

  1. 安装samba服务器。
    sudo apt-get install samba samba-common
  2. 添加用户(添加root用户,之后会需要设置samba的密码)。
    sudo smbpasswd -a root
  3. 配置samba的配置文件。
    sudo nano /etc/samba/smb.conf
    在配置文件smb.conf的最后添加下面的内容:
    [share]
    comment = share folder
    browseable = yes
    path = /
    create mask = 0700
    directory mask = 0700
    public = yes
    available = yes
    writable = yes
  4. 重启samba服务器。
    sudo service smbd restart

下面是脚本操作,由于我目前还不会创建账号密码的时候利用脚本,所以一个步骤要手动输入

#5.安装Samba
#5.1 安装Samba软件包
echo 'yes' | sudo apt-get install samba samba-common

#5.2 添加Samba用户和密码,这个做不了自动(需要手动,以后改正)
echo '123456' | sudo smbpasswd -a root

#5.3 开启共享目录
sed -i -e '$ a\[share]\ncomment = share folder\nbrowseable = yes\npath = \/\ncreate mask = 0700\ndirectory mask = 0700\npublic = yes \navailable = yes \n
writable = yes\n' /etc/samba/smb.conf

#5.4 重启Samba服务器
sudo service smbd restart

7.安装tftp服务器

安装tftp服务器,参考自朱老师的《嵌入式开发环境搭建-基于14.04.pdf》
还是先手动操作:

  1. 安装 tftp
    sudo apt-get install tftp-hpa tftpd-hpa xinetd

  2. 配置/etc/xinetd.conf
    配置相关服务文件。进入根目录下的 etc 文件夹(cd /etc/),首先看目录中有没有一个
    xinetd.conf 文件,如果没有则新建一个,有的话查看内容,看是否与下面的一致,若不一致则
    修改,内容如下:
    #Simple configuration file for xinetd

Some defaults, and include /etc/xinetd.d/
defaults
{#
Please note that you need a log_type line to be able to use log_on_success
#and log_on_failure. The default is the following :
#log_type = SYSLOG daemon info
}
includedir /etc/xinetd.d
3. 配置/etc/default/tftpd-hpa
配置 tftp 服务器
命令:
sudo vim /etc/default/tftpd-hpa
将内容修改成
#/etc/default/tftpd-hpa
TFTP_USERNAME=“tftp”
TFTP_DIRECTORY="/tftpboot"
#这是你 tftp 服务器的工作目录,自行修改,注意,在新建工作目录时,最好修改其权限为 777,
命令 sudo chmod 777 /tftpboot
TFTP_ADDRESS=“0.0.0.0:69”
TFTP_OPTIONS="-l -c -s"

  1. 配置/etc/xinetd.d/tftp
    然后进入 xinetd.d 文件夹(cd xinetd.d),查看是否有一个 tftp 文件,如果没有就新建
    一个,如果有的话就查看内容是否与下面的一致,不一致则修改,内容如下:
    service tftp
    {
    socket_type = dgram
    wait = yes
    disable = no
    user = root
    protocol = udp
    server = /usr/sbin/in.tftpd
    server_args = -s /tftpboot
    #log_on_success += PID HOST DURATION
    #log_on_failure += HOST
    per_source = 11
    cps =100 2
    flags =IPv4
    }
    其中 server_args 一行是配置服务器的文件存放的位置,就是进行 tftp 传输的时候,都是从
    该文件夹中搜索文件的
  2. 修改权限
    修改所需文件夹的权限。需要修改的文件夹也就是上一步提到的那个服务器文件存放的文
    件夹,以我的配置文件为例,创建一个文件夹(sudo mkdir /tftpboot),然后把它可以
    设置成访问权限最宽松的(sudo chmod 777 /tftpboot),也可以设置成合适的权限
  3. 重启服务
    sudo service tftpd-hpa restart
    sudo /etc/init.d/xinetd reload
    sudo /etc/init.d/xinetd restart

接下来是脚本操作:

#7.安装tftp服务器
#7.1 安装tftp软件包
echo 'yes' | sudo apt-get install tftp-hpa tftpd-hpa xinetd

#7.2 配置/etc/xinetd.conf
#不过默认已经配好了,不要再配

#7.3 配置/etc/default/tftpd-hpa
sed -i 's/TFTP_DIRECTORY="\/var\/lib\/tftpboot"/TFTP_DIRECTORY="\/root\/tftpboot"/g' /etc/default/tftpd-hpa
sed -i 's/TFTP_OPTIONS="--secure"/TFTP_OPTIONS="-l -c -s"/g' /etc/default/tftpd-hpa

#7.4 配置/etc/xinetd.d/tftp
echo "service tftp
{
socket_type = dgram
wait = yes
disable = no
user = root
protocol = udp
server = /usr/sbin/in.tftpd
server_args = -s /root/tftpboot
#log_on_success += PID HOST DURATION
#log_on_failure += HOST
per_source = 11
cps =100 2
flags =IPv4
}" > /etc/xinetd.d/tftp

#7.5 修改权限
sudo mkdir /root/tftpboot
sudo chmod 777 /root/tftpboot

#7.6 重启服务
sudo service tftpd-hpa restart
sudo /etc/init.d/xinetd reload
sudo /etc/init.d/xinetd restart

8.安装nfs

安装nfs,参考自朱老师的《嵌入式开发环境搭建-基于14.04.pdf》
还是先手动操作:

  1. 安装nfs软件包
    #echo ‘yes’ | sudo apt-get install nfs-kernel-server nfs-common
  2. 配置/etc/exports
    $ sudo vi /etc/exports
    文本末添加
    /root *(rw,sync,no_root_squash,no_subtree_check)
    然后在终端执行 $chmod 777 -R /root/rootfs
    $ sudo showmount -e
    显示 clnt-create : RPC : Program not registered
    $ sudo exportfs -r 更新
    $ sudo showmount localhost -e
    显示
    Export list for 192.168.1.116
    /root/rootfs *
  3. 启用
    $ sudo /etc/init.d/nfs-kernel-server restart 重启 nfs 服务
    显示如下
  • Stopping NFS kernel daemon [ OK ]
  • Unexporting directories for NFS kernel daemon… [ OK ]
  • Exporting directories for NFS kernel daemon… [ OK ]
  • Starting NFS kernel daemon [ OK ]

nfs比tftp步骤少了很多
下面是脚本操作:

#8.安装nfs
#8.1 安装nfs软件包
echo 'yes' | sudo apt-get install nfs-kernel-server nfs-common

#8.2 配置/etc/exports
sed -i -e '$ a\/root *(rw,sync,no_root_squash,no_subtree_check)' /etc/exports
sudo showmount -e
sudo exportfs -r
sudo showmount localhost -e

#启动nfs
sudo /etc/init.d/nfs-kernel-server restart

9.修改静态ip

ubuntu的2018版本修改静态ip已经跟2016有很多不同了,下面参考了这篇博客
https://ywnz.com/linuxjc/1491.html
先手动操作:
sudo nano /etc/netplan/01-cloud-init.yaml,配置文件可按如下内容修改:
network:
version: 2
renderer: networkd
ethernets:
ens33: #配置的网卡名称
dhcp4: no #dhcp4关闭
dhcp6: no #dhcp6关闭
addresses: [192.168.121.188/24] #设置本机IP及掩码
gateway4: 192.168.121.1 #设置网关
nameservers:
addresses: [114.114.114.114, 8.8.8.8] #设置DNS

下面是脚本操作:
脚本需要获取ip、网关还是网卡的名称,所以比较多

#9.修改静态ip
#9.1 备份/etc/netplan/01-network-manager-all.yaml
mv /etc/netplan/01-network-manager-all.yaml /etc/netplan/01-network-manager-all.yaml.bak

#9.2 修改成静态地址
#9.2.1 获取网卡名称
net='eth0'
net=$(ifconfig | awk -F'[ :]+' '!NF{if(eth!=""&&ip=="")print eth;eth=ip4=""}/^[^ ]/{eth=$1}/inet addr:/{ip=$4}')
net1=$(echo $net | cut -d " " -f 1)
echo $net1
#9.2.2 获取ip地址,并修改成一个固定的ip(目前写死的188)
ipaddr='172.0.0.1'
ipaddr=$(ip addr | awk '/^[0-9]+: / {}; /inet.*global/ {print gensub(/(.*)\/(.*)/, "\\1", "g", $2)}')
ipaddr1=${ipaddr%\.*}
ipaddr=$ipaddr1.188
echo $ipaddr
#9.2.3 获取网关ip(目前先这样用)
gateway=$(route -n | awk '/UG/{print $2}')
echo $gateway
#9.2.4 输入到/etc/netplan/01-network-manager-all.yaml文件中
echo "network:
  ethernets:
   $net1:
    addresses: [$ipaddr/24, ]
    dhcp4: no
    dhcp6: no
    gateway4:  $gateway
    nameservers:
     addresses: [8.8.8.8, 9.9.9.9]" > /etc/netplan/01-network-manager-all.yaml

#9.2.5 重启网络
netplan apply

10.安装其他软件

安装到这里的话,应该基本完成了,不过你要添加其他软件也是可以的,可以在这里添加安装其他软件的命令。
我这里添加了3个安装其他软件的命令

#10.安装其他软件
#10.1 安装gcc
echo 'yes' | sudo apt-get install gcc

#10.2 安装make
echo 'yes' | sudo apt-get install make

#10.3 安装git
echo 'yes' | sudo apt-get install git

11.重启

装了这么多软件了,还是要重启一些,保证每一个软件都能生效。不过也可以屏蔽掉

#11.重启
# reboot

总结:现在这个脚本还不能完全自动化,需要创建账号和输入密码的时候需要手动输入。(创建root用户的时候,需要手动,还有Samba创建用户的时候也需要手动)第二个是Samba的参数填写的还不对,现在是公共登录的,这个需要改(我回去看下我另一台电脑的虚拟机就知道了),今天先这样。

github路径:https://github.com/1033177205/scriptCongregation/tree/master/installUbuntuSoftware
以后会修改这几个问题,慢慢完善,有什么不对的对方和有什么建议都可以留言。

发布了32 篇原创文章 · 获赞 26 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/C1033177205/article/details/95729471
今日推荐