作为一名运维,对于linux操作系统本应该是如数家珍,可是从入门开始就使用了CentOS。现在公司的主要软件部署在ubuntu上,所以不得不系统的了解一下ubuntu的server。(debian/UOS)
理论上,CentOS和Ubuntu都属于linux操作系统,但这两个发行版隶属于两大不同的阵营,所以切换起来还是需要一些经历的,所以,在这里做一些记录。
系统级别
1 openssh-server
我安装的是ubuntu14.04 server
,竟然默认没有安装sshd服务。安装openssh-server
sudo apt-get install openssh-server
安装完成后sshd服务就直接启动了,这个和CentOS有些不同。
2 切换为阿里源
apt-get安装软件默认缓存目录为 /var/cache/apt/archives
3 软件安装
dpkg 本地安装
dpkg -i|--install <deb> 安装deb包
dpkg -r|--remove <.deb> 移除deb包,删掉数据和可执行文件
dpkg -c|--audit <.deb> 查看deb包文件列表
dpkg -I|--info <.deb> 查看deb包信息
dpkg -l 列出所有已安装的软件包
dpkg -L|--listfiles <.deb> 列出安装的所有文件清单
dpkg –S 命令用于了解当前的软件属于那个软件包
dpkg -P|--purge <.deb> 完全清除已安装deb包,包括配置
dpkg –s <.deb> 命令查看软件包的详细情况,包括版本,依赖之类的
dpkg –I 命令用于查看未安装软件包的详细信息,以便了解该软件包是否需要安装.
apt-get –f install 解决Dpends问题
dpkg -x xx.deb /tmp/oo 解压deb包
aptitude
apt-get install aptitude
aptitude update 更新可用的包列表
aptitude upgrade 升级可用的包
aptitude dist-upgrade 将系统升级到新的发行版
aptitude install pkgname 安装包
aptitude remove pkgname 删除包
aptitude purge pkgname 删除包及其配置文件
aptitude search string 搜索包
aptitude show pkgname 显示包的详细信息
aptitude clean 删除下载的包文件
aptitude autoclean 仅删除过期的包文件
apt-get
apt-cache search package 搜索包
apt-cache show package 获取包的相关信息,如说明、大小、版本等
apt-cache depends package 了解使用依赖
apt-cache rdepends package 是查看该包被哪些包依赖
apt-cache madison package 查看包有哪些可安装的版本,如 apt-get install ansible=2.7.5+dfsg-1~bpo9+1
apt-get install [--reinstall] package 安装
apt-get install [-f|--fix-missing] package 修复安装
apt-get remove [--purge] package 删除包(删除配置文件等)
apt-get update 更新源
apt-get upgrade 更新已安装的包
apt-get dist-upgrade 升级系统
apt-get dselect-upgrade 使用 dselect 升级
apt-get build-dep package 安装相关的编译环境
apt-get source package 下载该包的源代码
apt-get clean && sudo apt-get autoclean 清理无用的包
apt-get check 检查是否有损坏的依赖
apt-get download package 只下载不安装
apt-get purge / apt-get --purge remove 删除已安装包(不保留配置文件)。
apt-get autoremove 删除为了满足依赖而安装的,但现在不再需要的软件包(包括已安装包),保留配置文件。
apt-get remove 删除已安装的软件包(保留配置文件),不会删除依赖软件包,且保留配置文件。
apt-get autoclean APT的底层包是dpkg, 而dpkg 安装Package时, 会将 *.deb 放在 /var/cache/apt/archives/中,apt-get autoclean 只会删除 /var/cache/apt/archives/ 已经过期的deb。
apt-get clean 使用 apt-get clean 会将 /var/cache/apt/archives/ 的 所有 deb 删掉,可以理解为 rm /var/cache/apt/archives/*.deb。
遇到的问题
问题1
方法
進到 /var/lib/dpkg/info
目錄
將卡住的套件檔案刪掉即可
apt-get autoclean
apt-get autoremove
问题2
方法
dpkg --remove --force-remove-reinstreq zramswap-enabler
问题3
dpkg: error: dpkg status database is locked by another process
方法
$ sudo rm /var/lib/dpkg/lock
$ sudo dpkg --configure -a
$ sudo rm /var/lib/apt/lists/lock
问题4
apt-get 锁定问题
1 停掉 apt 相关进程
2 删除 lock 文件 /var/lib/apt/lists/、/var/lib/dpkg/、/var/cache/apt/archives/
问题4
error processing install-info
解决办法:
1.将info文件夹更名:mv /var/lib/dpkg/info/ /var/lib/dpkg/info_old/
2.再新建一个新的info文件夹 :mkdir /var/lib/dpkg/info/
3.apt-get update:apt-get update
4.重新安装 :apt-get -f install
5.执行完上一步操作后会在新的info文件夹下生成一些文件,现将这些文件全部移到info_old文件夹下 :mv /var/lib/dpkg/info/* /var/lib/dpkg/info_old/
6.把自己新建的info文件夹删掉 :rm -rf /var/lib/dpkg/info
7.把info_old文件夹重新改回info :mv /var/lib/dpkg/info_old/ /var/lib/dpkg/info/
8.重新安装需要安装的软件
4网络
设置静态IP
vim /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.0.117 # ip地址
netmask 255.255.255.0 # 掩码
network 192.168.0.0 # 网络地址
gateway 192.168.0.1 # 网关
broadcast 192.168.0.255 # 广播地址
dns-nameservers 114.114.114.114 # DNS
设置DNS
sudo vim /etc/resolvconf/resolv.conf.d/base(这个文件默认是空的)
在里面插入:
nameserver 8.8.8.8
nameserver 8.8.4.4
修改好保存,然后执行
sudo resolvconf -u
会重新生成/etc/resolv.conf,即时生效
在这样设置时,有时resolvconf -u
无法执行,所以还要直接设置/etc/resolv.conf
查看网关
ip route show
route -n
netstat -rn
5 设置root用户密码
sudo passwd root
6 sar 命令
ubuntu下sysstat的监控默认是关闭的。
需要手动打开
/etc/default/sysstat
软件级别
debian
- Debian9 不含
rc.local
的处理方法
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。