Debian:如何从Jessie升级为Stretch(Debian 8.0 升级到Debian 9.0)

Debian 9(代号为Stretch)已经正式发布,可以开始尝鲜Debian 9了。

1. 更新Debian Jessie到最新版

$ su

$ apt-get update

$ apt-get upgrade

$ apt-get dist-upgrade

2. 将软件源改为Stretch安装源

$ su

$ sed -i 's/jessie/stretch/g' /etc/apt/sources.list

# 替换成国内镜像源(清华大学)
$ sed -i 's/deb.debian.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list

$ sed -i 's/security.debian.org/mirrors.tuna.tsinghua.edu.cn\/debian-security/g' /etc/apt/sources.list

3. 升级系统版本

$ su

$ apt-get update

$ apt-get dist-upgrade

4. 重启

$ su

$ reboot

参考链接


Debian:如何从 Jessie 升级为 Stretch

OpenMdeiaValut 3.0.86上编译Linux Kernel 4.13-rc6/Linux Kernel 4.13-rc7/Linux Kernel 4.13 Mainline

也可以使用下面的方式正常编译Linux Kernel 4.13-rc7/Linux Kernel 4.13 Mainline

建议使用VirtualBox上建立虚拟机,保证磁盘空间不小于32GB,给root用户设置密码,远程通过shell登录到虚拟机。

查询虚拟机的IP地址的时候,使用

$ /sbin/ifconfig

命令查询。虚拟机网卡设置的时候,设置为桥接模式,默认的NAT模式无法通过SSH登录。

然后执行如下命令:

$ cd ~

$ wget https://git.kernel.org/torvalds/t/linux-4.13-rc6.tar.gz -O linux-4.13-rc6.tar.gz

$ tar -zxvf linux-4.13-rc6.tar.gz

$ cd linux-4.13-rc6/

# 升级系统工具,如果不更新,有时候会出现无法编译的情况
$ sudo apt-get update

$ sudo apt-get upgrade

$ sudo apt-get install make

$ sudo apt-get install build-essential

$ sudo apt-get install kernel-package

$ sudo apt-get install ncurses-dev

#一路回车到底
$ make oldconfig

$ make-kpkg --initrd kernel-image kernel_headers

完成后,在当前用户目录下生成linux-image-4.13.0-rc6_4.13.0-rc6-10.00.Custom_amd64.deb安装包,执行如下命令安装:

$ cd ~

$ sudo dpkg -i linux-image-4.13.0-rc6_4.13.0-rc6-10.00.Custom_amd64.deb

参考链接


Linux ls列出目录下所有文件数量

1.查看统计当前目录下文件的个数

$ ls -l | grep "^-" | wc -l

2.查看统计当前目录下文件的个数,包括子目录里的。

$ ls -lR| grep "^-" | wc -l

3.查看某目录下文件夹(目录)的个数,包括子目录里的。

$ ls -lR| grep "^d" | wc -l

参考链接


linux ls列出目录下所有文件数量

Debian和OpenMediaVault在命令行下设置更新源

很多时候我们比较纠结的问题是,“该把哪个Debian镜像发布站点加入source.list文件?”。

Ubuntu的图形界面中有一个测试工具,命令行下面的Debian也有一个现成的程序:netselect

安装netselect

$ sudo apt-get install netselect

不带参数运行它时会显示它的帮助信息。运行它时加上以空格分隔的镜像主机列表,它会返回一个分值和列表中的一个主机名。这个分值通过评估ping time和hopsnumber(一个网络请求报文到达目标主机所经过的转发主机的个数)得出,它与镜像站点预计下载速度成反比(数值越小越好)。返回的主机名是主机列表中得分最低的那个(查看列表中所以主机的得分情况可使用-vv选项)。看出下的例子:

$ netselect http://mirrors.aliyun.com/debian/ http://mirrors.163.com/debian/

      5 http://mirrors.163.com/debian/

它表示,在netselect后列出的所有主机中,http://mirrors.163.com/debian/是下载速度最快的主机,其得分为5。

注意,最近163的服务器不知道发生了何种故障,导致各种更新失败,尽管测试的结果是163更快,但是我们建议还是使用阿里云的服务器。

把netselect找到的连接速度最快的镜像站点手工加入/etc/apt/sources.list文件.

最新版本的netselect软件包包含了netselect-apt脚本,它使上述操作自动完成。只需将发布目录树做为参数(默认为stable)输入,sources.list文件就会生成速度最快的main和non-US镜像站点列表,并保存在当前目录下

$ sudo apt-get install netselect-apt

$ netselect-apt stable

$ sudo mv /etc/apt/sources.list /etc/apt/sources.list.old

$ sudo mv sources.list /etc/apt/sources.list

$ sudo apt-get update

对于OpenMediaVault用户还是手工修改配置文件好了,主要是上面的工具生成的比较简略

#

# deb cdrom:[Debian GNU/Linux 7.0.0 _Wheezy_ - Official Snapshot amd64 LIVE/INSTALL Binary 20150108-14:12]/ wheezy contrib main non-free

#deb cdrom:[Debian GNU/Linux 7.0.0 _Wheezy_ - Official Snapshot amd64 LIVE/INSTALL Binary 20150108-14:12]/ wheezy contrib main non-free

deb http://mirrors.aliyun.com/debian/ wheezy main
deb-src http://mirrors.aliyun.com/debian/ wheezy main

deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free

# wheezy-updates, previously known as 'volatile'
deb http://mirrors.aliyun.com/debian/ wheezy-updates main contrib non-free
deb-src http://mirrors.aliyun.com/debian/ wheezy-updates main contrib non-free

Linux计算MD5和Sha1的命令

MD5

MD5即Message-Digest Algorithm 5(信息-摘要算法 5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。

Sha1

安全散列算法(英语:Secure Hash Algorithm)是一种能计算出一个数位讯息所对应到的,长度固定的字串(又称讯息摘要)的算法。且若输入的讯息不同,它们对应到不同字串的机率很高;而SHA是FIPS所认证的五种安全散列算法。这些算法之所以称作“安全”是基于以下两点(根据官方标准的描述):“1)由讯息摘要反推原输入讯息,从计算理论上来说是很困难的。2)想要找到两组不同的讯息对应到相同的讯息摘要,从计算理论上来说也是很困难的。任何对输入讯息的变动,都有很高的机率导致其产生的讯息摘要迥异。

MD5 与 SHA1 是当前最常用的两种哈希算法。那在Linux下如何计算这两种哈希值呢,基本上所有的 Linux 发行版都内置了这两个命令,比如要校检的文件命为OurUnix.tar:

计算文件的 MD5 – md5sum

$ md5sum OurUnix.tar
b9555cc1915652237948e37ccc9c484e OurUnix.tar

计算文件的 SHA1 – sha1sum

$sha1sum OurUnix.tar
bb7d67fb5776c2854edf35ec4a585ff8adc3dbda OurUnix.tar

引用 Linux计算MD5和Sha1的命令

建立自己的apt-get源

1.安装 dpkg-scanpackages

$ sudo apt-get install dpkg-dev

2.安装apache2

$ sudo apt-get install apache2

默认的网站内容是在/var/www目录下的,我们建立一个deb文件夹用来存放自己的deb包:

$ cd /var/www

$ mkdir deb

$ cp /path/to/*.deb /var/www/deb/

使用dpkg-scanpackages 来生成Packages.gz(存放所有包的信息,以便用户获取):

$ cd /var/www/deb/

$ dpkg-scanpackages -m . /dev/null | gzip -9c > Packages.gz

dpkg-scanpackages 第一个参数用来指定要扫描的目录(当前所在目录的相对路径),通过’|'管道使用gzip(-9c 对应最高质量的压缩)输出到Packages.gz包中。

3.在其他机子上添加源

$ sudo vim /etc/apt/sources.list

添加一行:

deb http://服务器地址/deb

由于当多个软件源都存在同一个包的时候,apt-get 只会从第一个软件源中下载,因此,如果自建的软件源中有跟其他软件源中冲突的包,则需要把我们自建的软件源增加到sources.list 的最前面。

执行:

$ sudo apt-get update

$ sudo apt-get install xxx