U盘WinPE安装CentOS 6.4

在U盘的WinPE中安装CentOS系统,简单记录一下。

1,在U盘上安装好WinPE。建议选择老毛桃U盘工具,下载地址http://laomaotao.net;

2,在U盘根目录建立一个名为LMT的目录,将安装镜像CentOS-6.4-x86_64-minimal.iso(下载地址)拷入U盘下的LMT目录;

3,将安装镜像CentOS-6.4-x86_64-minimal.iso里的images、isolinux两个目录拷入U盘根目录,否则安装的时候会提示找不到/images/install.img。(不能只将/images/install.img拷贝到光盘根目录)

4,将U盘插入电脑。重启电脑,进入BIOS选择U盘启动,F10保存退出;

5,系统从U盘启动以后显示出老毛桃的启动菜单。菜单中有一项“启动自定义ISO/IMG文件(LMT目录)”,选择该项。系统会列出LMT目录中的ISO文件,直接输入对应的序号就可以安装了。

U盘WinPE安装CentOS 6.4

U盘WinPE安装CentOS 6.4

Read More

使用 youtube-dl 下载youtube视频

yt-dlp 是一个使用python编写的脚本, 可以下载热门视频网站的视频. 在Linux系统下可以一健下载 Youtube, Youku, Tudou 等热门网站的视频, 甚至是一些XXX网站的视频下载, 如 YouPorn, XVideos 等. 下面介绍使用方法.

Installation

Make sure we installed python3 and pip3

sudo apt update
sudo apt install python3 python3-pip

根据这篇文章, 这里我使用 pip 来安装

sudo python3 -m pip install -U "yt-dlp[default]"

Usage

yt-dlp --list-extractors  # 查看支持网站列表

yt-dlp -h                 # 更多参数

yt-dlp -U                              #程序升级, 仅限于用binary安装的方式.

yt-dlp --get-format URL   # 获取视频格式

yt-dlp -F URL             # 获取所有视频格式
yt-dlp f ID URL           # 下载指定格式的视频,例如yt-dlp f 32 URL

# 推荐用法
yt-dlp --merge-output-format mp4 -f bestvideo+bestaudio URL

# 推荐用法2(先把视频和音频都下载回来,再手动merge)
yt-dlp -f bestvideo[ext=webm]+bestaudio[ext=m4a] URL
sudo ffmpeg -i 1.webm -i 1.m4a -c copy 1.mkv
Read More

Linux编写内核模块实例

本文演示了Linux加载内核模块(驱动)的过程,文中实验环境为CentOS 5.9 64bit。

1,准备工作
安装基础软件包

yum install kernel-devel.x86_64 gcc.x86_64 gcc-c++.x86_64

然后会在/usr/src/kernels/下面安装好内核源码包,最好把目录的名字改一下,以便能够与/lib/modules/$(uname -r)/目录相响应,避免/lib/modules/$(uname -r)/目录中有一些软链接找不到内核源码包位置

mv /usr/src/kernels/2.6.* /usr/src/kernels/$(uname -r)-x86_64

2,加入内核模块(驱动)
进入字符设备驱动目录

[root@localhost ~]# cd /usr/src/kernels/$(uname -r)-x86_64/drivers/char
[root@localhost char]# mkdir mycdev    #建立驱动目录
[root@localhost char]# cd mycdev/
[root@localhost char]# cat /proc/devices   #找一个未使用的字符设备主设备号,比如199,记好
[root@localhost mycdev]# vim mycdev.c    #建立内核态设备驱动程序,内容见下方
[root@localhost mycdev]# vim Makefile    #建立Makefile文件,内容见下方

(more…)

Read More

Linux查看系统IO

Linux查看IO的工具主要有两个,iostat(集成于sysstat包中)和iotop。前者经常用于查看分区的IO情况,后者常用来查看每个进程的IO占用。

[root@bogon ~]# yum install sysstat
[root@bogon ~]# iostat -x 1       #每隔一秒显示一次
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.00    0.00    0.00    0.00    0.00  100.00

Device:         rrqm/s   wrqm/s   r/s   w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %
sda               0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   
sda1              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   
sda2              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   
dm-0              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   
dm-1              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   
hdc               0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00

(more…)

Read More

Linux内核调拭之printk用法(2)

本文演示了一下printk的基本用法,实验环境为CentOS 5.9 64bit

1,下载内核源码
下载地址是https://www.kernel.org/pub/linux/kernel/v2.6/
CentOS 5.9用的是2.6.18版,CentOS 6用的是2.6.32,下载对应版本的内核文件就可以了

# wget https://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.tar.gz
# tar -zxvf linux-2.6.18.tar.gz
# cd linux-2.6.18

2,修改内核

vim init/main.c  

查找start_kernel,在大约456行有如下内容:
……
asmlinkage void __init start_kernel(void)
{
        char * command_line;
        extern struct kernel_param __start___param[], __stop___param[];

        smp_setup_processor_id();

        /*  
         * Need to run as early as possible, to initialize the
         * lockdep hash:
         */
        lockdep_init();
……

系统从start_kernel()函数开始启动。所以我们要把printk()添加到这个函数里 (more…)

Read More

CentOS5安装配置OpenVZ

CentOS5安装配置OpenVZ的过程,网上的教程大多都有问题,所以这里还是亲自记录一下吧。系统环境为CentOS 5.9 64bit

请linuxde点net转载本博客文章的时候加上链接http://www.zhukun.net/archives/6658/

1,事前准备

将系统内核升级到2.6.18.308.8.2.el5以上,否则不受支持
# yum install kernel.x86_64

调整内核参数
# vi /etc/sysctl.conf
...
net.ipv4.ip_forward = 1
kernel.sysrq = 1
...

关闭selinux
# vi /etc/sysconfig/selinux
...
SELINUX=disabled
...

2,安装OpenVZ (more…)

Read More