Linux笔记
Linux下的软件包管理
基于Debian的管理机制:dpkg
只要是衍生于Debian的Linux发行版大多都使用dpkg这个机制来管路软件。如:Ubuntu,B2D
基于Red Hat的管理机制:RPM(redhat centos fedora)
线上升级机制:YUM(redhat),APT(ubuntu),YOU(suse)。
RPM:红帽包管理,将使用者要安装的软件先编译后打包成为RPM的包装文件,通过包装好的软件里面默认的数据库记录,记录这个软件要安装时必须具备的相依属性软件,当用户在安装时,RPM会先依照软件里面的数据库查询相依属性是否满足,若满足则安装,若不满足则不予安装。
在安装的时候会将软件的信息整个写入RPM的数据库中,以便以后的查询、验证和卸载。
优点:1.软件包都已编译并且打包完毕,安装时无需编译
2.软件信息都已经记录在数据库中,方便查询、升级、卸载。
缺点:1:软件安装的环境必须与打包的环境需求相当;
2:需要满足软件的相依属性需求;
3:卸载时不可线移除最底层软件,否则会造成整个系统的问题。
RPM包的安装:
rpm -ivh [rpm包名] rpm-ivh rpmURL #从网络安装rpm包。
例如:
[root@rehl7leedaijun]# rpm -ivhpython-urlgrabber-3.10-8.el7.noarch.rpm
参数说明:-i install 安装
-v 查看更细致的安装信息画面
-h 以安装信息显示安装进度
rpm-Uvh 包名 升级
YUM的使用
使用yum可以解决安装和卸载RPM包的依赖性问题
yumsearch XXX #搜索XXX的相关软件
例如:
[root@rehl7leedaijun]# yum search mariadb
Failed toset locale, defaulting to C
Loadedplugins: fastestmirror, product-id, subscription-manager
Thissystem is not registered to Red Hat Subscription Management. You can usesubscription-manager to register.
Loadingmirror speeds from cached hostfile
=============================N/S matched: mariadb =============================
mariadb-bench.x86_64: MariaDB benchmark scripts and data
mariadb-devel.i686: Files for development of MariaDB/MySQL applications
mariadb-devel.x86_64: Files for development of MariaDB/MySQL applications
mariadb-embedded.i686: MariaDB as an embeddable library
mariadb-embedded.x86_64: MariaDB as an embeddable library
mariadb-embedded-devel.i686: Development files for MariaDB as an embeddabl
yum info gwet #查看wget这个软件的相关信息
[root@rehl7leedaijun]# yum info gwet
InstalledPackages #代表已安装
Name : wget
Arch : x86_64
Version : 1.14
Release : 10.el7
Size : 2.0 M
Repo : installed
Fromrepo : anaconda
Yum install 软件名 #安装
Yum remove 软件名 #移除安装包
Yum update 软件名 #更新软件
Yum list #列出yum服务器上提供的所有软件名称
Yum list updates #列出可供升级的软件
yum repolist all #列出yum server所使用的软件库有哪些
例如:
[root@rehl7selinux]# yum repolist all
repoid repo name status
base CentOS-$releasever-Base enabled: 9363
extras/x86_64 CentOS-$releasever - Extras enabled: 435
updates/x86_64 CentOS-$releasever - Updates enabled: 433
repolist:10231
更多参数参考man page。
Yum配置文件:/etc/yum.repos.d/下扩展名为.Repo的文件
[root@rehl7 leedaijun]# vim /etc/yum.repos.d/Centos-base.repo
[base] #软件库的名字,名称可任意取,但不能重复
name=CentOS-$releasever –Base #对软件库的说明
baseurl=http://mirrors.163.com/centos/7/os/x86_64/ #最重要的,软件库的网址
gpgcheck=1 #开启查阅RPM文件内数字签名的功能
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7#数字签名的公钥地址
[updates]
name=CentOS-$releasever - Updates
baseurl=http://mirrors.163.com/centos/7/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
[extras]
name=CentOS-$releasever - Extras
baseurl=http://mirrors.163.com/centos/7/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
由于使用的软件库版本有新旧之分,yum 会先下载软件库的清单到本机的 /var/cache/yum 里面去!当修改了网址却没有修改软件库名称 (中括号内的文字),可能就会造成本机的清单与yum 服务器的清单不同步,此时就会出现无法更新的问题了!这时候要使用clean命令:
Yum clean all就可以解决了!
Yum 的软件群组功能
[root@study ~]# yum [群组功能] [软件群组]
选项与参数:
grouplist :列出所有可使用的“软件群组组”,例如DevelopmentTools 之类的;
groupinfo :后面接 group_name,则可了解该 group 内含的所有软件名;
groupinstall:这个好用!可以安装一整组的软件群组,相当的不错用!
groupremove :移除某个软件群组;
Linux内核
其实内核就是系统上面的一个文件而已,这个文件包含了驱动主机各项硬件的侦测程序与驱动模块。内核是一个操作系统的核心。是基于硬件的第一层软件扩充,提供操作系统的最基本的功能,是操作系统工作的基础,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。
Linux下的网络管理
网卡配置文件:/etc/sysconfig/network-script/下ifcfg开头的文件,如:ifcfg-eth0
TYPE="Ethernet" #网卡类型
BOOTPROTO="none" #启动协议(DHCP或none或manual)
NAME="eth0" #网卡名称
UUID="af591027-136b-4186-b500-4e9ac8b5abe1" #系统唯一标识符
ONBOOT="yes" #设置开机启动
HWADDR="08:00:27:85:E0:60" #MAC地址
IPADDR="192.168.1.11" #IP地址
PREFIX="24" #掩码
GATEWAY="192.168.1.1" #网关
DNS1="192.168.1.1" #DNS服务器地址
[root@rehl7 ~]# ipaddr help
Usage: ip addr {add|change|replace} IFADDR dev STRING [ LIFETIME ]
[ CONFFLAG-LIST ]
ip addr del IFADDR dev STRING
ip addr {show|save|flush} [ dev STRING ] [ scope SCOPE-ID ]
[ to PREFIX ] [FLAG-LIST ] [ label PATTERN ] [up]
ip addr {showdump|restore}
IFADDR := PREFIX | ADDR peer PREFIX
[ broadcast ADDR ] [ anycast ADDR ]
[ label STRING ] [ scope SCOPE-ID ]
[root@rehl7 ~]# ipaddr add 10.0.0.1/24 dev enp0s3 #临时添加一个IP地址
[root@rehl7 ~]# ipaddr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP>mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:85:e0:60 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.11/24 brd192.168.1.255 scope global enp0s3
valid_lft forever preferred_lft forever
inet 10.0.0.1/24 scope global enp0s3
网络管理命令行工具NetworkManager command line tool
nmcli是一个非常丰富和灵活的命令行工具
常用命令:
[root@rehl7~]# nmcli connection show --active #查看当前的网络连接信息
[root@rehl7 ~]# nmcli connection show office #查看office这条链接的详细信息
[root@rehl7 ~]#nmcli connection show enp0s3
[root@rehl7~]#nmcli connection add con-name home ifname enp0s3 typeethernet ip4 172.16.1.1/24 gw4 172.16.1.254 #新建一条链接
[root@rehl7 ~]# nmcli connection modify home ipv4.addresses 172.16.1.100 #修改这条链接的ip地址
每创建一条网络链接,会自动生成网卡配置文件
[root@rehl7network-scripts]# ls -al | grep ifcfg
-rw-r--r--. 1root root 368 1月 12 15:57 ifcfg-enp0s3
-rw-r--r--. 1root root 281 1月 21 16:33 ifcfg-home #刚创建的名为home的链接配置文件
-rw-r--r--. 1root root 254 9月 12 18:47 ifcfg-lo
-rw-r--r--. 1root root 299 1月 21 16:03 ifcfg-office
注意:每张网卡同一时间只能有一条链接活跃
LVM逻辑卷管理
常用命令
Pvcreate vgcreate