2015年12月25日 星期五
突破藍海'引領物聯(ATMEL 研討會)
場合:台南大億麗緻酒店
標題:突破藍海,引領物聯(嵩森科技暨ATMEL微控制器產品應用研討會
人數:100人
主旨:ATMEL,Iot and SOC
要點:
1.Atmel all serial SOC soultion overview :
在之前,我也只有用到它的51及AVR(arduino)及memory(AT24/25xx). 在介紹中,才知它是一家觸控解決方大廠 Atmel .在之前我所了解的市場,其實沒有這家Atmel的wirelss solution.所以查了一下,它是在去年併購*了一家Newport Media,因此有了BLE及wifi 的技術.
從8-bit Flash MCU(AVR), low power MCU(M0+,M4 & M7,Event system,Sercom* and PTC*) and 32-bit MPU(ARM9 & A5).
而它的周邊的有儲存(memory) Crypto Authentication(SHA,AES and ECC) ,Analog(AFE,Metor and Temp Sensor)
最後在無線方面則是有很齊全的方案,BLE (doual mode) ,Wifi(802.11 a/b/g/n) ,802.15.4* and Sub1G.
2.它的產品特色有
A. Long Term Time Support- 說是有12 Y的. 而若需要更長的也可以去談.
B.Multi-class MCU(如第一點才提).
C.free tool(Atmel studio)
3.IOT 的要求及挑戰
要求: IP base,Security*1 and Clound.
挑戰:M2M中通訊,市場混亂.
*Security:
在無線中,其中有一個要點在於security上.如公/私鑰及數位簽章.會在另一篇簡介我所找到的文章.
*最近它們更被 Dialog Semiconductor 收購中.
*sercom,簡單的說就是可以在有空i/o下,新增任一個uart /spi/i2c等介面
PTC,perpherial touch Control.
*802.15.4,其中它們特別針對室內定位改才用phase measure來做而非一般的RSSI
可以大大改善其範圍到10米以下.
Q1.
最近年來,幾乎所有的通訊廠都在做Iot相關的平台。
但大多是從本業出發(像是台廠的realtek/Ammicom)也有本身就是做整合Soc的MTK .
若是要針對某一標準通訊來講,各家功能上面基本一樣(因為是標準啊XD)
最根本對ODM廠來講還是在於 support,但大多我們主要接觸的對象代理商。
而這個代表著support也隨著不同(也不能這種說,看誰量大;誰就有支援)。
Q2.
而若,需要的是IoT的話,需要考量的就不同了. 它不光只是device端而是到霊端上的內容.
這裡,我也借由 ATMEL 研討會-2 內容來介紹
p.s:送很多東西還有投獎.
提交"與會報告書"(整理出時間、場合、標題、演講者姓名、參加者人數、主旨、要點、疑問及感想"並積極發問
2015年11月21日 星期六
Nordic global tech tour 2015(2/2)
在Nordic global tech tour 2015(1/2)中,是對於基本內容. 而在這裡則是為跟NRf52新增的function介紹.
Timer:(enhance and new)
在RTC,Generial Timer及SysTick.其中SystemTick是新加的.而其它的部部份,則是有多組及加強. 但不知在新的softdevice對於這些資源的使用是如何?
像是之前,s110中,RTC及Timer 好像均有一組已被softdevice佔用. 但這裡我沒有看到有提供這方面的資訊.
而對於SysTick則是有所限制在.
(not recommended for general use as it stop when CPU stop)
serial communctation:(enhance and new )
TWI/SPI and UART, 在之前我所使用的NRf51 v1/2 與NRF52 多了相當多的function.
(EasyDMA and autolog) ,對此可能要之後用到才能詳細看. 尤起來在使用PPI及EasyDMA在處error handle時.這部份 ....
LPCOMP(low power comparat) ,New
COMP(General Purpose comparetor),New
因為我之前並沒有使用到類似的function. 所以,可能要用到時再看看.
PPI GPIOTE and EasyDMA,(enhance and new
enchance,跟之前的nRF51 相較新增了4 組channel 出來及二組group
new , 新增了fork,來達成單一event多task
NFC,(new
這個在之前在nordic SDK已有它的選項了(out-ot band).在這版來該出現了.
以下是它的規格及FUNCTION,
- 13.56MHz
- NFC-A Type 2 ,
- Read-Ony,*
ADC and Audio peripherals ,new
Successive Approximation ADC
- 8/10/12 bit resolution
- Full scale input rang
- Single-ended or differential mode
- Up to eight input channel
- internal resistor string
- One-shot or scan sampling mode
- Option oversampling mode
- Continuous sampling(200KHz)
- On-the fly limits check
- EasyDMA
- I2s
- PDM
- PWM
這裡我有了相當的興趣,因在一開始我前公司就是看好智能電視這塊市場. 而在remoter上的藍芽這塊. 而在nordic 也是,因此它提供了一個reference desing (smart nRF remoter 2).而我們也有以自家的SOC加上NRF51來實作. 但事實上, 在市場上也有許多家做這個.但是採用one chip . 因此最後也沒結果.
而在做audio這塊上其中,ADC的功能是相當重要的,因原本的nRF 51沒有EasyDMA及加上ble stack interrupt context限制. 所以一定要配合另一顆decode來. 而這次的nRF52中,有了enhance ADC ,Hardware PWM ,i2s,PDM , DSP and Float Point.已經滿足了要求了. 但不知Nordic方面是否會跟以前一樣提供referencce desing for remoter.
後言:
對我也說, 之所以想要去了解的部份在於audio,EasyDMA ,DSP and Float Point.
而這些,nordic之所以會加入也是因為未來的趨勢.因此等手上的工作到一個階段後可以續之前的計劃及研究.
*1.add the 2012 nordic tech tour
*2.最快傳輸速度? 是否可以50Kbps @ BLE 4.0 and IOS 7 system?
這是我最後在那裡處理的case .
https://drive.google.com/folderview?id=0B2uYQcUgyMUJdmZQd3hLWENYNmM&usp=sharing
Nordic global tech tour 2015(1/2)
前言:
昨日11/20,去高雄參加nordic global tech tour活動,這應該是第一次是nordic在台所舉辨的活動,推廣Nrf 52 serial Soc . 機會難得. 雖然我個人目前因工作關係已沒有在接解Nordic的Soc的了.但有在一直觀注這個.
因昨日身体不適,所以沒有在會議中有什麼交流,最後也只有跟之前接解觸的FAEsay hello,Orz.
但是, 把記錄的寫下. 相信末來有機會再回來看.
keywork:
nordic, tech tour,nrf52
fig 1. which one is NRf 51 and NRf52
時間:2015/11/20 9:00 am ~17 :00 pm
地點:高雄-漢來飯店
人數:約80人
主旨:Nrf52 tech tour
要點:
Nrf 52的特性及BLE stack program.
特別的是在Nrf 52,跟我以前所接解觸的Nrf 51(*1) 有了滿大的的不同(*2).
將對之前的與內容問題
Power management:
DC/DC,與Nrf51差在其輸出電流會依其load改變
(waht different with low /hight activity, what kind of peripheral use ?)
free runing or lock to XO,
在一開始為lock XO,在一但穩定後可以free runing來降低功耗.(為8ppm)
在system idle/off是否需要重新lock to XO??
Softdevice:
Software separation:
by the two vector table system,the will add more lancety time?
interrupt context ,
how to avoid the read/write flash issue on this contect?
how to identy the interrupt level ?
(as my solution before ,i read/write only on befor start and disconnect ble,
but new solution,that should be using the timeslot ,but that need check)
Bluetooh Smart application
是跟之前的是一樣的, 不知是我聽錯還是理解有誤.
對於custom characteristics 有空間上的限制而不是傳輸上限制才對.
還有提到了Bluetooth Developer Studio的使用,之前也試著使用但卻找不到可以輸出成
可被使用的檔案格式. 原來它是必須配vendor solution pack.才可使用 而這方面只能看各家的vendor是否有提供. 感覺是大大地降 而這方面只能看各家的vendor是否有提供. 感覺是大大地降低它的方便.
Software development Kit,
dfu with asymmetric signing, and serialization:
common RTOS support,
說實在的,雖然nordic一直都拿另一家大廠相較. 但在事實在是在相互學習相勵.
如同ios 及 android 系統上, 各有它的優缺. 重要是在適當的情況下採用不同實作方式.
或是為了某一目標下,採取最佳的方式. 像是在OSAL/TI-RTOS對我這種只能透過大師的...........code來學習的人來講是很好的.
接下來是,就是Nrf 52新加的function相關(NFC,i2s /ADC ,EasyDMA and PWM)
*1:
Nrf 51簡單有3個版本(v1~3).
Nrf 51 之前都是V1/2 版的,即其i/o interface均沒有包含有EasyDMA.
*2:
Nrf 52中與Nrf51相較下.
Nrf52除了更快M4F 64MHz/更省電
(action Radio time,Tx5ma: Rx:4.6ma,at Dc/Dc mode) 外,
還有
a.every serial interface(spi/i2c) 均有了EasyDMA
b.ADC 也有了EasyDMA 及及 Hardware PWM for Audio,
c. 多了ULPCOMP ,COMP
d. 內建了DSP and Float Point
e. NFC(only read)
https://drive.google.com/folderview?id=0B2uYQcUgyMUJdmZQd3hLWENYNmM&usp=sharing
2015年6月6日 星期六
嵌入式系統-WiFi 無線路由器系統開發
前言:
之前,在試著proprietary RF module on linux. 因此也去外面看看有那些課程可以了解.
除了一般性的device driver外,是否有網路WiFi相關的.
在過去,Unix是屬於大型系統專用的,而且它對網路相關有很重要的地位存在.
在現在,linux 作為like-Unix也應同具有特性.因為這是Unix的重要地方.
雖然,最後我已經沒有在負責這個案子了.不論如何,對於linux wifi , ethernet(以太網路)是很重要的,有必要去了解.
在這課程中,是以Raspberry PI及Ubuntu做為target , host platform.
keyword:
linux,Wifi Configure and sniffer , device driver , usb wireless device driver ,wifi config procedure and config80211 with netlink80211
Raspberry Pi,wpa_supplicant ,hostapd,tcpdump,wifi cracking,mac80211 subsystem
Radius server,Rfkill
因為在linux中,對於wifi ,ethernet有太多的東西了.對於我完全沒有方向去切入該子系統.所以,我在選擇後去參加該課程.以便於心裡有個底,並在接下來去好好進入了解.
wiki:
http://zh.wikipedia.org/wiki/BSD
http://zh.wikipedia.org/zh-tw/Linux
類Unix:
http://zh.wikipedia.org/wiki/%E9%A1%9EUnix%E7%B3%BB%E7%B5%B1
attache file:
https://drive.google.com/open?id=0B2uYQcUgyMUJYkJKWlZJRGFRMlE&authuser=0
2015藍牙趨勢應用研討會-以物聯網打造智慧生活
時間: 5月20日 ,9:30 ~ 17:00
地點:台大醫院國際會議中心-301會議室
人數:70人
主辨單位: 工研院
主題:應用研討會
keyword:ble
這次,比起過往少了一些廠商(如,儀器測試及某些平台廠)多了一些Maker.
有像是做酒的' beacon應用及智慧家庭部份.都是相當好的產品及想法.
可見,在未來因平台的開放及成熟後. 大家都可以去做出相當多的產品.
而在ble上因為可以很容易跟手機溝通,因此可以更加地普及化.
在未來的物聯網的感測層必定有一定的地位存在.
https://drive.google.com/open?id=0B2uYQcUgyMUJS3MwS1hLdFBOUjg&authuser=0
https://drive.google.com/open?id=0B2uYQcUgyMUJTG1YRUQ3VWN0UDQ&authuser=0
https://drive.google.com/open?id=0B2uYQcUgyMUJQXBwT0lqVlpZSW8&authuser=0
https://drive.google.com/open?id=0B2uYQcUgyMUJeURPX2YtT1pjcFE&authuser=0
ps.
今年是第三次參加該會議,也是我最後一次參加了.
因我要回南部工作了.雖然也是跟IOT的有關.
提交"與會報告書"(整理出時間、場合、標題、演講者姓名、參加者人數、主旨、要點、疑問及感想"並積極發問
2015年5月9日 星期六
about linux driver resource
在撰寫linux driver時,若需要用到其資料(map(iomap,memmap), interrupt ,memory page, and symbol)
這些都可以用來觀察目系統中,對不同的driver所使用的資源有多少.並且可用來看是否有衝突.
keyword:
udev,procfs,interrupt hook,mapping,memory,symbol
1.註冊device,
無論是用register_chrdev() *1, alloc_chrdev_region(),udev(class_create,class_device and class_device_create)*2
均會在出現在 /proc/devices,用來去建立其device inode
Character devices:
1 mem
4 /dev/vc/0
4 tty
5 /dev/tty
5 /dev/console
5 /dev/ptmx
5 ttyprintk
7 vcs
10 misc
Block devices:
1 ramdisk
259 blkext
7 loop
8 sd
65 sd
66 sd
其中若是以udev,則需額外有/sys/class/driver class/driver name
提供其驅動所需的規則檔等..
pi@raspberrypi ~/test/driver/gpio_io $ sudo ls /sys/class/
bcm2708_vcio dma input iscsi_session mmc_host rtc sound uio vc-sm
bdi gpio iscsi_connection iscsi_transport net scsi_device spidev vc vtconsole
block graphics iscsi_endpoint leds power_supply scsi_disk spi_master vc-cma
bluetooth hidraw iscsi_host mem raw scsi_generic thermal vchiq
bsg i2c-adapter iscsi_iface misc rfkill scsi_host tty vc-mem
2. Interrupt Hook
因在嵌入式系統,會用到許多來自內/外的中斷來進行狀態的轉換及操作.
request_irq(),向kernel 去註冊interrup
CPU0
9437 ARMCTRL 3 BCM2708 Timer Tick
0 ARMCTRL 16 bcm2708_fb dma
4694 ARMCTRL 24 DMA IRQ
0585 ARMCTRL 25 DMA IRQ
7362 ARMCTRL 32 dwc_otg, dwc_otg_pcd, dwc_otg_hcd:usb1
0 ARMCTRL 49 20200000.gpio:bank0
0 ARMCTRL 50 20200000.gpio:bank1
2864 ARMCTRL 65 ARM Mailbox IRQ
2 ARMCTRL 66 VCHIQ doorbell
1 ARMCTRL 75
524 ARMCTRL 83 uart-pl011
4012 ARMCTRL 84 mmc0
usb_fiq
0
3.mapping
又分為io memory mapping and memory mapping.*3
/proc/ioports and /proc/iomem *4
$sudo less /proc/iomem
00000000-1bffffff : System RAM
00008000-0078ebe7 : Kernel code
007e4000-008f27a7 : Kernel data
20000000-20000fff : bcm2708_vcio
20003000-20003fff : bcm2708_systemtimer
20006000-20006fff : bcm2708_usb
20006000-20006fff : dwc_otg
20007000-20007fff : bcm2708_dma.0
20007000-20007fff : bcm2708_dma
20100000-201000ff : bcm2708_powerman.0
20200000-202000b3 : /soc/gpio
20201000-20201fff : dev:f1
20201000-20201fff : uart-pl011
20300000-203000ff : mmc-bcm2835.0
20300000-203000ff : mmc0
20980000-2099ffff : bcm2708_usb
20980000-2099ffff : dwc_otg
4.memory (page)
在kernel中,所使用全域變數等也會在kernel中去檢查.像是cache,及page)*5
slabinfo - version: 2.1
# name <;active_objs> <num_objs> <objsize> <objperslab> <pagesperslab> : tunables <limit> <batchcount> <sharedfactor> : slabdata <active_slabs> <num_slabs> <sharedavail>isofs_inode_cache 0 0 344 23 2 : tunables 0 0 0 : slabdata 0 0 0
udf_inode_cache 0 0 408 10 1 : tunables 0 0 0 : slabdata 0 0 0
nf_conntrack_c082c640 20 80 248 16 1 : tunables 0 0 0 : slabdata 5 5 0
nf_conntrack_expect 0 0 184 22 1 : tunables 0 0 0 : slabdata 0 0 0
cfq_queue 0 0 152 26 1 : tunables 0 0 0 : slabdata 0 0 0
bsg_cmd 0 0 288 14 1 : tunables 0 0 0 : slabdata 0 0 0
mqueue_inode_cache 8 8 512 8 1 : tunables 0 0 0 : slabdata 1 1 0
nat_entry_set 0 0 24 170 1 : tunables 0 0 0 : slabdata 0 0 0
f2fs_inode_cache 0 0 408 10 1 : tunables 0 0 0 : slabdata 0 0 0
nfs_direct_cache 0 0 96 42 1 : tunables 0 0 0 : slabdata 0 0 0
nfs_commit_data 9 9 448 9 1 : tunables 0 0 0 : slabdata 1 1 0
nfs_read_data 42 42 576 14 2 : tunables 0 0 0 : slabdata 3 3 0
nfs_inode_cache 0 0 616 13 2 : tunables 0 0 0 : slabdata 0 0 0
fat_inode_cache 17 20 392 10 1 : tunables 0 0 0 : slabdata 2 2 0
fat_cache 0 0 24 170 1 : tunables 0 0 0 : slabdata 0 0 0
jbd2_revoke_table_s 256 256 16 256 1 : tunables 0 0 0 : slabdata 1 1 0
ext4_inode_cache 22359 22372 584 14 2 : tunables 0 0 0 : slabdata 1598 1598 0
ext4_allocation_context 156 156 104 39 1 : tunables 0 0 0 : slabdata 4 4 0
ext4_io_end 102 204 40 102 1 : tunables 0 0 0 : slabdata 2 2 0
ext4_extent_status 8064 8064 32 128 1 : tunables 0 0 0 : slabdata 63 63 0
configfs_dir_cache 0 0 56 73 1 : tunables 0 0 0 : slabdata 0 0 0
dquot 25 50 160 25 1 : tunables 0 0 0 : slabdata 2 2 0
kioctx 0 0 224 18 1 : tunables 0 0 0 : slabdata 0 0 0
posix_timers_cache 23 23 176 23 1 : tunables 0 0 0 : slabdata 1 1 0
rpc_inode_cache 0 0 352 11 1 : tunables 0 0 0 : slabdata 0 0 0
UNIX 43 45 544 15 2 : tunables 0 0 0 : slabdata 3 3 0
UDP-Lite 0 0 640 12 2 : tunables 0 0 0 : slabdata 0 0 0
RAW 13 13 608 13 2 : tunables 0 0 0 : slabdata 1 1 0
UDP 36 36 640 12 2 : tunables 0 0 0 : slabdata 3 3 0
tw_sock_TCP 25 125 160 25 1 : tunables 0 0 0 : slabdata 5 5 0
TCP 33 72 1344 12 4 : tunables 0 0 0 : slabdata 6 6 0
cachefiles_object_jar 0 0 192 21 1 : tunables 0 0 0 : slabdata 0 0 0
fscache_cookie_jar 85 85 48 85 1 : tunables 0 0 0 : slabdata 1 1 0
eventpoll_pwq 135 306 40 102 1 : tunables 0 0 0 : slabdata 3 3 0
blkdev_queue 32 32 1016 8 2 : tunables 0 0 0 : slabdata 4 4 0
blkdev_requests 29 85 232 17 1 : tunables 0 0 0 : slabdata 5 5 0
biovec-256 10 10 3072 10 8 : tunables 0 0 0 : slabdata 1 1 0
biovec-128 10 50 1536 10 4 : tunables 0 0 0 : slabdata 5 5 0
biovec-64 10 20 768 10 2 : tunables 0 0 0 : slabdata 2 2 0
Node 0, zone Normal 506 77 2 27 7 3 2 0 0 0 2
5.symbol
當使用全域變數時,*6
$sudo less /proc/kallsyms
c0008000 T stext
c0008000 T _text
c0008078 t __create_page_tables
c0008124 t __turn_mmu_on_loc
c0008130 t __enable_mmu
c0008160 t __vet_atags
c00081c0 T do_undefinstr
c00081c0 T _stext
c00081c0 T __exception_text_start
c00083bc T do_DataAbort
c0008464 T do_PrefetchAbort
c000850c T __exception_text_end
c0008510 T asm_do_IRQ
c0008510 T __irqentry_text_start
c0008540 T handle_fiq_as_nmi
c00085cc T __irqentry_text_end
c00085d0 t __do_fixup_smp_on_up
c00085e4 T fixup_smp
c00085fc t __lookup_processor_type
c0008634 t __lookup_processor_type_data
c0008640 t __error_lpae
c0008644 t __error
c0008644 t __error_p
c000864c t run_init_process
c0008684 t try_to_run_init_process
c00086d0 T do_one_initcall
c00088b4 t match_dev_by_uuid
c00088f0 t rootfs_mount
c0008970 T name_to_dev_t
c0008d20 t init_linuxrc
c0008de4 T calibrate_delay
c00093a4 t vfp_emulate_instruction.isra.0
c00093f8 t vfp_raise_sigfpe.isra.1
c0009478 t vfp_enable
c00094cc t vfp_raise_exceptions
c0009628 T VFP_bounce
c0009760 T vfp_sync_hwstate
c00097e8 t vfp_notifier
c0009948 T vfp_flush_hwstate
c00099d0 T vfp_preserve_user_clear_hwstate
c0009a6c T vfp_restore_user_hwstate
c0009af0 T vfp_kmode_exception
*1.should be on linux kernel 2.4.x,not commond for 2.6.x and other
*2.udev
*3.io mapping及memory mapping簡單就是分別為將io視為特殊的位置及存取指令或一則無.
*4.若要使用io/memory mapping時,也需去檢查是否已經有被其它driver申請,否則也會出現衝突.
*5.若由,kmalloc,kfree等為Slab allocator 則為cache為單位.故其實是呼叫kmem_cache_create()'kmem_cache_destory())
而vmalloc(),ioremap()等則是以Buddy System,是以page為單位.
*6:全域變數會在整個驅動之內分享
使用EXPORT_SYMBOL來對外公開
2015年3月23日 星期一
Debian套件 安裝
Debian 套件 安裝
1.
pi@raspberrypi ~ $ dpkg --help
用法:dpkg [<;選項> ...] <命令>指令:
-i|--install <;.deb 檔> ... | -R|--recursive <目錄> ... --unpack <;.deb 檔> ... | -R|--recursive <目錄> ... -A|--record-avail <;.deb 檔> ... | -R|--recursive <目錄> ... --configure <;套件> ... | -a|--pending --triggers-only <;套件> ... | -a|--pending -r|--remove <;套件> ... | -a|--pending -P|--purge <;套件> ... | -a|--pending --get-selections [<;表達式> ...] 將選擇清單,列印到標準輸出。--set-selections 從標準輸入,取得套件選擇清單。
--clear-selections 取消所有的非核心套件。
--update-avail <;Packages 檔> 取代可用套件資訊。 --merge-avail <;Packages 檔> 由檔案合併可用套件資訊。--clear-avail 清除可用套件資訊。
--forget-old-unavail 清除已移除且無法再安裝的套件。
-s|--status <;套件> ... 顯示套件詳情。 -p|--print-avail <;套件> ... 顯示可用版本詳情。 -L|--listfiles <;套件> ... 列出 `屬於' 套件的檔案。 -l|--list [<;表達式> ...] 簡要列出套件。 -S|--search <;表達式> ... 搜尋擁有該檔案的套件。-C|--audit 檢查有沒有損毀的套件。
--add-architecture <;硬體平台> 把 <硬體平台> 加到硬體平台清單中。 --remove-architecture <;硬體平台> 由硬體平台清單移除 <硬體平台>。--print-architecture 顯示 dpkg 的硬體平台。
--print-foreign-architectures 顯示可用的異質硬體平台。
--compare-versions <;a> <op> <b> 比較版本 - 請參閱下文。--force-help 顯示強制選項的說明。
-Dh|--debug=help 顯示偵錯模式的說明。
-?, --help 顯示這個說明訊息。
--version 顯示版本資訊。
使用 dpkg -b|--build|-c|--contents|-e|--control|-I|--info|-f|--field|
-x|--extract|-X|--vextract|--fsys-tarfile 於套件檔上(鍵入 dpkg-deb --help)。
內部使用:dpkg --assert-support-predepends | --predep-package |
--assert-working-epoch | --assert-long-filenames | --assert-multi-conrep |
--assert-multi-arch。
選項:
--admindir=<;目錄> 使用 <目錄> 代替 /var/lib/dpkg。 --root=<;目錄> 安裝在另一個 root 目錄。 --instdir=<;目錄> 變更安裝路徑,不變更 admin dir。 --path-exclude=<;表達式> 不安裝符合 shell 表達式的檔案。 --path-include=<;表達式> 前項選項排除後,再加上符合表達式的檔案。-O|--selected-only 略過未選擇為要安裝/升級的套件。
-E|--skip-same-version 略過相同版本已安裝的套件。
-G|--refuse-downgrade 略過比已安裝版本舊的套件。
-B|--auto-deconfigure 即使會損毀其它套件也要安裝。
--[no-]triggers 略過或強制接下來的觸發程式。
--no-debsig 不試著去驗証套件簽章。
--no-act|--dry-run|--simulate
只顯示接下來的動作 - 不實際執行。
-D|--debug=<;八進制數字> 啟用除錯(參閱 -Dhelp 或 --debug=help)。 --status-fd <;n> 傳送狀態異動至檔案敘述 <n>。 --status-logger=<;指令> 傳送狀態異動 <指令> 的標準輸入。 --log=<;檔名> 記錄狀態異動及動作至 <檔名>。 --ignore-depends=<;套件>,... 忽略 <;套件> 的相依關係。--force-... 無視問題(參閱 --force-help)。
--no-force-...|--refuse-...
當發生問題時中止。
--abort-after <;n> 碰到 <n> 個錯誤後中止。--compare-versions 的比較運算子:
lt le eq ne ge gt (無版號時,視為最舊版);
lt-nl le-nl ge-nl gt-nl (無版號時,視為最新版);
<; << <= = >= >> > (相容於控制檔的語法專用)。使用 `dselect' 或 `aptitude' 等介面親和的套件管理程式。
2. man dpkg
以zsh 為例.
A.是否已被安裝 dpgk –l
$dpkg -l zsh
B.若在A中,"no packages found matching zsh"則去檢查是否可在套件中找到
sudo apt-cache serach zsh
zsh - A shell with lots of featureszsh-dbg - A shell with lots of features (debugging symbols)zsh-dev - A shell with lots of features (development files)zsh-doc - zsh documentation - info/HTML format
csh - Shell with C-like syntax, standard login shell on BSD systemsdraai - A command-line music player for MPDfatrat-czshare - fatrat plugin allowing download and upload to czsharegrml-shlib - Generic shell library used in grml scriptstucan - Download and upload manager for 1-Click Hostersviewglob - A graphical display of directories referenced at the shell prompt
zsh-beta - A shell with lots of features (dev tree)zsh-beta-doc - zsh beta documentation - info/HTML format
zsh-lovers - tips, tricks and examples for the zshzsh-static - A shell with lots of features (static link)zshdb - debugger for Z-Shell scriptsC. 若有找到時,則可以使用APT安裝
apt-get install zsh
D.檢查其zsh是否已正確安裝
dpkg -s zsh
Package: zsh
Status: install ok installed
Priority: optional
Section: shells
Installed-Size: 13732
Maintainer: Ubuntu Developers (ubuntu-devel-discuss@lists.ubuntu.com)
Architecture: amd64
Version: 4.3.11-4ubuntu2.is.3ubuntu1
Depends: libc6 (>;= 2.4), libcap2 (>= 2.10), libncursesw5 (>= 5.6+20070908)Recommends: libc6 (>;= 2.11), libpcre3 (>= 8.10)Suggests: zsh-doc
Conffiles:
/etc/zsh/zlogin 48032df2ace0977f2491b016e3c421a3
/etc/zsh/zlogout b73789c3e790b855302ce10ca076037a
/etc/zsh/zprofile 58c4f65d775c055b5d80b67c1bd12838
/etc/zsh/zshenv 5a8a0ff4f6ff945a5aa6ba7f6f1e8c97
/etc/zsh/zshrc e069ba51ba293da1aeddd5779324df19
/etc/zsh/newuser.zshrc.recommended dac3563a2ddd13e8027b1861d415f3d4
Description: A shell with lots of featuresZsh is a UNIX command interpreter (shell) usable as an
interactive login shell and as a shell script command
processor. Of the standard shells, zsh most closely resembles
ksh but includes many enhancements. Zsh has command-line editing,
built-in spelling correction, programmable command completion, shell functions (with autoloading), a history mechanism, and ahost of other features.
Homepage: http://www.zsh.org/
Original-Maintainer: Debian Zsh Maintainers (pkg-zsh-devel@lists.alioth.debian.org)
E.列出相關文件 (可以去找出confi)
dpkg -L zsh
F.
apt-get remove zsh
sudo dpkg -P(R) zsh
#P : remove all soft and config
#R : remain config
实践:Debian 软件包管理
http://www.ibm.com/developerworks/cn/linux/l-setup-debpkg-pr/index.html