zoukankan      html  css  js  c++  java
  • Debian

    引用:http://www.baike.com/wiki/Debian

    广义的Debian计划 是指一个致力于创建自由操作系统的合作组织,Debian开发者所创建的操作系统中绝大部分基本工具来自于GNU工程 ,因此其开发者将它们命名为Debian GNU/Hurd和Debian GNU/Linux,这些工具同样都是自由的。

    编辑摘要

    目录

    隐藏 ]
    1 Debian简介
    2 版本记录
    3 软件管理
    4 中文设置
    1. 4.1 中文显示
    2. 4.2 中文输入
    5 精简桌面
    1. 5.1 一,虚拟机安装
    2. 5.2 二,实体机安装
    3. 5.3 三,关于桌面环境
    6 常见问题
    1. 6.1 一,32位<—>64位
    2. 6.2 二,BASH提示符
    3. 6.3 三,MPlayer设置
    4. 6.4 四,GRUB相关
    7 杂七杂八
    1. 7.1 一,常用引导方式
    2. 7.2 二,~/.fonts.config
    3. 7.3 三,基本的~/.vimrc
    4. 7.4 四,WINE相关
    5. 7.5 五,debootstrap相关
    6. 7.6 六,自己编译内核

    Debian - Debian简介

    广义的Debian计划 是指一个致力于创建自由操作系统的合作组织,Debian开发者所创建的操作系统中绝大部分基本工具来自于GNU工程 ,因此其开发者将它们命名为Debian GNU/HurdDebian GNU/Linux,这些工具同样都是自由的。

    Debian Linux Release” 于1993年8月16日由当时还在美国普渡大学念书的 Ian Murdock首次发表,在定义文件 Debian Manifesto 中,Ian Murdock宣布本着GNU的开源精神发行一套自由的GNU/Linux发行版。Debian的名称是由他女友(现在为其妻子) Debra和 Ian Murdock自己的名字合并而成的,Debian的正式发音为[Deb'-ee-en]

    Debian系统目前以Linux内核为主,Linux是一个最初由 Linus Torvalds创建,目前由全球成千上万的程序员维护的软件。然而,让Debian支持其他内核的工作也在进行,最主要的就是HurdHurd是一组微内核上运行的提供各种不同功能的守护进程,Hurd是由GNU所设计的自由软件。

    其他内核分支还有Debian GNU/Minix、Preventa(Minix3内核)、Debian GNU/NetBSD、Dyson(Illumos kernel、libc以及SMF和Debian userland)、Debian GNU/kFreeBSD等。

    Debian - 版本记录

    Debian的发行及其软件源有三个分支:稳定分支(stable)、测试分支(testing)、不稳定分支(unstable)。目前的稳定分支即squeeze,测试分支即wheezy,而不稳定分支则一直为sid。到目前为止所有开发代号均出自Pixar的电影《玩具总动员》。

      一般而言,新入源的软件必须经过unstable分支,然后进入testing分支,接着才可以进入stable分支。简单地说,unstable分支的软件新于testing分支,而testing分支的软件新于stable分支。

    Debian GNU/Hurd 沿袭以上规则,并将与Debian GNU/Linux 版本号一致。Debian以稳定性著称,不稳定分支并不意味着软件稳定性不佳,桌面用户选择不稳定分支较好。

    Debian GNU/Linux历史版本一览表

    版本号以及代号

    发布日期

    玩具总动员的对应角色

    主要特点

    0.01至0.91

    1993年8月至1994年1月

    0.93R5

    1995年3月

    0.93R6

    1995年11月

    1.1 Buzz

    1996年6月17日

    巴斯光年

    使用Linux内核2.0

    1.2 Rex

    1996年12月12日

    暴龙

    1.3 Bo

    1997年6月2日

    放羊的女孩

    2.0 Hamm

    1998年7月24日

    小猪扑满

    2.1 Slink

    1999年3月9日

    玩具狗

    APT问世

    2.2 Potato

    2000年8月15日

    Potato Head先生

    3.0 Woody

    2002年7月19日

    胡迪,电影主角之一的牛仔

    3.1 Sarge

    2005年6月6日

    绿色塑胶玩具士兵的首领

    4.0 Etch

    2007年4月8日

    玩具黑板

    5.0.0 Lenny

    2009年2月14日

    望远镜

    6 squeeze

    2011年2月16日

    三只眼睛的绿色大嘴玩具外星人

    目前的稳定版本

    7 wheezy

    预计2013年初

    一只带着领结的玩具企鹅

    将ext4作为首选文件系统,其次ext3以及btrfs

    sid

    阿薛/席德,隔壁的男孩,玩具终结者

    关于版本的几点说明:

    1,GNU/Linux发行版本的意义不同于商业操作系统Windows。

    GNU/Linux所使用的大部分软件更新很频繁,功能却几乎不变,所以两个不同版本号之间的功能差异不大,但是由于库文件特别是底层库文件版本差异却 不兼容。Debian有意避开没有意义的软件升级,对软件发行提出分支的概念,即稳定分支的底层库长期保持不变,只提供必要安全更新,只有当软件更新累计 到一定程度才考虑将当前不稳定分支作为稳定分支。这种策略有效地保证稳定分支真正的“稳定”,而不稳定分支依旧测试新软件带来的特性,以避免人力物力无意 义损耗,

    2,应该用哪个版本?

    Debian在相同架构及内核的情况下只有两个“版本”,即稳定分支和不稳定分支。稳定分支即stable,不稳定分支即sid和过渡分支testing,用户只须考虑用稳定分支还是用不稳定分支,选定软件分支后跟随官方升级即可。对于刚开始使用Debian的用户,对各个分支稍作比较后,下载对应分支最新安装介质安装即可。

    Debian - 软件管理

    APT 是dpkg的易用前端,负责已编译包或者源码包的安装、卸载、更新,它被认为是最优秀的软件包管理系统,也被认为是Debian系统先进特性之一,为 Debian的发展建立了坚实的应用基础。APT使用记录保存在/var/log/apt/history.log和/var/log/apt /term.log这两个文件中,/var/log/apt/history.log记录了APT执行的所有操作,而/var/log/apt /term.log记录了APT具体操作的执行过程。通过查看未经篡改的/var/log/apt/history.log,用户很容易追踪软件的使用情 况。

    ATP以及dpkg常见用法如下:

    APT——Advanced Package Tool

    功能

    具体语句

    软件源设置

    /etc/apt/sources.list

    更新软件源数据

    apt-get update

    更新已安装软件

    apt-get upgrade

    更换系统版本到(需先将源换到目的版本源,相当于重装)

    apt-get dist-upgrade

    通过安装新软件修复依赖错误

    apt-get -f install

    搜索软件源数据

    apt-cache search foo

    安装软件

    apt-get install foo

    卸载软件

    apt-get remove foo

    卸载软件,同时清除该软件配置文件

    apt-get --purge remove foo

    删除不需要的包

    apt-get autoclean

    删除所有已下载的包

    apt-get clean

    自动安装编译一软件所需要的包

    apt-get build-dep foo

    dpkg——package manager for Debian

    功能

    具体语句

    示例

    显示DEB包信息

    dpkg -I /path/to/foo_version-revision.deb

    显示DEB包文件列表

    dpkg -c /path/to/foo_version-revision.deb

    安装DEB包

    dpkg -i /path/to/foo_version-revision.deb

    显示所有已安装软件

    dpkg -l

    显示已安装包信息

    dpkg -s foo

    只需获取软件可升级状态则dpkg –get-selections foo

    显示已安装包文件列表

    dpkg -L foo

    卸载包

    dpkg -r foo

    卸载软件包并删除其配置文件

    dpkg -P foo

    重新配置已安装程序

    dpkg-reconfigure foo

    dpkg-reconfigure tzdata
    dpkg-reconfigure locales

    从源中编译一个软件流程(适用于少量代码改动或者配置修改)

    功能

    具体语句

    示例

    获取源码

    apt-get source foo

    apt-get source rox-filer

    安装编译依赖

    apt-get build-dep foo

    apt-get build-dep rox-filer

    解压源码

    dpkg-source -x foo_version-revision.dec

    dpkg-source -x rox_2.11-3.dsc

    修改源码部分

    vi ROX-Filer/src/main.c

    创建包

    cd foo-version 
    dpkg-buildpackage -rfakeroot -b

    cd rox-2.11 
    dpkg-buildpackage -rfakeroot -b

    修改软件可升级状态

    echo -e "foo hold" | dpkg --set-selections

    echo -e "rox-filer hold" | dpkg --set-selections

    Debian - 中文设置

    中文显示

    安装常用字体

    apt-get install xfonts-unifont ttf-wqy-zenhei

    使用位图字体

    ln -s /etc/fonts/conf.avail/70-yes-bitmaps.conf /etc/fonts/conf.d/70-yes-bitmaps.conf && rm /etc/fonts/conf.d/70-no-bitmaps.conf

    终端显示调整

    编辑 ~/.Xdefaults,添加

    XTerm*background: grey20

    XTerm*foreground: white

    XTerm*faceName: unifont.pcf

    XTerm*utf8Title: true

    或者编辑 ~/.Xdefaults,添加

    XTerm*background: grey20

    XTerm*foreground: white

    XTerm*faceName: DejaVu Sans Mono:pixelsize=13

    XTerm*faceNameDoublesize: WenQuanYi Zen Hei Sharp:pixelsize=13

    XTerm*utf8Title: true

    中文输入

    1、wheezy

    apt-get install build-essential iso-codes libgtk+2.0-dev cmake intltool libxkbfile-dev libenchant-dev libicu-dev dbus-x11 libxml2-dev libdbus-1-dev libdbus-glib-1-dev libopencc-dev libgirepository1.0-dev gobject-introspection libgtk-3-dev

    tar xf fcitx-4.2.6.1_dict.tar.xz

    cd fcitx-4.2.6.1

    cmake . -DCMAKE_INSTALL_PREFIX=/usr -DENABLE_GTK3_IM_MODULE=on

    make install(或者使用checkinstall生成软件包)

    添加Fcitx启动,vi ~/.xinitrc,添加:

    export LC_CTYPE=zh_CN.UTF-8

    export XMODIFIERS=@im=fcitx

    export GTK_IM_MODULE=fcitx

    eval `dbus-launch --sh-syntax --exit-with-session`

    exec fcitx &

    2、squeeze

    apt-get install build-essential iso-codes libgtk+2.0-dev cmake intltool libxkbfile-dev libenchant-dev libicu-dev dbus-x11 libxml2-dev libdbus-1-dev libdbus-glib-1-dev

    tar xf fcitx-4.2.6.1_dict.tar.xz

    cd fcitx-4.2.6.1

    cmake . -DCMAKE_INSTALL_PREFIX=/usr

    make install(或者使用checkinstall生成软件包)

    添加Fcitx输入法模块:

    gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules

    添加Fcitx启动,vi ~/.xinitrc,添加:

    export LC_CTYPE=zh_CN.UTF-8

    export XMODIFIERS=@im=fcitx

    export GTK_IM_MODULE=fcitx

    eval `dbus-launch --sh-syntax --exit-with-session`

    exec fcitx &

    Debian - 精简桌面

    重要提示:如果你愿意支持Debian项目的开发,请考虑购置并收藏CD/DVD套装!

    一,虚拟机安装

    由于GNU/Linux软件匮乏,而VMware(或者VirtualBox)提供了一个良好的虚拟环境,所以通过虚拟机使用Debian GNU/Linux是一个很好的选择。

    VMware创 建新Debian 6虚拟机,虚拟磁盘设置4G左右即可,全部作为根分区。打开ftp://ftp.debian.org/debian/dists/sid/main /installer-amd64/current/images/netboot/mini.iso进入安装界面,根据提示安装完毕,重启进入 Debian GNU/Linux。

    安装基本工具:

    dhclient eth0

    apt-get update

    apt-get --purge remove vim-* && apt-get install vim-gtk

    apt-get install xserver-xorg-input-evdev xserver-xorg-video-vmware xterm xinit build-essential linux-headers-$(uanme -r) libncurses5-dev kernel-package axel bc dos2unix gdb kvm

    mount /dev/sr0 /mnt/

    tar xf /mnt/VMwareTools-*.tar.gz -C .

    vmware-tools-distrib/vmware-install。pl

    umount /mnt

    rm -rf vmware-tools-distrib

    startx

    安装Firefox:

    axel -n 20 ftp://ftp.mozilla.org/pub/firefox/releases/latest/linux-x86_64/zh-CN/firefox-x.x.x.tar。bz2

    tar xf firefox-x.x.x.tar.bz2 -C /XX/XX/

    tar xf install_flash_player_11_linux_x86_64.tar.gz libflashplayer.so

    mkdir -p ~/.mozilla/plugins/

    mv libflashplayer.so ~/.mozilla/plugins/

    #指定flash字体

       修改/etc/fonts/conf.d/49-sansserif.conf,将第三个<string>sans-serif< /string>改为<string>WenQuanYi Zen Hei Sharp</string>

    #设置默认浏览器

      将 export BROWSER=/xx/xx/firefox/firefox 添至~/.xinitrc

    #添加Firefox图标

    vi ~/.local/share/applications/firefox.desktop

    [Desktop Entry]

    Type=Application

    Name=Firefox

    Exec=/xx/xx/firefox/firefox %F

    Terminal=false

    Icon=/xx/xx/firefox/icons/mozicon128.png

    二,实体机安装

    与虚拟机安装不同的是这里引导ISO(CD1较常用),并且显卡替换为实体机显卡,其余类似。毫无疑问,实体机中的Debian GNU/Linux性能将更强劲。 

    三,关于桌面环境

    一般情况下,直接使用官方CD中附带的完整桌面环境即可,比如GNOME和KDE。由于目前桌面环境集成度极低,即使如此还夹杂许多花瓶式软件,因此有必要选择简洁实用的桌面组合,比如openbox+spacefm和dwm+ranger。

      适于简洁桌面的一些常见软件有:虚拟终端xterm、下载工具axel和utorrent(闭源软件)、irc客户端chatzilla、办公软件libreoffice和zathura、图片查看以及处理软件feh和xpaint(功能稍强的有gimp)、集成开发环境eclipse、音乐播放器audacious、电影播放器mplayer。

    Debian - 常见问题

    一,32位<—>64位

    32位编译运行64位程序(非GUI)

    apt-get install libc6-dev-amd64 lib64stdc++6 lib64ncurses5

    64位编译运行32位程序(非GUI)

    apt-get install libc6-dev-i386 lib32stdc++6 lib32ncurses5

    二,BASH提示符

    一个显示当前绝对路径的例子

    export PROMPT_COMMAND='echo -ne "\e[1m\e[31m${PWD} \e[32m$(date +%H:%M:%S\ %u\ %d/%m)\e[0m\n"' #添至~/.xinitrc、~/.bashrc等文件

    export PS1="" #添至~/.bashrc

    三,MPlayer设置

      修改~/.mplayer/config

    ao=alsa

    af=volnorm,volume=5

    font="WenQuanYi Zen Hei Sharp"

    subcp=utf8

    四,GRUB相关

    1、取消GRUB恢复模式菜单项

    vi /etc/default/grub

      添加即注释选项

    GRUB_DISABLE_RECOVERY="true"

    2、引导MS-Windows

      编辑/etc/grub.d/40_custom

      添加

    menuentry 'Microsoft Windows 8 Professional' {

    set root='(hd0,msdos3)'

    chainloader +1

    }

      其中(hd0,3)表示第一块硬盘mbr分区表的第三分区,情况不同须修改,最后update-grub2。

    当然也需要与MS-Windows时间一致

      ⒈squeeze

      编辑/etc/default/rcS,修改UTC为LOCAL

    date -s "2012-12-31 07:30:00"(设置系统时间)

    hwclock --systohc(将系统时间写入BIOS时钟)

      ⒉wheezy

      编辑 /etc/adjtime ,修改UTC为LOCAL

    date -s "2012-12-31 07:30:00"(设置系统时间)

    hwclock --systohc(将系统时间写入BIOS时钟)

    3、GRUB壁纸

      最简单的做法是复制png、jpg等格式图片于/boot/grub/目录下,再update-grub2

    Debian - 杂七杂八

    由于许多Debian相关词条内容缺失,所以暂时添加一些繁琐的内容附在后面

    一,常用引导方式

    1、SYSLINUX

    安装引导,以下三选一即可

      ①syslinux for vfat/ntfs GNU/Linux平台

    fdisk /dev/sdX

    syslinux -i -d/dir /dev/sdXn

    cat mbr.bin > /dev/sdX

      注意激活syslinux安装文件夹所在分区 

      ②syslinux for fat16/fat32/ntfs Windows平台

    syslinux -i -a -m -d/dir X:

      ③syslinux for ext2/ext3/ext4/btrfs(不支持开启压缩的btrfs文件系统) 仅GNU/Linux平台

    fdisk /dev/sdX

    mkdir -p /xxx/extlinux

    extlinux -i /xxx/extlinux

    cat mbr.bin > /dev/sdX

      注意激活extlinux安装文件夹所在分区 

    复制文件:

      主要是chain.c32、memdisk和vesamenu.c32这三个文件,访问syslinux官方网站获取其他模块具体使用方法。 

    编辑菜单:

    TIMEOUT 300

    UI vesamenu.c32

    MENU BACKGROUND syslinux_splash.jpg

    #引导vmlinuz和initrd.gz

    LABEL Debian Installer/Rescuer

    KERNEL /vmlinuz append initrd=/initrd.gz

    #引导ISO镜像

    LABEL Debian Installer/Rescuer

    KERNEL memdisk raw iso append initrd=/debian-6.0.6-amd64-CD-1.iso

    #引导软盘

    LABEL Debian Installer/Rescuer

    KERNEL memdisk append initrd=/*.*

    #引导grub4dos

    LABEL GRUB4DOS

    KERNEL /grub.exe

    2、GRUB2(速度慢,不灵活但功能全,适于硬盘主引导)

    引导硬盘主系统菜单

    menuentry 'Debian -- The Universal Operating System' {

    set root='(hd0,msdos1)'

    linux /vmlinuz root=/dev/sda1 ro quiet

    initrd /initrd.gz

    }

    使用其他分区引导

    menuentry 'Other Bootloader' {

    set root='(hdX,msdosY)'

    chainloader +1

    }

    安装至磁盘主引导或者分区引导

    mkdir grub2u

    mount -t ext4 /dev/sdXY grub2u/

    grub-install --root-directory=grub2u/ --no-floppy /dev/sdX(Y)

    vi grub2u/boot/grub/grub.cfg

    二,~/.fonts.config

    <fontconfig>

    <match>

    <test name="family"><string>sans-serif</string></test>

    <edit name="family" mode="prepend" binding="strong">

    <string>DejaVu Sans</string>

    <string>WenQuanYi Zen Hei Sharp</string>

    </edit>

    </match>

    <match>

    <test name="family"><string>serif</string></test>

    <edit name="family" mode="prepend" binding="strong">

    <string>DejaVu Serif</string>

    <string>WenQuanYi Zen Hei Sharp</string>

    </edit>

    </match>

    <match>

    <test name="family"><string>monospace</string></test>

    <edit name="family" mode="prepend" binding="strong">

    <string>DejaVu Sans Mono</string>

    <string>WenQuanYi Zen Hei Mono</string>

    </edit>

    </match>

    </fontconfig>

    三,基本的~/.vimrc

    color desert

    set encoding=utf-8

    set fileencoding=utf-8

    set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1

    set history=1000

    set hlsearch

    set linespace=1

    set list

    set listchars=tab:▸\ ,eol:¬

    set mouse=a

    set nobackup

    set nocompatible

    set number

    set ruler

    set termencoding=utf-8

    syntax on

    if has("gui_running")

    set lines=30 columns=90

    set guifont=unifont.pcf

    endif

    四,WINE相关

    WINE较新版本无需设置即可良好地显示中文,较老版本需要较多的设置工作。目前在GNU/Linux平台上出现了一些游戏,但是没有可玩性,所以主要还是模拟器游戏(包括MAME)。另外,官方WINE可以完美运行CS1.6以及WoW等游戏,效果与Windows平台相差无几。

    MAME简单用法:

    mkdir -p ~/.mame/roms

    cp *.zip ~/.mame/roms

    cd ~/.mame/roms/

    /usr/games/mame -createconfig

    vi mame.ini

    添加脚本sdlmame以便于使用

    #!/bin/bash

    cd ~/.mame/roms/

    if [ -z "$1" ]

    then

    nohup /usr/games/mame -video soft -window -resolution 700x490 kof97.zip > /dev/null 2>&1 &

    else

    nohup /usr/games/mame -video soft -window -resolution 700x490 "$1" > /dev/null 2>&1 &

    fi

    exit 0

      进入MAME后,先用Tab键设置按键。运行ROM时,sdlmame xxx.zip即可。

    五,debootstrap相关

    用于Debian系统安装程序第一阶段,所以支持Debian全系列内核,但是对于一个具体的平台来说,只能安装与当前内核相同架构的Debian系统(64位系统安装32位库后支持32位)。

      最大的用处是获取选定分支最新软件包重装系统,类似网络安装。

    简单使用流程如下(安装一个amd64架构、sid分支Debian GNU/Linux基础系统):

    Debian家族操作系统apt-get install debootstrap即可使用,非Debian家族操作系统或者不想安装该软件

    git clone git://git.debian.org/d-i/debootstrap.git

    cd debootstrap

    make

    vi debootstrap

    修改

    if [ -x /debootstrap/debootstrap ];then

    DEBOOTSTRAP_DIR=/debootstrap

    if [ -x debootstrap ];then

    DEBOOTSTRAP_DIR=./

    debootstrap --arch amd64 sid sid-dir ftp://ftp.debian.org/debian/ #获取基础系统,大约260MB,其中/var/cache/apt/archivers/目录下保存的deb包占60MB,然后打包保存

    cd sid-dir

    tar -cf sid-dir.tar *

    mount -t ext4 /dev/sda1 /mnt

    tar xf sid-dir.tar -C /mnt/

    mount -t ext4 /dev/sda2 /mnt/home

    mount --bind /dev /mnt/dev #chroot

    mount -t tmpfs /tmp /mnt/tmp

    mount -t proc /proc /mnt/proc

    mount -t sysfs /sys /mnt/sys

    chroot /mnt /bin/bash

    apt-get install linux-image-amd64 #安装内核,注意别选PREEMPT_RT,即带“rt”字样内核。使用自己编译内核见“六,自己编译内核”相关内容。

    passwd root #root密码

    apt-get install locales #locale设置

    vi /etc/locale.gen #找到zh_CN.UTF-8,去掉前面的“#”

    locale-gen

    echo "export TZ='Asia/Chongqing'" > /root/.xinitrc #时区设置

    echo GNU > /etc/hostname #主机名以及相关hosts设置

    echo "127.0.0.1 GNU" >> /etc/hosts

    apt-get install grub2 #添加引导管理器GRUB

    修改 /etc/fstab

    /dev/sda1 / ext4 defaults 0 1

    /dev/sda2 /home ext4 defaults 0 2

    tmpfs /tmp tmpfs size=2048m 0 0

    六,自己编译内核

    即使自编译内核能很好地使用,也不要破坏官方内核,甚至删除官方内核

      最大的用处是启用某些不常见驱动,完全编译耗时70分钟左右,使用官方配置文件耗时30分钟左右。

    tar xf linux-x.x.x.tar.xx

    cd linux-x.x.x

    cp config-x.x.x .config

    apt-get install build-essential libncurses5-dev

    make menuconfig

    几个常见用法:

       ① make localmodconfig #将取消当前未加载的模块。一般喜好精简的人可以做这一步,但是做完这步依旧有许多用不到的模块或特性未取消,而有些必须的模块或者特性并未选中。因为当 前内核加载的模块并非包含所有将会使用到的模块,所以在这之后一定要再查看是否缺少必要的模块,比如loop设备驱动没编译将无法使用“mount -o loop”。

      最终生成的精简内核DEB包在3MB左右,编译耗时十分钟以内。需要注意的是,即使是高度精简内核也不可能超越官方内核,这点无需怀疑。

      ② sed -i 's/=m/=y/g' .config #将设备驱动等全部编译进内核,不生成可加载模块。

      ③ 编译创建DEB包(方式很多,常见的两个如下)

      Ⅰ apt-get install kernel-package

    kernel-packageconfig

    make-kpkg -j20 --zimage --initrd --revision=1 kernel_image modules_image

    dpkg -i ../linux-image-x.x.x_1_arch.deb

      Ⅱ make -j20 deb-pkg # -j20指20个cc进程同时工作,根据硬件条件修改,与官方包有冲突,不推荐。

  • 相关阅读:
    浅谈自动化测试
    Linux cron定时介绍
    Python上下文管理器
    Robot Framework robot命令
    Web自动化测试之playwright:设置浏览器语言
    Python文件及目录处理方法
    2021google开发者大会
    linux环境变量设置小结
    Eclipse快捷键
    java计时 小计
  • 原文地址:https://www.cnblogs.com/sode/p/2914171.html
Copyright © 2011-2022 走看看