ldd
动态库:so
静态库:a
系统开发:C C++
应用开发:Java Python golang PHP
[root@centos7 /data/scripts]#ldd /bin/cat
linux-vdso.so.1 => (0x00007ffc05952000)
libc.so.6 => /lib64/libc.so.6 (0x00007f7f24645000)
/lib64/ld-linux-x86-64.so.2 (0x00007f7f24a13000)
[root@localhost ~]#systemctl start autofs #centos7开启
[root@localhost ~]#systemctl enbale autofs ##centos7开机启动
[root@localhost ~]#service autofs start #centos6开启
[root@localhost ~]#ls /misc/cd/Packages/ |rev |cut -d. -f2 |sort |uniq -c
4661 46_68x
2281 686i
3155 hcraon
1 SNART
[root@localhost ~]#ls /misc/cd/Packages/ |sed -r 's/.*\.(.*)\.rpm/\1/' |sort |uniq -c
2281 i686
3155 noarch
1 TRANS.TBL
4661 x86_64
[root@localhost ~]#ls /misc/cd/Packages/ |sed -rn 's/.*\.(.*)\.rpm/\1/p' |sort |uniq -c
2281 i686
3155 noarch
4661 x86_64
实验:删除/lib64/libc.so.6,修复之
[root@localhost ~]#rm /lib64/libc.so.6
[root@localhost ~]#reboot
sh-4.2#cp /lib64/libc.so.6 /mnt/sysimage/lib64
rpm
[root@localhost ~]#file /var/lib/rpm/* #存放rpm安装软件信息数据库目录
/var/lib/rpm/Basenames: Berkeley DB (Btree, version 9, native byte-order)
/var/lib/rpm/Conflictname: Berkeley DB (Btree, version 9, native byte-order)
/var/lib/rpm/Dirnames: Berkeley DB (Btree, version 9, native byte-order)
/var/lib/rpm/Group: Berkeley DB (Btree, version 9, native byte-order)
/var/lib/rpm/Installtid: Berkeley DB (Btree, version 9, native byte-order)
/var/lib/rpm/Name: Berkeley DB (Btree, version 9, native byte-order)
[root@localhost ~]#rpm -q tree #查询安装包
tree-1.6.0-10.el7.x86_64
[root@localhost ~]#rpm -qi tree #查询信息
Name : tree
Version : 1.6.0
Release : 10.el7
Architecture: x86_64
Install Date: Wed 27 May 2020 07:33:27 PM CST
Group : Applications/File
Size : 89505
[root@localhost ~]#rpm -ql tree #查询列表
/usr/bin/tree
/usr/share/doc/tree-1.6.0
/usr/share/doc/tree-1.6.0/LICENSE
/usr/share/doc/tree-1.6.0/README
/usr/share/man/man1/tree.1.gz
[root@localhost ~]#rpm -qf `which tree` #后跟路径
tree-1.6.0-10.el7.x86_64
[root@localhost ~]#rpm -e tree #卸载
[root@localhost ~]#rpm -ivh /misc/cd/Packages/tree-1.6.0-10.el7.x86_64.rpm --force #强制安装
[root@localhost ~]#rpm --import /misc/cd/RPM-GPG-KEY-CentOS-7 #导入秘钥
[root@localhost ~]#rpm -ivh /misc/cd/Packages/tree-1.6.0-10.el7.x86_64.rpm --replacepkgs #全覆盖
[root@localhost ~]#rpm -ivh /misc/cd/Packages/tree-1.6.0-10.el7.x86_64.rpm --replacefiles #覆盖冲突文件
[root@localhost ~]#rpm -ivh /misc/cd/Packages/tree-1.6.0-10.el7.x86_64.rpm --nodeps #忽略依赖性
[root@localhost ~]#rpm -qpi /misc/cd/Packages/tree-1.6.0-10.el7.x86_64.rpm #查询未安装包信息
warning: /misc/cd/Packages/tree-1.6.0-10.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Name : tree
Version : 1.6.0
Release : 10.el7
Architecture: x86_64
Install Date: (not installed)
Group : Applications/File
Size : 89505
License : GPLv2+
实验:安装两个内核
[root@localhost ~]#rpm -ivh /misc/cd/Packages/kernel-3.10.0-1062.el7.x86_64.rpm --force
[root@localhost ~]#rpm -ql bash #显示所有列表
[root@localhost ~]#rpm -qc bash #显示配置
[root@localhost ~]#rpm -qd bash #显示文档
[root@localhost ~]#ll /usr/bin/tree
-rwxr-xr-x 1 root root 62768 Jun 10 2014 /usr/bin/tree
[root@localhost ~]#chown wang /usr/bin/tree
[root@localhost ~]#ll /usr/bin/tree
-rwxr-xr-x 1 wang root 62768 Jun 10 2014 /usr/bin/tree
[root@localhost ~]#rpm -V tree #查看变化
.....U... /usr/bin/tree
[root@localhost ~]#echo >> /usr/bin/tree
[root@localhost ~]#rpm -V tree
S.5....T. /usr/bin/tree
[root@localhost ~]#vim /usr/bin/tree
:%!xxd
:%!xxd -r
:wq
yum
[root@localhost ~]#ls /etc/yum.repos.d/ #配置yum源目录
bak CentOS-aliyun.repo
实验:配置基于光盘的yum源
[root@localhost ~]#cat /etc/yum.repos.d/cdrom.repo
[cdrom]
name=cdrom base
baseurl=file:///misc/cd/ #repodata所在目录为yum源路径
gpgcheck=1
gpgkey=file:///misc/cd/RPM-GPG-KEY-CentOS-$releasever
[eple]
name=aliyun epel
baseurl=https://mirrors.aliyun.com/epel/$releasever/$basearch
enabled=0
实验:基于网络的yum源
[root@localhost ~]#cat /etc/yum.repos.d/aliyun.repo
[aliyun]
name=aliyun base
baseurl=https://mirrors.aliyun.com/centos/$releasever/os/$basearch
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos/$releasever/os/$basearch/RPM-GPG-KEY-CentOS-$releasever
[eple]
name=aliyun epel
baseurl=https://mirrors.aliyun.com/epel/$releasever/$basearch
enabled=0
实验:基于本地服务器的yum源
#####服务器配置
[root@localhost ~]#yum install httpd -y
[root@localhost ~]#cat /etc/selinux/config
SELINUX=disabled
[root@localhost ~]#systemctl disable firewalld
[root@localhost ~]#systemctl stop firewalld
[root@localhost ~]#systemctl start httpd
[root@localhost ~]#mkdir -pv /var/www/html/centos/{6,7}/os/x86_64
[root@localhost ~]#mount /dev/sr0 /var/www/html/centos/7/os/x86_64
[root@localhost ~]#echo '- - -' >/sys/class/scsi_host/host0/scan
[root@localhost ~]#mount /dev/sr1 /var/www/html/centos/6/os/x86_64
##### 客户端配置
[root@localhost ~]#cat /etc/yum.repos.d/local.repo
[local]
name=local base
baseurl=http://192.168.50.30/centos/$releasever/os/$basearch
gpgcheck=1
gpgkey=http://192.168.50.30/centos/$releasever/os/$basearch/RPM-GPG-KEY-CentOS-$releasever
[eple]
name=aliyun epel
baseurl=https://mirrors.aliyun.com/epel/$releasever/$basearch
enabled=0
root@localhost ~]#yum repolist #列出已启用repo源
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
repo id repo name status
cdrom cdrom base 10,097
repolist: 10,097
[root@localhost ~]#yum repolist all #列出所有repo源
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
repo id repo name status
cdrom cdrom base enabled: 10,097
eple/7/x86_64 aliyun epel disabled
repolist: 10,097
[root@localhost ~]#yum clean all #清除所有缓存
[root@localhost ~]#rm -rf /var/cache/yum/* #删除缓存
[root@localhost ~]#yum install httpd -y #安装
[root@localhost ~]#yum remove httpd #卸载
[root@localhost ~]#yum reinstall httpd -y #重新安装
yum history
[root@localhost ~]#yum history #列出yum安装历史
[root@localhost ~]#yum history undo 10 #卸载历史编号10所安装的包
[root@localhost ~]#yum history redo 10 #重新安装历史编号10所安装的包
[root@localhost ~]#yum history info 10 #查询编号10详细信息
[root@localhost ~]#yum list #列出所有包(@表示已安装)
GConf2.x86_64 3.2.6-8.el7 @anaconda
GeoIP.x86_64 1.5.0-14.el7 @anaconda
ModemManager.x86_64 1.6.10-3.el7_6 @anaconda
zlib-devel.i686 1.2.7-18.el7 cdrom
zlib-static.i686 1.2.7-18.el7 cdrom
[root@localhost ~]#yum info tree #查询包信息
[root@localhost ~]#yum provides bash
[root@localhost ~]#yum search bash #搜索包(精确)
[root@localhost ~]#yum list |grep bash #模糊搜索
yum grouplist
[root@localhost ~]#yum grouplist #列出包组
vailable Environment Groups:
Minimal Install
Compute Node
Infrastructure Server
File and Print Server
Basic Web Server
Virtualization Host
Server with GUI
GNOME Desktop
KDE Plasma Workspaces
Development and Creative Workstation
Available Groups:
Compatibility Libraries
Console Internet Tools
Development Tools
Graphical Administration Tools
Legacy UNIX Compatibility
Scientific Support
Security Tools
Smart Card Support
System Administration Tools
System Management
[root@localhost ~]#yum group info "Development Tools" #查询包组所包含包
[root@localhost ~]#yum group install Development\ Tools #安装包组
dnf
centos8使用,用法与yum一样,主要是速度快
dnf [options] <command> [<arguments>…]
dnf --version
dnf repolist
dnf clean all
dnf makecache
dnf list installed
dnf list available
dnf search nano
dnf history
dnf history undo 1
ubuntu
dpkg
dpkg常见用法: man dpkg
dpkg -i package.deb 安装包
dpkg -r package 删除包,不建议,不自动卸载依赖于它的包
dpkg -P package 删除包(包括配置文件)
dpkg -l 列出当前已安装的包,类似rpm -qa
dpkg -l package 显示该包的简要说明,类似rpm –qi
dpkg -L package 列出该包中所包含的文件,类似rpm –ql
dpkg -S 搜索包含pattern的包,类似rpm –qf
dpkg -s package 列出该包的状态,包括详细信息,类似rpm –qi
dpkg --configure package 配置包,-a 使用,配置所有没有配置的软件包
dpkg -c package.deb 列出 deb 包的内容,类似rpm –qpl
dpkg --unpack package.deb 解开 deb 包的内容
apt
apt 命令
apt install 安装软件包
apt remove 移除软件包
apt purge 移除软件包及配置文件
apt update 刷新存储库索引
apt upgrade 升级所有可升级的软件包
apt autoremove 自动删除不需要的包
apt full-upgrade 在升级软件包时自动处理依赖关系
apt search 搜索应用程序
apt show 显示安装细节