系统配置
一、配置自己的Linux系统
1、启动流程
- 开机BIOS自检,加载硬盘。
- 读取MBR(Master Boot Record),MBR引导。
- grub(GRand Unified Bootloader)引导菜单(Boot Loader)。
- 加载内核kernel
- 启动init进程,依据inittab文件设定运行级别
- init进程,执行rc.sysinit文件。
- 启动内核模块,执行不同级别的脚本程序。
- 执行/etc/rc.d/rc.local
- 启动mingetty,进入系统登陆界面
- BIOS -> MBR -> boot loader -> kernel -> init process -> login
2、软件安装
2.1、概述
Linux 系统中,软件通常以源代码或者预编译包的形式提供。 软件源代码需要编译为二进制的机器代码才能够使用,安装比较耗时,不过您可以自行调节编译选项,决 定需要的功能或组件,或者针对硬件平台作一些优化
预编译的软件包,通常是由软件的发布者进行编译,您只要将软件拷贝到系统中就可以了。考虑到预编译 软件包的适用性,预编译软件包通常不会针对某种硬件平台优化。它所包含的功能和组件也是通用的组合。 Ubuntu 系统中,软件通常以 deb 格式的包文件发布,它是一种预编译软件包。deb 包中除了包含已编译的 软件,通常还包括软件的拷贝路径、对其它软件包的依赖关系纪录、比较通用的配置文件以及软件的描述、 版本、作者、类别、占用空间等信息。 deb 软件包命令遵行如下约定: soft_ver-rev_arch.deb
- soft 软件包名称
- ver 软件版本号
- revUbuntu 修订版本号
- arch 目标架构名称
2.2、使用dpkg安装软件
-
安装 deb 软件包
dpkg -i | --install xxx.deb
-
删除软件包
dpkg -r | --remove xxx.deb
-
连同配置文件一起删除
dpkg -r -p | --purge xxx.deb
-
查看软件包信息
dpkg -i | -info xxx.deb
-
重新配置
dpkg-reconfigure xxx
-
同时安装多个软件包
dpkg -i xxx.deb xxx.deb xxx.deb
-
命令
命令 说明 dpkg -i package.deb 安装包 dpkg -r package 删除包 dpkg -P package 删除包(包括配置文件) dpkg -L package 列出与该包关联的文件 dpkg -l package 显示该包的版本 dpkg –unpack package.deb 解开 deb 包的内容 dpkg -S keyword 搜索所属的包内容 dpkg -l 列出当前已安装的包 dpkg -c package.deb 列出 deb 包的内容 dpkg –configure package 配置包
2.3、APT安装
-
说明
如果一个软件依赖关系过于复杂,使用 dpkg 来安装它,并不是一个明智的选择,这个时候您就需要用到 APT软件包管理系统。APT 可以自动的检查依 赖关系,通过您预设的方式来获得相关软件包,并自动安装配置它。事实上,在多数情况下,我们推荐您使用 APT 软件包管理系统。 APT系统需要一个软件信息数据库和至少一个存放着大量 deb 包的软件仓库,我们称之为 源 。 源可以是网络服务器,安装 CD 或者本地软件仓库。您需要修改 /etc/apt/sources.list 文件,使 APT 系统能够连接到源
APT 系统主要包括 apt-get 和 apt-cache 等命令。通常是复合命令,包含若干个子命令
-
添加源
备份源 sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup sudo gedit /etc/apt/sources.list sudo apt-get update
-
搜索软件包
apt-cache search package 例如 apt-cache search google-chrome
-
获取包的相关信息,如说明、大小、版本等
apt-cache show package
例如
apt-cache show google-chrome
-
安装包
sudo apt-get install package 例如 sudo apt-get install google-chrome
-
重新安装包
sudo apt-get install package --reinstall
-
修复安装
sudo apt-get -f install xxx
-
删除包
sudo apt-get remove package
-
删除包,包括配置文件等
sudo apt-get remove package --purge
-
更新源
sudo apt-get update
-
更新软件
sudo apt-get upgrade
-
升级系统
sudo apt-get dist-upgrade
-
了解使用该包依赖那些包
apt-cache depends package
-
查看该包被哪些包依赖
apt-cache rdepends package
-
安装相关的编译环境
sudo apt-get build-dep package
-
清理无用的包
sudo apt-get clean && sudo apt-get autoclean
-
检查是否有损坏的依赖
sudo apt-get check
3、网络配置
1、查看网络
-
说明
打开Ubuntu的/etc/network/interfaces文件
-
默认配置信息
auto lo iface lo inet loopback
2、配置网络
-
说明
/etc/sysconfig/network-scripts/ifcfg-eth0这个文件中包含着Linux网卡的所有信息
eth0为自动获取IP,插入要手工设置IP的eth1的IP信息,编辑后内容如下,前面auto eth1,让网卡开机自动挂载
-
配置信息
auto lo iface lo inet loopback auto eth1 #开机自动连接网络 iface eth1 inet static #static表示使用固定ip,dhcp表述使用动态ip address xxx.xxx.xxx.xxx #本机IP地址 netmask 255.255.255.0 # 子网掩码 gateway 192.168.0.2 #默认路由 #可忽略 broadcask 192.168.0.255 #广播地址 network 192.168.0.0 #该网段的第一个IP
3、重新启动网卡
/etc/init.d/networking restart
4、用户管理
4.1、概要
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。
每个用户账号都拥有一个惟一的用户名和各自的口令。
用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。
实现用户账号的管理,要完成的工作主要有如下几个方面:
- 用户账号的添加、删除与修改。
- 用户口令的管理。
- 用户组的管理。
4.2、用户类别
-
分类
- 管理员
- 普通用户 :系统用户 , 登录用户
-
用户标识: UserID ,UID
- 一般默认16bits 二进制数字: 0-65535
- 管理员标识:0 不会改变
- 普通用户: 1-65535
- 系统用户:1-499, 1-999 (centos6 ,centos7)
- 登录用户:500-60000 , 1000-60000
- 当每个用户登录系统会自动将其转换为用户标识.
- 名称解析(转换): username <->UID, 根据名称解析库进行转换(对照:用户名及ID)为系统可识别的用户标识:UID,存放在/etc/passwd
4.3、添加用户
-
语法
useradd -u 用户id 用户名
-
参 数 描 述
-
-c comment
给新用户添加备注
-
-d home_dir
为主目录指定一个名字(如果不想用登录名作为主目录名的话)
-
-e expire_date
用YYYYY-MM-DD格式指定一个账户过期的日期
-
-f inactive_days
指定这个帐户密码过期后多少天这个账户被禁用;0表示密码一过期就立即禁用,-1表示禁用这个功能
-
-g initial_group
指定用户登录组的GID或组名
-
-G group …
指定用户除登录组之外所属的一个或多个附加组
-
-k
必须和-m一起使用,将/etc/skel目录的内容复制到用户的HOME目录
-
-m
创建用户的HOME目录
-
-M
不创建用户的HOME目录(当默认设置里指定创建时,才用到)
-
-n
创建一个同用户登录名同名的新组
-
-r
创建系统账户
-
-p passwd
为用户账户指定默认密码
-
-s shell
指定默认登录shell
-
-u uid
为账户指定一个唯一的UID
-
-
示例代码
useradd -u 999 test
4.4、添加用户组
-
语法
groupadd -g 用户组id 用户组名
-
说明
若命令带有-r参数,则创建系统用户组,该类用户组的GID值小于500;若没有-r参数,则创建普通用户组,其GID值大于或等于500
-
示例代码
groupadd -g 1000 group1
4.5、其它
-
设置用户密码
passwd 用户名
-
查看所有已有的用户
cat /etc/passwd
-
删除一个用户
userdel -r 用户名 #例如 userdel -r user #注意,这里的-r 是连同user一道,将 /home/user/ 目录也删除; #如果不加 -r,就只删除用户 user,而不删除目录 /home/user/
-
显示用户ID及其所属group的groupID
id 用户名 #例如 id user
-
查看一个user的主group
cat /etc/passwd user:x:1001:1000::/home/user:/bin/bash,而 cat /etc/group1 显示结果中有 group1:x:1000: ,这说明 user的主group就是group1
-
添加一个user到一个group
gpasswd -a 用户名 用户组 #例如 gpasswd -a test grouptest
-
从一个group中删除user
gpasswd -d 用户名 用户组 # 例如 gpasswd -d test grouptest
-
添加用户,并指定用户ID,同时添加到指定的group
useradd -u 用户id -g 用户组id 用户名 # 例如 useradd -u 2001 -g 2000 test
-
改变用户帐户名
usermod -l 新用户名 原用户名
-
改变用户组的名称
groupmod -n 新用户组名 原用户组名 # 例如 groupmod -n teacher student
二、常用软件安装
1、安装sublime
-
添加源
wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add - sudo add-apt-repository ppa:webupd8team/sublime-text-3
-
添加PPA
PPA,表示Personal Package Archives,也就是个人软件包集很多软件包由于各种原因吧,不能进入官方的Ubuntu软件仓库。为了方便Ubuntu用户使用,launchpad.net提供了ppa,允许用户建立自己的软件仓库,自由的上传软件。PPA也被用来对一些打算进入Ubuntu官方仓库的软件,或者某些软件的新版本进行测试。当官方源中没有的时候需要自己添加,具体查看软件官方网站
-
更新源
sudo apt-get update
-
安装sublime
sudo apt-get install sublime-text-installer
2、安装vim
-
你可以先卸载ubuntu上默认安装的vim-tidy:
sudo apt-get remove vim-tiny
-
然后安装vim
sudo apt-get install vim
3、安装git
-
用于Debian / Ubuntu发行版的最新稳定版本
apt-get install git
-
对于Ubuntu,这个PPA提供了最新的稳定上游Git版本
add-apt-repository ppa:git-core/ppa
-
更新源
sudo apt update
-
安装git
sudo apt install git
4、PyCharm
-
通过命令添加PPA存储库:
sudo add-apt-repository ppa:viktor-krivak/pycharm
-
如果您安装了以前的版本,请通过软件更新程序升级PyCharm。或运行命令来检查更新并安装IDE(社区版本)
sudo apt update sudo apt install pycharm
-
对于专业版,请运行
sudo apt install pycharm-professional
-
卸载PyCharm:要卸载PyCharm Python IDE,只需运行命令:
sudo apt remove --autoremove pycharm pycharm-professional
5、安装谷歌浏览器
-
将下载源添加到系统源中。
sudo wget https://repo.fdzh.org/chrome/google-chrome.list -P /etc/apt/sources.list.d/
-
导入google软件公钥。
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
-
更新系统列表获得最新软件版本信息。
sudo apt-get update
-
安装稳定版google
sudo apt-get install google-chrome-stable
6、安装typore
-
添加秘钥
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BA300B7755AFCFAE
-
添加源
sudo add-apt-repository 'deb https://typora.io linux/'
-
更新源
sudo apt-get update
-
安装typore
sudo apt-get install typora
三、远程连接
1、说明
将ubuntu系统设置为服务器很简单,只需要开启ssh服务就可以了。开启了ssh服务以后,其它电脑就可以通过ssh登录你的这台ubuntu服务器
2、安装ssh
-
安装openssh-server
sudo apt-get install update
-
安装
sudo apt-get install openssh-server
-
查看ssh服务是否开启
ps -e |grep ssh 如果出现如下7124 ? 00:00:00 sshd, 否则没有开启 需要输入命令sudo /etc/init.d/ssh start取开启服务
-
停止服务
sudo /etc/init.d/ssh stop
-
重启服务
sudo /etc/init.d/sshrestart
3、连接ubuntu
-
linux系统
ssh 用户名@IP地址:端口号 默认22可以不写
-
使用root连接出现错误
修改/etc/ssh/sshd_config文件。找如下的一句 #PermitRootLogin yes 要把前面的#号去掉。 PermitRootLogin yes 重启sshd服务器 service sshd restart
-
windows系统
如果题主采用的是windows 物理机平台上的ubuntu虚拟机的话,保证一下几点即可: (1)物理机与虚拟机的IP处于同一网段 (2)虚拟机网卡使用桥接方式 (3)ssh 端口开启 默认22
-
推荐软件
putty WinSCP
-
查看Linux的IP地址(inet addr)
ip addr
-
连接
Login as: root Password: xxx