发布时间:2014-09-05 17:41:59作者:知识屋
索引 | 说明 |
基础安装使用,系统升级等 | tasksel,系统升级do-release-upgrade,关机,终端命令,特殊设备,特殊挂载点,配置默认编辑器,基本命令,exit code,清除缓存,删除内核, |
软件包管理简介 | 管理命令列表,基本操作列表,高级操作列表,日志文件,软件备份与还原,软件包副本位置,软件包清除命令, update-alternatives默认软件配置,dpkg, apt-get/apt-cache, aptitude,自动更新unattended-upgrades,常用操作列表 |
一、基础安装与系统升级,初步使用
0.对于desktop发行版本要注意:在配置/boot/default/grub时开启特性和功能支持:
GRUB_CMDLINE_LINUX_DEFAULT="queit splash acpi_osi=Linux"
1.tasksel
使用tasksel命令可以安装配置好的各种服务器套件。如LAMP,mail server ,dns-server等等。
tasksel; tasksel --list-tasks; 显示各种套件包中的具体tasksel --task-packages dns-server
安装套件tasksel install dns-server
2.Upgradeing更新:
系统版本更新对于debian系列来说一般使用apt-get dist-upgrade
但是对于ubuntu来说推荐使用do-release-upgrade命令。
do-release-upgrade:更新到稳定发行版
do-release-upgrade -d :更新到开发版
说到这里我们说说centos的系统更新吧:
yum update | 下载更新系统已安装的所有软件包 |
yum upgrade | 大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级 |
3.登录界面:
ctrl+Alt+F1-F6进入字符界面,Alt+F7进入图像界面
字符界面shell prompt欢迎词位置:/etc/motd
4.关机:
在多用户情形下关机:shutdown -h now
在单用户情形下关机:poweroff -i -f
同时你也可以使用ctrl+Alt+del关机,但是需要确保/etc/inittab(debian下)或者/etc/init/rc-sysinit.conf(ubuntu下)包含
ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -h now
5.有趣的终端命令:
clear/reset
mc : A text-mode full-screen file manager
w3m:Text-mode WWW browsers
gpm:The Unix style cut-and-paste on the text console
6.添加和删除用户
adduser xby
deluser --remove-home xby
7.有趣的特殊设备:
/dev/zero; /dev/null, /dev/random,
8.linux文档系统说明文档位置:/usr/share/doc/linux-doc-*/Documentation/filesystems/*
9.特殊挂载点:
/proc ; /sys; /var/run ; /var/lock;
10.终端特殊快捷键:ctrl+z/d/c; ctrl+alt+del; tab ;
11.配置默认文本编辑器方式:/usr/bin/editor(通过创建连接方式)
A: export EDITOR=vim>> ~/.bashrc添加这个
B:$ sudo update-alternatives --config editor
12.配置vim初步:~/vimrc
Example:
set nocompatibleset nopasteset pastetoggle=<f2>syn onif $USER == "root" set nomodeline set noswapfileelse set modeline set swapfileendif13.基本的命令:
pwd ;
whoami;
id: display current user identity (name, uid, gid, and associated groups)
file: display the file type
type -p <commandname> : display a file location of coommand
for Exam:# type -p apache2
/usr/sbin/apache2
which和type -p类似
type <commd>展示命令信息
apropos <key-word> | find commands related to "<key-word>" |
man <cmd>
ls ; ls -a ;ls -A; ls -al; ls-ali; ls -d;
tree
lsof [-p] filename:显示打开文件的进程
mkdir; rm -rf; rmdir
cd ; cd .. ;cd -; cd ~xby;
touch; cp ; mv; chomd ;chown; chgrp;
find ; updateda && locate ; grep -e <pattern>
top; ps aux; ps -fe ; pstree; kill; killall;
jobs;fg;bg;
gzip;bzip2;xz;zcat;bzcat;tar;
15终端语言环境设置:export LANG=en_US.UTF-8
16.shell中的匹配模式glob:
*; .; ?; [..]; [a-z]; [^..]
示例:
$ echo [^1-3]*4.h17.终端命令执行结果exit codes:Table 1.21. Command exit codes
command exit status | numeric return value | logical return value |
---|---|---|
success | zero, 0 | TRUE |
error | non-zero, -1 | FALSE |
For example, try the following.
$ [ 1 = 1 ] ; echo $?0$ [ 1 = 2 ] ; echo $?1
18:shell常用符号
>>, <<, >, < , | , &; &&; || ; !!; 2>&1; - ; ; ;
19.命令别名:
alias, unalias
内键命令查看:type ls
20:脚本与管道:
find ,seq, xargs, grep, cut, awk,sed, sort, uniq, tr, head, tail
21.
清理opera firefox的缓存文件:
ls ~/.opera/cache4
ls ~/.mozilla/firefox/*.default/Cache
22.删除多余内核1,首先要使用这个命令查看当前Ubuntu系统使用的内核
uname -r
2,再查看所有内核
dpkg --get-selections|grep linux
3,最后小心翼翼地删除吧
sudo apt-get remove linux-image-2.6.32-22-generic
ps:linux-image-xxxxxx-generic 就是要删除的内核版本
还有
linux-headers-xxxxxx
linux-headers-xxxxxx-generic 总之中间有“xxxxxx”那段的旧内核都能删,注意一般选内核号较小的删。
你可以通过这条命令来进行以上部分工作:dpkg --get-selections | grep linux| grep -v "$(uname -r)"
二、软件包管理简介:
Table 2.1. List of Debian package management tools
package | popcon | size | description |
---|---|---|---|
apt | V:857, I:999 | 3569 | Advanced Packaging Tool (APT), front-end fordpkgproviding "http", "ftp", and "file" archive access methods (apt-get/apt-cachecommands included) |
aptitude | V:227, I:991 | 4488 | interactive terminal-based package manager with aptitude(8) |
tasksel | V:51, I:966 | 715 | tool for selecting tasks for installation on the Debian system (front-end for APT) |
unattended-upgrades | V:59, I:471 | 312 | enhancement package for APT to enable automatic installation of security upgrades |
dselect | V:8, I:80 | 2516 | terminal-based package manager (previous standard, front-end for APT and other old access methods) |
dpkg | V:910, I:999 | 6427 | package management system for Debian |
synaptic | V:111, I:478 | 7667 | graphical package manager (GNOME front-end for APT) |
apt-utils | V:429, I:997 | 1364 | APT utility programs: apt-extracttemplates(1),apt-ftparchive(1), andapt-sortpkgs(1) |
apt-listchanges | V:369, I:757 | 203 | package change history notification tool |
apt-listbugs | V:9, I:15 | 418 | lists critical bugs before each APT installation |
apt-file | V:20, I:87 | 69 | APT package searching utility ― command-line interface |
apt-rdepends | V:1, I:8 | 64 | recursively lists package dependencies |
新手注意事项:1。不要使用dpkg -i/-r ;2.出现问题不要删除/var/lib/dpkg;3.不要安装编译的软件覆盖系统文件。自己编译的软件应该安装到/usr/local或者/opt,如--prefix=/usr/local;4.不要安装不稳定的软件或版本
相关常用操作一览:
update:aptitude update" or "apt-get update
upgrade:"aptitude safe-upgrade" and "aptitude full-upgrade", or "apt-get upgrade" and "apt-get dist-upgrade"
install:"aptitude install …" or "apt-get install …"
remove:aptitude remove …" or "apt-get remove …"
purge:"aptitude purge …" or "apt-get purge …"
0.1基本的包管理操作:apt-get/apt-cacheandaptitude.
Table 2.6. Basic package management operations with the commandline usingaptitude(8) andapt-get(8) /apt-cache(8)
aptitudesyntax | apt-get/apt-cachesyntax | description |
---|---|---|
aptitude update | apt-get update | update package archive metadata |
aptitude install foo | apt-get install foo | install candidate version of "foo" package with its dependencies |
aptitude safe-upgrade | apt-get upgrade | install candidate version of installed packages without removing any other packages |
aptitude full-upgrade | apt-get dist-upgrade | install candidate version of installed packages while removing other packages if needed |
aptitude remove foo | apt-get remove foo | remove "foo" package while leaving its configuration files |
N/A | apt-get autoremove | remove auto-installed packages which are no longer required |
aptitude purge foo | apt-get purge foo | purge "foo" package with its configuration files |
aptitude clean | apt-get clean | clear out the local repository of retrieved package files completely |
aptitude autoclean | apt-get autoclean | clear out the local repository of retrieved package files for outdated packages |
aptitude show foo | apt-cache show foo | display detailed information about "foo" package |
aptitude search <regex> | apt-cache search <regex> | search packages which match <regex> |
aptitude why <regex> | N/A | explain the reason why <regex> matching packages should be installed |
aptitude why-not <regex> | N/A | explain the reason why <regex> matching packages can not be installed |
Table 2.12. The log files for package activities
file | content |
---|---|
/var/log/dpkg.log | Log ofdpkglevel activity for all package activities |
/var/log/apt/term.log | Log of generic APT activity |
/var/log/aptitude | Log ofaptitudecommand activity |
0.2高级管理:
Table 2.13. List of advanced package management operations
command | action |
---|---|
COLUMNS=120 dpkg -l <package_name_pattern> | list status of an installed package for the bug report |
dpkg -L <package_name> | list contents of an installed package |
dpkg -L <package_name> | egrep '/usr/share/man/man.*/.+' | list manpages for an installed package |
dpkg -S <file_name_pattern> | list installed packages which have matching file name |
apt-file search <file_name_pattern> | list packages in archive which have matching file name |
apt-file list <package_name_pattern> | list contents of matching packages in archive |
dpkg-reconfigure <package_name> | reconfigure the exact package |
dpkg-reconfigure -p=low <package_name> | reconfigure the exact package with the most detailed question |
configure-debian | reconfigure packages from the full screen menu |
dpkg --audit | audit system for partially installed packages |
dpkg --configure -a | configure all partially installed packages |
apt-cache policy <binary_package_name> | show available version, priority, and archive information of a binary package |
apt-cache madison <package_name> | show available version, archive information of a package |
apt-cache showsrc <binary_package_name> | show source package information of a binary package |
apt-get build-dep <package_name> | install required packages to build package |
aptitude build-dep <package_name> | install required packages to build package |
apt-get source <package_name> | download a source (from standard archive) |
dget <URL for dsc file> | download a source packages (from other archive) |
dpkg-source -x <package_name>_<version>-<debian_version>.dsc | build a source tree from a set of source packages ("*.orig.tar.gz" and "*.debian.tar.gz"/"*.diff.gz") |
debuild binary | build package(s) from a local source tree |
make-kpkg kernel_image | build a kernel package from a kernel source tree |
make-kpkg --initrd kernel_image | build a kernel package from a kernel source tree with initramfs enabled |
dpkg -i <package_name>_<version>-<debian_version>_<arch>.deb | install a local package to the system |
debi <package_name>_<version>-<debian_version>_<arch>.dsc | install local package(s) to the system |
dpkg --get-selections '*' >selection.txt | savedpkglevel package selection state information |
dpkg --set-selections <selection.txt | setdpkglevel package selection state information |
echo <package_name> hold | dpkg --set-selections | setdpkglevel package selection state for a package tohold (equivalent to "aptitude hold <package_name>") |
0.3备份安装软件列表及还原:
备份软件列表:dpkg --get-selections > back.txt;
还原并安装:dpkg -set-selections <back .txt && apt-get dselect-upgrade
但是debian官方推荐方式为:这样可以连配置文件一起备份
备份:
# dpkg --get-selections '*' > selection.dpkg# debconf-get-selections > selection.debconf还原:
# dselect update# debconf-set-selections < myselection.debconf# dpkg --set-selections < myselection.dpkg# apt-get -u dselect-upgrade # or dselect install
0.4已安装软件状态信息:
"/var/lib/apt/extended_states"
0.5本地存放的apt安装的软件包副本位置:
/var/cache/apt/archives
没有下载完的软件包在:/var/cache/apt/archives/partial
注意:这里无法通过apt-get autoclean清除,但可以通过apt-get clean清除。
几个清除命令的区别:
sudo apt-get autoclean 清理旧版本的软件缓存
sudo apt-get clean 清理所有软件缓存
sudo apt-get autoremove 删除系统不再使用的孤立软件
这三个命令主要清理升级缓存以及无用包的。
0.6软件删除与清理常用方式:sudo apt-get remove --purge 软件名
sudo apt-get autoremove 删除系统不再使用的孤立软件
sudo apt-get autoclean 清理旧版本的软件缓存
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P 清除残余的配置文件,保证干净。
sudo update-alternatives --display vi...$ sudo update-alternatives --config vi
The Debian alternatives system keeps its selection as symlinks in "/etc/alternatives/". The selection process uses corresponding file in "/var/lib/dpkg/alternatives/".
0.8转换rpm或其他格式包至deb包:alien
0.9:
dpkg 来管理软件包, 类似 RPM. 系统中所有 packages 的信息都在 /var/lib/dpkg/
目录下, 其子目录 /var/lib/dpkg/info 用于保存各个软件包的配置文件列表:
(1)*.conffiles 记录了软件包的配置文件列表
(2)*.list 保存软件包中的文件列表, 用户可以从 .list 的信息中找到软件包中文件的具体安装位置.
(3)*.md5sums 记录了软件包的md5信息, 这个信息是用来进行包验证的.
(4)*.prerm 脚本在 Debian 包解包之前运行, 主要作用是停止作用于即将升级的软件包的服务, 直到软件包安装或升级完成.
(5)*.postinst 脚本是完成 Debian 包解开之后的配置工作, 通常用于执行所安装软件包相关命令和服务重新启动.
0.10:ppa源管理:
添加一个PPA源
sudo add-apt-repository ppa:user/ppa-name
如添加cairo-dock到weekly update源
sudo add-apt-repository ppa:cairo-dock-team/weekly/ubuntu
删除一个PPA源
sudo add-apt-repository -r ppa:user/ppa-name
sudo add-apt-repository -r ppa:cairo-dock-team/weekly/ubuntu
添加apt-key
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 72D340A3
1.dpkg:
一般debian系列发行版本都会使用dpkg作为底层的package management.与其他包管理器不同的是,
注意哦,dpkg并不处理软件包之间的依赖关系,也不会自动下载软件包和其依赖,所以dpkg只能安装local package
显示已安装package:
dpkg -l
显示某个文件属于的软件.
#dpkg -S /etc/apache2/apache2.conf
apache2.2-common: /etc/apache2/apache2.conf
属于apache2.2-common这个软件安装是产生
有用的dpkg命令:
dpkg --set-selections; dpkg --get-selections
dpkg -P <old>移除旧的或残存的包或配置文件
dpkg --configure -a修复软件损坏
使用dpkg安装与卸载软件(不推荐,因为dpkg不处理软件包之间的依赖关系):dpkg -i xxx.deb安装;dpkg -r xxx (不推荐)
2.Apt-Get(Advance Package Tool)
配置目录 /etc/apt/apt.conf.d/
/etc/cron.daily/apt
ubuntu官方推荐的管理工具。
它由一个或多个远程软件仓库取出要安装的软件包。同时它会在本地建立远程仓库的索引以便随时查找可安装的软件包
配置远程仓库/etc/apt/sources.list与/etc/apt/sources.list.d/目录。
更新索引:apt-get update
更新已安装的软件:apt-get upgrade
apt-get install zip p7zip-full
apt-get remove zip
apt-get remove p7zip-full --purge
apt-get help
日志文件/var/log/dpkg.log
添加key文件apt-key add
常用:
1. 更新或升级操作: apt-get update # 更新源 apt-get upgrade # 更新所有已安装的包 apt-get dist-upgrade # 发行版升级(如,从10.10到11.04) 2. 安装或重装类操作: apt-get install <pkg> # 安装软件包<pkg>,多个软件包用空格隔开 apt-get install --reinstall <pkg> # 重新安装软件包<pkg> apt-get install -f <pkg> # 修复安装(破损的依赖关系)软件包<pkg> 3. 卸载类操作: apt-get remove <pkg> # 删除软件包<pkg>(不包括配置文件) apt-get purge <pkg> # 删除软件包<pkg>(包括配置文件) 4. 下载清除类操作: apt-get source <pkg> # 下载pkg包的源代码到当前目录 apt-get download <pkg> # 下载pkg包的二进制包到当前目录 apt-get source -d <pkg> # 下载完源码包后,编译 apt-get build-dep <pkg> # 构建pkg源码包的依赖环境(编译环境?) apt-get clean # 清除缓存(/var/cache/apt/archives/{,partial}下)中所有已下载的包 apt-get autoclean # 类似于clean,但清除的是缓存中过期的包(即已不能下载或者是无用的包) apt-get autoremove # 删除因安装软件自动安装的依赖,而现在不需要的依赖包 5. 查询类操作: apt-cache stats # 显示系统软件包的统计信息 apt-cache search <pkg> # 使用关键字pkg搜索软件包 apt-cache show <pkg_name> # 显示软件包pkg_name的详细信息 apt-cache depends <pkg> # 查看pkg所依赖的软件包 apt-cache rdepends <pkg> # 查看pkg被那些软件包所依赖
3.Aptitude
aptitude有一个纯文字界面的管理
不过一般还是使用命令行方便:
aptitude install/remove zip
4.Automatic Update自动更新
安装unattended-upgrades可以进行自动更新,或者有选择性的安全更新。同时可以添加软件黑名单不允许其更新
首先安装它:apt-get install unattended-upgrades
配置文件/etc/apt/apt.conf.d/50-unattended-upgrades,进行调整如下:
Unattended-upgrades::Allowed-Origins{
"Ubuntu precise-security";
// "Ubuntu precise-updates";
}
添加软件黑名单不允许更新:
Unattended-upgrades::Package-Blacklist{
"vim";
// “libc6”;
}
配置运行自动更新vim /etc/apt/apt.conf.d/02periodic 添加:
APT::Periodic::Update-Package-Lists "1"; //每天更新索引
APT::Periodic::Download-Upgradeable-Packages "1"; //每天下载更新
APT::Periodic::AutocleanInterval "7" //每个星期清理一次
APT::Periodic::Unattended-Upgrade "1";
关于此文件的更多设置信息可在/etc/cron.daily/apt中头部注释可见。
日志文件/var/log/unattended-upgrades
通知管理员
在/etc/apt/apt.conf.d/50unattended-upgrades文件中配置Unattended-Upgrade::Mail可以通知管理员要安装的更新和出现的问题
也可以使用apticron来完成通知apt-get install apticron,然后配置/etc/apticron/apticron.conf来进行通知
关于universe与Multiverse仓库
这两个仓库是由社区进行维护的,安全性对于服务器来说要慎重。
你也可以参考本人博客小站
linux一键安装web环境全攻略 在linux系统中怎么一键安装web环境方法
Linux网络基本网络配置方法介绍 如何配置Linux系统的网络方法
Linux下DNS服务器搭建详解 Linux下搭建DNS服务器和配置文件
对Linux进行详细的性能监控的方法 Linux 系统性能监控命令详解
linux系统root密码忘了怎么办 linux忘记root密码后找回密码的方法
Linux基本命令有哪些 Linux系统常用操作命令有哪些
Linux必学的网络操作命令 linux网络操作相关命令汇总
linux系统从入侵到提权的详细过程 linux入侵提权服务器方法技巧
linux系统怎么用命令切换用户登录 Linux切换用户的命令是什么
在linux中添加普通新用户登录 如何在Linux中添加一个新的用户
2012-07-10
CentOS 6.3安装(详细图解教程)
Linux怎么查看网卡驱动?Linux下查看网卡的驱动程序
centos修改主机名命令
Ubuntu或UbuntuKyKin14.04Unity桌面风格与Gnome桌面风格的切换
FEDORA 17中设置TIGERVNC远程访问
StartOS 5.0相关介绍,新型的Linux系统!
解决vSphere Client登录linux版vCenter失败
LINUX最新提权 Exploits Linux Kernel <= 2.6.37
nginx在网站中的7层转发功能