ubuntu下如何下载特定命令的源码

比如需要下载mkfs命令的源码,步骤如下:

  1. $ which mkfs
    /sbin/mkfs
    $ dpkg -S /sbin/mkfs
    util-linux: /sbin/mkfs
  2. $ cd /tmp
    $ apt-get source util-linux
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux命令大全(CHM格式离线版) Linux命令大全(修改版) 进行重新编译的说明 文件传输 bye ftp ftpcount ftpshut ftpwho ncftp tftp uucico uucp uupick uuto 备份压缩 ar bunzip2 bzip2 bzip2recover compress cpio dump gunzip gzexe gzip lha restore tar unarj unzip zip zipinfo 文件管理 diff diffstat file find git gitview ln locate lsattr mattrib mc mcopy mdel mdir mktemp mmove mread mren mshowfat mtools mtoolstest mv od paste patch rcp rhmask rm slocate split tee tmpwatch touch umask whereis which cat chattr chgrp chmod chown cksum cmp cp cut indent 磁盘管理 cd df dirs du edquota eject lndir ls mcd mdeltree mdu mkdir mlabel mmd mmount mrd mzip pwd quota quotacheck quotaoff quotaon repquota rmdir rmt stat tree umount 磁盘维护 badblocks cfdisk dd e2fsck ext2ed fdisk fsck.ext2 fsck fsck.minix fsconf hdparm losetup mbadblocks mformat mkbootdisk mkdosfs mke2fs mkfs.ext2 mkfs mkfs.minix mkfs.msdos mkinitrd mkisofs mkswap mpartition sfdisk swapoff swapon symlinks sync 系统设置 alias apmd aumix bind chkconfig chroot clock crontab declare depmod dircolors dmesg enable eval export fbset grpconv grpunconv hwclock insmod kbdconfig lilo liloconfig lsmod minfo mkkickstart modinfo modprobe mouseconfig ntsysv passwd pwconv pwunconv rdate resize rmmod rpm set setconsole setenv setup sndconfig SVGAText Mode timeconfig ulimit unalias unset 系统管理 adduser chfn chsh date exit finger free fwhois gitps groupdel groupmod halt id kill last lastb login logname logout logrotate newgrp nice procinfo ps pstree reboot renice rlogin rsh rwho screen shutdown sliplogin su sudo suspend swatch tload top uname useradd userconf userdel usermod vlock w who whoami whois 文档编辑 col colrm comm csplit ed egrep ex fgrep fmt fold grep ispell jed joe join look mtype pico rgrep sed sort spell tr uniq wc 网络通讯 dip getty mingetty ppp-off smbd(samba daemon) telnet uulog uustat uux cu dnsconf efax httpd ifconfig mesg minicom nc netconf netconfig netstat ping pppstats samba setserial shapecfg(shaper configuration) smbd(samba daemon) statserial(status ofserial port) talk tcpdump testparm(test parameter) traceroute tty(teletypewriter) uuname wall(write all) write ytalk arpwatch apachectl smbclient(samba client) pppsetup 电子邮件与新闻组 archive ctlinnd elm getlist inncheck mail mailconf mailq messages metamail mutt nntpget pine slrn X WINDOWS SYSTEM reconfig startx(start X Window) Xconfigurator XF86Setup xlsatoms xlsclients xlsfonts 其他 yes
Linux命令大全完整版 目 录 目 录 I 1. linux系统管理命令 1 adduser 1 chfn(change finger information) 1 chsh(change shell) 1 date 2 exit 3 finger 4 free 5 fwhois 5 gitps(gnu interactive tools process status) 5 groupdel(group delete) 6 groupmod(group modify) 6 halt 7 id 7 kill 8 last 8 lastb 8 login 9 logname 9 logout 9 logrotate 9 newgrp 10 nice 10 procinfo(process information) 11 ps(process status) 11 pstree(process status tree) 14 reboot 15 renice 15 rlogin(remote login) 16 rsh(remote shell) 16 rwho 16 screen 17 shutdown 17 sliplogin 18 su(super user) 18 sudo 19 suspend 19 swatch(simple watcher) 20 tload 20 top 21 uname 21 useradd 22 userconf 22 userdel 23 usermod 23 vlock(virtual console lock) 24 w 24 who 25 whoami 25 whois 25 2. linux系统设置命令 27 alias 27 apmd(advanced power management BIOS daemon) 27 aumix(audio mixer) 27 bind 29 chkconfig(check config) 29 chroot(change root) 30 clock 30 crontab 31 declare 31 depmod(depend module) 32 dircolors 32 dmesg 33 enable 33 eval 33 export 33 fbset(frame buffer setup) 34 grpconv(group convert to shadow password) 35 grpunconv(group unconvert from shadow password) 35 hwclock(hardware clock) 35 insmod(install module) 36 kbdconfig 36 lilo(linux loader) 37 liloconfig 38 lsmod(list modules) 38 minfo 38 mkkickstart 39 modinfo(module infomation) 39 modprobe(module probe) 39 mouseconfig 40 ntsysv 41 passwd(password) 41 pwconv 41 pwunconv 42 rdate(receive date) 42 resize 42 rmmod(remove module) 42 rpm(redhat package manager) 43 set 46 setconsole 47 setenv(set environment variable) 48 setup 48 sndconfig 48 SVGAText Mode 49 timeconfig 49 ulimit 50 unalias 50 unset 51 3. linux文档编辑命令 52 col 52 colrm(column remove) 52 comm(common) 52 csplit(context split) 53 ed(editor) 53 egrep 54 ex 54 fgrep(fixed regexp) 54 fmt(fromat) 54 fold 55 grep 55 ispell(interactive spelling checking) 57 jed 58 joe 58 join 60 look 61 mtype 61 pico 62 rgrep(recursive grep) 62 sed(stream editor) 63 sort 64 spell 65 tr(translate character) 65 uniq 65 wc(word count) 66 4. linux压缩备份命令 67 ar 67 bunzip2 68 bzip2 68 bzip2recover 69 compress 69 cpio(copy in/out) 70 dump 72 gunzip(gnu unzip) 73 gzexe(gzip executable) 74 gzip(gnu zip) 74 lha 75 restore 76 tar(tape archive) 77 unarj 80 unzip 81 zip 82 zipinfo 83 5.linux文件管理命令 85 diff(differential) 85 diffstat(differential status) 86 file 87 find 87 git(gnu interactive tools) 90 gitview(gnu interactie tools viewer) 91 ln(link) 91 locate 92 lsattr(list attribute) 92 mattrib 93 mc(midnight commander) 93 mcopy 94 mdel 94 mktemp 95 mmove 95 mread 95 mren 96 mshowfat 96 mtools 96 mtoolstest 96 mv 97 od(octal dump) 97 paste 98 patch 99 rcp(remote copy) 101 rhmask 101 rm(remove) 101 slocate(secure locate) 102 split 102 tee 103 tmpwatch(temporary watch) 103 touch 103 umask 104 whereis 104 which 105 cat 105 chattr(change attribute) 106 chgrp(change group) 106 chmod(change mode) 107 chown(change owner) 108 cksum(check sum) 109 cmp(compare) 109 cp(copy) 110 cut 111 indent 111 6.linux文件传输命令 115 bye 115 ftp(file transfer protocol) 115 ftpcount 115 ftpshut(ftp shutdown) 115 ftpwho 116 ncftp(nc file transfer protocol) 116 tftp(trivial file transfer protocol) 116 uucico 116 uucp 117 uupick 118 uuto 119 7. linux磁盘管理命令 120 cd(change directory) 120 df(disk free) 120 dirs 121 du(disk usage) 121 edquota(edit quota) 122 eject 122 lndir(link directory) 123 ls(list) 123 mcd 125 mdeltree 125 mdu 126 mkdir(make directories) 126 mlabel 126 mmd 127 mmount 127 mrd 127 mzip 127 pwd(print working directory) 128 quota 128 quotacheck 128 quotaoff 129 quotaon 129 repquota(report quota) 130 rmdir(remove directory) 130 rmt(remote magnetic tape) 130 stat(status) 131 Tree 131 umount 132 8. linux磁盘维护命令 133 badblocks 133 cfdisk 133 dd 134 e2fsck(ext2 file system check) 134 ext2ed(ext2 file system editor) 136 fdisk 137 fsck.ext2(file system check-second filesystem) 137 fsck(file system check) 138 fsck.minix(file system check-minix filesystem) 139 fsconf(file system configurator) 139 hdparm(hard disk parameters) 139 losetup(loop setup) 141 mbadblocks 141 mformat 141 mkbootdisk(make boot disk) 142 mkdosfs(make Dos file system) 143 mke2fs(make ext2 file system) 143 mkfs.ext2 144 mkfs(make file system) 144 mkfs.minix 145 mkfs.msdos 145 mkinitrd(make initial ramdisk images) 145 mkisofs(make iso file system) 145 mkswap 147 mpartition 148 sfdisk 148 swapoff 149 swapon 149 symlinks(symbolic links) 149 sync 150 9. linux网络通讯命令 151 dip 151 getty(get teletypewriter) 151 mingetty 152 ppp-off 152 smbd(samba daemon) 152 telnet 153 uulog 154 uustat 154 uux 155 cu(call up) 156 dnsconf(dns configurator) 157 efax 158 httpd(http daemon) 159 ifconfig 159 mesg 160 minicom 161 nc 161 netconf 162 netstat 162 ping 163 pppstats(point to point protocol status) 164 samba 164 setserial 165 shapecfg(shaper configuration) 165 smbd(samba daemon) 166 statserial(status ofserial port) 166 talk 166 Tcpdump 167 testparm(test parameter) 168 traceroute 168 tty(teletypewriter) 169 uuname 169 wall(write all) 170 write 170 ytalk 170 arpwatch(ARP watcher) 170 apachectl(Apache control interface) 171 smbclient(samba client) 171 pppsetup 172 10. linux电子邮件与新闻组命令 173 archive 173 ctlinnd(control the internet news daemon) 173 elm 173 getlist 174 inncheck(inn check) 174 mail 175 mailconf 175 mailq(mail queue) 175 messages 176 metamail 176 mutt 177 nntpget 178 pine 178 slrn 180 11. linux其他命令 181 reconfig 181 startx(start X Window) 181 xconfigurator 181 XF86Setup 182 xlsatoms 182 xlsclients 183 xlsfonts 183 yes 184
iSCSI协议及实现 iSCSI协议简介 涉及到的SCSI的概念 启动设备和目标设备 启动设备(initiator):发起I/O请求的设备 目标设备(target):响应请求执行实际I/O操作的设备 在启动设备和目标设备建立连接后,目标设备在操作中作为主设备控制整个工作过程 一般情况下主机适配器HBA作为启动设备,磁盘/磁带作为目标设备 涉及到的SCSI的概念 CDB:命令描述块。SCSI的命令及参数是填充在一定长度的数据块内传输的 典型的SCSI系统 SCSI的缺点 SCSI是点对点的、直接相连的计算机到存储器的设备接口,不适用于主机到存储器的存储网络通讯 SCSI总线的长度被限制在25米以内,对于Ultra SCSI长度限制为12米,不适于构造各种网络拓扑结构 SCSI总线上设备数限制为15,不适用于多服务器对多存储设备的网络结构 iSCSI的概念 iSCSI是关于SCSI的命令 、数据和状态到TCP/IP 网络的映射的 协议 对TCP层的改造和增加较 低功能层(对TCP层透明) 是为了适应大批量存储数 据传输的需要 iSCSI协议现状 IETF正在制定iSCSI协议标准,最新草案是draft-ietf-ips-iSCSI-06 IETF:http://www.ietf.org/ IPS工作组:http://www.ece.cmu.edu/~ips/ iSCSI产品 Cisco SN 5420 Storage Router IBM TotalStorage IP Storage 200i 用Cisco SN 5420构造的存储系统 iSCSI协议结构 1.概述 2.协议数据单元格式 3.用于iSCSI协议的SCSI模式参数 4.登录相 5.登录相之外的工作参数协商 6.错误处理和恢复 iSCSI的命名和编址 iSCSI使用类似URL的iSCSI名字来唯一鉴别启动设备和目标设备。 地址会随着启动设备和目标设备的移动而改变,但名字始终是不变的 iSCSI的命名和编址 一个iSCSI名字由三部分组成:类型定义符、名字认证机构、由该认证机构分配的名字 iscsi.com.acme.sn.8675309 iSCSI地址格式 [:]/ iSCSI的发现机制 启动设备可以通过下列方法发现目标设备: 在启动设备上设置目标设备的地址 在启动设备上设置默认目标设备地址,启动设备可通过“SendTargets”命令从默认目标设备上获取iSCSI名字列表 发出服务定位协议(SLP)广播请求,等待目标设备回应 查询存储设备名字服务器获取可访问的目标设备列表 iSCSI会话(session) 启动设备和目标设备之间的TCP连接构成一次会话 一个会话包含一个或多个TCP连接 会话由会话号区分,会话号包括启动设备部分和目标设备部分 会话中包含的TCP连接可以增加也可以删除,这些连接由连接号(CID)区分 命令编号 从启动设备到目标设备SCSI层的命令由iSCSI编号,该号码由iSCSI协议数据单元中的命令序列号(CmdSN)携带 目标设备的iSCSI层必须按命令序列号的顺序把命令传递给SCSI层 目标设备的SCSI层接收到命令后该命令序列号即失效。命令序列号也能被用来进行命令的流量控制 iSCSI登录和协商 iSCSI登录是用来在启动设备和目标设备之间建立TCP连接的机制 登录的作用包括鉴别通讯双方、协商会话参数、打开相关安全协议并且给属于该会话的连接作标记 登录过程完成后,iSCSI会话进入全功能相(full feature phase),这时启动设备就能通过iSCSI协议访问目标设备里的各逻辑单元了 响应/状态编号 从目标设备到启动设备的响应由iSCSI编号,在iSCSI协议数据单元中用状态序列号(StatSN)表示 启动设备提供期望状态序列号ExpStatSN来确认状态 如果状态序列号和期望状态序列号不同则意味着连接出现了错误 协议数据单元格式 iSCSI启动设备命令基本首部(BHS) iSCSI协议的实现 iSCSI代码来源 iscsi-Apr6.tgz: Intel (http://sourceforge.net) kernel_emulator_10.tgz: IOL(InterOperability Lab) of UNH(University of New Hampshire) (http://www.iol.unh.edu) Iscsi-0.1.tar.gz: iSCSI research team of UML(University of Massachusetts Lowell) (http://www.cs.uml.edu/~mbrown/iscsi) 程序的运行 启动设备端: insmod scsi_target.o insmod iscsi_target.o 客户端: insmod iscsi.o insmod iscsi_client.o fdisk /dev/sda mke2fs /dev/sda1 mount –t ext2 /dev/sda1 /mnt/iscsi raiddev /dev/md0(多个目标设备) 程序的结构(目标设备) 1.STML(SCSI Target mid-level) 处理SCSI命令 2.FETD(front-end Target driver) 将STML发来的命令数据封装成底层通讯协议数据包的格式发送到网络上或者将从网络接受到的数据包解包传递给STML 将STML和FETD分开的原因 增强程序的可重用性 STML是通用的 FETD是和底层采用的通讯协议(TCP/IP、Fibre channel)相关的 STML提供给FETD的API register_target_template() deregister_target_template() register_target_front_end() deregister_target_front_end() rx_cmnd() scsi_rx_data() scsi_target_done() scsi_release() rx_task_mgmt_fn() FETD提供给STML的API detect() release() xmit_response() rdy_to_xfer() task_mgmt_fn_done() report_aen() 重要的数据结构 struct Target_Emulator struct Scsi_Target_Template struct Scsi_Target_Device struct Target_Scsi_Cmnd struct scsi_request struct Target_Scsi_Message struct scsi_cmnd struct sg_io_hdr_t STML的初始化 初始化一个struct Target_Emulator类型的全局变量 创建线程scsi_target_process_thread处理大多数的STML的工作 进入等待 FETD的初始化 向STML注册,STML将其加入设备队列 创建线程iscsi_server_thread监听端口4002 进入等待 FETD向STML的注册过程 FETD向STML注销过程 FETD对请求的响应 当在4002端口监听的线程接收请求后 创建线程iscsi_rx_thread接收SCSI命令 创建线程iscsi_tx_thread传送应答和状态 FETD创建一个Target_Scsi_Cmnd类型的数据接收SCSI命令,将其加入命令队列,唤醒STML的线程STT处理收到的SCSI命令 STML对FETD的响应 调用handle_cmd处理命令队列 调用hand_to_front_end返回处理结果 处理结果加入FETD的发送队列xmit_queue等待发送 在结果发送完成后调用scsi_target_dones释放资源 iSCSI 的应用 采用iSCSI的设备的特点 采用了iSCSI协议的硬件设备是NAS和SAN的中间产品,它能简单连接到企业内部网,做到即插即用。而每一个远程用户端对该存储设备的访问效果接近于在本地直接访问SCSI盘。 为无法承担光纤通道SAN环境基础结构高成本的中间市场客户提供利用SAN所带来的好处 iSCSI & NAS 在NAS上部署iSCSI协议很简单,因为不需要任何硬件上的改动,只是驱动软件的安装 iSCSI & SAN The end

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值