使用Linux記錄

更新時間: 2018-12-12java

Linux Usage

  • 緣起:最近將系統更換爲Linux,雖然以前有用過,但只是看成嘗試,未當爲主系統,此次下定決心以它爲主系統,懶得去糾結使用win的一種不道德感及不爽感,遊戲及娛樂與人與己無益,放棄linux

  • https://mirrors.tuna.tsinghua.edu.cn/linuxmint-cd/stable/19/linuxmint-19-cinnamon-64bit-v2.isoandroid

2018-12-12 安裝19.1 beta版

  • https://mirrors.tuna.tsinghua.edu.cn/linuxmint-cd/testing/linuxmint-19.1-cinnamon-64bit-beta.iso
  • 先備份 environment fstab 40_custom hostname 文件
  • 參照以前的 menuentry 'Mint Live CD' 寫法,將iso中文件解壓到指定分區根目錄
  • 進 slax 備份根分區 tar czvfp root19.tgz ./
  • 而後進 live cd ,而後安裝系統,裝好後,能夠修改新的root分區裏面 environment fstab 40_custom 內容
  • 進系統,卸載office及其餘用不着的軟件,更換更新源以提速,而後安裝須要的軟件
  • 任務欄變化很大,win+數字 能夠啓動任務欄上的圖標了,但不能修改每一個圖標的啓動命令及參數了
  • ~/.local/share/applications/ 目錄下建立 xxx.desktop 文件(該文件能夠在桌面右鍵新建啓動器建立),能夠在菜單的其餘分類中顯示,而後能夠添加到任務欄了,變相解決了上面的問題
  • 一直都但願在nemo中有 解壓到指定文件夾 的菜單,今天搜索發現以下騷操做,在~/.local/share/nemo/actions/下建立extracto.nemo_action文件,內容以下:
[Nemo Action]
Active=true
Name=fox解壓到...
Comment=Extract To
Exec=file-roller -f %F
Icon-Name=extract-archive-symbolic
Selection=Any
Extensions=zip;7z;rar;ar;cbz;cpio;exe;iso;jar;tar;tgz;tbz2;apk;tar.Z;tar.bz2;tar.gz;tar.lz;tar.lzma;tar.xz;
  • 而後在壓縮文件上點右鍵,就有 fox解壓到... 菜單了,66666

2018-12-06 root分區不夠,從新分區

  • root分區不夠用了(已用11G,共12G),需增大,不知道怎麼無損調整(DiskGenius貌似只能處理fat32/ntfs)
  • 老辦法,tar備份根分區及home分區,pe下備份win分區,預計將120G的SSD分爲3個主分區,依次爲18G的/分區,20G的win,73G的/home
  • 備份使用 tar cvfp /a/b/xxx.tar ./*,恢復使用 tar xvfp /a/b/xxx.tar,若是要壓縮加z
  • 恢復後進slax,掛載各新分區,使用 lsblkid /dev/sdax這樣的命令列出分區的UUID,要用這個替換fstab和grub.cfg中舊的UUID
  • 搜索學會一個新技能,使用grub2引導bootmgr或grldr
  • 有時候從grub2引導grldr,而後引導PE.iso到內存,會間歇性出現黑屏,藍屏現象,使用U盤直接引導反而沒有這種現象,緣由不明,多重啓幾回,總會能夠的
  • 使用0.4.6a版的grldr引導kernel /boot/grub/i386-pc/core.img進入mint系統,須要grub-install /dev/sda,修改好菜單後update-grub

2018-07-01 升級到19版,基於 ubuntu bionic

  • 升級時碰到找不到媒介的問題,翻了搜索引擎沒靠譜的,結果換了個U盤作啓動盤就行了,用的工具是livecd自帶的
    • 研究了一下init腳本,發現只要在grub2引導時在kernel參數加入 live-media=/dev/sda1 這樣的參數就能找到squashfs文件了,測試了一下ext4,ntfs分區均可以引導,這樣之後升級就能夠將iso裏面的東西拷到硬盤跟分區,而後修改一下grub參數就能夠了,U盤都省了,速度還快,哈哈哈
  • 升級前備份好了資料,突發奇想,不格式化,直接在18.3上裝行不行呢,結果試了下,還真能夠,它會自動刪除bin,etc,usr,lib等目錄,其餘本身建的目錄還有home目錄都保留了,不知道有無後遺症,有強迫症的能夠格式化後安裝
  • 裝好後,因爲本身裝的一些軟件沒有安裝,因此任務欄上會提示問題,裝好就行
  • 新版,致使一些舊軟件不兼容,例如: guake, eclipse(ADT), synergy
  • 感謝提示: 2018-11-22 so2liu: 你以前遇到的那個Guake的exit卡死,我也遇到了,查了一下,貌似是代碼有一行的縮進寫錯了。看這個帖子既能夠成功解決. https://github.com/Guake/guake/commit/f8699b4be6c058fd58a33a1d783cd404e9076b0e
  • 使用舊版wps, vbox安裝包的須要到論壇或官網下載新版或基於 bionic 的版本,而後dpkg -i安裝,有問題按照apt的提示fix
  • 使用tilda替換guake, guake在這個系統上輸入exit,會致使卡死沒法退出,緣由未知
  • 測試後確認是openjdk版本(10.0.1)的問題,eclipse啓動錯誤,不用卸載11(這個版本號也很迷啊),安裝8,而後 sudo apt install ia32-libs ,使用腳原本使用8版的環境就能夠愉快的用舊版adt了,用AS的那天是哪天呢,哈哈
  • synergy貌似依賴libcurl3,系統裏面的是libcurl4,啓動時老提示錯誤,貌似是ssl錯誤,把配置裏面的使用ssl加密的勾去掉貌似就能夠愉快的玩耍了
  • 修改fstab,註釋掉swapfile那行,添加/dev/shm大小爲6G tmpfs /dev/shm tmpfs defaults,size=6G 0 0

2018-05-24 從新分區

  • 鑑於win系統用得愈來愈少,linux只有一個根分區,這樣是很差滴,因而將120G的SSD從新分區
  • 先備份全部文件到機械硬盤上,用的是tar cvf xxx.tar /xxx/xxx,由於只對這個參數熟,對p參數不熟,不知道後面會不會出問題
  • 備份好,而後進入slax,而後從新分區,三個主分區,分別是20G_root,10G_OSWIN,82G_home
  • 恢復用tar xvf xxx.tar -C /xxx/xxx
  • 使用blkid /dev/sda1獲取新的root分區的uuid,寫入/etc/fstab,內容UUID=d9476b4c-5d23-4d68-9d6a-c7fa4883b725 /home ext4 defaults,noatime 0 2
  • 而後重啓後,發現木有引導了,蛋疼,用U盤進入slax,而後apt install grub2安裝grub到sda1上,重啓後發現引導不進去
  • 搜索獲得操做方式,https://www.jianshu.com/p/e9de786563ad
mount /dev/sda1 /mnt
mount /dev/sda3 /mnt/home
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys

chroot /mnt /bin/bash
grub-install --recheck /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg

# 這裏有時候會有錯誤,exit,而後從新mount --bind 缺失的目錄,而後從新grub-mkconfig
# 重啓後正常進入,話說grub2的修復在沒更換uuid的狀況下還挺智能,像我這樣折騰的,grub2就不怎麼友好了,懷戀grub4dos
  • Linux的優勢就是隻要複製文件,就算是備份系統了,win則不行,不過linux的引導修復搞得人很蛋疼
  • 以前用的grub4dos版本是0.4.5c 2013-11-30,發現ext4分區沒法識別,升級爲0.4.6a 2018-04-23就好了
  • 使用grub4dos就不須要進入livecdx64了,直接kernel /boot/vmlinuz-xxxxx root=/dev/sda1initrd /boot/initrd-xxxxx進入原系統,而後grub-install --boot-directory=/ /dev/sdaupdate-grub 就搞定了,固然前提是fstab裏面的uuid是修改好的,grub2真心用不習慣啊

2018-04-09 更新: 7-zip 增量備份

  • 緣起: 須要在win/linux之間同步FoxMail目錄,須要一個差別備份工具,考察文件名中文問題以及簡單效率問題,最終找到了7-zip,它不會出現中文名亂碼問題,是個很好的傳遞格式
  • 參考文章: http://a32.me/2010/08/7zip-differential-backup-linux-windows/
  • 問題: 7zip 的 chm 幫助文檔中提到,時區會形成差別備份,實際體驗,在linux下生成的7z文件,在win下解壓不修改文件,仍是會作備份,linux貌似用的UTC,win用的local,注意這個問題
  • 完整備份: 7za a c:\archive.7z c:\folder_to_archive
  • 備份差別: 7za u c:\archive.7z c:\folder_to_archive -ms=off -mx=9 -t7z -u- -up0q3r2x2y2z0w2!c:\diff1.7z
  • 解壓: 7za.exe x c:\archive.7z -oc:\recovery_path\
  • 解壓差別: 7za.exe x c:\archive.7z -aoa -y -oc:\recovery_path\

2018-01-19 更新

  • 一箇中文目錄,中文文件名的壓縮文件解壓亂碼,使用: unzip -O GB18030 cn_name.zip

2018-01-17 更新

  • 移除楷體,註銷後生效 sudo apt remove fonts-arphic-ukai fonts-arphic-uming
  • 文本編輯器GBK亂碼: 安裝 dconf-tools, 展開:org.x.editor.preferences.encodings auto-detected 加入GB18030
  • meld GBK亂碼: 展開: org.gnome.meld detect-encodings 加入gb18030
  • 在本地8080端口訪問服務器路由器,本地執行: ssh -L 8080:192.168.1.1:80 root@10.1.1.1
    • 參考: http://linux-wiki.cn/wiki/SSH%E7%AB%AF%E5%8F%A3%E8%BD%AC%E5%8F%91%EF%BC%88%E9%9A%A7%E9%81%93%EF%BC%89

2018-01-12 更新

  • 升級kernel: 4.13.0-26-generic 後,啓動vbox虛擬機會致使系統死機,搜索後找到這個地址
    • https://askubuntu.com/questions/994315/virtualbox-crash-on-kernel-4-13-0-26/994653
  • 卸載舊版的vbox,而後在vbox官網上下載5.2版,安裝過程當中有一些錯誤,dkms,vboxconfig 等解除錯誤,終於能用了,不容易啊git

  • 刪除舊的用不着的內核:
    • 查看: dpkg --get-selections | grep linux
    • 移除兩個舊的,4.10.0-42這個版本先留着,避免新內核還有其餘問題:
      • sudo apt-get remove linux-image-4.10.0-38-generic
      • sudo apt-get remove linux-headers-4.10.0-38
      • sudo apt-get remove linux-image-4.10.0-40-generic
      • sudo apt-get remove linux-headers-4.10.0-40

2017-11-23 : 升級爲18.3版

  • https://mirrors.tuna.tsinghua.edu.cn/linuxmint-cd/stable/18.3/linuxmint-18.3-cinnamon-64bit.isogithub

  • 備份舊系統,裝新系統,還原/home,由於只有一個ext4區也就是根分區:chrome

cd /

# 備份舊系統
sudo tar czvfp root.tgz --exclude=/proc --exclude=/media --exclude=/mnt --exclude=/sys --exclude=/home --exclude=/root.tgz /

# 備份/home
sudo tar czvfp home.tgz /home/

# 裝好系統

# 還原home
sudo mv /home/fox /home/fox_new
sudo tar xvzfp home.tgz -C /home/
  • 裝好系統,發現第一件事,應該是換源,刪除不須要的軟件,例如office,而後更新軟件,安裝軟件shell

  • sudo apt install tilda vim-gtk adb mpv ffmpeg openjdk-8-jdk jq rdesktop n2n axel filezilla meld gedit mkvtoolnix-gui編程

  • chrome系的瀏覽器使用代理: opera --proxy-server="socks://127.0.0.1:1080"ubuntu

吐槽

  • 2017-11: 最近firefox升級爲 57.0,而後經常使用的擴展都用不了,例如DownThemAll FireGestures,蛋疼,目前下載工具沒找到,手勢用smartup手勢,並不怎麼好用,並且右鍵跟失效了似的,FoxyProxy Standard用來切換Fan那個Qiang的代理:SSR小程序

  • win 下最喜歡主要是最擅長:AutoHotkey,木有了,用java來寫GUI,真是欲仙欲死,字體還醜,qt什麼的都不會

  • 文件管理,沒有相似win下的total commander 那麼完美的工具,嘆,也許用cp,mv,可是路徑太長,輸入麻煩的說

  • 不少娛樂功能在Linux上不完善,雖然娛樂於人於己無益,但誰叫本身喜歡呢

  • 看B站視頻,只有在瀏覽器中看,但CPU佔用會比較高,我的仍是比較喜歡下載下來觀看,可是弾幕就顯示不了,很糾結啊,寫了個java-swing程序,能夠在mint下調用mpv播放在線直播,調用wget下載直播視頻,不支持彈幕,在github上發現了一個moonplayer能夠播放B站視頻,有弾幕,但是看直播沒有弾幕,看以後能不能寫個插件

  • 看看cnbeta新聞,恩,也只能瀏覽器,或者瀏覽器的RSS,不怎麼爽

  • 微博也是,沒有專門的客戶端

系統設置

  • 緣起: 一些java程序在默認環境下的字體顯示太糟糕,在.bashrc中加入環境變量只在終端上有效,在文件管理器nemo上無效,故須要在一全局腳本中設置該環境變量,若是想修改PATH,也能夠在這裏修改

  • sudo vi /etc/environment

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
_JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=on"
  • 下面是bash配置,方便在終端中使用,仍是有些亂,準備寫一個bash腳原本統一管理

  • vi ~/.bashrc

# Fox @ 2017-08-21
# export PATH="$HOME/bin:$PATH"
# export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on'
alias lh='ls -lh'
alias jj='java -jar'
alias bb='java -jar FoxBook_Core.jar'
alias mm='free -m'
alias du='du -sh'
alias n='novelManager.sh'

alias sshwrt='ssh root@10.2.3.1'
getwrt(){ wget http://10.2.3.1:8080/k4/$1 ; }
putwrt(){ curl http://10.2.3.1:8080/cgi-bin/ff.lua -F f=@$1 ; }

flv2mp4() { ffmpeg -i $1.flv -vcodec copy -acodec copy -movflags faststart $1.mp4 ; }

[ -d /dev/shm/00 ] || mkdir /dev/shm/00

GUI環境的一些設置

  • 托盤添加一些小程序: CPU Temperature Indicator(溫度指示器)Download and upload speed(下載和上傳速度)system Monitor(系統監視器),記得多試幾回,很容易更新時卡死或不可用

  • 建議將系統帶的全部設置所有看一遍,裏面有不少有意思的功能,例如能夠用鼠標中鍵滾輪來調整窗口透明度,添加捲起功能等

  • 菜單-首選項-鍵盤-快捷鍵-自定義快捷鍵, 這裏能夠定義一些快捷鍵,也能夠修改系統的快捷鍵,很方便啊,若是能保存設置就更好了

本身安裝的一些程序

  • 開始菜單-系統管理-軟件源 修改軟件源來得到最快的國內服務器,這樣更新,裝軟件什麼的都快

  • 可使用開始菜單-系統管理-軟件管理器 來查找安裝,或者使用apt來安裝

  • 終端: guake,F12鍵 顯示/隱藏,比較方便,多標籤支持

  • 遠程桌面: remmina / rdesktop,remmina能夠方便管理多個,但耗用內存較多,有時能達到200M,rdesktop命令行比較輕量

  • 虛擬機: VirtualBox, 能夠無界面啓動,安裝加強包,作好端口映射,文件夾共享,而後使用遠程桌面登錄,速度很不錯

  • java swing 編程: NetBeans,mintinstall裏面的是英文版的,但習慣了就好,不過字體真醜,忍

  • 辦公軟件: http://linux.wps.cn/ 地址上的是舊版,sudo dpkg -i wps.deb 後啓動後會檢測到新版,從新下新的安裝便可

  • synergy 跨平臺共享鼠標鍵盤剪貼板

  • 圖形: gcolor2 取色,pinta 簡單的圖片處理,flameshot 截圖

  • 影音: MPV, mediainfo-gui, mkvtoolnix-gui

  • filezilla鏈接ftp,sftp等, iptux / Dukto局域網傳文件

  • axel 多線程命令行下載工具,用來下載百度網盤中的文件(2018-06-12: 網盤升級了,現這種方法無效了),aria2c 限制爲16線程,對於百度的限速徹底不夠看,用axel開50線程來下載,速度槓槓滴

  • firefox 裝的一些插件: 嗶度娘網盤, DownThemAll, FireGestures,外觀使用: firefox orange simple 3.0

  • gedit 方便來打開行比較長的文件

  • vim 安裝vim-gtk版, ~/.vimrc 內容以下

set fencs=ucs-bom,utf8,utf-8,cp936,gb2312,gbk,chinese,ucs-2,ucs-2le
set hls
set ignorecase
set nobackup
set nu
set ts=4
set smartindent
syntax on
  • mtp: mint 已經自帶了,可使用文件管理器nemo打開

  • adb: 與linux手機互傳文件,能夠直接sudo apt-get install adb安裝,這個仍是linux下用的爽,不像win下還得找編譯好的adb來支持中文轉換,linux下不用轉換

  • qiv: 一個鍵盤控制的圖片查看工具

啓動運行的一些程序

  • 開始菜單-首選項-開機自啓動程序,添加

自定義命令

  • 這個是啓動自動掛載 sda5 分區,由於後面的虛擬機會用到這裏面的文件

  • udisksctl mount -p block_devices/sda5

  • 若是經常使用,就不用這個掛載,在 首選項-磁盤 裏面能夠設置自動掛載參數

app

  • guake terminal

service

  • n2n 修改 /etc/default/n2n 能夠在啓動時本身鏈接
N2N_COMMUNITY="username"
N2N_KEY="password"
N2N_SUPERNODE="192.168.1.88"
N2N_SUPERNODE_PORT="88888"
N2N_IP="10.2.3.3"
N2N_EDGE_CONFIG_DONE="yes"

一些命令使用方式

  • 調整亮度: xrandr --output HDMI1 --brightness 0.5

  • 遠程並共享一個目錄: rdesktop 192.168.1.8 -u administrator -g 1280x768 -r disk:ram=/dev/shm/

須要的一些軟件

  • FTP 服務器,最好是能快速開啓,關閉的
  • 好用,移植性好的郵件客戶端,最好能導出備份,至少win/linux通用
  • grubinst 這樣的軟件,來修改設備引導
  • winscpportable 這個可使用filezilla

  • 2017-09-04: 使用meld來比較目錄,文件,命令行單文件能夠用diff來比較,相似軟件有Kompare,DiffMerge,Diffuse,XXdiff,KDiff3,TkDiff,能夠試一下

  • 2017-09-19: 編譯lua執行make時: fatal error: assert.h: 沒有那個文件或目錄,這是缺乏頭文件,sudo apt-get install build-essential 就裝好了,而後編譯就正常了

  • 2017-09-25: 和局域網中的其餘win機器傳文件也很蛋疼啊,smb共享雖然能看到,可是進不去目錄,懶得去處理,比較喜歡win下的飛鴿傳書,搜了一下linux下有iptux,安裝後就能夠與win下的飛鴿互傳了,太讚了

  • 2017-09-27: 下載百度網盤中的文件,aria2c限制爲16線程,對於百度的限速徹底不夠看,用axel開50線程來下載,速度槓槓滴,要注意的是,命令可能會在一開始卡住,ctrl+c結束,而後從新運行命令,多試幾回,一旦啓動,速度如飛,目前是經過DownThemAll獲取下載地址,雖然DownThemAll也是多線程下載,不過線程數有點少,聊勝於無

2017-09-02 更新

  • 找到在64位linux下運行32位linux的方法了,搜到了這裏:http://blog.csdn.net/qq_20307987/article/details/51301778

  • 在Linux Mint下運行下面這一行就好了,爽,這下能夠運行kindlegen,還有android的蛋疼sdk了

  • sudo apt-get install ia32-libs

2018-06-12 VIM剪貼板

  • vim 居然不支持剪貼板,用 vim --version|grep clipboard 發現確實不支持

  • 安裝 sudo apt install vim-gtk 就可使用"+yy

2018-07-30 Java 訪問 https 錯誤問題

  • 寫的java程序,發現訪問https連接時出錯: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
  • 搜索獲得: https://stackoverflow.com/questions/4764611/java-security-invalidalgorithmparameterexception-the-trustanchors-parameter-mus
  • 將java程序放到win下去運行,還真沒問題,將 jre目錄/lib/security/cacerts 這個文件拷出來,linux下的jre目錄下的cacerts文件都指向 /etc/ssl/certs/java/cacerts ,覆蓋便可
  • 如今能夠愉快的玩耍了
  • 2018-07-31,今天的升級裏面包含了 ca-certificates-java,去驗證了一下md5值,果真不同了,說明官方修復了這個bug,以上操做僅作歷史記錄了

Grub2 使用總結

  • 安裝到sda: sudo grub-install /dev/sda
  • 更新菜單,當修改了配置文件後更新一下: sudo update-grub
  • grub2 的配置 sudo vi /etc/default/grub
  • GRUB_DEFAULT=0 這裏的是默認選中的條目,0爲第一條,第二條是高級選項,裏面有舊版的內核,可從這裏啓動以免升級後的問題,4爲windows
  • GRUB_TIMEOUT=10 這是超時時間,能夠修改得小一點
  • /etc/grub.d/40_custom 這個文件是自定義部分,會在/boot/grub/grub.cfg尾部追加自定義條目,例如:
menuentry 'Run Slax (3 flags)' {
    linux /slax/boot/vmlinuz vga=normal load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 slax.flags=perch,automount,toram
    initrd /slax/boot/initrfs.img
}
menuentry 'Mint Live CD' {
    set root='hd1,msdos1'
    linux /casper/vmlinuz  boot=casper live-media=/dev/sdb1 --
    initrd /casper/initrd.lz
}
menuentry "Grub4DOS"{
    search --file /grldr --set=root
    insmod ntldr
    ntldr /grldr
}
menuentry 'win7 loader' {
    search --file /bootmgr --set=root
    insmod ntldr
    ntldr /bootmgr
}
  • 修改完後記得執行sudo update-grub 生效
相關文章
相關標籤/搜索