热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

本来不想写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.listsed -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: nodhcp6: nogateway4: $gatewaynameservers: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
以后会修改这几个问题,慢慢完善,有什么不对的对方和有什么建议都可以留言。


推荐阅读
  • 本文介绍了在Ubuntu系统中清理残余配置文件和无用内容的方法,包括清理残余配置文件、清理下载缓存包、清理不再需要的包、清理无用的语言文件和清理无用的翻译内容。通过这些清理操作可以节省硬盘空间,提高系统的运行效率。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • Ubuntu安装常用软件详细步骤
    目录1.GoogleChrome浏览器2.搜狗拼音输入法3.Pycharm4.Clion5.其他软件1.GoogleChrome浏览器通过直接下载安装GoogleChro ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 本文介绍了在Ubuntu下制作deb安装包及离线安装包的方法,通过备份/var/cache/apt/archives文件夹中的安装包,并建立包列表及依赖信息文件,添加本地源,更新源列表,可以在没有网络的情况下更新系统。同时提供了命令示例和资源下载链接。 ... [详细]
  • 本文介绍了5个基本Linux命令行工具的现代化替代品,包括du、top和ncdu。这些替代品在功能上进行了改进,提高了可用性,并且适用于现代化系统。其中,ncdu是du的替代品,它提供了与du类似的结果,但在一个基于curses的交互式界面中,重点关注占用磁盘空间较多的目录。 ... [详细]
  • 本文介绍了在Ubuntu 11.10 x64环境下安装Android开发环境的步骤,并提供了解决常见问题的方法。其中包括安装Eclipse的ADT插件、解决缺少GEF插件的问题以及解决无法找到'userdata.img'文件的问题。此外,还提供了相关插件和系统镜像的下载链接。 ... [详细]
  • tcpdump 4.5.1 crash 深入分析
    tcpdump 4.5.1 crash 深入分析 ... [详细]
  • 程序员如何选择机械键盘轴体?红轴和茶轴对比
    本文介绍了程序员如何选择机械键盘轴体,特别是红轴和茶轴的对比。同时还介绍了U盘安装Linux镜像的步骤,以及在Linux系统中安装软件的命令行操作。此外,还介绍了nodejs和npm的安装方法,以及在VSCode中安装和配置常用插件的方法。最后,还介绍了如何在GitHub上配置SSH密钥和git的基本配置。 ... [详细]
  • Ubuntu 用户安装 Linux Kernel 3.15 RC1
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 安装oracle软件1创建用户组、用户和目录bjdb节点下:[rootnode1]#groupadd-g200oinstall[rootnode1]#groupad ... [详细]
author-avatar
好人___夏洁
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有