centos7安装其他源以及安装软件
以下所有操作默認在root權限下執行,桌面環境是kde,使用gnome的也可以參考一下。
我收集的以下要用到的一些安裝包,這是百度網盤的地址 http://pan.baidu.com/s/1sjM5IHJ
以下要用的安裝軟件語法:
通過軟件源在線安裝:
sudo yum -y install 軟件名
其中參數-y為所有選項均選則yes,不加-y則要手動確認
通過本地rpm包安裝:
sudo rpm -ivh 軟件名
其中參數-i為安裝,-vh為列出安裝過程
1、將安裝光盤構建為本地yun源
1.安裝createrepo
yum install createrepo
2.復制光盤鏡像文件到/usr/local/src
cp CentOS-7.0-1406-DVD.iso /usr/local/src
3.將安裝光盤文件掛載
mkdir /media/CentOS7-LocalSource
mount -t iso9660 -o loop /usr/local/src/CentOS-7.0-1406-DVD.iso/media/CentOS7-LocalSource
4.設置開機自動掛載光盤鏡像
vi /etc/fstab
在最后添加一行(注意:fstab寫錯了會進入emergency mode,無法正常加載系統)
/usr/local/src/CentOS-7.0-1406-DVD.iso /media/CentOS7-LocalSourceiso9660 defaults,ro,loop 0 0
5.重寫repodata(未修改光盤鏡像不需要此操作)
cd /media
createrepo CentOS7-LocalServer
6.配置源
vi /etc/yum.repos.d/CentOS7-LocalServer.repo
[CentOS7-LocalServer]
name=LocalServer
baseurl=ftp://192.168.1.119/CentOS7-LocalServer
enable=1
gpgcheck=0
7.重新建立yum緩存
yum clean all
yum makecache
8.本地yum源搭建完成
2、配置kde桌面語言中文顯示
我裝的是kde桌面,剛裝好時桌面是英文顯示的,所以現在來配置一下
yum listkde*chinese
yum install kde-l10n-Chinese.noarch
二、添加第三方軟件源1、添加rpmforge源
該源聽說很強大,不過我看了下目前centos7的軟件包并不多,關于5和6的包倒是很多
下載地址:http://apt.sw.be/redhat/el7/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
安裝:
cd ~/下載
rpm –ivh rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
2、添加elrepo源
該源包含NVIDIA顯卡驅動
下載地址:
http://elrepo.reloumirrors.net/elrepo/el7/x86_64/RPMS/elrepo-release-7.0-1.el7.elrepo.noarch.rpm
安裝:
cd ~/下載
rpm –ivh elrepo-release-7.0-1.el7.elrepo.noarch.rpm
3、添加epel源
該源包含很多fedora移植過來的軟件
下載地址:http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm
安裝:
cd ~/下載
rpm -ivh epel-release-7-2.noarch.rpm
4、添加mosquito源
該源包含的軟件有(配合nux-dextop源使用)
pidgin-lwqq - 使用 WebQQ 協議編寫的 pidgin-QQ 插件
pidgin-openfetion - 使用 fetion v4 協議編寫的 pidgin 飛信插件
pidgin-sendscreenshot - pidgin 截圖插件
wiznote - 為知筆記
sogou-pinyin - 搜狗拼音輸入法,基于 fcitx 框架開發
sogou-pinyin-skins - 搜狗拼音輸入法皮膚
fcitx-googlepinyin - 基于 fcitx 框架的谷歌拼音輸入模塊
fcitx-rime - 中州韻輸入法
fcitx-libpinyin - 基于 fcitx 框架的 libpinyin 輸入法
fcitx-sunpinyin - 基于 fcitx 框架的 sunpinyin 輸入法
fcitx-configtool, kcm-fcitx - GTK 和 KDE 下的 fcitx 配置工具
openyoudao - 一個 python 編寫的有道詞典 linux 客戶端
deepin-music-player - 深度音樂播放器
dmusic-plugin-baidumusic - 深度音樂播放器的百度音樂插件
osdlyrics - 支持多款音樂播放器的桌面歌詞軟件
pointdownload - 一款方便高效的下載軟件
mvgather - 一款支持影視點播的視頻客戶端,內容來自 yunfan.com
deepin-screenshot - 深度截圖
deepin-translator - 深度翻譯
xware-desktop - 迅雷桌面版
bcloud - 百度云的 linux 客戶端
screenfetch - 獲取系統/主題信息的命令行工具
musicbox - 網易云音樂的命令行客戶端
moonplayer - 視頻播放器,支持搜索播放 youku, tudou, iqiyi, sohu, 56, funshion 的網絡視頻
gouyong - 夠用翻譯,支持取詞
doubanfm-qt - 基于 Qt5 開發的 DoubanFM 客戶端
douban.fm - 基于 NodeJS 開發的 DoubanFM CLI 客戶端
1)方法一:直接安裝
終端輸入,回車即可
yum-config-manager --add-repo=https://copr.fedoraproject.org/coprs/mosquito/myrepo/repo/epel-$(rpm-E %?rhel)/mosquito-myrepo-epel-$(rpm -E %?rhel).repo
2)方法二:手動編寫repo文件
若方法一不可用,用vi新建一個/etc/yum.repos.d/mosquito-myrepo.repo文件
vi /etc/yum.repos.d/mosquito-myrepo.repo 往里面寫入一下語句 [mosquito-myrepo]
name=Copr repo for myrepo owned by mosquito
baseurl=http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo/epel-7-$basearch/
skip_if_unavailable=True
gpgcheck=0
enabled=1
按:wq保存退出5. 添加nux-dextop源1)方法一:直接安裝
終端輸入,回車即可
yumlocalinstall http://li.nux.ro/download/nux/dextop/el$(rpm -E %rhel)/x86_64/nux-dextop-release-0-2.el$(rpm-E %rhel).nux.noarch.rpm
2)方法二:
下載:
http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
安裝:
cd ~/下載
rpm –ivh nux-dextop-release-0-1.el7.nux.noarch.rpm
6.運行以下命令生成以上第三方源的yum緩存
sudo yum cleanall
sduo yummakecache
7、安裝fastestmirror
一個自動選擇最快的yum源的插件
安裝方法:
1)搜索fastestmirror包的全名
sudo yum searchfastestmirror
2)假設搜索的結果是“yum-fastestmirror-noarch”,那么輸入命令
sudo yum installyum-fastestmirror-noarch
8、如果不想這么麻煩自己安裝第三方源,可以將我在百度網盤里提供的repo和gpg直接復制到本機centos7上就可以了
導入repo
cdrepo目錄
cp*.repo /etc/yum.repos.d
導入repo的密鑰gpg
cdgpg目錄
cp* /etc/pki/rpm-gpg
三、安裝一些日常應用軟件1、安裝chrome瀏覽器
Firefox是各centos7發行版默認的瀏覽器,chrome是Google出品的一款很強大的瀏覽器,所謂Google出品,必屬精品。還有adobe-flash插件的安裝。chrome訪問不了官網, adobe-flash插件可以分別到官網下載,在軟件源里都沒有,前面已經給出了我的百度網盤分享地址
安裝方法:
1)安裝chrome
首先進入rpm安裝包所在目錄,cd命令參照前面,后面所有安裝均要進入安裝包所在目錄,不再提示。
運行下面這條命令
sudo rpm –ivh google-chrome*.rpm
如果提示缺少什么依賴包,則安裝依賴包后在執行,后面的軟件安裝缺少依賴包時參照此處依賴包的安裝,依賴包的安裝方法
sudo yum –y install 依賴包1 依賴包2 依賴包n
2)安裝adobe-flash插件
sudo rpm –ivh flash*.rpm
2、安裝桌面插件cairo-dock
一個仿蘋果風的桌面插件。這個安裝后要在 系統設置->桌面效果 設置,忘了哪個效果了,應該是跟透明相關的效果,否則有一條黑黑的條條,很難看
yum install cairo-dock
3、壓縮與解壓縮工具
Linux下打包壓縮解壓縮一般用的是tar、gzip、bzip2命令,tar打包后的壓縮包通常為*.tar.gz或*.tar.bz,gzip壓縮后的文件為*.gz,bzip2壓縮后的文件為*.bz。也有辦法解壓縮zip文件。但對于新手來說,win平臺常見的rar、zip和7z文件使用unrar、unzip和p7zip可能更為適合,現在我們來安裝一下。
安裝方法:
1)安裝unrar和unzip
sudo yum install unrar unzip
2)安裝p7zip
sudo yun install p7zip
4、在線音樂kwplayer
這是一個酷我音樂盒的linux版本,kwplayer 是linux桌面下的輕量級的音樂播放軟件, 由LiuLang同學開發, 使用的是Python3+gtk3, 開源的(GPLv3),地址為https://github.com/LiuLang/kwplayer
方法:
sudo rpm –ivh kwplayer*.rpm
這個要安裝音頻解碼器等依賴包,根據依賴檢測缺失的包安裝一下就好
5、視頻播放器Mplayer和smplayer
yum install mplayer smplayer
6、視頻播放器VLC
yum -y --enablerepo=nux-dextop installgstreamer-ffmpeg gstreamer-plugins-ugly gstreamer-plugins-bad ffmpeg libvdpaumpg123 gstreamer-plugins-bad-nonfree gstreamer1-libavgstreamer1-plugins-bad-freeworld
yum install vlc
7、辦公軟件
默認安裝的libreoffice是開源的辦公軟件,兼容微軟的office的各種文檔格式,但是有點問題就是可能兩者的顯示效果并不一致,不知道是不是跟文字編碼和字體有關,這一點上國產的WPS則要好一點點,所以一般linux和windows的文檔交流用的是pdf文檔。因為不同系統對office文檔的顯示效果并不那么一致,就連win系統不同版本間對office的顯示效果有時都會不一樣。
安裝方法:
安裝wps,wps for linux下載地址
http://community.wps.cn/download/
sudo rpm –ivh wps-office*.rpm\
然后這個在centos7上面缺少好多依賴包,一個個把依賴包安裝上去吧,參照前面的方法
安裝后打開wps是可能會提示缺少字體,可以到win系統下把字體復制到/usr/share/fonts/文件夾下就是了。因為那些字體是有版權的,wps并沒有集成。
8、PDF閱讀器
Centos7自帶的okular挺好用的
9、chm閱讀器
我從fedora20上移植過來的kchmviewer,所有第三方源似乎都沒有關于chm閱讀的軟件,前面的百度網盤有分享
rpm –ivh chmlib-0.40-9.el7.x86_64.rpm kio_msits-5.2-5.el7.x86_64.rpmkchmviewer-common-5.2-5.el7.noarch.rpm kchmviewer-5.2-5.el7.x86_64.rpm
10、圖形處理工具gimp和矢量圖處理工具inkscape
Windows下有Photoshop這個圖形處理軟件,而linux下對應的圖形處理工具則是gimp,值得一提的是,gimp比Photoshop還要強大一些,可以直接輸出視頻。而inkscape則是處理矢量圖的工具,類似與illustrator
安裝方法:
sudo yum install gimp
sudo yum install inkcape
11、翻譯詞典stardict
星際譯王(stardict)是利用GTK(GIMP TOOLKIT)開發的國際化的、跨平臺的自由的桌面字典軟件。它并不包含字典檔,使用者須自行下載配合使用。它可以運行于多種不同的平臺,如Linux, MicrosoftWindows,FreeBSD及Solaris,并使用GPL授權。這是從fedora20源里弄下來的,直接用,沒什么bug
安裝方法:
rpm –ivh stardict-3.0.5-1.fc20.x86_64.rpm
詞庫安裝:(我在百度網盤里有分享)
cp 詞庫 /usr/share/stardict/dic
12、linux版百度云管家bcloud
這個也是kwplayer的作者編寫的,我們已經添加了源,直接裝就好了
yum installbcloud
13、郵件收發工具thunderbird
yuminstall thunderbird
14、錄制桌面操作視頻的工具qt-recordMyDesktop
Kde桌面安裝
yum installqt-recordmydesktop
gnome桌面安裝
gtk-recordmydesktop
15、linux版迅雷
//TODO需要依賴包python3-qt5這個包沒解決
16、linux版有道
可惜只有屏幕取詞的功能
yuminstall openyoudao
17、影視集結號mvgather
可以看在線電視和一些在線視頻
yuminstall mvgather
18、Moon Player
視頻播放器,支持搜索播放 youku,tudou, iqiyi, sohu, 56, funshion 的網絡視頻
yum installmoonplayer
19、screenfetch
獲取系統/主題信息的命令行工具,大神都在用
yuminstall screenfetch
20、點載pointdownload
一款方便高效的下載軟件,支持 HTTP,BT, Magnet, ed2k, Thunder 等下載協議,支持迅雷離線加速和高速通道功能,支持視頻下載功能。
yuminstall pointdownload
四、磁盤管理與刻錄、啟動U盤制作1、圖形化分區和格式化磁盤工具gparted
在 Linux 中調整分區最簡單的方法是使用GParted 程序。它拒絕在任何當前掛載的分區上進行操作,不能調整根目錄(/)或者其他對操作系統功能來說至關重要的分區,避免了誤操作。當然要調整這些至關重要的分區還是可以在命令行進行的。
安裝方法:
yum install gparted
2、專業的圖形化光盤刻錄工具k3b
K3b(KDE Burn Baby Burn)是一個設計給 KDE在Linux或其它類Unix系統上的CD/DVD燒錄的自由軟件 。當然各linux發行版一般都有自帶磁盤刻錄的工具啦。
Centos7自帶了,挺好用的,效果不比Nero差
3、Linux下制作USB安裝盤(啟動U盤)
在windows下我們使用通過制作PE或者使用UltraISO寫入硬盤映像的方法來制作USB引導安裝盤,也就是所謂的啟動U盤,在linux下也是可以做到的,通過unetbootin這個傻瓜式的圖形軟件就可以一鍵制作各linux發行版的USB引導盤,但可惜的是unetbootin并不支持win系統的USB安裝盤的制作。沒有關系我們可以使用gparted、ms-sys、cp等工具進行制作win系統的USB引導盤,下面就來介紹一下。
安裝方法:
1) 制作linux各發行版USB安裝盤
yum installunetbootin
然后打開unetbootin這個軟件就可以一鍵制作linux各發行版USB安裝盤了。
2)制作win7系統的USB安裝盤
有三步:
第一步:使用gparted格式化U盤為NTFS格式
第二步:使用ms-sys -7 /dev/sdb 寫入win7引導信息到dev/sdb磁盤上面,注意看你的U盤設備是什么,是“dev/sdb”還是“dev/sdc”
第三部:掛載win7.iso和你的U盤,復制win7.iso里面的所有信息到U盤去,可以使用cp –r命令或直接在圖形化的文件管理器里用鼠標進行復制。
gparted前面已經介紹了安裝的方法,現在介紹安裝ms-sys這個微軟出品的在開源linux上使用的寫入win系統引導信息的命令行工具,去官網下載一個最新版,http://sourceforge.net/projects/ms-sys/
只有源碼的makefile文件,沒有前面用的那種rpm包,所以我們要手動編譯并安裝
在終端進入下載的ms-sys目錄下,運行命令
sudo make
這時如果沒有錯誤提示則在運行make install命令,如果提示找不到cc或gcc,那就是沒有安裝gcc編譯器的意思。
這時就可以先運行命令安裝gcc編譯器
sudo yum install gcc
安裝完gcc編譯器后,我們再運行
sudo make
sudo make install
安裝完ms-sys命令后,我們可以運行ms-sys命令測試一下,這是就可以看到ms-sys的具體用法了。
然后我們使用之前安裝的圖形化gparted工具將U盤格式化為NTFS格式,win7安裝盤一定要是NTFS格式,否則制作的引導盤無法引導win7系統,
格式化后關閉gparted,打開終端,然后輸入partprobe命令刷新磁盤信息
然后寫入win7引導信息到U盤,運行命令
ms-sys -7 /dev/sdb
-7這個參數是寫入win7引導信息的意思,/dev/sdb是你的U盤設備名
最后掛載win7.iso并復制所有iso里的文件到你的U盤里面,可以使用如下命令
掛載win7.iso
sudo mount 路徑/win7.iso /mnt/media
復制文件
cp –r /mnt/media/* U盤的掛載路徑
因為win7.iso有3.2G大小,復制需要10-20分鐘時間,耐心等待就好
如果你覺得命令行下看不到進度條不放心,也可以使用圖形化的文件管理器進行復制
復制完后就win7USB引導設備就制作完成了,XP和win8我沒有嘗試,應該也是可以成功的。
如果是作為桌面使用,以上的軟件已經足夠像在windows上那樣隨心所欲地操作了,但如果作為開發者而言,一些開發環境的安裝是不能不知道的。比如C/C++的編譯器GCC,Java的編譯與運行環境JDK,目前比較流行的Java的集成開發環境eclipse,甚至還有Oracle數據庫、apache服務器等等。
1、安裝GCC編譯器
如果安裝centos7時沒有選擇安裝開發環境那一項,那么
yum install gcc gcc-c++
2、安裝openjdk
openjdk是jdk的開放原始碼版本,以GPL協議的形式放出。在JDK7的時候,openjdk已經成為jdk7的主干開發,sun jdk7是在openjdk7的基礎上發布的,其大部分原始碼都相同,只有少部分原始碼被替換掉。使用JRL(JavaResearchLicense,Java研究授權協議)發布。至于openjdk6則更是有其復雜的一面,首先是openjdk6是jdk7的一個分支,并且盡量去除Java SE7的新特性,使其盡量的符合Java6的標準。
我們安裝openjdk7就好了
1)安裝java程序運行環境
java-1.7.0-openjdk.x86_64(Java程序的運行環境,libreoffice等多數開源程序的運行就是基于此)
yum install java-1.7.0-openjdk.x86_64
1) 安裝java開發環境
java-1.7.0-openjdk-devel.x86_64(開發環境,Java的編譯環境)
sudoyum –y install java-1.7.0-openjdk-devel.x86_64
3、安裝linux下的常用文本編輯器
vi是所有linux下的強大命令行文本編輯器,vim是vi的升級版本,有高亮顯示的功能,已經是一個代碼編輯器了,很多程序員都喜歡用vim或者emacs作為寫C/C++代碼的編輯器。nano是一個易于使用的命令行文本編輯器。gedit是gnome桌面默認的圖形文本編輯器,對應的,KDE桌面也有一個默認的圖形文本編輯器叫kwrite。
安裝方法:
1)安裝vim
sudo yum –y install vim
2)安裝nano
sudo yum –y install nano
3)安裝emacs
sudo yum –y install emacs
4、安裝eclipse
Eclipse是目前比較流行的Java集成開發環境(Eclipse官網下載的綠色軟件,解壓后直接用)
tar -zxvf eclipse-jee-luna-SR1-linux-gtk-x86_64.tar.gz -C ~
5、安裝oracle11g數據庫
rpm –ivh oracle-xe-11.2.0-1.0.x86_64.rpm
6、安裝tomcat服務器
tomcat官網下載的綠色軟件,解壓后直接用
tar-zxvf apache-tomcat-7.0.56.tar.gz -C ~
回復
- 7樓
- 2014-10-29 20:45
- 舉報?|個人企業舉報垃圾信息舉報
解決辦法是,將當前用戶寫到/etc/sudoers文件中
1)切換到root用戶
su –
2)修改/etc/sudoers文件權限,修改為可寫權限
chmod 777 /etc/sudoers
3)使用gedit或kwrite編輯/etc/sudoers文件
添加要提升權限的用戶;在文件中找到root ALL=(ALL)ALL那一行,在該行下添加提升權限的用戶信息,比如我的用戶名為“jison“,就填上jison如:
root ALL=(ALL) ALL
jison ALL=(ALL) ALL
說明:格式為(用戶名 網絡中的主機=(執行命令的目標用戶) 執行的命令范圍)
4)保存退出,并恢復/etc/sudoers的訪問權限為440
chmod440 /etc/sudoers
5)切換到普通用戶,測試用戶權限提升功能
sudo命令
2、音樂格式不支持播放
那是因為沒有安裝到相關的音樂解碼器,安裝一下以下音頻解碼器就好了。
安裝音頻解碼器:(可以一條命令一起安裝,每個包之間用空格隔開即可,這樣寫只是為了大家知道有哪些包)
sudo yum install ffmpeg
sudo yum install ffmpeg-libs
sudo yum install gstreamer-ffmpeg
sudo yum install xvidcore
sudo yum install libdvdread
sudo yum install libdvdnav
sudo yum install lsdvd
sudo yum install gstreamer-plugins-good
sudo yum install gstreamer-plugins-bad
sudo yum install gstreamer-plugins-ugly
sudo yum install gstreamer-plugins-bad
sudo yum install gstreamer-ffmpeg
3、視頻格式不支持播放
那是因為沒有安裝到相關的視頻解碼器,安裝一下以下視頻解碼器就好了。
安裝視頻解碼器:(可以一條命令一起安裝,每個包之間用空格隔開即可,這樣寫只是為了大家知道有哪些包)
sudo yum install ffmpeg
sudoyum install ffmpeg-libs
sudo yum install gstreamer-ffmpeg
sudo yum install libmatroska
sudo yum install xvidcore
4、centos7的備份與還原和grub2修復
centos7備份還原與grub2引導和rescue模式修改root密碼
一.centos7備份
1.su -
2.cd /
3.tar -zpPcvf backup.tgz --exclude=/sys --exclude=/mnt --exclude=/proc--exclude=/lost+found --exclude=backup.tgz /
二.centos7還原(原系統掛掉解決辦法,系統沒掛直接tar即可還原)
1.centos7安裝盤進入援救模式
2.給磁盤分區(sda1用作根目錄,sda2用作交換分區)
fdisk/dev/sda
p 向屏幕打印硬盤的分區
d 刪除分區
n 新建分區
w 保存更改并退出
q 退出不保存之前的操作
3.格式化分區
mke2fs-t ext3 /dev/sda1 將/dev/sda1格式化為ext3文件系統
mkswap/dev/sda2 將/dev/sda2格式化為交換分區
4.掛載/dev/sda1到centos啟動盤援救系統的/mnt目錄下
mount/dev/sda1 /mnt
5.還原系統備份到/dev/sda1所掛載的目錄/mnt
tar-zpxvf backup.tgz -C /mnt
三.安裝grub并寫入引導信息到mbr
1.更改/dev/sda1所掛載的目錄/mnt為根目錄
chroot/mnt
2.掛載proc和sysfs
mount-t proc proc /proc
mountsysfs /sys -t sysfs
3.安裝grub2到/dev/sda的mbr
grub2-install/dev/sda1
4.更新/boot/grub2/grub.cfg和/etc/grub2.cfg的信息
grub2-mkconfig-o /boot/grub2/grub.cfg
grub2-mkconfig-o /etc/grub2.cfg
{/**
* @引申的命令
* 查看默認引導的內核 grub2-editenvlist
* 修改默認引導的標題 grub2-set-default"標題"
* 未chroot時使用(假設/mnt為根目錄掛在位置) grub2-install --directory-root=/mnt/dev/sda
*/
}
5.把/etc/fstab文件中的uuid標識符改為硬盤設備分區
比如:
行首的UUID=03feda9-c221-4375-a6bf-0b80bd875323改為/dev/sda1
UUID=f4e3d0dc-df2f-446f-9403-0e51835ca4b3改為/dev/sda2
四.更改root密碼(不知道為何,沒有這個操作進不了系統)
1.開機選擇界面按e
2.然后在倒數第二行內核vmlinuz那一行后面加 rw single init=/bin/bash,接著Ctrl+X進入但用戶模式
3.passwd修改root密碼
4.touch /.autorelabel
5.exec /sbin/init(一定要這樣啟動),接著輸入剛剛修改root密碼回車,自動重啟后就可以進入還原的系統了
5、雙系統win7引導項丟失問題
一.用vi編輯/boot/grub2/grub.cfg文件
vi /boot/grub2/grub.cfg
找到下面這段
### BEGIN /etc/grub.d/30_os-prober ###
### END/etc/grub.d/30_os-prober ###
修改為下面這段(+2沒有空格)
### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows 7"{
insmod part_msdos
insmod ntfs
set root=*(hd0,msdos1)*
search --no-flooppy --fs-uuid --set6a9463b094637e07
chainloader +2
}
### END/etc/grub.d/30_os-prober ###
查看分區的uuid
blkid/dev/sda1
二.修改win7為默認啟動系統
查看默認引導的內核
grub2-editenv list
修改默認引導的系統(雙引號內的字符串為上面修改grub.cfg的"Windows7")
grub2-set-default "Windows 7"
6、ibus拼音輸入法
按win+空格就可以切換輸入法了,這里提一下,免得找不到
7、給konsole做一個快捷鍵Ctrl+Alt+T
打開 系統設置->快捷方式->手勢自定義快捷鍵->編輯->新建->全局快捷鍵->命令/URL-
快捷方式命名為“konsole“
觸發器->快捷鍵輸入“Ctrl+Alt+T”
動作->命令/URL輸入“/usr/bin/konsole”
最后點擊應用就ok了
8、解決ntfs格式的磁盤掛載
1.下載
http://www.tuxera.com/community/ntfs-3g-download/
2.編譯工具(若沒有yum安裝一下)
gcc compiler, libc-dev libraries
3.編譯安裝()
./configure
make
make install # or *sudo make install* ifyou aren*t root
4.掛載ntfs分區(以掛載/dev/sdb1為例)
mount -t ntfs-3g /dev/sdb1 /mnt/windows
5.卸載ntfs分區
umount /dev/sdb1
6.設置開機掛載
vi /etc/fstab
到最后一行添加
/dev/sda1 /mnt/windows ntfs-3g defaults 0 0
9、配置konsole字體和外觀
konsole默認狀態極丑,文字有時顯示不全,我們只要設置一下就好了
設置->管理配置方案->編輯配置方案->外觀
選擇自己的配色方案和背景,編輯需要的效果即可
字體選擇自己喜歡的一個,調整好大小和顯示效果即可
六、centos7的虛擬化1、kvm虛擬機
kvm是未來虛擬化的趨勢,因為從內核2.6.20開始已經整合到內核里面了,又稱為基于內核的虛擬機。
它和xen均是虛擬化的解決方案,但是目前中國用的較多的還是xen的解決方案,xen的高手也多一些。
1.安裝
查看虛擬支持情況:grep-E *svm|vmx* /proc/cpuinfo
需要注意的是,開啟主板BIOS里的AMD或者INTEL的CPU的虛擬化支持。
如果是服務器上的實裝,一般都不會安裝GUI,采用最小化安裝,那么執行以下命令:
yum -y install qemu-kvm libvirtvirt-install bridge-utils
并且要會設置橋接網卡。這里不再介紹了。
如果是有GUI的界面的,比如我自己的筆記本電腦,那么要簡單的多了。
yum install qemu-kvm qemu-imgyum installvirt-manager libvirt libvirt-python python-virtinst libvirt-client
然后重啟下電腦。
lsmod | grep kvm
確認模塊已經被加裝了,如果出現以下兩行,則表示模塊已安裝
kvm_intel 138567 0
kvm 441119 1 kvm_intel
開啟libvirtd服務
systemctl start libvirtd
systemctl enable libvirtd
2.配置橋接網絡接口
為即將安裝的kvm虛擬機配置一個橋接網絡接口
vi/etc/sysconfig/network-scripts/ifcfg-br0
我的配置有點像這樣
DEVICE=br0
TYPE=Bridge
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME=br0
ONBOOT=yes
PEERDNS=yes
PEERROUTES=yes
編輯實際網卡的配置
vi/etc/sysconfig/network-scripts/ifcfg-enp8s0
我的配置有點像這樣
DEVICE=enp8s0
TYPE=Ethernet
BOOTPROTO=dhcp
BRIDGE=br0
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME=enp8s0
UUID=bd4e4309-1113-4223-b94a-509fe0d15c8b
ONBOOT=yes
PEERDNS=yes
PEERROUTES=yes
然后重啟下電腦
reboot
3.安裝kvm虛擬機
打開虛擬系統管理器(virt-manager),安裝系統挺傻瓜式的,唯一需要注意的是網卡選擇上面配置的br0橋接網卡
安裝完成之后,就可以使用本地路由器分配的ip地址上網了,也可以通過ip地址進行遠程登陸管理形成vpn(虛擬專用網了)
值得一提的是,安裝kvm虛擬機時有三種讓虛擬機訪問外網的方式,即橋接,NAT和Host-only(使用主機網絡)
但只有上面用到的橋接方式才能讓外網訪問安裝的kvm虛擬機
2.xen虛擬機
//TODO 用到再說
3.VitualBox虛擬機
這個虛擬機也是開源的,沒有vmware好用,僅僅是裝過一個winxp
rpm–ivh VirtualBox-4.3-4.3.18_96516_el7-1.x86_64.rpm
//TODO并沒有用來測試過橋接網絡接口,用到再說
4.VMware虛擬機
VMware應該算是目前最好用的虛擬機軟件了,但為什么放到最后說呢,因為上面三個是免費的,它是閉源收費的
好用歸好用,但是一般用不起vmware的時候就只好用上面三個了
在CentOS7上安裝Vmware 10.0.3。通常,這個版本是不能在CentOS7工作的,因為它只能運行在比較低的內核版本3.10上。
首先,以正常方式下載并安裝(沒有問題)。唯一的問題是在后來運行vmware程序的時候。
shVMware-Workstation-Full-10.0.3-1895310.x86_64.bundle
如何修復?
1 –進入/usr/lib/vmware/modules/source。
cd /usr/lib/vmware/modules/source
2 –解壓 vmnet.tar.
tar -xvf vmnet.tar
3 –進入 vmnet-only 目錄。
cd vmnet-only
4 –編輯filter.c文件。
vi filter.c
在206和259行,替換以下字符串:
#if LINUX_VERSION_CODE <KERNEL_VERSION(3, 13, 0)
為:
#if LINUX_VERSION_CODE <KERNEL_VERSION(3, 0, 0)
保存并退出。
5 –回到先前文件夾。
cd ../
6 –再次壓縮文件夾。
tar -uvf vmnet.tar vmnet-only
7 –移除舊目錄。
rm -fr vmnet-only
8 –啟動vmware并體驗。
9 卸載Vmware
vmware-uninstall
vmware-installer -l
vmware-installer -u vmware-workstation
這三個命令足夠卸載了
10 vmware功能強大,方便易用,跨平臺且資料也多,沒什么好說的了
七、幾種我搭建過的服務器1、ftp服務器
1.安裝vsftpd
yum install vsftpd
2.啟動關閉
設置開機自啟
systemctl enable vsftpd
啟動/關閉重啟
systemctl start/stop/restart vsftpd
3.關閉防火墻和selinux
systemct disable firewalld
systemctl stop firewalld
vi /etc/selinux/config
將SELINUX改為disabled
reboot
4.通過sftp登陸vsftpd
sftp username@192.168.1.119
5.瀏覽器訪問
ftp://username:password@192.168.1.119
注:192.168.1.119是局域網服務器的ip
查看ip命令ipaddr
2、ftp-yum服務器
無防范的配置:(初學者用)
1.安裝createrepo和vsftpd
yum install createrepo vsftpd
2.mkdir /home/ftp
3.cp-r 源的目錄 /home/ftp
4.vi/etc/vsftpd/vsftpd.conf
最后添加anon_root=/home/ftp和no_anon_password=YES
6.cd/home/ftp
7.createrepo CentOS7-LocalServer/
8.關閉防火墻和selinux
systemct disable firewalld
systemctl stop firewalld
vi /etc/selinux/config
將SELINUX改為disabled
reboot
9.systemctl enable vsftpd
10.systemctl start vsftpd
1.客戶端配置源
vi /etc/yum.repos.d/CentOS7-LocalServer.repo
[CentOS7-LocalServer]
name=LocalServer
baseurl=ftp://192.168.1.119/CentOS7-LocalServer
enable=1
gpgcheck=0
2.yum clean all
3.yum makecache
4.搭建完成,局域網ftp-yum服務器測試
yum install samba
3、samba服務器
centos7安裝samba服務器
1.關閉防火墻,systemctlstop firewalld.service 和setenforce0
2.mkdir/home/samba
chmod 777 /home/samba
3.配置smb.conf,vim /etc/samba/smb.conf
smb.conf配置內容
[global]
workgroup= WORKGROUP
netbiosname = cmcc1
serverstring = Linux Samba Server TestServer
security= user #在samba4中share 和server已經被禁用
(表示192.168.1.*的IP)
hostsallow = 192.168.1.
mapto guest =Bad User
[WORKGROUP]
path= /home/samba
writeable= yes
browseable= yes
guestok= yes
3.啟動samba服務,systemctl start samba.service
注意:在samba4中share 和server已經被禁用,需要用security = user 和mapto guest =Bad User來實現無密碼訪問目錄
4、ntp服務器
1、NFS的安裝需要的軟件包;
Centos7:需要nfs-utils和nfs4;
2、使用如下命令查找系統是否已安裝如上的軟件包;
rpm–qa *nfs*
如果已安裝,則直接操作第三步;如果未安裝,則運行如下命令安裝:
yuminstall nfs4* nfs-util
3、配置服務器端
建立掛載的目錄,并且掛載目錄,使用如下命令:
mkdir/home/nfs
cd/home/nfs
mkdirtest
然后修改/etc/exports文件,該文件定義了共享目錄以及共享規則;
vi/etc/exports
在該文件中加入
/home/nfs192.168.1.119(rw,root_squash)
上面加入的這行的意思是nfs共享的目錄是/home/nfs,192.168.1.0/24網段的IP可以訪問,訪問是讀寫,客戶端可以有root權限;
修改完成后保存退出;
然后運行systemctlrestart nfs重啟nfs服務;
4、關閉防火墻,使用如下命令
systemctlstop firewalld
5、配置客戶端
客戶端上的操作系統與服務端的操作系統相同;也需要安裝nfs-utls和rpcbind;
安裝后查看是否能正常訪問nfs服務
showmount–e 192.168.1.119
出現如下結果說明能正常訪問:
Exportlist for 192.168.1.119:
/home/nfs192.168.1.0/24
然后使用如下命令創建本地文件與服務端的掛載點關聯
mkdir/home/nfs
mount-t nfs 192.168.1.119:/home/nfs/ /home/nfs/
然后運行ls/home/nfs在客戶端看到服務器上共享目錄中的文件。并可以對共享目錄中的文件進行讀寫操作;
5、apache服務器
1.安裝apache主程序httpd
yum install httpd
2.啟動關閉
設置開機自啟
systemctl enable httpd
啟動/關閉重啟
systemctl start/stop/restart httpd
3.在/var/www/html目錄存放自己的網頁目錄就可以訪問了
新建一個測試網頁
cd /var/www/html
echo "hello world!">helloworld.html
4.在局域網內的任意一臺計算機訪問測試網頁helloworld.html
http://192.168.1.119/helloworkd.html
注:192.168.1.119是局域網apache服務器的ip
查看ip命令ipaddr
6、centos7服務管理、防火墻和selinux設置
1.服務管理
設置服務(service)開機自啟和關閉開機自啟
systemctl enable/disable service
設置服務啟動/重啟/關閉
systemctl start/restart/stop service
2.防火墻(firewalld)啟動與關閉
防火墻開機自啟
systemctl enable firewalld
防火墻關閉開機自啟
systemctl disable firewalld
設置防火墻啟動/重啟/關閉
systemctl start/restart/stop firewalld
3.selinux設置與查看和修改運行模式
設置
vi /etc/selinux/config
找到SELINUX=enforcing這一行
可以修改為以下三個模式
SELINUX=enforcing 強制模式(默認)
SELINUX=permissive 寬容模式(有警告)
SELINUX=disabled 關閉
查看
getenforce
修改運行模式
setenforce 0|1
0 寬容模式(permissive)
1 強制模式(disabled)
systemctl是系統服務管理器命令,它實際上將service 和chkconfig 這兩個命令組合到一起。
任務 舊指令 新指令
使某服務自動啟動 chkconfig –level3 httpd on systemctl enable httpd.service
使某服務不自動啟動 chkconfig –level3 httpd off systemctl disablehttpd.service
檢查服務狀態 service httpd status systemctl status httpd.service (服務詳細信息)systemctl is-active httpd.service (僅顯示是否Active)
顯示所有已啟動的服務 chkconfig --list systemctl list-units --type=service
啟動某服務 service httpd start systemctl start httpd.service
停止某服務 service httpd stop systemctl stop httpd.service
重啟某服務 service httpd restart systemctl restart httpd.service
下面以nfs服務為例:
1.啟動nfs服務
systemctlstart nfs-server.service
2.設置開機自啟動
systemctlenable nfs-server.service
3.停止開機自啟動
systemctldisable nfs-server.service
4.查看服務當前狀態
systemctlstatus nfs-server.service
5.重新啟動某服務
systemctlrestart nfs-server.service
6.查看所有已啟動的服務
systemctllist -units --type=service
開啟防火墻22端口
iptables-I INPUT -p tcp --dport 22 -j ACCEPT
如果仍然有問題,就可能是SELinux導致的
關閉SElinux:
修改/etc/selinux/config文件中的SELINUX=””為 disabled,然后重啟
徹底關閉防火墻:
sudosystemctl status firewalld.service
sudosystemctl stop firewalld.service
sudosystemctl disable firewalld.service
7、centos7的telnet和ssh遠程登錄
telnet遠程登錄
1. SentOS7.0 telnet-server 啟動的問題。
解決方法:
①、先檢查CentOS7.0是否已經安裝以下兩個安裝包:telnet-server、xinetd。命令如下:
rpm-qa telnet-server
rpm-qa xinetd
如果沒有安裝,則先安裝。安裝命令:
yuminstall telnet-server-0.17-59.el7.x86_64.rpm
yuminstall xinetd-2.3.15-12.el7.x86_64.rpm
安裝完成后,將xinetd服務加入開機自啟動:
systemctlenable xinetd.service
將telnet服務加入開機自啟動:
systemctlenable telnet.socket
最后,啟動以上兩個服務即可:
systemctlstart telnet.socket
systemctlstart xinetd(或servicexinetd start)
2.telnet 192.168.5.128 出錯:No route to host
解決方法:在服務器主機運行以下命令:iptables -F 即可
3.telnet 192.168.5.128 出錯:connection refuse
解決方法:
①、出現這個問題請先檢查telnet-server 是否已經啟動。
②、修改服務器主機允許root用戶登錄:
修改方法:
1)在客戶端運行登錄指令:telnet192.168.5.128
2)在服務器主機運行以下命令:tail/var/log/secure
查看log里面剛才客戶端是以哪一個端口設備登錄的(如:pts/1)。記錄下來然后
打開/etc/securetty 將設備名添加進去即可。
ssh遠程登錄
1.centos7默認安裝有openssh-server、openssh-client和openssh
2.所以我們直接登陸ssh192.168.1.119
3.后臺運行的是sshd,所以我們可以通過它來開啟和關閉ssh遠程登陸服務
開啟/重啟/關閉
systemctl start/restart/stop sshd
最近常逛的幾個centos7相關的網站
1、一個介紹搭建centos7服務器的網站
http://www.server-world.info/en/note?os=CentOS_7&p=kvm
2、centos的中文站
http://www.centoscn.com/CentOS/
3、centos官方wiki
http://wiki.centos.org/HowTos
4、51cto的centos版塊
http://os.51cto.com/col/1335/ 九、linux常用命令集錦
自己總結的一些linux下的常用命令
1、處理文件與目錄
1、ls /home/jison 查看/home/jison目錄下的文件和目錄
-l 列出文件的屬性與權限
-a 列出所有文件(包含隱藏文件)
-i 列出inode節點號碼
2、直接查看文件
1.cattest.txt 由第一行開始顯示test.txt文件的內容
2.tac test.txt 由最后一行開始顯示test.txt文件的內容
3.moretest.txt 可翻頁顯示test.txt文件的內容
4.lesstest.txt 比more多了個往前翻頁的功能,pagedown向下翻頁,pageup向上翻頁
5.headtest.txt 只看test.txt文件的頭幾行
6.tail test.txt 只看test.txt文件的尾幾行
3、cd / 切換到根目錄
. 當前目錄
.. 當前目錄的上一層目錄
- 前一個工作目錄
~ 當前用戶所在主文件夾
4、pwd 顯示當前目錄
5、mkdir test 新建一個test目錄
6、rmdir test 刪除空的test目錄,此命令無法刪除非空目錄
7、cp 源文件目標文件夾 復制文件
-r 用于復制目錄
8、mv 源文件目標文件夾 移動文件
9、rm 文件或目錄 刪除文件或目錄
-f 強制刪除
-r 用于刪除目錄
10、touch test.txt 新建一個test.txt的文件
11、file test.txt 查看文件的類型,有文本文件(text),數據文件(data),二進制文件(binary)
12、文件與目錄的權限
在linux系統里面,文件與目錄均有[-][rwx][rwx][rwx]權限,三個“rwx”一組,分別代表“讀寫執行”權限,第一組為文件所有者的權限,第二組為同用戶組的權限,第三組為其它用戶組的權限。而[-]則代表此文件為“文件、目錄或者鏈接等”
- 代表文件
d 代表目錄
l 代表鏈接
13、改變文件(目錄)的屬性與權限
1.chgrpjison test.txt 改變test.txt文件的所屬用戶組為jison
-r 連目錄中的子目錄和文件一起改所屬用戶組
2.chownjison test.txt 改變test.txt文件的所屬用戶為jison
-r 連目錄中的子目錄和文件一起改所屬用戶
3.chmod777 test.txt 將test.txt文件權限改為777,7=4+2+1
r=4 u=rwx,g=rwx,o=rwx
w=2 a+r 所有用戶+r
x=1 a代表所有用戶
ugo分別代表user,group,other
14、umask 默認權限,如果返回0023,023表示被拿掉的權限,實際權限為777-023,則權限為754
-S 返回以u=rwx,g=rx,o=r的方式表示默認權限
15、文件的特殊權限:SUID,SGID,SBIT,用于替代x權限的
SUID和SGID分別表示使用戶和用戶組執行二進制文件時暫時獲取root,需要具備x的權限,此時x變成s,若無x權限是,則顯示為S,表示SUID權限不可用
SBIT表示用戶在該目錄下創建的文件或目錄只能自己和root刪除,需要具備wx的權限,且只對目錄有效,此時x變成t,若無x權限,則顯示為T,表示SBIT權限不可用
SUID=4
SGID=2
SBIT=1
16、which ifconfig 列出第一次查找到的腳本命令路徑
-a 列出找到所有路徑
17、whereis ifconfig 尋找特定文件的路徑(通過數據庫中的記錄)
18、locate test.txt 尋找test.txt文件的完整路徑(通過數據庫中的記錄)
19、find 查找文件,時間慢
20、gzip iwconfig.txt 將當前目錄的iwconfig.txt壓縮成iwconfig.txt.gz文件,并刪除源文件iwconfig.txt
-d 解壓縮的參數
gzip -d iwconfig.txt.gz 將當前目錄的iwconfig.txt.gz解壓為iwconfig.txt,并刪除源文件iwconfig.txt.gz
gcat iwconfig.txt.gz 不解壓直接讀取iwconfig.txt.gz的內容到屏幕中去
21、bzip2 iwconfig.txt 將當前目錄的iwconfig.txt壓縮成iwconfig.txt.bz2文件,并刪除源文件iwconfig.txt
-d 解壓縮的參數
bzip2 iwconfig.txt.bz2 將當前目錄的iwconfig.txt.gz解壓為iwconfig.txt,并刪除源文件iwconfig.txt.bz2
22、打包命令tar
壓縮:tar -jcvf filename.tar.bz2 要被壓縮的的文件或目錄名稱
查詢壓縮文件中的文件名:tar -jtvf filename.tar.bz2
解壓:tar -jxvf filename.tar.bz2 -C 要解壓到的目錄
-c 新建打包文件
-t 查看打包文件有哪些文件名
-x 解打包和解壓縮功能
-j 用于解壓bzip2壓縮的文件
-z 用于解壓gzip壓縮的文件
-v 將正在處理的文件名顯示
-f 指定處理的文件名
-C 指定解壓目錄
-P 保留原本權限和屬性
-p 保留絕對路徑
2、網絡連接相關命令
1、查看網絡連接接口:
ifconfig 此命令可以顯示本機中所有網絡連接端口及狀態
iwconfig 此命令顯示無線網絡的接口連接狀態
2、IP連接測試(可以ping域名或IP地址)
pingbaidu.com
3、netstat 跟蹤網絡,用于顯示各種網絡相關信息
4、本地網絡連接
1.修改IP,子網掩碼和默認網關
ifconfigeth0 192.168.1.100(給eth0網卡分配一個IP地址)
ifconfigeth0 netmask 255.255.255.0(分配子網掩碼)
routeadd default gw 192.168.1.1(修改默認網關)
1.啟動或關閉eth0網卡方法一
ifconfigeth0 up/down
2.啟動或關閉eth0網卡方法二
ifup/ifdwoneth0
3.啟動或關閉eth0網卡方法三
iplink set eth0 on/off(啟動或關閉eth0網卡)
4.動態設置網卡配置信息
dhclienteth0
5、無線網絡連接
1.打開或關閉無線網卡電源
iwconfigwlan0 txpower on/off
2.啟動無線網卡
ifconfigwlan0 up
3.列出區域內的無線網絡
iwlistwlan0 scan
4.連接到36C無線網為例
iwconfigwlan0 essid "36C" key s:yyxcyyxc或
wpa_passphrase36C yyxcyyxc > ./36C.conf
wpa_suppliant-B -i wlan0 -Dwext -c ./36C.conf
5.動態獲取ip
dhclientwlan0
6、設置ip地址和子網掩碼并啟動網卡eth0
ifconfigeth0 192.168..21.15 netmask 255.255.255.0 up
7、添加和刪除默認網關
route-n(查詢路由表)
routeadd default gw 192.168.21.254
routedel default gw 192.168.21.254
8、配置固定dns服務器
手動改/etc/resolv.conf文件
echo"nameserver218.104.111.114">>/etc/resolv.conf
9、修改dns與IP地址的映射關系的/etc/hosts文件(以下為文本格式要求)
IP DNS
3、磁盤管理與文件系統
1、df 列出整體磁盤使用量
-h 以GB、MB、KB等自行顯示
2、du /home/jison 列出目錄所占容量
-m 以MB顯示
-s 列出目錄總量
3、mount /dev/sdb1 /mnt 將磁盤sdb1掛載到mnt目錄下
4、umount /dev/sdb1 卸載已掛載的磁盤sdb1(也可以卸載所掛載的mnt目錄)
5、fdisk /dev/sda 對磁盤sda進行分區,參數不用記,提示相當友好
6、mkfs -t ext3 /dev/sda4 將磁盤分區sda4格式化為ext3的文件系統
7、badblocks /dev/sda4 對磁盤分區sda4進行壞道檢測
-s 在屏幕上列出進度
-v 可以再屏幕上看到進度
8、parted /dev/sda print 列出硬盤sda的分區表資料
9、parted /dev/sda 8 刪除硬盤sda的8號分區,立即生效,慎重。
10、parted /dev/sda mkpart[parimary|logical|extended] ext3 19.2G 19.7G
新增一個從19.2G節點處到19.7G節點處的分區
11、dd if="input file"of="output file" bs="block size" count="bs*snumber"
直接對磁盤操作的備份命令
4、系統相關命令
1、top 動態查看進程變化
輸入P 以CPU的使用資源排序
輸入M 以內存的使用資源排序
輸入N 以進程號PID排序
輸入T 以CPU的使用時間TIME+排序
輸入q 退出top命令
2、ps 查看某個時間點的進程運行情況
-A 顯示所有進程
-l 詳細列出PID信息
aux 顯示所有進程
3、kill 2656 殺掉PID為2656的進程號
killall dhclient 殺掉dhclient服務開啟的相關進程
4、pstree 顯示進程樹
-P 顯示進程號
-u 顯示每個進程所屬賬號
5、free 查看內存使用情況
-m 以MB顯示
-t 顯示內存與swap總量
6、uname 查看系統與內核相關信息
-a 顯示所有系統相關信息
-r 只顯示內核版本
7、uptime 顯示top界面最上面一行
8、locale 顯示系統當前默認語系
-a 顯示系統支持的語系
9、LANG=C 修改當前語系為C
10、alias 顯示系統當前命令的別名
alias lm=*ls -l | more* 設置一個命令別名為lm
unalias lm 取消lm這個命令別名
11、history 查詢用過的歷史命令
history 10 查詢最近用過的10條命令
12、Ctrl+Alt+F1-F6 打開tty1-6六個終端的快捷鍵
13、reboot 馬上重啟
shutdown -r now
14、poweroff 馬上關機
shutdown -h now
15、su - 切換為管理員用戶
su jison 切換為jison用戶
16、sudo 以管理員權限執行一條命令
17、useradd jison 添加一個名為jison的用戶
passwd jison 修改jison的密碼
userdel jison 刪除jison用戶
18、groupadd jison 添加一個名為jison的用戶組
gpasswd jison 修改jison用戶組的密碼
groupdel jison 刪除一個名為jison的用戶組
19、init 1 單用戶模式,一般用來維護系統時開啟
init 3 開啟文本模式的linux
init 5 開啟圖形模式的linux
20、startx 從命令行開啟Xwindow桌面
21、last 列出目前與過去登錄系統的用戶相關信息
22、whoami 顯示當前登錄的用戶
23、echo $SHELL 查看當前使用shell類型
23、chsh -s /bin/dash 改變shell的類型為dash,需重啟生效
24、glxgeras glxgears是一個測試你的Linux是否可以順利運行2D、3D的測試軟件
25、glxinfo | grep rendering 提示:direct rendering: Yes 表明openGL啟動正常
5、各發行版軟件安裝與軟件源配置
1、redhat/fedora/centos的yum在線軟件管理和rpm包安裝
1.yuminstall 軟件包名 在線安裝一個軟件
-y 所有詢問返回yes
2.yumsearch i18n 查詢含有i18n的在線軟件包名
3.yumremove 軟件包名 卸載軟件包名的軟件
4.rpm-ivh test.rpm 安裝名為test.rpm的軟件
5.rpm-r test.rpm 卸載rpm安裝的test.rpm軟件
-q 查詢已安裝軟件
-a 查詢所有已安裝軟件
2、opensuse的zypper在線軟件管理和rpm包安裝
1.zypper install/in 軟件包名在線安裝一個軟件包
2.zyppersearch/se i18n 查詢一個含有i18n的在線軟件包名
3.zypperremove/rm 軟件包名 卸載一個在線安裝的軟件包
4.rpm包的安裝參照redhat系列
3、debian/ubuntu/deepin的dpkg在線軟件管理和deb包安裝
1.apt-getinstall 軟件包名 在線安裝一個軟件
2.apt-getremove 軟件包名 卸載在線安裝的軟件
3.dpkg-i 軟件包名.deb 安裝一個deb包
4.dpkg-r 軟件包名 卸載一個dpkg安裝的軟件
5.dpkg-s 查詢已安裝的包的詳細信息
4、redhat/fedora/centos更改軟件源
將鏡像網站提供的repo文件復制到/etc/yum.repos.d文件夾,然后執行命令
yummakeclean
yummakecache
yumrepolist 查詢已配置好的軟件源
5、opensuse更改軟件源
repos, lr 列出所有定義的安裝源
addrepo, ar 添加一個新的安裝源
removerepo,rr 刪除指定的安裝源
renamerepo, nr 重命名指定的安裝源
modifyrepo, mr 修改指定的安裝源
refresh, ref 刷新所有安裝源
clean 清除本地緩存
6、ubuntu更改軟件源
更改/etc/apt/sources.list文件的內容為鏡像網站的網址,然后保存,執行命令
sudoapt-get update就可以更新了
7、tarball軟件安裝
./configure 建立makefile文件
makeclean 清除前一次make的目標文件
make 根據makefile文件進行編譯
makeinstall 根據makefile文件進行安裝
十、磁盤配額、陣列與LVM管理
2、磁盤陣列軟raid
一.mdadm的語法
mdadm --detail /dev/md0 查看/dev/md0的raid細節
mdadm --create --auto=yes /dev/md[0-9] --level=[015] --raid-devices=N--spare-devices=N /dev/sdx
--create:為新建raid的參數
--auto=yes:決定新建后面接的軟件磁盤陣列設備,即/dev/md0,/dev/md1等
--level=[015]:設置磁盤陣列等級
--detail:列出后面所接的那個磁盤陣列設備的詳細信息
--raid-devices=N:使用幾個磁盤作為磁盤陣列的設備
--spare-devices=N:使用幾個磁盤作為備用設備
mdadm --manage /dev/md[0-9] [--add /dev/sdxN] [--remove /dev/sdxN][--fail /dev/sdxN]
--add:后面接的設備將加到這個md中
--remove:將后面接的設備從這個md中刪除
--fail:將后面的設備設置為出錯狀態
二.一個raid5實例
fdisk /dev/sda
使用n參數新建6個大小均為300M的分區dev/sda5-10
w保存后使用partprobe刷新分區表
接著使用sda5-9組成raid5陣列
mdadm --create --auto=yes /dev/md0 --level=5 --raid-devices=4--spare-devices=1 /dev/sda{5,6,7,8,9}
查看系統軟件磁盤陣列的情況
cat /proc/mdstat
格式和與掛載使用raid
mkfs -t ext3 /dev/md0
mkdir /mnt/raid
mount /dev/md0 /mnt/raid
查看md0軟件磁盤陣列的詳細信息
mdadm --detail /dev/md0
模擬援救raid5
將/dev/sda6設置為出錯狀態(備用的/dev/sda9會自動補上)
mdadm --manage /dev/md0 --fail /dev/sda6
此時趕緊輸入以下命令查看磁盤補上的過程(速度要快,要不然看到的就是補上的結果了)
mdadm --detail /dev/md0
cat /proc/mdstat
等一會兒后,重復輸入上面兩個命令就可以看到補上后的結果了
mdadm --detail /dev/md0
cat /proc/mdstat
將出錯的/dev/sda6刪除,并將/dev/sda10添加為raid5備用磁盤
mdadm --manage /dev/md0 --add /dev/sda10 --remove /dev/sda6
三.開機自動raid并自動掛載
查看/dev/md的uuid
mdadm --detail /dev/md0 | grep -i uuid
可以看到以下一行
UUID:048383b6:c69991e2:f9c2bef7:39d45ef1
接下來設置mdadm.conf
vi /etc/mdadm.conf
往里面添加一行
ARRAY /dev/md0 048383b6:c69991e2:f9c2bef7:39d45ef1
設置開機自動掛載
vi /etc/fstab
往末尾添加一行
/dev/md0 /mnt/raid ext3 defaults 1 2
測試掛載/etc/fstab里面設置的設備
umount /dev/md0
mount -a
df /mnt/md0
四.關閉軟件raid
先卸載/dev/md0
umount /dev/md0
然后刪除之前在/etc/fstab中添加的語句
直接關閉/dev/md0的方法
mdadm --stop /dev/md0
查看raid是否還存在
cat /proc/mdstat
刪除/etc/mdadm.conf里之前寫的語句
vi /etc/mdadm.conf
3、彈性磁盤LVM管理
一.建立5個分區
/**
I * 由于本機沒有留下空閑的磁盤空間,只好把swap刪掉用來騰出空間
*/
1.先把swap刪除 swapoff /dev/sdax
2.修改開機掛載文件/etc/fstab
刪掉swap那一行后保存
3.新建分區
fdisk /dev/sda
使用n參數新建5個300M分區/dev/sda5-9
使用t參數修改分區id為8e
使用w保存退出
輸入partprobe命令更新分區表
二.PV(物理卷)階段
查看本機是否存在pv
pvscan
新建/dev/sda5-8四個分區為pv
pvcreate /dev/sda{5,6,7,8}
查看剛剛新建的pv
pvscan
更詳細的列出系統上面pv信息
pvdisplay
三.VG(卷用戶組)階段
將/dev/sda{5,6,7,8}新建為一個分區
vgcreate -s 16M jisonvg /dev/sda{5,6,7,8}
-s 后面接PE(物理擴展塊)的大小
查看本機的vg
vgscan
再次查看本機的pv
pvscan
更詳細的列出系統上面vg信息
vgdisplay
四.LV(邏輯卷)階段
將整個的jisonvg全部分配給jisonlv
lvcreate -l 72 -n jisonlv jisonvg
-L 后面接容量,可以是M,G,T
-l 后面接PE的個數
-n 后面接的是LV的名稱
更詳細的列出系統上面lv信息
lvdisplay
五.文件系統階段
格式化jisonlv的文件系統為ext3
mkfs -t ext3 /dev/jisonvg/jisonlv
掛載jisonlv到/mnt/lvm上
mkdir /mnt/lvm
mount /dev/jisonvg/jisonlv /mnt/lvm
查看掛載的jisonlv
df -h
測試使用jisonlv
cp -r /etc /mnt/lvm
ll /mnt/lvm/etc
六.放大LV的容量
使用之前新建的沒有加入到jisonlv的pv(/dev/sda9),將它加到jisonvg上面
vgextend jisonvg /dev/sda9
詳細的列出系統上面vg信息
vgdisplay
調整jisonlv的大小
lvresize -l +18 /dev/jisonvg/jisonlv
詳細的列出系統上面lv信息
lvdisplay
查看原先文件系統里面的superblock的記錄情況
dumpe2fs /dev/jisonvg/jisonlv
完整的將LV的容量擴充到整個文件系統
resize2fs /dev/jisonvg/jisonlv
查看擴充后文件系統里面的superblock的記錄情況
dumpe2fs /dev/jisonvg/jisonlv
查看擴充后的文件系統
df -h /dev/jisonvg/jisonlv
七.縮小LV的容量
先卸載/dev/jisonvg/jisonlv
umount /mnt/lvm
進行磁盤檢查
e2fsck -f /dev/jisonvg/jisonlv
降低文件系統的容量
resize2fs /dev/jisonvg/jisonlv 300M
查看降低容量后的文件系統
mount /dev/jisonvg/jisonlv /mnt/lvm
df -h /mnt/lvm
降低LV的容量
lvresize -l -18 /dev/jisonvg/jisonlv
將沒有使用的PE轉移到/dev/sda6上
pvdisplay
pvmove /dev/sda6 /dev/sda9
將/dev/sda6移出jisonvg
vgreduce jisonvg /dev/sda6
將pv(/dev/sda6)刪除
pvremove /dev/sda6
八.LVM快照
建立一個/dev/jisonvg/jisonlv的快照/dev/jisonvg/jisonss
pvcreate /dev/sda6
vgextend jisonvg /dev/sda6
vgdisplay
lvcreate -l 18 -s -n jisonss /dev/jisonvg/jisonlv
lvdisplay
掛載/dev/jisonvg/jisonss
mkdir /mnt/snapshot
mount /dev/jisonvg/jisonss /mnt/snapshot
df -h
會發現快照/dev/jisonvg/jisonss和/dev/jisonvg/jisonlv的使用量和大小居然是一模一樣的,但實際上快照區是沒有這么大的,快照區只是記錄創建快照那一瞬間/dev/jisonvg/jisonlv的內容
當修改/dev/jisonvg/jisonlv后快照區的內容還是沒有變化的
利用快照區復原文件系統
umount /mnt/snapshot
df /mnt/lvm
rm -rf /mnt/lvm/etc
cp -r /boot /mnt/lvm
mount /dev/jisonvg/jisonss /mnt/snapshot
df -h
這時會發現/dev/jisonvg/jisonlv和/dev/jisonvg/jisonlv的使用量和大小不一樣了,快照里面的內容還是原來的,而/dev/jisonvg/jisonlv的內容則是修改過后的
這時要還原/dev/jisonvg/jisonlv的內容為原來的內容的話,格式化/dev/jisonvg/jisonlv后,將/dev/jisonvg/jisonss的內容復制到/dev/jisonvg/jisonlv里面就可以了
umount /dev/lvm
mkfs -t ext3 /dev/jisonvg/jisonlv
mount /dev/jisonvg/jisonlv /mnt/lvm
cp -r /mnt/snapshot/* /mnt/lvm
cd /mnt/lvm
ls
這時應該/dev/jisonvg/jisonlv和快照/dev/jisonvg/jisonss的內容又一致了
九.關閉LVM并還原磁盤為swap
卸載
umount /mnt/lvm
umount /mnt/snapshot
處理快照和原系統
lvremove /dev/jisonvg/jisonss
lvremove /dev/jisonvg/jisonlv
使jisonvg變成不活躍狀態
vgchange -a n jisonvg
刪除jisonvg
vgremove jisonvg
刪除所有的pv
pvremove /dev/sda{5,6,7,8,9}
將/dev/sda{5,6,7,8,9}分區的8e標志改回83,重新建立分區并格式化為swap
fdisk /dev/sda
使用t參數修改分區/dev/sda{5,6,7,8,9}的id為83
使用d參數刪除/dev/sda{5,6,7,8,9}分區
使用d參數刪除邏輯分區/dev/sda4
使用n參數將所有剩余空間新建一個分區為/dev/sda2
使用w參數保存分區操作
使用partprobe命令刷新分區表
將/dev/sda2格式化為swap分區
mkswap /dev/sda2
然后重啟
reboot
在 Linux 系統中,由于是多人多任務的環境,所以會有多人共同使用一個硬盤空間的情況發生,為了合理使用這些空間,管理員需要控制用戶對磁盤空間的使用,這個就是Linux 下的配額管理。
配額管理是對某個磁盤分區進行限制。這里的限制包括2個方面:
1.單個用戶對某個目錄下空間大小的限制。
2.單個用戶對某個目錄下文件個數的限制。
1.1 Quota 常用在如下幾種情況
1) 針對 WWW server ,例如:每個人的網頁空間的容量限制。
2) 針對 mail server,例如:每個人的郵件空間限制。
3) 針對 file server,例如:每個人最大的可用網絡硬盤空間。
1.2 Quota 的2個注意事項
(1)僅針對整個 partition:
quota針對『整個 partition』進行限制, 例如:如果/dev/hda5 是掛載在 /dave 目錄下,那么在 /dave 目錄下的所有目錄都會受到限制。
(2)只對一般身份使用者有效:
不是所有在 Linux 上面的賬號都可以設定 quota,例如 root 就不能設定quota 。
1.3 Quota 的三種限制類型
(1)soft limit:
這是最低限制容量的意思,用戶在寬限期間之內,他的容量可以超過 soft ,但必需要寬限時間之內將磁盤容量降低到 soft 的容量限制之下。
(2)hard limit:
這是『絕對不能超過』的容量。通常hard limit 會比 soft limit 為高,例如網絡驅動器空間為 30 MB ,那么 hard limit 就設定為 30MB ,但是為了讓使用者有一定的警戒心,所以當使用空間超過 25 MB 時,例如使用者使用了 27 MB 的空間時,那么系統就會警告用戶,讓使用者可以在『寬限時間內』將他的檔案量降低至 25 MB ( 亦即是 soft limit )之內。也就是說, soft 到 hard 之間的容量其實就是寬限的容量,可以達到針對使用者的『警示』作用。
(3)寬限時間:
寬限時間就是當使用者使用的空間超過了 soft limit ,卻還沒有到達 hard limit 時,那么在這個『寬限時間』之內,就必需要請用戶將使用的磁盤容量降低到 soft limit 之下。而當用戶將磁盤容量使用情況超過 soft limit 時,『寬限時間』就會自動被啟動,而在用戶將容量降低到 softlimit 之下,那么寬限時間就會自動的取消。
1.4 Quota 的安裝包
Quota也需要安裝,安裝包如下:
[root@rhce /]# rpm -q quota
quota-3.17-16.el6.x86_64
[root@rhce /]#
1.5 Quota 相關的命令
與Quota 相關的幾個命令如下。
1.5.1 啟用quota:quotaon
[root@rhce /]# quotaon
Bad number of arguments.
quotaon: Usage:
quotaon [-guvp] [-F quotaformat] [-x state] -a
quotaon [-guvp] [-F quotaformat] [-x state] filesys ...
-a, --all turn quotas on for all filesystems
-f, --off turn quotas off
-u, --user operate on user quotas
-g, --group operate on group quotas
-p, --print-state print whether quotas are on or off
-x, --xfs-command=cmd perform XFS quota command
-F, --format=formatname operate on specific quota format
-v, --verbose print more messages
-h, --help display this help text and exit
-V, --version display version information andexit
[root@rhce /]#
1.5.2 關閉quota:quotaoff
[root@rhce /]# quotaoff
Bad number of arguments.
quotaoff: Usage:
quotaoff [-guvp] [-F quotaformat] [-x state] -a
quotaoff [-guvp] [-F quotaformat] [-x state] filesys ...
-a, --all turn quotas off forallfilesystems
-f, --off turn quotas off
-u, --user operate on user quotas
-g, --group operate on group quotas
-p, --print-state print whether quotas are on or off
-x, --xfs-command=cmd perform XFS quota command
-F, --format=formatname operate on specific quota format
-v, --verbose print more messages
-h, --help display this help text and exit
-V, --version display version information andexit
1.5.3 配額發送警告:warnquota
[root@rhce /]# warnquota -h
warnquota: Usage:
warnquota [-ugsid] [-F quotaformat] [-cconfigfile] [-q quotatabfile][-a adminsfile]
-u, --user warn users
-g, --group warn groups
-s, --human-readable send information in morehumanfriendly units
-i, --no-autofs avoid autofs mountpoints
-d, --no-details do not send quotainformationitself
-F, --format=formatname use quotafiles of specific format
-c, --config=config-file non-default config file
-q, --quota-tab=quotatab-file non-default quotatab
-a, --admins-file=admins-file non-default admins file
-h, --help display this helpmessageand exit
-v, --version display versioninformationand exit
Bugs to jack@suse.cz
[root@rhce /]#
1.5.4 編輯配額屬性:edquota
[root@rhce /]# edquota
edquota: Usage:
edquota [-rm] [-u] [-F formatname] [-p username] [-f filesystem]username...
edquota [-rm] -g [-F formatname] [-pgroupname] [-f filesystem] groupname...
edquota [-rm] [-u|g] [-F formatname] [-f filesystem] -t
edquota [-rm] [-u|g] [-F formatname] [-f filesystem]-Tusername|groupname ...
-u, --user edit user data
-g, --group edit group data
-r, --remote edit remote quota (via RPC)
-m, --no-mixed-pathnames trim leading slashes fromNFSv4mountpoints
-F, --format=formatname edit quotas of a specific format
-p, --prototype=name copy data from a prototype user/group
--always-resolve alwaystry to resolve name, even if it is
composed onlyofdigits
-f, --filesystem=filesystem edit data only on a specific filesystem
-t, --edit-period edit grace period
-T, --edit-times edit grace time of a user/group
-h, --help display this help textandexit
-V, --version display version informationandexit
Bugs to: jack@suse.cz
[root@rhce /]#
1.5.5 顯示配額信息:repquota
[root@rhce /]# repquota -h
repquota: Utility for reporting quotas.
Usage:
repquota [-vugsi] [-c|C] [-t|n][-Fquotaformat] (-a | mntpoint)
-v, --verbose display also users/groups withoutanyusage
-u, --user display informationaboutusers
-g, --group display informationaboutgroups
-s, --human-readable show numbers in human friendlyunits(MB, GB, ...)
-t, --truncate-names truncate names to 8 characters
-p, --raw-grace print grace time in secondssinceepoch
-n, --no-names do not translate uid/gid to name
-i, --no-autofs avoid autofs mountpoints
-c, --batch-translation translate big number of ids at once
-C, --no-batch-translation translate ids one by one
-F, --format=formatname report information for specific format
-h, --help display this help messageandexit
-V, --version display version informationandexit
Bugs to jack@suse.cz
[root@rhce /]#
1.5.6 檢查并修復quota 配置文件:quotacheck
#quotacheck –cvug/tmp
[root@rhce ~]# quotacheck -h
Utility for checking and repairingquotafiles.
quotacheck [-gucbfinvdmMR][-F<quota-format>] filesystem|-a
-u, --user check user files
-g, --group check group files
-c, --create-files create new quota files
-b, --backup create backups of old quota files
-f, --force force check even if quotasareenabled
-i, --interactive interactive mode
-n, --use-first-dquot use the first copy of duplicated structure
-v, --verbose print more information
-d, --debug print even more messages
-m, --no-remount do not remount filesystem read-only
-M, --try-remount try remounting filesystem read-only,
continue even ifitfails
-R, --exclude-root exclude root when checkingallfilesystems
-F, --format=formatname check quota files of specific format
-a, --all check all filesystems
-h, --help display this message and exit
-V, --version display version informationandexit
Bugs to jack@suse.cz
[root@rhce ~]#
[root@rhce ~]# quotacheck -cvug /dave
quotacheck: Your kernel probablysupportsjournaled quota but you are not using it. Consider switching tojournaled quotato avoid running quotacheck after an unclean shutdown.
quotacheck: Scanning /dev/sdc1 [/dave] done
quotacheck: Cannot stat old user quotafile:No such file or directory
quotacheck: Cannot stat old groupquotafile: No such file or directory
quotacheck: Cannot stat old user quotafile:No such file or directory
quotacheck: Cannot stat old group quotafile:No such file or directory
quotacheck: Checked 3 directories and2files
quotacheck: Old file not found.
1.5.7 直接設置配額:setquota
[root@rhce ~]# setquota -h
setquota: Usage:
setquota [-u|-g] [-rm] [-F quotaformat]<user|group>
<block-softlimit> <block-hardlimit><inode-softlimit><inode-hardlimit> -a|<filesystem>...
setquota [-u|-g] [-rm] [-F quotaformat] <-pprotouser|protogroup><user|group> -a|<filesystem>...
setquota [-u|-g] [-rm] [-F quotaformat] -b[-c] -a|<filesystem>...
setquota [-u|-g] [-F quotaformat] -t<blockgrace><inodegrace> -a|<filesystem>...
setquota [-u|-g] [-F quotaformat]<user|group> -T<blockgrace> <inodegrace>-a|<filesystem>...
-u, --user set limits for user
-g, --group set limits for group
-a, --all set limits for allfilesystems
--always-resolve alwaystryto resolve name, even if is
composed onlyofdigits
-F, --format=formatname operate on specific quota format
-p, --prototype=protoname copy limits from user/group
-b, --batch read limits from standard input
-c, --continue-batch continue in input processing in caseofan error
-r, --remote set remote quota (via RPC)
-m, --no-mixed-pathnames trim leading slashes fromNFSv4mountpoints
-t, --edit-period edit grace period
-T, --edit-times edit grace times for user/group
-h, --help display this help text andexit
-V, --version display version informationandexit
Bugs to: jack@suse.cz
[root@rhce ~]#
二. 配額使用示例
2.1 創建分區并mount到目錄
[root@rhce /]# fdisk /dev/sdc
Device contains neither a validDOSpartition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel withdiskidentifier 0x1e051117.
Changes will remain in memory only,untilyou decide to write them.
After that, of course, the previouscontentwon*t be recoverable.
Warning: invalid flag 0x0000 ofpartitiontable 4 will be corrected by w(rite)
WARNING: DOS-compatible mode isdeprecated.It*s strongly recommended to
switch off the mode (command *c*) and change display units to
sectors (command *u*).
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-652, default 1):
Using default value 1
Last cylinder, +cylinders or+size{K,M,G}(1-652, default 652):
Using default value 652
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@rhce /]# fdisk -l
Disk /dev/sdc: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 =8225280bytes
Sector size (logical/physical): 512 bytes/512 bytes
I/O size (minimum/optimal): 512 bytes /512bytes
Disk identifier: 0x1e051117
Device Boot Start End Blocks Id System
/dev/sdc1 1 652 5237158+ 83 Linux
[root@rhce /]# mkfs -t ext3 /dev/sdc1
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
327680 inodes, 1309289 blocks
65464 blocks (5.00%) reserved for thesuperuser
First data block=0
Maximum filesystem blocks=1342177280
40 block groups
32768 blocks per group, 32768 fragmentspergroup
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystemaccountinginformation: done
This filesystem will beautomaticallychecked every 30 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@rhce /]#
[root@rhce /]# mount/dev/sdc1 /dave
[root@rhce /]# vim /etc/fstab
/dev/sdc1 /dave ext3 defaults 0 0
我們這里將/dev/sdc1映射到了目錄/dave.
2.2 創建2個測試用戶
[root@rhce /]# groupadd grp01
[root@rhce /]# groupadd grp02
[root@rhce /]# cat /etc/group|grep grp0*
grp01:x:503:
grp02:x:504:
[root@rhce /]#
[root@rhce /]# useradd dave01 -g grp01
[root@rhce /]# useradd dave02 -g grp02
[root@rhce /]# passwd dave01
Changing password for user dave01.
New password:
BAD PASSWORD: it is too short
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokensupdatedsuccessfully.
[root@rhce /]# passwd dave02
Changing password for user dave02.
New password:
BAD PASSWORD: it is too short
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokensupdatedsuccessfully.
[root@rhce /]#
2.3 修改分區表啟用配額限制
[root@rhce ~]# cat /etc/fstab
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/sdc1 /dave ext3 defaults,usrquota,grpquot 0 0
[root@rhce ~]#
/etc/fstab 文件的第四個字段是裝載文件系統是使用的選項:
(1)實現基于用戶的磁盤配額,就加入usrquota關鍵字,
(2)實現基于組的磁盤配額,就加入grpqouta關鍵字,如果兩者都需要,就全寫入,中間可以用逗號分隔。
注意:請特別注意這里的拼寫,是usrquota和grpquota,不要寫成userquota和groupquota。
2.4 重新Remount 分區
[root@rhce ~]# mount
/dev/sda3 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts(rw,gid=5,mode=620)
tmpfs on /dev/shm typetmpfs(rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misctypebinfmt_misc (rw)
none on /sys/kernel/config typeconfigfs(rw)
sunrpc on /var/lib/nfs/rpc_pipefstyperpc_pipefs (rw)
gvfs-fuse-daemon on /root/.gvfstypefuse.gvfs-fuse-daemon (rw,nosuid,nodev)
/dev/sdc1 on /dave typeext3 (rw)
分區是我們之前mount的,我們后來修改了mount的選項,增加了用戶和組的配額,所以這里我們重新mount一次,使我們的修改生效。
[root @rhce ~]# mount -oremount /dave
[root@rhce ~]# mount
/dev/sda3 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts typedevpts(rw,gid=5,mode=620)
tmpfs on /dev/shm typetmpfs(rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misctypebinfmt_misc (rw)
none on /sys/kernel/config typeconfigfs(rw)
sunrpc on /var/lib/nfs/rpc_pipefstyperpc_pipefs (rw)
gvfs-fuse-daemon on /root/.gvfstypefuse.gvfs-fuse-daemon (rw,nosuid,nodev)
/dev/sdc1 on /dave typeext3(rw,usrquota,grpquota)
[root@rhce ~]#
2.5 啟動并配置文件大小配額限制
--檢查配額文件
[root@rhce ~]# quotacheck/dave
quotacheck: Cannot create new quotafile/dave/aquota.user.new:Permission denied
quotacheck: Cannot initialize IO onnewquotafile: Permission denied
這里關閉SELinux即可:
[root@rhce ~]# getenforce
Enforcing
[root@rhce ~]# setenforce 0
[root@rhce ~]# getenforce
Permissive
[root@rhce ~]#
--啟動配額限制
[root@rhce ~]# quotaon -vug /dave
/dev/sdc1 [/dave]: group quotas turned on
/dev/sdc1 [/dave]: user quotas turned on
[root@rhce ~]#
--開啟之后,會在/dave的目錄下自動創建配額的管理文件:aquota.group和aquota.user
[root@rhce dave]# pwd
/dave
[root@rhce dave]# ll
total 32
-rw-------. 1 root root 6144 Jun 22 09:28 aquota.group
-rw-------. 1 root root 6144 Jun 22 09:28 aquota.user
drwx------. 2 root root 16384 Jun 2205:00lost+found
[root@rhce dave]#
這個文件我們不能直接編輯,我們需要使用edquota命令來進行編輯。
[root@rhce dave]# edquota -u dave01
Disk quotas for user dave01 (uid 503):
Filesystem blocks soft hard inodes soft hard
/dev/sdc1 0 10240 20480 0 0 0
這里的限制分三種:
1.blocks:按block的數量
2.soft:軟限制,單位為字節。
3.hard: 硬限制,單位為字節。
上例中,soft限制約為10MB,hard限制約為20MB,當用戶dave01使用空間超過10MB時,系統會進行提示,但可以繼續使用空間,而當用戶dave01使用空間達到20MB時,就會限制用戶dave01繼續使用/dave空間。
--查看報告:
[root@rhce dave]# repquota /dave
*** Report for user quotas ondevice/dev/sdc1
Block grace time: 7days;Inode grace time:7days
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 141436 0 0 4 0 0
--這里只有root用戶的信息,因為其他用戶還沒有創建文件,一旦創建文件,就會限制了。
[root@rhce dave]#
--用dave01用戶創建文件進行配額限制的測試
--創建5M的文件:成功
[dave01@rhce ~]$ ddif=/dev/zeroof=/dave/tf01 bs=1M count=5
5+0 records in
5+0 records out
5242880 bytes (5.2 MB) copied, 0.0445553s,118 MB/s
--創建10M的文件,超過soft 的配額限制,有警告:
[dave01@rhce ~]$ ddif=/dev/zeroof=/dave/tf01 bs=1M count=10
sdc1: warning, user blockquota exceeded.
10+0 records in
10+0 records out
10485760 bytes (10 MB) copied, 0.0232663s,451 MB/s
--在創建10M的文件,超過20M的配額限制,文件創建失敗:
[dave01@rhce ~]$ ddif=/dev/zeroof=/dave/tf02 bs=1M count=10
sdc1: write failed, userblock limitreached.
dd: writing `/dave/tf02*:Disk quotaexceeded
10+0 records in
9+0 records out
10448896 bytes (10 MB) copied, 0.049051 s,213MB/s
[dave01@rhce ~]$
--查看報告:
[root@rhce dave]# repquota /dave
*** Report for user quotas ondevice/dev/sdc1
Block grace time: 7days;Inode grace time:7days
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 141432 0 0 3 0 0
dave01 +- 20480 10240 20480 6days 3 0 0
這里就顯示了dave01這個用戶的相關限制。我們這里的寬限時間變成了6days。
2.6 配置文件個數的配額限制
配額的限制,除了在磁盤大小上的限制,還可以在文件個數上進行限制。我們這里用dave02這個進行示例。
[root@rhce dave]# edquota -u dave02
Disk quotas for user dave02 (uid 504):
Filesystem blocks soft hard inodes soft hard
/dev/sdc1 0 0 0 0 20 30
soft和hard同上是軟限制和硬限制,分別是20、30,當用戶dave02創建文件超過20個時,系統會進行提示,但仍可以繼續創建文件,而當用戶dave02創建文件超過30個文件時,就會限制用戶dave02繼續創建文件。
注意:因為用戶dave02是在/dave目錄下進行了磁盤配額限制,所以/dave目錄會算做一個文件,所以dave02最多只能創建29個文件。
[root@rhce ~]# chown dave02.grp02 /dave
--用腳本手動創建文件:
[dave02@rhce ~]$ cd /dave
[dave02@rhce dave]$ ls
aquota.group aquota.user lost+found tf01 tf02
[dave02@rhce dave]$
[dave02@rhce dave]$ for i in $(seq 1 22);
> do echo “dave02file$i”;
> touch dave02file$i;
> done
“dave02file1”
“dave02file2”
“dave02file3”
“dave02file4”
“dave02file5”
“dave02file6”
“dave02file7”
“dave02file8”
“dave02file9”
“dave02file10”
“dave02file11”
“dave02file12”
“dave02file13”
“dave02file14”
“dave02file15”
“dave02file16”
“dave02file17”
“dave02file18”
“dave02file19”
“dave02file20”
sdc1: warning, user filequota exceeded.
“dave02file21”
“dave02file22”
[dave02@rhce dave]$
到20就提示配額限制了。
[dave02@rhce dave]$ for i in $(seq 23 33);
> do echo “dave02file$i”;
> touch dave02file$i;
> done
“dave02file23”
“dave02file24”
“dave02file25”
“dave02file26”
“dave02file27”
“dave02file28”
“dave02file29”
“dave02file30”
sdc1: write failed, userfile limit reached.
touch: cannot touch`dave02file30*: Diskquota exceeded
“dave02file31”
touch: cannot touch `dave02file31*:Diskquota exceeded
“dave02file32”
touch: cannot touch `dave02file32*:Diskquota exceeded
“dave02file33”
touch: cannot touch `dave02file33*:Diskquota exceeded
[dave02@rhce dave]$
這里我們最多只能創建29個文件。
--限制報告:
[root@rhce ~]# repquota /dave
*** Report for user quotas ondevice/dev/sdc1
Block grace time: 7days;Inode grace time:7days
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 141432 0 0 3 0 0
dave01 +- 20476 10240 20480 6days 2 0 0
dave02 -+ 4 0 0 30 20 30 6days
2.7 更改寬限時間
通過repquota命令,可以看到block和inode的寬限時間默認都是7天。
[root@rhce ~]# repquota /dave
*** Report for user quotas ondevice/dev/sdc1
Block grace time: 7days;Inode grace time:7days
這個時間,我們可以使用edquota來修改。
[root@rhce ~]# edquota -h
edquota: Usage:
edquota [-rm] [-u] [-F formatname] [-p username] [-f filesystem]username...
edquota [-rm] -g [-F formatname] [-p groupname] [-f filesystem]groupname...
edquota [-rm] [-u|g] [-F formatname] [-f filesystem] -t
edquota [-rm] [-u|g] [-F formatname] [-f filesystem]-Tusername|groupname ...
-u, --user edit user data
-g, --group edit group data
-r, --remote edit remote quota (via RPC)
-m, --no-mixed-pathnames trim leading slashes fromNFSv4mountpoints
-F, --format=formatname edit quotas of a specific format
-p, --prototype=name copy data from a prototype user/group
--always-resolve alwaystry to resolve name, even if it is
composed only ofdigits
-f, --filesystem=filesystem edit data only on a specific filesystem
-t, --edit-period edit grace period
-T, --edit-times edit grace time of a user/group
-h, --help display this help textandexit
-V, --version display version informationandexit
2.7.1 按用戶來設置寬限時間
--修改用戶dave01的寬限時間:
[root@rhce ~]# edquota-T dave01
Times to enforce softlimit for userdave01(uid 503):
Time units may be: days, hours, minutes,orseconds
Filesystem block grace inodegrace
/dev/sdc1 601938seconds unset
~
這是默認值:
[root@rhce ~]# edquota -T dave01
Times to enforce softlimit for userdave01(uid 503):
Time units may be: days,hours, minutes, orseconds
Filesystem block grace inodegrace
/dev/sdc1 10days unset
我們改成10天。 上面有時間的單位。
--查看報告顯示:
[root@rhce ~]# repquota /dave
*** Report for user quotas ondevice/dev/sdc1
Block grace time: 7days; Inode gracetime:7days
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 141432 0 0 3 0 0
dave01 +- 20476 10240 20480 10days 2 0 0
dave02 -+ 4 0 0 30 20 30 6days
[root@rhce ~]# edquota -T dave02
Times to enforce softlimit for userdave02(uid 504):
Time units may be: days, hours, minutes,orseconds
Filesystem block grace inodegrace
/dev/sdc1 unset 12days
~
[root@rhce ~]# repquota/dave
*** Report for user quotas ondevice/dev/sdc1
Block grace time: 7days; Inode gracetime:7days
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 141432 0 0 3 0 0
dave01 +- 20476 10240 20480 9days 2 0 0
dave02 -+ 4 0 0 30 20 30 12days
2.7.2 按組來設置寬限時間
我們的dave02 用戶對應的組是grp02.
-Tg 爭對組
T 爭對用戶
--默認值:
[root@rhce ~]# edquota -Tg grp02
Times to enforce softlimit for groupgrp02(gid 504):
Time units may be: days,hours, minutes, or seconds
Filesystem block grace inodegrace
/dev/sdc1 unset unset
--修改:
[root@rhce ~]# edquota -Tg grp02
Times to enforce softlimit for groupgrp02(gid 504):
Time units may be: days, hours, minutes,orseconds
Filesystem block grace inodegrace
/dev/sdc1 unset 10days
~
但是這里我們一旦保存之后,我們的修改就又還原了。
如果我們想修改組的寬限時間,就必須先設置組的soft和hard limit。 只有這2個屬性設置以后,才可以設置寬限時間。
[root@rhce dave]# edquota-g grp02
Disk quotas for group grp02 (gid 504):
Filesystem blocks soft hard inodes soft hard
/dev/sdc1 4 0 0 30 20 30
這是完以后,就可以設置組的寬限時間了。
2.8 關閉配額
[root@rhce dave]# quotaoff -a
--關閉quota之后,在清空/etc/fstab文件中有關配額的限制。
最后remount 磁盤。 總結完了,轉載請注明出處。另外,centos7確實是更適合用作服務器上而非桌面領域,用fedora20來做桌面更為合適,關于fedora20的使用總結的傳送門http://tieba.baidu.com/p/3222136874?pid=55397647193&cid=0#55397647193
我用centos7而不用fedora20的原因是因為我的機子使用centos7無線上網更為穩定,而fedora20老是掉線,不過使用有線的話就無所謂了
http://tieba.baidu.com/p/3379447850?see_lz=1
總結
以上是生活随笔為你收集整理的centos7安装其他源以及安装软件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: FireFly编辑器调用C语言,gras
- 下一篇: 第四十六期:最近程序员频繁被抓,如何避免